Before you start
Make sure you follow the Firmware guide first.
1. Install Arduino IDE + ESP32 core
- Download Arduino IDE: https://www.arduino.cc/en/software/
- Install the ESP32 boards package (Espressif)
- Arduino IDE:
Preferences->Additional boards manager URLs - Add:
https://espressif.github.io/arduino-esp32/package_esp32_index.json Tools->Board->Boards Manager-> install esp32 by Espressif Systems
- Arduino IDE:
2. Open the firmware as an Arduino sketch
Arduino IDE expects an.ino entrypoint.
- Create a new sketch folder (example:
elato_firmware/) - Copy firmware sources into that folder (from
firmware-arduino/) - Rename
main.cpptoelato_firmware.ino(or createelato_firmware.inoand include/forward the setup/loop entrypoints) - Keep the other
*.cppand*.hfiles in the same sketch directory
3. Board + serial settings (match PlatformIO)
In Arduino IDE:- In the Sidebar, head over to
Boards Managerand selectArduino ESP32 Boards by Ardiunoversion2.0.18-arduino.5 Tools->Board-> ESP32S3 Dev Module (or the closest match toesp32-s3-devkitc-1)Tools->Upload Speed-> keep at 115200Tools->Port-> select your ESP32Tools->PSRAM-> enable if your board has itTools->Partition Scheme-> select a scheme that supports 16MB flash (suggested: “Default 4MB with spiffs”)Tools->Serial Monitorspeed: 115200
4. Libraries (match lib_deps from platformio.ini)
Install from Library Manager
Install these packages and versions:ArduinoJson(^7.1.0)WebSockets(^2.4.1)ESPAsyncWebServerby ESP32Async (^3.7.6)ESPAsyncTCPby ESP32Async (^3.4.4)ESP32_Button(^0.0.1)
Install from GitHub (ZIP)
These are pulled from GitHub in PlatformIO; in Arduino IDE you can install them via:Sketch -> Include Library -> Add .ZIP Library...
arduino-audio-tools(tagv1.0.1):https://github.com/pschatzmann/arduino-audio-toolsarduino-libopus(commit/taga1.1.0):https://github.com/pschatzmann/arduino-libopus
5. Build + upload
Sketch->Verify/CompileSketch->Upload
Need help? Join our Discord community and to any questions and share ideas.

