Dual-ESP32 Sensor UI Firmware

Job ID: 40603625

Budget: $10 – $30 USD

I’m building a handheld, battery-powered pen that can trace flat surfaces and get clean vector files from im looking into if anyone has input or upgrades to make it more accurate the twisting of the pen throws it off currently
that uses two ESP32 boards in tandem. The ESP32-2432S028R with its 2.8" touchscreen is the only output surface, so every piece of feedback the user sees—live motion data, battery percentage, simple menus, and a DXF file browser stored on the MicroSD card—must be rendered there. A single-cell Li-Po feeds the whole system; the LCD board already hosts the USB-C charger and a voltage divider that needs to be read and converted into a friendly percentage on screen.

Inside the case an ESP32-C3 SuperMini handles all sensing. It reads a PAA5100JE optical-flow module for X/Y displacement and a BNO08X IMU for full 9-DoF orientation, fuses the results, then streams compact packets over UART to the LCD board. Both MCUs should remain flash-upgradable over USB-C.

What I need from you is production-ready, well-documented firmware on both sides, written in clean, non-blocking style so I can extend it later.

Deliverables
• ESP32-C3 firmware: drivers for PAA5100JE & BNO08X, lightweight fusion (Madgwick or similar), UART packetiser with checksum
• ESP32-2432S028R firmware: touchscreen UI, graphic rendering of incoming pose data, battery status calculation, MicroSD DXF file manager, OTA/USB update handling
• A simple, versioned UART protocol spec implemented on both boards and supplied as a brief PDF/README
• Build and flash instructions for PlatformIO or ESP-IDF, plus commented source

Acceptance will be based on stable 50 Hz data updates on the LCD, accurate battery read-out within ±3 %, smooth menu navigation on touch, and error-free flashing through USB-C on both MCUs.