How baihengrui/esp32c3_usb_meter_host works
ESP32-USB-METER Host is an Electron desktop application for monitoring and controlling an ESP32-C3 USB meter. The primary workflow connects to a serial device, sends commands, and displays incoming measurements and live charts; users can also export data and logs. Separate workflows update or erase device firmware and update the application from GitHub Releases. The graph follows the documented capabilities and sampled IPC/serial/firmware code; some UI and offline-data wiring is only documented, so uncertain links are omitted.
Main entry points: main.js Main process · preload.js IPC bridge · renderer.js Meter controls · firmware-flash.js Flash and erase
Components 19
Desktop shell
- Main process
main.js - IPC bridge
preload.js - Settings and logs
main.js
Meter monitoring
- Meter controls
renderer.js - Serial transport
main.js - Live charts
curve.html - Offline data
offline.html
Firmware tools
- Firmware window
firmware-renderer.js - Flash and erase
firmware-flash.js - Flash serial adapter
serialport-transport.js - Driver installation
driver.html - USB JTAG drivers
drives/esp32-jtag-usb-drives
Updates and support
- Application updater
update.js - Firmware release checks
update.js - User manual
manual.html
Other components
- Operator
- ESP32-C3 meter
- esptool-js
- GitHub Releases
Connections 26
- Operator → Meter controls: controls
- Meter controls → IPC bridge: invokes IPC
- IPC bridge → Main process: dispatches IPC
- Main process → Serial transport: opens and reads
- Serial transport → ESP32-C3 meter: serial data
- Main process → Meter controls: sends measurements
- Main process → Live charts: sends measurements
- Meter controls → IPC bridge: saves exports
- Main process → Settings and logs: reads and writes
- Operator → Firmware window: selects firmware
- Firmware window → IPC bridge: requests flash
- IPC bridge → Main process: dispatches flash IPC
- Main process → Flash and erase: calls flash logic
- Flash and erase → Flash serial adapter: uses transport
- Flash and erase → esptool-js: flashes or erases
- Flash serial adapter → ESP32-C3 meter: SLIP serial
- Main process → Firmware window: sends progress
- Operator → Driver installation: installs driver
- Main process → USB JTAG drivers: uses driver files
- Main process → Application updater: checks and applies
- Main process → Firmware release checks: checks and downloads
- Application updater → GitHub Releases: checks releases
- Application updater → GitHub Releases: downloads assets
- Firmware release checks → GitHub Releases: checks firmware releases
- Operator → User manual: consults
- Main process → Offline data: sends export records