← All projects

RcHelper

ESP32-C3 firmware integrating AS5600, MPU6050, INA219 and dual OLED displays, built with PlatformIO.

RcHelper

Overview

An ESP32-C3 Super Mini firmware project that reads several I2C sensors and drives dual OLED displays, built incrementally in stages with PlatformIO (Arduino framework).

Hardware

  • MCU: ESP32-C3 Super Mini (esp32-c3-devkitm-1)
  • I2C bus: SDA = GPIO8, SCL = GPIO9 @ 100 kHz
  • Sensors: AS5600 magnetic angle (0x36), MPU6050 IMU (0x68), INA219 power monitor (0x40)
  • Displays: main OLED SH1106 128x64 (0x3D), debug OLED SSD1306 128x32 (0x3C)
  • Buttons: MODE (GPIO0), ZERO (GPIO2), active-low with internal pull-ups

Display modes

HEIGHT, CAMBER and BATTERY, with an AUTO mode. USB CDC is the primary debug output at 115200 baud.

Build & flash

# One-liner (auto-detects PlatformIO)
./upload.sh

# Or manually
pio run -e esp32-c3-super-mini -t upload && pio device monitor -b 115200

3-point height calibration

The firmware stores a piecewise-linear height calibration in NVS:

  1. Press ZERO to enter calibration mode.
  2. Place the tool at 7.00 mm -> ZERO (store A0).
  3. Place at 20.00 mm -> ZERO (store A1).
  4. Place at 30.00 mm -> ZERO (store A2), saved to NVS.

Normal display then reads out height in mm to two decimals.