Engineering Blog
Field-tested guides on ESP32 hardware, PCB design, and production firmware for industrial IoT.
Modbus RTU vs Modbus TCP vs MQTT: Where Each Belongs
Modbus RTU, Modbus TCP, and MQTT are not rivals — they occupy different layers of one industrial data path. Modbus RTU carries the field bus over RS485, Modbus TCP moves the same registers across the plant LAN, and MQTT lifts data to the cloud over authenticated TLS. A gateway bridges all three, and it is the trust boundary that must never let raw Modbus reach the internet.
Scaling an IoT Pilot to a Production Fleet: What Breaks
Ten devices on a bench validate your concept and hide almost every problem that defines a production fleet. At ten thousand units in the field, provisioning, OTA updates, observability, connectivity cost, field support, and a security posture that was merely sloppy at ten become the things that decide whether the product ships or stalls. This walks each one, tied to the field failure it prevents.
IoT Cloud Platform Selection: AWS vs ThingsBoard vs Self-Hosted
Choosing an IoT cloud platform is three trade-offs: setup effort, recurring cost, and operational burden. AWS IoT Core is fully managed and scales to huge fleets but bills per message and locks you in. ThingsBoard is a finished platform you can self-host. A Mosquitto, InfluxDB, and Grafana stack is cheapest and fully yours — but so is every backup and page. Match it to fleet size, not the demo.
Designing an ESP32 OTA Firmware Update System for a Fleet
A fleet-grade ESP32 OTA system is six decisions that each stop a field failure: A/B partitions so an interrupted flash never bricks a unit, signed images with a verified bootloader, staged canary rollout so a bad build hits ten devices not ten thousand, automatic rollback on a failed health check, delta updates for metered links, and a backend that tracks the version every device actually runs.
ESP32 Low-Power Design: Engineering Real Battery Life
Real ESP32 battery life is set by how you spend energy across radio bursts, sensor rails, regulator quiescent current, and peripheral leakage — not by the ~10µA deep-sleep figure on the datasheet. Duty-cycle hard, power-gate every sensor, pick a low-Iq regulator, kill stray pull-ups, and measure the real current curve before you trust any runtime estimate.
PCB Design for Manufacturing (DFM): A Reliability Checklist
DFM separates a board that "works on the bench" from one that survives a fab run, an assembly line, and years in an industrial cabinet. Lock the high-cost rules early: IPC-2221 clearances, ≥0.05 mm annular ring, ≥0.25 mm copper-to-edge, thermal relief, test points, and panel rails with fiducials. Skip them and the board is rejected at fab, un-buildable at assembly, or fails in the field.
Off-Grid Soil Moisture Sensor Network with LoRaWAN
For a multi-node off grid soil sensor network, use RS485 (Modbus) probes for cable runs and accuracy, an ESP32 node that deep-sleeps between daily reports, and LoRaWAN SF9-SF10 sized to your worst node. LoRaWAN wins on power and recurring cost across a contiguous farm; cellular LTE-M wins on scattered, far-apart sites where one gateway cannot cover every node.
LoRaWAN vs NB-IoT vs Cellular for Remote IoT Telemetry
Choose LoRaWAN when you own the site and can deploy a gateway for many low-rate nodes, NB-IoT when your carrier has confirmed in-country coverage and you need no gateway, LTE-M when nodes move or need a few kbps, and 2G/GPRS only where nothing newer exists. Always cost the gateway and the per-device SIM/data plan separately — they fail for different reasons.
RS485/Modbus to MQTT to AWS IoT Core: Reference Architecture
A production industrial IoT gateway reads Modbus RTU registers over RS485 on an ESP32, buffers readings in non-volatile storage so an outage never drops data, and publishes over MQTT with per-device X.509 mutual TLS to AWS IoT Core, where one IoT Rule fans out to time-series storage and a dashboard. Neutral on cloud, opinionated on security: one cert and a least-privilege topic policy per device.
ESP32 vs PLC for Industrial Machine Control: When Each Wins
A PLC buys certification, ruggedized I/O, ladder-logic plant electricians can maintain, and decades of lifecycle support — that is what you pay for, not the silicon. A custom ESP32 wins on per-unit cost at volume, custom features, and connectivity, but you inherit the certification and fail-safe work the vendor already did. One-off machine: use a PLC. Shipping thousands: a hardened ESP32 can win.
ESP32 vs ESP32-S3: Choosing a Module for Industrial IoT
Pick the classic ESP32 for cost-driven Wi-Fi/Bluetooth-Classic designs, the ESP32-S3 when you need native USB-OTG, more SRAM/PSRAM, or on-device ML (vector instructions), and an ESP32-C3/C6 for low-power, low-cost RISC-V nodes (the C6 adds Wi-Fi 6, Thread, and Zigbee). For most new industrial IoT products in 2026 the ESP32-S3 is the safest default.
ESP32 Secure Boot v2 and Flash Encryption: Production Walkthrough
Generate your RSA-3072 signing key, enable Secure Boot v2 first, then flash encryption in development mode, validate on sacrificial units, and only then burn release mode and disable UART/JTAG download. Every one of those eFuse burns is one-way: a wrong key, wrong order, or jumping straight to release mode permanently bricks the device, so no eFuse is burned first on a unit you intend to ship.
From Prototype to Production: An ESP32 Firmware Hardening Checklist
A working ESP32 prototype is roughly 60% of a shippable product. The remaining gap is unglamorous but non-negotiable: Secure Boot v2 plus flash encryption, signed OTA with anti-rollback, task and interrupt watchdogs, brownout handling, NVS corruption recovery, FreeRTOS stack and heap monitoring, secure provisioning, and field crash capture. Each item maps to a specific field failure it prevents.
ESP32 Firmware Development Cost and Timeline for Industry
Production ESP32 firmware is delivered in phases — architecture, HAL/driver bring-up, connectivity, security plus OTA, and field validation. The total swings up to 5x on five drivers: security and certification depth, fleet size, protocol complexity, regulatory scope, and the reliability target. Budget per phase, and demand a quote broken out by phase.
ESP32-C6 vs ESP32-S3 vs nRF52 for Low-Power Wireless Nodes
For a battery node that mostly sleeps, the nRF52840 is the safest low-power BLE/Thread/Matter choice with the most mature ultra-low-power tooling; pick the ESP32-C6 when the node also needs Wi-Fi 6 alongside Thread/Zigbee/BLE, and the ESP32-S3 only when you need heavy compute, PSRAM, or native USB rather than years on a coin cell.
ESP32 Antenna Design and Placement: Mistakes That Kill Range
Most "bad ESP32 range" is a layout defect, not a firmware bug. Put the antenna at a board edge or corner, clear all copper — including the ground plane — out of the keep-out region under and around it, feed it with a controlled 50-ohm trace, and keep it away from metal, the battery, and the enclosure wall. Break any of these and you lose range, fail RF certification, or both.