Skip to content

Build Configuration

For the full firmware/ tree, see Source Layout.

  • 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.

  • 256dpi/MQTT @ ^2.5.3 MQTT
    Message Queuing Telemetry Transport — lightweight publish/subscribe protocol used between ESP32 and AWS IoT Core.
    client
  • bblanchon/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.

After Device Provisioning, generate headers:

Terminal window
./scripts/generate-headers.sh

Generated outputs:

  • firmware/include/config.h
  • firmware/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.