ESP32 firmware for monitoring and controlling DPS5020 programmable DC power supplies via Modbus RTU. Includes a web interface for live monitoring, MQTT integration, and OTA updates.
| Target | Board | Modbus TX | Modbus RX |
|---|---|---|---|
| ESP32-C3 | SuperMini | GPIO 21 | GPIO 20 |
| ESP32 | — | GPIO 17 | GPIO 16 |
Pin assignments are defined in main/hardware/BoardConfig.h.
Download the factory binary for your target from the Releases page.
Option A — Browser (no install required):
Use the ESP Web Flasher and flash the factory binary at address 0x0000.
Option B — Command line:
esptool.py --chip esp32c3 write_flash 0x0000 DPS50xx-esp32c3-factory.binAfter the initial flash, subsequent updates can be done OTA via the web UI.
Requires ESP-IDF v6.0+ and Node.js 22+ with pnpm.
cd frontend && pnpm install && pnpm build && cd ..
idf.py set-target esp32c3
idf.py build
idf.py -p COM11 flash monitorFrom the web UI's firmware page:
- Application firmware — upload
DPS50xx-<target>-app.bin - WWW partition — upload
DPS50xx-<target>-www.binto update just the web interface
The device uses dual OTA partitions with automatic rollback.
This project is unlicensed. Use it however you want.