Skip to content

AWS IoT Walkthrough

I'd wanted to connect hardware to the cloud for a long time — and finally got the chance. In high school I assembled audio amplifiers as a hobby and for class; ESP32 firmware and AWS were new ground for me. This walkthrough is the path I took from pretest to API and dashboard hosting.

Device-to-cloud telemetry

ESP32-S3
Espressif ESP32 family microcontroller — this walkthrough targets ESP32-S3-N16R8 with PlatformIO firmware.
publishing sensor readings to AWS IoT Core
AWS IoT Core — managed MQTT broker with X.509 device authentication for ESP32 telemetry and events.
via MQTT
Message Queuing Telemetry Transport — lightweight publish/subscribe protocol used between ESP32 and AWS IoT Core.
— verified end-to-end in CloudWatch Logs
Amazon CloudWatch Logs — stores IoT rule output for Phase 1 verification (`/aws/iot/esp32-demo/telemetry` and `/events`).
.

Pretest then full stack

Fast PRETEST
Phase 1 verification flow — Prerequisites through Cloud Verification in the sidebar (includes AWS Provisioning). Proves device-to-cloud connectivity in CloudWatch before full Terraform rollout.
proves flash and serial before TERRAFORM
HashiCorp Terraform — provisions shared infrastructure (IoT rules fan-out, Lambda, DynamoDB, API Gateway, Amplify).
provisions rules, LAMBDA
AWS Lambda — processes IoT rule payloads and serves query API logic behind API Gateway.
, DYNAMODB
Amazon DynamoDB — persists telemetry and event records after Lambda ingest in Phase 2.
, query API, and AMPLIFY
AWS Amplify — hosts the walkthrough dashboard frontend and connects it to the query API URL.
hosting.

Copy-paste first

Every command is ready to run. Wi-Fi and thing variables come from provision scripts and terraform output so you never guess resource IDs.

Fixes when things break

Common USB, upload, runtime, and cloud verification issues with direct fixes — plus source mapping and supporting links.