multi-functional-controller/README.md

34 lines
1.4 KiB
Markdown

# Multi-Functional 2.4 GHz RC Controller (ESP32-S3)
An ESP32-S3 based handheld 2.4 GHz wireless transmitter built for controlling robotic vehicles and embedded hardware platforms. The project includes the ESP-IDF C firmware (`firmware/main/mmcontroller.c`), the KiCad schematic (`hardware/mfc-1.kicad_sch`), and prototype build photos.
## Hardware Overview
- **MCU:** ESP32-S3 (`ESP-IDF v5.2.2`, FreeRTOS)
- **Primary Controls:** Dual 2-axis Hall-effect analog gimbals read via `ADC1`
- **Channel Expansion:** 16-channel `CD74HC4067` analog/digital multiplexer (`S0..S3` on `GPIO 4, 5, 6, 7`, `SIG` on `GPIO 15`)
- **Rotary Input:** Quadrature rotary encoder tracked with the ESP32 hardware Pulse Counter (`PCNT`) peripheral (`GPIO 16`, `GPIO 17`, switch on `GPIO 18`)
- **RF Transceiver:** `nRF24L01+ PA+LNA` 2.4 GHz SPI module (`CSN: GPIO 10`, `CE: GPIO 9`, `SCK: GPIO 12`, `MOSI: GPIO 11`, `MISO: GPIO 13`)
- **Display:** 0.96" `SSD1306` I2C OLED (`SDA: GPIO 8`, `SCL: GPIO 14`)
## Repository Structure
- `firmware/` — ESP-IDF C source code and CMake configuration
- `hardware/mfc-1.kicad_sch` — KiCad schematic file
- `images/` — Breadboard prototype, schematic export, and wiring diagrams
## Building the Firmware
Requires ESP-IDF v5.2.2 on Linux:
```bash
source ~/esp/esp-idf/export.sh
cd firmware
idf.py set-target esp32s3
idf.py build
idf.py -p /dev/ttyACM0 flash monitor
```
## License
MIT