Multi-Functional RC Controller (MFC)
A custom 2.4 GHz wireless transmitter and embedded control console powered by an ESP32-S3-N16R8 (Dual-Core LX7 @ 240 MHz, 16 MB Flash, 8 MB Octal PSRAM) and an nRF24L01+ PA+LNA RF transceiver.
Designed to serve as a universal handheld and desktop transmitter for external robotic platforms (such as my 4WD RC & Autonomous Vehicle) while integrating dual K-Silver Hall-effect joysticks, a 1.3" ST7789 IPS TFT display, MicroSD storage, and MAX4466 audio capture.
YouTube Proof-of-Concept Demonstration
Upcoming YouTube demonstration covering the Rev 0.1 perfboard carrier power-on test, 2.4 GHz nRF24L01+ packet transmission, Hall-effect gimbal ADC sampling, and ST7789 IPS TFT UI rendering.
Very Early Prototype Hardware Gallery
Note: The photos below show the very early Phase 1 (Rev 0.1) perfboard carrier build (click any image to zoom). Currently populated: female/male pin header sockets, 100 µF electrolytic bulk decoupling capacitor, ESP32-S3-N16R8 module, nRF24L01+ 2.4 GHz radio header, and 3.3V/5V/GND power distribution rails. These photos will be updated as the Phase 2 DT-100 desktop console modules are installed.
Early KiCad 9.0 Schematic (mfc-1.svg)
mfc-1.kicad_sch) — click to zoom full-screen.
Master Node GPIO Allocation
Because the ESP32-S3-N16R8 reserves GPIO 35–37 internally for its 8 MB Octal PSRAM and 16 MB SPI Flash, all peripherals are mapped across safe ADC1, SPI2, and PCNT pins:
| Subsystem / Peripheral | ESP32-S3 GPIO | Interface & Engineering Notes |
|---|---|---|
| Dual Hall-Effect Joysticks (4 Axes) | GPIO 4, 5, 6, 7 |
12-bit SAR ADC1 (LX, LY, RX, RY) — avoids ADC2 Wi-Fi/RF conflicts |
| MAX4466 Electret Mic Preamp | GPIO 1 |
ADC1_CH0 analog audio envelope & FFT voice input |
| Shared SPI2 Bus (MOSI / MISO / SCK) | GPIO 11 / 13 / 12 |
High-speed SPI2 bus shared by nRF24L01+, ST7789 TFT, and MicroSD |
| nRF24L01+ 2.4 GHz Radio | CE: 9, CSN: 10 |
Dedicated 100 µF electrolytic + 100 nF ceramic decoupling on 3.3V rail |
| 1.3" ST7789 IPS TFT (240×240) | CS: 40, DC: 41, RST: 42 |
Hardware Chip Select added so TFT shares SPI2 cleanly with nRF24 & SD |
| MicroSD Card Module | CS: 39 |
Stores telemetry logs, profiles, and UI assets over SPI2 |
| Rotary Encoder (KY-040) | CLK: 15, DT: 16, SW: 17 |
Hardware PCNT quadrature decoder with 1000 ns glitch filter |
| 2N2222A BJT Low-Side Switch | GPIO 21 (via 1 kΩ base R) |
Drives external loads with 1N4001 / 1N5817 flyback protection |
From Rev 0.1 Carrier to the DT-100 Desktop Console
The controller is transitioning from the bare Rev 0.1 perfboard carrier into a professional desktop console housing. Once the Phase 2 components below are mounted, the ESP-IDF firmware will be updated with drivers for each module:
- Enclosure: DT-100 Desktop Instrument Case (Black ABS,
190 × 137 × 59 mm) - Joysticks: 2× K-Silver High-Precision Hall-Effect 2-Axis Gimbals
- Display & Storage: 1.3" ST7789 IPS TFT LCD (240×240) + SPI MicroSD Card Module
- Audio Preamp: MAX4466 Electret Microphone Amplifier with Adjustable Gain
- Power & Switching: MT3608 2A DC-DC Boost Converter, 12–24V White LED Waterproof Latching Switch, KTS303 3-Pin Toggle Switch, 180° Slide Switch
- Discrete Protection: 2N2222 NPN BJT Transistor, 1N5817 1A 20V Schottky Diode, 1N4001 1A 50V Rectifier Diode (DO-41)