Part of the lawn rover project. See www.bradleyconn.space for more details. This is the main controller to interface with the remote reciever, interpret the signals, and interface to the motor drivers to drive the wheels.
An esp32 was used as I already had one readily available. Most microcontrollers would work. The Arduino IDE was used for its ease of use and effectiveness.
Everything was kept in a single file for simplicity, however that file has grown quite large and separate files should probably be considered.
Below is how the ESP32 was connected to the R6B Receiver and connectors that attached to the wheel motor driver boards.
A block diagram of the entire system can be seen below. The microcontroller which this repo is concerned with is shown at the bottom.
And the actual wiring inside the system can be seen below.