Build Flash and Monitor
Build and upload
Section titled “Build and upload”pio run -d firmware -e esp32-s3-n16r8pio run -d firmware -e esp32-s3-n16r8 -t uploadOne-liner upload and monitor:
pio run -d firmware -e esp32-s3-n16r8 -t upload && pio device monitor -d firmware -b 115200Pin upload port when needed:
pio run -d firmware -e esp32-s3-n16r8 -t upload --upload-port /dev/ttyACM0BOOT + RST fallback
Section titled “BOOT + RST fallback”If upload stalls at Connecting...:
- Close any active serial monitor
- Hold BOOT
- Tap RST/EN
- Release BOOT
- Retry upload
Serial output markers
Section titled “Serial output markers”Run monitor:
pio device monitor -d firmware -b 115200Look for:
[wifi] connected[mqtt] connected[telemetry] published[event] published
Successful [mqtt] connected confirms MQTT
Message Queuing Telemetry Transport — lightweight publish/subscribe protocol used between ESP32 and AWS IoT Core. over mTLS
Mutual TLS — both client and server present certificates. ESP32 uses mTLS with AWS IoT Core over TLS 1.2. to IoT Core
AWS IoT Core — managed MQTT broker with X.509 device authentication for ESP32 telemetry and events. .
LED behavior
Section titled “LED behavior”Blue RGB flash indicates successful publish behavior.
- Default LED route is
GPIO48 - Some board variants require
PIN_NEOPIXEL=38