Client storyFirmware

A USB Power Meter on a Sub-₹200 BOM: Choosing the MCU and Display, Then Fitting OTA and Power Monitoring Into a Tiny Chip

A consumer electronics client needed a USB power meter that could sell at a mass-market price. I picked a WCH CH32 RISC-V MCU and a low-cost display, then squeezed in field updates and accurate power monitoring.

< ₹200full bill of materials
~16 KBflash for everything
OTAupdates on a tiny MCU
Client
Consumer electronics brand (under NDA)
Product
Inline USB voltage, current and power meter
Constraint
Total BOM under ₹200 at volume
Timeline
~6 weeks to production firmware

The problem

The client wanted a small USB power meter: plug it between a charger and a phone and see voltage, current, power and energy. Similar products were already on the market, so the only way to compete was price. The whole bill of materials, including MCU, display, current sensing and PCB, had to stay under ₹200.

Their first prototype used a popular 32-bit MCU and a colour display. It worked, but the parts alone cost more than the target. They also wanted firmware updates in the field, which most products at this price simply skip.

Choosing the MCU and display

I started from what the product actually needed, not from a favourite chip: one ADC channel for voltage, one for current, a timer, an I²C or SPI bus for the display, and a USB-side interface for updates. That is a small job, so I compared the cheapest parts that could do it reliably.

Shortlist (prices are indicative volume pricing at the time)
OptionWhy it was consideredDecision
Original 32-bit MCUTeam already knew itToo expensive for the target
WCH CH32V003 (RISC-V, 48 MHz)Very low cost, enough ADC and timersChosen for the meter core
Small monochrome OLED vs colour TFTOLED is cheaper and lower powerMonochrome OLED chosen

Fitting OTA and power monitoring into a tiny chip

  1. Accurate measurement

    I calibrated the current shunt and voltage divider per unit during production and stored the correction factors in flash, so cheap parts still gave accurate readings.

  2. Integer-only maths

    All power and energy calculations use fixed-point arithmetic. No floating point library, which saved several kilobytes of flash.

  3. A tiny display driver

    I wrote a minimal OLED driver with a compact font and partial redraws instead of pulling in a full graphics library.

  4. Safe field updates

    A small bootloader keeps a protected region, verifies each new image before switching, and falls back to the old firmware if anything fails.

  5. Power monitoring for the device itself

    The firmware tracks its own supply and brown-out conditions so readings stay trustworthy when the input sags.

What the client got

Results

  • A production design with the full BOM under ₹200.
  • Firmware updates in the field, rare in this price range.
  • Accurate readings from low-cost parts, thanks to per-unit calibration.
  • A codebase their team understands, with room left for small features.

Low-cost hardware is not about picking the cheapest part. It is about matching every part to what the product really needs, and writing firmware that respects those limits.

Related guideChoosing a Low-Cost MCU: CH32V003 vs STM32 vs ESP32 for Price-Sensitive Products
Nikhil Robinson

Embedded systems consultant at TechProgeny, Bengaluru. 7+ years and 29+ shipped products across firmware, embedded Linux, edge AI, apps and IoT servers.