
Connect STM32 and ESP32 to AWS IoT Core via MQTT, publish live sensor data, and enable OTA firmware updates, cloud-to-device communication, a payment gateway, and a real-time news ticker.
Program STM32 f446 nucleo board with the fastbit iot connect shield to flash firmware onto ESP32 C6 module using STM32 Cube IDE and ESP IDF for AWS IoT cloud integration.
Build an STM32 microcontroller application that securely connects to AWS IoT Core via MQTT, subscribes to a topic, and publishes real-time temperature and humidity data.
Learn how to set up AWS IoT Core by creating an AWS account, generating certificates and keys, configuring a policy, and attaching it to an IoT thing for secure MQTT.
Create an AWS IoT thing and attach a policy for connect, publish, subscribe, and receive. Download certificates and keys, then flash the ESP32 with the firmware to connect securely.
Learn to build and flash the ESP80 firmware for the ESP32, replacing certificates, cloning the ESP80 repo, configuring ESP-IDF, and flashing the AT firmware with mqtt, wifi, and tcp/ip support.
Create a new STM32 Cube IDE project on the f446re nucleo board to securely connect to AWS IoT Core via MQTT, subscribing to topics and publishing temperature and humidity data.
Configure essential peripherals to talk to ESP32, including uart4 with dma, usart2 logging, i2c1 for sensor, and timer 6 timing; integrate iot_sdk for AWS IoT MQTT and OTA updates.
Establish a secure AWS IoT Core connection by initializing the ESP32 Wi-Fi module, joining the AP, syncing time with SNTP, and MQTT TLS over port 8883 using the thing name.
Demonstrates testing AWS IoT Core MQTT connect using the thing name as client id, and observing serial logs 115200 baud for MQTT activity.
Learn to apply mqtt publish and subscribe to topic for loopback test with aws iot core on an esp32, sending sensor data as a json payload containing temperature and humidity.
Start the FreeRTOS scheduler to run the MQTT publish task and subscribe to the correct topic, then verify data publishes to the AWS IoT Core broker every five seconds.
Implement the MQTT receive task using a dedicated at command dispatcher to guard UART access, with queues and a DMA ring buffer for AWS MQTT messages.
Implement an MQTT publish queue on ESP32 by defining an MQTT queue item, creating TX and RX queues, and posting items with topic and payload via FreeRTOS queue APIs.
Implement an mqtt receive task that uses queue receive on mqtt rxqueue, copies into a buffer with port max delay, and prints topic and payload when present.
Create three RTOS tasks for mqtt publish, mqtt receive, and a low-priority mqtt send and receive task to handle at commands via queues, with implementation in the next video.
Implement the mqtt command handling task by dequeuing the mqtt txq, issuing mqtt publish or subscribe commands via helper functions, and processing incoming data from AWS server.
Test mqtt publish and subscribe on esp32 wifi to demonstrate end-to-end sensor data flow with aws iot core, including temperature and humidity updates every five seconds.
Discover the end-to-end wireless ota firmware update flow for STM32, from a custom bootloader and freertos library to s3, iot stream, and iot jobs delivering and flashing firmware via mqtt.
Build a secure over-the-air firmware update system for an STM32 IoT device using AWS IoT services, enabling the device to check for pending updates and upgrade via the OTA bootloader.
Create an Amazon S3 bucket, upload the firmware binary and the ota job document to an ota update folder, and enable block public access for security.
Create an IAM role with S3 read access for AWS IoT to fetch firmware, then create an IoT stream using OTA-stream with S3 bucket name, object key, and role ARN.
Create a custom AWS IoT job to fetch and apply firmware updates via a simple JSON document with stream ID and file size, enabling tracking and offline handling.
Import the OTA firmware update project into STM32CubeIDE, build and flash it, then monitor Wi-Fi, MQTT, and a block-by-block OTA download from the S3 bucket to boot the new application.
Learn how the STM32 OTA bootloader initializes wi-fi, establishes a secure MQTT connection to AWS IoT Core, checks for pending jobs, downloads firmware in chunks, and reboots to activate updates.
Understand how the ota handle function classifies mqtt messages, validates the job ID and document, and orchestrates firmware download from AWS IoT Core, including chunk decoding and flash writing.
Build the OTA application firmware by re-establishing STM32–ESP32 communication post boot, skip Wi-Fi/MQTT setup, and implement the use-underscore-OTA macro for conditional command inclusion and binary generation.
Perform an over-the-air firmware update by changing the app to publish every 10 seconds, then upload the binary to s3, create an iot stream, and run a custom ota job.
Design an IoT-based payment system that captures real-time Razorpay transactions and displays live updates on an STM32 device with an OLED screen via AWS cloud and a serverless backend.
Display a Razorpay QR code on IoT device; when paid, webhook informs AWS API Gateway, triggers Lambda to validate, store in DynamoDB, and publish OLED updates via AWS IoT Core.
Configure Razorpay webhook to notify the AWS cloud of payment captured or failed, set a secret key, and use a placeholder URL until API gateway and Lambda are ready.
Set up the AWS cloud backend for Razorpay webhooks by creating a Lambda function, configuring API gateway triggers, validating signatures, and storing transactions in DynamoDB.
Create a new stm32 project reusing the aws iot core mqtt setup, configure spi oled with sh1106, wire pa5/6/7, pa8, pb3, pa10 to subscribe to razorpay topic for payments.
Generate a dynamic Razorpay QR code, crop to a 45 by 45 pixel square, convert to a byte array, and embed it in firmware to render on the OLED.
Initialize the oled sh1106 driver, render the qr bitmap to the framebuffer, split the screen with the qr on the right and text on the left, and update the display.
Subscribe the device to the Razorpay payments MQTT topic to receive events, parse the JSON payload to extract id, amount, status, and time, and display the result on the OLED.
Test end-to-end payment event capture on an STM32 AWS IoT Core Bootcamp project, detailing MQTT TXQ usage, QR code payment flow, and OLED status updates for live validation.
Launch a new sticker project on stm32 with esp32 wifi to fetch live headlines from the New York Times API via HTTP GET and display them on the oled.
Explore a two-sided system: cloud fetches real-time headlines from the New York Times REST API via HTTP GET, device parses JSON, and displays titles and abstracts on OLED.
Learn to set up a New York Times developer portal account, create an app, enable APIs, and generate an API key for top stories integration.
Create a new project from a template, remove mqtt and pre-rtos code, and set up wifi plus oled with http/https logic, configuring left and right buttons on the fastbit shield.
Establish a secure cloud connection by configuring the ESP32 to access NYT API over HTTPS port 443 with an API key, using app.c and app.h to manage the server connection.
Use a finite state machine to manage startup, menu, fetch, and scroll on an OLED display. Transitions occur on button presses, API responses, and timeouts, with robust error handling.
Fetch news from New York Times API by building a get request for the chosen section, send it via the ESP32, and parse json to show the title and abstract.
Implement a pixel-based scrolling ticker on the OLED display by building a scroll string from article titles and updating at 25 ms, with no news error state returning to menu.
Are you ready to take your STM32 and IoT skills to the next level by building real cloud connected devices on AWS?
This is a brand new course that is practice first, project driven, and step by step. You will not just learn concepts. You will build along and see your STM32 devices come alive with real AWS IoT Core integration..
In this hands on, project driven course, you will learn how to connect your STM32 microcontrollers to the AWS IoT Cloud and build real world IoT applications that are secure, reliable, and scalable.
Connect STM32 to AWS IoT Core using ESP32 Wi Fi bridge, publish and control devices with MQTT, deliver secure OTA firmware updates, and integrate Razorpay payment events in hands on projects
This is not a theory heavy course. It is all about building step by step, where you will write code, configure cloud services, and see your embedded device interact with AWS in real time.
By the end, you will have the skills to implement IoT systems that go beyond simple sensor readings, integrating with advanced features such as firmware updates over the air and even cloud driven business logic with payment gateways.
What you will learn?
How to set up AWS IoT Core for secure device-to-cloud communication
Connecting STM32 with ESP32 as a Wi-Fi bridge using AT commands
Publishing sensor data and receiving commands over MQTT
Implementing secure Over-the-Air firmware updates using AWS IoT Jobs
Managing cloud-to-device messaging and real-time responses
Integrating IoT with real-world business systems (Razorpay Payment Gateway)
Building end-to-end IoT workflows from device → cloud → device
Hardware Requirements
Note: If you already have a microcontroller development board, we recommend continuing with it. This course is designed with such thoroughness that the concepts and steps can be applied to most development boards though some minor adjustments may be needed. But, if you prefer to use the exact same board as the instructor for a smoother experience, you can check out the recommended hardware
Any STM32 Nucleo board with Fastbit IOT connect shield (Recommended)
or
Any STM32 development board + ESP32 module for Wi-Fi
Projects you build
IoT Foundation Project – Connect STM32 to AWS, publish sensor data, and subscribe to commands using MQTT
OTA Firmware Updates – Deliver new firmware securely from AWS S3 and update in the devices automatically.
IoT + Payment Gateway – React to real-time Razorpay payment confirmations on your STM32 device with instant feedback on OLED display.
Who this course is for?
Embedded engineers who want to connect their devices to the cloud
Students or professionals interested in IoT product development
Makers who want to build practical IoT projects beyond basics
Anyone curious about how embedded devices interact with AWS IoT Core
Requirements
Basic knowledge of C programming and STM32 development
Familiarity with UART and microcontroller basics
An STM32 development board + ESP32 module for Wi-Fi
By the end of this course, you will be able to:
Confidently connect STM32 devices to AWS IoT Core
Build real-world, cloud-integrated IoT applications
Deliver OTA firmware updates securely
Integrate IoT devices with modern digital services