Build Configuration
For the full firmware/ tree, see Source Layout.
PlatformIO baseline
Section titled “PlatformIO baseline”- Board: ESP32-S3-N16R8
Espressif ESP32 family microcontroller — this walkthrough targets ESP32-S3-N16R8 with PlatformIO firmware. - Framework: Arduino
- Environment:
esp32-s3-n16r8
Pinned in firmware/platformio.ini on main.
Key dependencies
Section titled “Key dependencies”256dpi/MQTT @ ^2.5.3— MQTT
Message Queuing Telemetry Transport — lightweight publish/subscribe protocol used between ESP32 and AWS IoT Core. clientbblanchon/ArduinoJson @ ^7.0.0— JSON serialization
The demo repo also defines a native test environment for host-side unit tests under firmware/test/native/. That environment is out of scope for this walkthrough.
Header generation step
Section titled “Header generation step”After Device Provisioning, generate headers:
./scripts/generate-headers.shGenerated outputs:
firmware/include/config.hfirmware/include/certs.h
These headers compile environment settings and provisioned certificate material into the FIRMWARE
PlatformIO-based ESP32 application in `firmware/` — connects to Wi-Fi, syncs time, and publishes MQTT telemetry and events. build.