- 2 × ESP32 DevKit V1
- Controller ESP32
- Dashboard ESP32
- 2 × Analog Joysticks
- 5 × Potentiometers
- 1 × 4×4 Matrix Keypad
- 2 × Push Buttons (UP & DOWN)
- 1 × ST7920 128×64 Graphical LCD
- 1 × NRF24L01+ 2.4 GHz Wireless Transceiver Module
- 1 × MPU6050 6-Axis IMU (Accelerometer + Gyroscope)
- 1 × LM2596 DC-DC Buck Converter Module
- 1 × Dual 18650 Battery Holder (2-Cell)
- 1 × Power Switch
- Custom 2-Layer PCB (Planned) / Perfboard (Current Prototype)
This project is a custom-built ESP32-based Smart Transmitter System designed for robotics, UGVs, AMRs, drones, and future autonomous systems.
The transmitter features:
- Graphical LCD Dashboard
- Multiple Control Inputs
- Real-Time Channel Monitoring
- Multi-Protocol Communication Support
- Professional Menu-Driven User Interface
- Expandable Architecture for Future Robotics Applications
The system is built using two ESP32 microcontrollers:
Responsible for reading all physical user inputs:
- 2 Analog Joysticks
- 5 Potentiometers
- 4×4 Matrix Keypad
- UP Button
- DOWN Button
Responsible for:
- LCD User Interface
- Menu System
- Settings Management
- Channel Monitoring
- Communication Management
- Protocol Selection
- Wireless Transmission
The Controller ESP32 sends all channel data to the Dashboard ESP32 using UART communication.
- Startup Animation
- System Initialization
- Keypad-Based Login
- Secure Transmitter Access
- Mode Display
- Link Status
- Protocol Status
- Battery Indicator
- Signal Animation
- Settings Shortcut
- Wheel Ratio Configuration
- Channel Monitor
- Protocol Selection
Provides real-time monitoring of all transmitter channels.
Selectable communication protocols:
- RADIO (NRF24L01)
- ESP-NOW
- WiFi
- Bluetooth
Only one protocol can be active at a time.
| Function | Pin |
|---|---|
| X Axis | GPIO32 |
| Y Axis | GPIO33 |
| Switch | GPIO18 |
| Function | Pin |
|---|---|
| X Axis | GPIO34 |
| Y Axis | GPIO35 |
| Switch | GPIO19 |
| Channel | Pin |
|---|---|
| POT1 | GPIO39 |
| POT2 | GPIO25 |
| POT3 | GPIO26 |
| POT4 | GPIO27 |
| POT5 | GPIO14 |
| Button | Pin |
|---|---|
| UP | GPIO21 |
| DOWN | GPIO23 |
Each button : another pin to be connected with 3.3V pin of esp32.
| Row | GPIO |
|---|---|
| R1 | 4 |
| R2 | 5 |
| R3 | 12 |
| R4 | 13 |
| Column | GPIO |
|---|---|
| C1 | 2 |
| C2 | 15 |
| C3 | 22 |
| C4 | 3 |
Display Type
ST7920 128×64 Graphical LCD
| LCD Pin | ESP32 Pin |
|---|---|
| RS | GPIO5 |
| RW | GPIO23 |
| E | GPIO18 |
| RST | GPIO4 |
| PSB | GND |
| VCC | 5V |
| GND | GND |
| BLA | Potentiometer (Middle Pin + GND Pin Short) |
| BLK | GND |
U8G2| MPU6050 Pin | ESP32 Pin |
|---|---|
| VCC | 3.3V |
| GND | GND |
| SDA | GPIO21 |
| SCL | GPIO22 |
The MPU6050 is reserved for future expansion and will be used for:
- Gesture-Based Robot Control
- Motion Sensing
- Tilt-Based Driving
- Orientation Detection
- Robotic Arm Control
- Drone Attitude Commands
- Human-Machine Interaction
| Function | GPIO |
|---|---|
| TX | GPIO17 |
| RX | GPIO16 |
| Function | GPIO |
|---|---|
| TX | GPIO17 |
| RX | GPIO16 |
115200
| Channel | Source |
|---|---|
| CH1 | Joystick 1 X |
| CH2 | Joystick 1 Y |
| CH3 | Joystick 2 X |
| CH4 | Joystick 2 Y |
| CH5 | Joystick 1 Button |
| CH6 | Joystick 2 Button |
| CH7 | Potentiometer 1 |
| CH8 | Potentiometer 2 |
| CH9 | Potentiometer 3 |
| CH10 | Potentiometer 4 |
| CH11 | Potentiometer 5 |
Hardware
NRF24L01
Status
Implemented Framework
Future
Primary Low-Latency Control Protocol
Hardware
Built-in ESP32 WiFi Radio
Status
Implemented Framework
Future
Medium-Range Low-Latency Communication
Hardware
Built-in ESP32 WiFi
Status
Implemented Framework
Future
UDP Communication & Telemetry
Hardware
Built-in ESP32 Bluetooth
Status
Implemented Framework
Future
Mobile App Connectivity & Debugging
| NRF24 Pin | ESP32 Pin |
|---|---|
| VCC | 3.3V |
| GND | GND |
| CE | GPIO27 |
| CSN | GPIO26 |
| SCK | GPIO14 |
| MOSI | GPIO13 |
| MISO | GPIO12 |
Important: Place a 10µF capacitor between VCC and GND close to the NRF24L01 module.
Only one communication protocol is active at any given time.
- NRF24 Enabled
- ESP-NOW Disabled
- WiFi Disabled
- Bluetooth Disabled
- NRF24 Disabled
- ESP-NOW Enabled
- WiFi Disabled
- Bluetooth Disabled
- Reduced Memory Usage
- Lower CPU Load
- Improved Reliability
- Reduced Power Consumption
struct ControlPacket
{
int ch1;
int ch2;
int ch3;
int ch4;
int ch5;
int ch6;
int ch7;
int ch8;
int ch9;
int ch10;
int ch11;
};- ESP32 Controller
- ESP32 Dashboard
- UART Communication
- Graphical LCD Interface
- Password System
- Dashboard UI
- Settings Menu
- Channel Monitor
- Protocol Menu
- Single Protocol Selection Logic
- NRF24 Framework
- ESP-NOW Framework
- WiFi Framework
- Bluetooth Framework
- NRF24L01 Receiver
- Bidirectional Telemetry
- Robot Receiver Firmware
- WiFi Telemetry Dashboard
- Bluetooth Mobile Application
- LoRa Integration
- OTA Updates
- Battery Monitoring
- SD Card Logging
https://app.cirkitdesigner.com/project/51af68e7-1b28-4c55-b11a-74bdf43c142d
Abhinav Goel
Custom Multi-Protocol Smart Robotics Transmitter
- ESP32
- ST7920 LCD
- NRF24L01
- ESP-NOW
- WiFi
- Bluetooth
This project is intended for educational, research, and robotics development purposes.