- The SPRK robot program running on a Raspberry Pi.
- The ESP-32 that runs custom software (this repository) that handles all low level IO on the robot and communicates to the Pi via SPI.
- The teleoperator console that connects to the Pi via a network socket.
ESP32-SPRK was designed based on the FRC control system's RoboRIO. It connects to a computer (Pi in this case) running the robot program via SPI. It has many safety mechanisms to prevent the robot from running away or doing undefined behavior. The ESP controls PWM output for motors, servos, and stepper motors.
- Heartbeat to ensure connection
- Disabled/Enabled states shown via Robot Status Light (RSL)
This project uses PlatformIO with VSCode. It is the only environment I have tested it with. As long as you have the tools installed and have the correct Python version, the PlatfromIO build task should build the binary for ESP32.