all posts

esp32

The $99 industrial monitoring bench — full BOM and where to source it

A line-by-line bill of materials for the Sutrace ESP32 industrial monitoring bench. $28 in parts, $99 retail. We tell you exactly what we pay and exactly where we buy from. No mystery, no markup-hiding.

By Akshay Sarode· February 18, 2026· 9 min readesp32hardwarebomindustrial

The $99 industrial monitoring bench — full BOM

The bench kit is $99. The parts cost us about $28. That's a 70% margin. We will tell you, line by line, exactly what we pay and exactly where we source from, because nothing in this industry breeds more mistrust than vendors who refuse to discuss costs. The margin pays for the assembly time, the test fixture, the pre-flashing, the EU-resident dashboard backend you stream into for the first 30 days, the inevitable support calls when someone's corporate WiFi blocks MQTT, and the postage to anywhere in the EU.

Here is the full bill.

The eight parts

#PartSKU / linkUnit costNotes
1ESP32-S3-DevKitC-1-N8R8Mouser 356-DEVKITC1N8R8$12.008 MB flash, 8 MB PSRAM, USB-C
2Sensirion SHT45 breakoutAdafruit #5665$5.00I2C, 0x44, ±0.1 °C / ±1 %RH
3INA226 breakout (CJMCU)AliExpress generic$4.00I2C, 0x40, high-side I/V
4165 Ω 1% precision metal-filmDigi-Key MFR-25FBF52-165R$0.201/4 W, 100 ppm/°C
54N25 optoisolator + 4.7 kΩDigi-Key 4N25-ND$0.505300 V isolation, DIP-6
660-pc dupont jumper kitAliExpress generic$2.00M-M, M-F, F-F mix
7830-tie breadboard MB-102AliExpress generic$2.00Solderless, with rails
8USB-C cable + 5 V/2 A wallAnker / Amazon Basics$2.30EU plug for our shipping region
Total parts$28.00

Plus packaging: a $0.40 padded envelope, a $0.20 anti-static bag for the ESP32, and a $0.30 printed quick-start card. Round to $29 landed cost per kit.

Why these specific parts (and not the cheaper alternatives)

Part 1 — ESP32-S3-DevKitC-1-N8R8 ($12)

We chose the S3 over the original ESP32 (still available at $6) for three reasons. USB-C native: the S3 has built-in USB OTG, so the dev kit doesn't need a separate USB-UART chip and the connector doesn't fall off after 50 plug cycles. 8 MB PSRAM: gives us headroom for the captive-portal HTTP server, the TLS stack, and the Sparkplug B protobuf encoder all running concurrently. Better ADC: the S3's SAR ADC has cleaner calibration than the original ESP32, particularly relevant for the 4-20 mA reading chain.

We buy from Mouser direct because authenticity matters — there are counterfeit DevKitC-1 boards on AliExpress that look identical but use unbinned ESP32-S3 silicon with non-functional ADC calibration registers. Mouser's chain is direct from Espressif.

Part 2 — Sensirion SHT45 breakout ($5)

The SHT45 is the genuine Sensirion part on a proper Adafruit breakout — not a clone. We tried the cheaper SHT31 ($3) and the SHT4x clones from AliExpress ($1.50). The SHT31 has worse humidity accuracy at the high end (>80 %RH) which matters for compressor-room and refrigeration use cases. The clones are not actually Sensirion silicon — most of them are silkscreen-only with a generic chinese sensor underneath, and they fail at -10 °C.

For a kit that's meant to demonstrate "real industrial signals" we don't compromise on the sensor.

Part 3 — INA226 breakout ($4)

The INA226 is a Texas Instruments high-side current-shunt monitor with on-chip 16-bit ADC and I2C output. It measures bus voltage (0-36 V), shunt voltage (down to ±81.92 mV), and computes power on-chip. Useful in the kit because it gives the user a real industrial measurement — the ESP32's own bus voltage and current — without needing an external sensor. It's also a useful self-diagnostic: if the bus voltage drops below 4.7 V the WiFi will brown out, and the dashboard can warn before the device becomes unstable.

We use the cheap CJMCU breakout because the chip is the chip — TI silicon is TI silicon — and the breakout's only job is to expose the I2C lines and the shunt resistor. We've validated five different CJMCU vendors on AliExpress and they all use a 2 mΩ shunt as the schematic claims. (We did once buy a batch where the shunt was 5 mΩ, which we caught in test fixture before they shipped.)

Part 4 — 165 Ω 1% precision resistor ($0.20)

The "magic" resistor for 4-20 mA reading on the ESP32 ADC. We use Vishay MFR-25FBF52-165R from Digi-Key — 1/4 W, 1% tolerance, metal-film, 100 ppm/°C drift. The cheaper carbon-film 5% would be $0.05 but introduces ±5 Ω of variance, which is 3% of full-scale. Not good enough.

Part 5 — 4N25 + 4.7 kΩ pull-up ($0.50)

The 4N25 is a Vishay/Onsemi optoisolator with 5300 V peak isolation and 4 kV/μs CMRR. Genuine NXP/Onsemi part from Digi-Key, not a clone. Why genuine? Because the failure mode of a counterfeit optoisolator is silent insulation breakdown — it works fine until the day someone wires 230 V AC to a "dry contact" by mistake, and then the entire dev board goes up. We don't want that on anyone's bench.

The 4.7 kΩ pull-up is a generic 1/4 W resistor; any source is fine.

Part 6 — Dupont jumper kit ($2)

60-piece mix, M-M, M-F, F-F. Generic AliExpress. Quality is fine for a bench setup. Don't use these for anything permanent — the crimps oxidize over a year of factory-floor humidity.

Part 7 — 830-tie breadboard MB-102 ($2)

Standard half-size breadboard with power rails. We buy the version with adhesive backing because it stops the breadboard sliding around when you're plugging jumpers. AliExpress is fine; the build quality variance between vendors is small.

Part 8 — USB-C cable + 5 V/2 A wall plug ($2.30)

Specifically the EU-plug version because we ship into the EU region. Any "USB-C compliant" 2 A supply works — we've validated Anker, Amazon Basics, and Lidl-house-brand. We do not use the cheap $0.50 USB power supplies from AliExpress because half of them deliver 4.6 V under 1 A load, which the ESP32-S3 brown-outs on during WiFi association.

Why the retail is $99 and not $35

The hand-wave answer is "we have to make money to keep the lights on". The honest answer is itemised:

  • Parts: $29 (with packaging)
  • Assembly time: ~15 min per kit at a real European labour rate ≈ $7
  • Test fixture & QA: ~5 min per kit — automated test rig that powers the device, confirms WiFi connectivity, validates each I2C address, runs a known-current source through the 165 Ω resistor and validates ADC reading. ≈ $3
  • Pre-flashing: each device gets a unique device-claim code and pre-provisioned credentials baked into NVS. ≈ $1
  • EU shipping (DHL parcel): ≈ $8
  • Backend cost (the 30-day free dashboard tier the kit registers against — Firebase Identity Platform, Firestore, Pub/Sub-equivalent MQTT broker in europe-west3): amortised ≈ $4
  • Support: roughly 1 in 8 customers need a 15-min support call. At European support rates, amortise across all kits ≈ $5
  • VAT (Irish 23% standard rate, depending on shipping origin and customer status): handled separately on the invoice; the listed price is ex-VAT
  • Margin: the rest — covers hardware variance (some batches of CJMCU INA226s get rejected at QA), runs the warranty replacement program, funds the content cluster you're reading right now

That stacks to roughly $57 of cost-of-goods-sold per kit, leaving $42 of gross margin on a $99 unit — about 42% net margin once everything is accounted for. Not 70%. The "70% gross margin" headline is misleading; the real net is closer to 40-45%. Which is fine. We are a SaaS company, not a hardware company. The kit exists to enable evaluation of the platform; it doesn't have to subsidise the platform.

What we don't include and why

No PoE. Adding a PoE-capable Ethernet jack and a PoE PD chip would push the BOM by ~$8 and the margin by ~$25. The kit is a bench. WiFi is fine for a bench.

No DIN-rail enclosure. A real Phoenix Contact DIN enclosure is $35 alone — more than the kit. The bench is meant to live on a desk for half an hour while you decide whether to rollout. If you're rolling out, you'll spec your own enclosures.

No MAX485. The bench reads 4-20 mA, dry contacts, and I2C — not Modbus. Modbus is the next step, documented in the RS485 walkthrough, and you can add a $1 MAX485 module from AliExpress when you're ready.

No fancy carrying case. The kit ships in a padded envelope. We're trying to keep the unit cost honest, not add a leatherette presentation tray nobody asked for.

Buying it yourself instead of buying the kit

If you'd rather assemble it yourself: total parts from Mouser/Digi-Key for the genuine bits and AliExpress for the commodity parts comes to roughly $30 if you can hit the unit-quantity prices, or about $45 if you're buying single units (because Digi-Key has a $5 minimum line item on small parts). Plus a couple of hours of your time to source, assemble, and flash.

We'd rather you buy the pre-built kit, because the support story is much cleaner and you'll get to a working dashboard faster. But if you're an embedded engineer who wants to skip the convenience, the firmware image is downloadable from the pricing page onboarding flow.

External references