The Flyball ETS project contains the sources for the microcontroller software.
The source files are divided into 2 subdirectories:
This folder contains the sources for compiling the firmware which is to be flashed onto the ESP32 MCU. It uses PlatformIO to manage the board library, as well as other libraries needed.
This folder contains the angular sources for building the web interface used to control the system.
They need to be built first because they output a header file to the Firmware
folder which is needed in order to compile the firmware.
Make sure you have NodeJS installed, then run the following commands in the WebUI
folder:
npm install
npm run build
This project was made possible by the following awesome libraries/projects and their developers:
- TinyGPS++ for interacting with the GPS module
- ArduinoJson for easily building JSON objects in Arduino
- ESPAsyncWebServer for providing a very powerful and featured webserver & websocket interface
- Arduino core SDK for ESP32 for being able to use the ESP32 platform at all
- Embedis for providing an easy to use EEPROM interface to store settings
- NeoPixelBus for reliably controlling WS2812 LEDs using ESP32
- Espurna Project was used as a great example to solve several problems, such as the web UI and the settings interface.