An ESP32-based RC controller with NRF24, CRSF, and Bluetooth support — fly real drones or practice on PC simulators from a single handheld unit.
The controller features 10 configurable channels and a modular codebase where all pins, mappings, and protocol parameters are centralized in Config.h.
- 10-Channel Control: Independent control channels suitable for advanced drone configurations and additional peripherals.
- NRF24 & CRSF Support: Wireless control of real drones using NRF24L01 or CRSF (ExpressLRS) modules.
- Bluetooth Connectivity: Connect to your PC for use with drone simulators via BLE gamepad.
- Fully Configurable: All pin assignments, channel mappings, protocol parameters, and feature toggles are managed through a single
Config.hfile — no need to dig through code. - Sound System: MP3-based audio feedback with separate toggles for sound effects and voice announcements.
- Cross-Platform Compatibility: Works with various flight simulation software that supports Bluetooth controllers.
- Open the .ino file in Arduino IDE
- Install the required libraries:
- RF24 by TMRh20 - BleGamepad by lemmingDev - AlfredoCRSF by AlfredoElectronics - Configure the hardware in
Config.h:// Pin assignments #define throttle_in 33 #define yaw_in 4 #define pitch_in 34 #define roll_in 39 #define pot1_in 35 #define pot2_in 25 #define toggle1_in 32 #define toggle2_in 26 #define toggle3_in 14 #define toggle4_in 27 #define switch1_in 22 #define switch2_in 36 #define battery_in 13 #define buttons_analog_in 12 #define led 2 #define BUZZER_PIN 15 - Upload the code to your board
- Upload the
datafolder to SPIFFS.- Use PlatformIO, or the Arduino ESP32 SPIFFS Upload Tool.
See this guide for instructions on uploading files to SPIFFS with Arduino IDE.
- Use PlatformIO, or the Arduino ESP32 SPIFFS Upload Tool.
- NRF24 / CRSF Mode (real drone): Power on the controller with AUX1 HIGH (unpressed).
- Bluetooth Mode (simulator): Power on the controller with AUX1 LOW (pressed).
- ESP32-WROOM
- NRF24L01 RF Module
- 2.8" TFT Display
- 12 x Push Buttons
- 2 x MTS-102 Switches
- 2 x 10K Potentiometers
- 2 x Joysticks
- Mini Buck Converter Module
- Red LED
- 5V Passive Buzzer
Below are some photos showcasing the ESP32 RC controller setup, wiring, and its use with both real drones and flight simulators.
If you enjoy my projects and want to support me, you can do so through the links below:
📧 Contact: muksin.muksin04@gmail.com



