Think 2021: New tools have the developer ecosystem and IBM building together Learn more

Analyze IoT ESP8266 sensor data

This tutorial is part of the 2020 Call for Code Global Challenge.

Learn how to connect an ESP8266 to Watson IoT over MQTT and stream environmental data from the sensors to the IBM Cloud. In this tutorial, we present the high-level steps (from our workshop) which will help you learn about ESP8266 programming, IoT Security, MQTT, Watson IoT Platform, Node-RED, cloud storage, data analytics, and visualization techniques.


Before you can start working on this workshop you need to have some prerequisite software installed and have a working account on the IBM Cloud. Details of how to get set up can be found in Part 1.


  1. Part 1: Provides an overview to the course, introduces the hardware, the development tooling, and then gets you programming the ESP8266 device to connect to the local WiFi network and be able to control the hardware. Part 1 finishes with an overview of the IBM Cloud, the cloud platform used in this workshop, and ensures you have a working cloud account with the required resources.

  2. Part 2: The second part of the workshop looks at the Internet of Things service on the IBM Cloud and how you connect a device to the IBM Cloud using the MQTT protocol. This section also looks at ensuring you have a secure connection between the device and the Cloud Platform, using SSL/TLS security and certificates.

  3. Part 3: In this section we look at using a low-code development environment called Node-RED on the IBM Cloud to implement the server side part of the IoT solution. You will create a dashboard to visualize the IoT data and also provide controls to configure the ESP8266 device. Your server side application will also control the LED attached to the ESP8266.

  4. Part 4:The last part of the workshop looks at how useful information can be extracted from the IoT data using analytics. You will be introduced to the analytic services available on the IBM Cloud and the tooling the services provide to help you extract useful information from sensor data.