Treat Flux like your intern. Tell it what you'd like to build and it'll get to work. You can also ask it questions, brainstorm ideas, and teach it your preferences. Learn More
ESP32-based DIY drone transmitter/controller with a 0.96 in SSD1306 I2C OLED display, two analog joysticks, NRF24L01+PA+LNA 2.4 GHz RF link, optional MPU-6050 IMU, USB-C programming/power, CH340C USB-UART bridge, 2S LiPo battery input, charging/power-management, 3.3 V logic rail, status LEDs, buzzer, and user buttons.
Reference requirements
Board size: 140 x 80 mm
Stackup: 4-layer PCB
MCU: ESP32, 240 MHz class module
Display: 0.96 in OLED 128 x 64, SSD1306 I2C
RF link: NRF24L01+ PA+LNA 2.4 GHz module, target range about 1 km
Battery: 2S LiPo, 7.4 V nominal, 8.4 V full
Power input: USB 5 V and 2S LiPo battery input
Logic voltage: 3.3 V
Control channels: 8 total, 4 ADC joystick axes plus 4 switch channels
Target update rate: 250 Hz packet rate
Design choices
Use ESP32-WROOM module rather than bare ESP32 for beginner-friendly RF reliability.
Use 4-layer PCB for better RF, ground return, power integrity, and routing margin.
Use I2C for OLED and optional IMU with shared 4.7 kΩ pull-ups.
Use SPI for NRF24L01+ radio.
Use named nets for all functional interfaces to keep the schematic readable.