Skip to content

Index

⚠️ Work in Progress This project is currently under active development. Features and documentation may change frequently.

RC TOOLBOX is a suite of software tools tailored for RC enthusiasts. Designed to run on mainly on ESP32 based boards. It provides a versatile platform for enhancing your RC experience.

Features

Main Modules

  • Servo Tester – Test and calibrate up to 6 servos simultaneously
  • Sidebar with individual servo selection (toggle single or long-press for all)
  • Manual PWM control or auto-sweep mode
  • Protocol presets: Standard, Extended, Sanwa, Futaba, Digital Fast
  • Customizable PWM range (min/center/max) and frequency (50Hz / 333Hz)
  • Hardware PWM output on GPIO pins 6, 15, 16, 17, 18, 21
  • Servo Signal Analyzer – Read and analyze incoming servo/RC signals
  • Measure PWM frequency and pulse width (µs)
  • Track min/max pulse values over time
  • Useful for receiver output testing and servo signal debugging
  • Lipo Checker – Monitor LiPo battery cell voltages for safe charging and storage
  • Battery information readout and store via NFC tags
  • CG Scale – Measure center of gravity for precise aircraft balancing
  • Flap Deflection – Measure control surface deflection angles
  • Angle of Incidence – Measure wing and stabilizer incidence angles

User Input

  • Touch screen – Intuitive touch-based interaction on ILI9341 TFT display
  • EC11 rotary encoder with push button – Precise value adjustment and menu navigation
  • Tactile buttons – Quick shortcuts for Home, Back, and Action commands

User Experience

  • Multi-language support – English, German, French, Spanish, Italian, Dutch, Czech
  • Persistent settings – Language, background color, and preferences saved to JSON
  • Customizable UI – Multiple background color themes (Light Gray, White, Light Blue, Light Green, Cream)
  • Cross-platform development – macOS simulator for rapid GUI development without hardware

Roadmap

Core Infrastructure

  • ✅ LVGL 9.4 GUI framework with macOS simulator
  • ✅ ESP32-S3 hardware integration (TFT, touch, encoder)
  • ✅ Persistent settings (JSON on SPIFFS)
  • ✅ Multi-language support (7 languages)
  • ✅ Custom focus navigation with FocusOrderBuilder
  • ⬜ SD card support for logging/export

Servo Tester

  • ✅ Basic PWM output on 6 channels (GPIO 6, 15, 16, 17, 18, 21)
  • ✅ Manual mode with encoder control
  • ✅ Auto-sweep mode
  • ✅ Multi-servo selection (individual toggle, long-press for all)
  • ⬜ Protocol presets (Standard, Extended, Sanwa, Futaba, Digital Fast)
  • ⬜ Save/load servo profiles
  • ⬜ Sweep speed adjustment

Servo Signal Analyzer

  • ⬜ Basic page structure
  • ⬜ PWM input capture (pulse width measurement)
  • ⬜ Frequency detection
  • ⬜ Live pulse width display (µs)
  • ⬜ Min/max tracking with reset
  • ⬜ Signal quality indicator

Lipo Checker

  • ✅ Basic page structure
  • ⬜ ADC voltage reading
  • ⬜ Cell count detection
  • ⬜ Per-cell voltage display
  • ⬜ Low voltage warning

Cellinator – battery tagging

  • ⬜ NFC tags per battery
  • ⬜ Store and update battery meta data
  • Purchase/installation date
  • Cell type/count
  • Nominal capacity
  • Charge/discharge cycles
  • Min/max cell voltages
  • Internal cell resistance
  • and more ...

CG Scale

  • ✅ Basic page structure
  • ⬜ Load cell integration (HX711)
  • ⬜ Calibration routine
  • ⬜ CG calculation algorithm

Flap Deflection

  • ✅ Basic page structure
  • ⬜ IMU integration (MPU6050/ICM20948)
  • ⬜ Angle measurement
  • ⬜ Reference point calibration

Angle of Incidence

  • ✅ Basic page structure
  • ⬜ IMU angle readout
  • ⬜ Zero-point calibration
  • ⬜ Relative angle display

GUI

The application features a graphical user interface (GUI) built with LVGL for displaying information and controlling the software. The GUI is optimized for ILI9341 TFT touch displays (320x240 resolution).


Splash screen running in the LVGL simulator


Home screen running in the LVGL simulator


Servo screen running in the LVGL simulator

Hardware

Development PCB


Custom development PCB for ESP32-S3 DevKitC-1 and ILI9341 2.4" TFT touch display

A custom PCB has been designed for software development to minimize cable clutter and provide a clean, reliable test platform. The PCB ODB++ files are available from the AISLER PCB Project Page. The schematics can be found in the assets folder.

Note: The PCB is an early prototype and has not yet been fully validated. Electrical performance, power requirements, and potential design issues have not been thoroughly analyzed.

Known Issue: The silkscreen labels for the LED power jumper (display backlight at 100%) are swapped—3.3V and 5V are reversed.

Building

Prerequisites

  • macOS: Xcode command line tools, SDL2 (brew install sdl2)
  • VS Code: PlatformIO extension for ESP32 development

macOS Simulator

./simulator/build_sim.sh
./simulator/build_sim_debug.sh
./binaries/lvgl_simulator_macOS

Simulator Keyboard Shortcuts

Key Action
Arrow keys Encoder rotation (adjust values)
Enter Encoder press (confirm)
H Home button
Space Action button (start/stop)
Esc Back

ESP32 (via VS Code + PlatformIO)

Use the PlatformIO sidebar in VS Code: - Build: Click the checkmark icon or Ctrl+Alt+B - Upload: Click the arrow icon or Ctrl+Alt+U - Monitor: Click the plug icon for serial output

See LVGL_Simulator for detailed LVGL library setup instructions.