Exploring AWS IoT

Device to AWS Cloud integration: Programming Embedded Devices and managing data in AWS IoT

This course explores the various features of device to cloud communication using Amazon AWS IoT Core on a AWS  free tier account.

What you’ll learn

  • Program the ESP8266, ESP32, or Raspberry Pi 3 to send data to AWS IoT Core.
  • Connect to AWS free Tier and use relevant AWS services.
  • Understand MQTT, JSON, IoT, and the AWS cloud.
  • Become familair with device to cloud communication.
  • Place IoT data into Dynamo DB by creating a table and data fields.
  • Gain competency designing graphs and using analytics on IoT data.
  • Code with basic programming structures in JavaScript, Python, and C.
  • Use Node-Red to connect devices to AWS IoT.
  • Get experience with many AWS services vital to IoT like DynamoDB and S3.
  • Learn to Create Security certificates and policy’s in AWS IoT.

Course Content

  • Welcome to the course –> 4 lectures • 25min.
  • Setting up Free tier AWS, AWS CLI, Policys, Security Credentials, and Testing –> 11 lectures • 50min.
  • MQTTs Arduino sketch to AWS IoT Core for the ESP8266/ESP32 –> 3 lectures • 19min.
  • HTTPs Arduino sketch to AWS IoT Core for the ESP8266 and ESP32 –> 2 lectures • 10min.
  • Using Mongoose OS on embedded devices for AWS IoT –> 3 lectures • 29min.
  • Programming the ESP32DevKitC in Python with Zerynth –> 4 lectures • 21min.
  • Programming the RaspberryPi3 with the AWS IoT SDK in Python –> 3 lectures • 33min.
  • Programming the RaspberryPi3 with the AWS IoT SDK in Node.js –> 1 lecture • 10min.
  • SNS Push Notifications –> 3 lectures • 15min.
  • S3 and data objects –> 3 lectures • 11min.
  • Using Kinesis Firehose for stroring timeframe defined data –> 2 lectures • 11min.
  • Storing data into the Dynamo Database from the AWS IoT control panel –> 2 lectures • 15min.
  • Using the AWS Data Pipeline to move data from DynamoDB to S3 –> 2 lectures • 11min.
  • Using AWS Glue to index and transform our data –> 3 lectures • 13min.
  • AWS Quicksight for data analytics and visulizations –> 6 lectures • 25min.
  • AWS Lambda Functions for IoT –> 4 lectures • 25min.
  • Bonus Section: AWS IoT Analytics –> 3 lectures • 23min.
  • Bonus Section: AWS Device Shadows and multiple Pub/Sub’s –> 7 lectures • 42min.
  • Bonus Section: Timestream data ledger with Grafana visualizations –> 2 lectures • 27min.
  • Bonus Section: Amazon FreeRTOS for the ESP32 –> 3 lectures • 18min.
  • Optional Material: Node-Red for AWS IoT Core –> 4 lectures • 34min.

Exploring AWS IoT


  • Comfortable using a PC, Mac, or a Linux computer.
  • Some knowledge of the Internet of Things ( IoT).
  • Desire to understand device to cloud communication.
  • Experience with a basic IDE like Arduino.
  • Amazon AWS familiarity is helpful.

This course explores the various features of device to cloud communication using Amazon AWS IoT Core on a AWS  free tier account.


Before the course starts we need an AWS free tier account, a local installation of the AWS CLI tool, and installation of the MQTT.fx testing tool (all free).  After this is set up we will program inexpensive, WiFi enabled embedded devices such as the ESP8266, ESP32, and Raspberry Pi to communicate with AWS IoT Core with MQTT.
We will take advantage of free “Internet of Things” (IoT)  development environments, like Mongoose OS in JavaScript, Arduino in C, Zernyth in Python, AWS FreeRTOS in C,  and the AWS IoT SDK in both JavaScript and Python for the Raspberry Pi to program our inexpensive WiFi devices.
You will need at least one or more of the following devices to transmit data to AWS IoT.  Alternately, you can send JSON test payloads from IoT Core directly, imitating a IoT device.  The course continues on with programming our embedded devices to send data from the device to the AWS cloud.  To transmit our data we will use the built in MQTT broker on our devices firmware, sending JSON encoded sensor data, to the AWS IoT console.
Device                                     Development Environment                Programming Language

ESP8266 12-E                           Mongoose OS, Arduino/Node-RED       JavaScript, Arduino

ESP32                                       Arduino, Zerynth, FreeRTOS                   JavaScript, Python, Arduino, C

Raspberry Pi 3 Model B           AWS IoT SDK                                          JavaScript, Python


From within the IoT console we will create AWS IoT “Rules” and “Actions” to explore many of the built in AWS IoT enabled services that are integrated in the AWS IoT Core console on the AWS cloud. Creating rules-based actions to AWS services we will send, store, file, manipulate, graph and analyze our sensor data through a variety of important AWS applications.   Some of these integrated applications, using these rule-based actions, are Dynamo Database, S3, SNS, Lambda, Data Pipeline, Glue,  QuickSight, AWS IoT Analytics, and SageMaker.


IoT is largely the fusion of devices and the web, specifically the cloud; all sending and recording data, ubiquitously and continually, everywhere. Understanding and being able to  prototype and implement an end-to-end, device to cloud path communication is a much in demand career skill.


Having the skills to build a prototyping IoT solution in the cloud is already an important and highly demanded skill set for those wanting to call themselves IoT developers, and this is more true as time goes on and IoT exponentially expands as cheap connected devices become wide-spread.
Remember! 30 days money-back guarantee with no questions asked. I want you to be happy with the value I believe this course provides.

Get Tutorial