This project's code utilizes the Azure IoT Library which currently does not work with AirLift hardware, such as the Adafruit PyPortal. As a result, this project does not currently work (but may in the future).

For a more updated guide using CircuitPython and Microsoft Azure IoT, visit

Viewing Data on the PyPortal

When the PyPortal starts up, it will first load the azure_splash.bmp image in the images folder on your CIRCUITPY drive. This is a "loading screen" while the code waits for the fonts and display objects load on the screen.

You should see the PyPortal display update to display the temperature value and moisture level.

The status indicator at the bottom of the PyPortal will display when it's sending data to Azure IoT Central and also display when the data is sent. 

Monitoring the data with Azure IoT Central

Once your device is connected and sending data, you will see the temperature and soil moisture values start to appear in your IoT Central app.

sensors_DashboardWithData.pngThe IoT Central dashboard showing the temperature and moisture with the current level and a graph showing the last hour of data
The IoT Central app dashboard

Going Further

Ready to go further with your CircuitPython-Powered Azure-connected IoT Device? The CircuitPython_AzureIoT module provides usage examples for advanced Azure IoT Central operations such as properties and commands.

Azure IoT Central has a number of additional capabilities you can add to your IoT App:

  • Set up a rule to send you an email if your soil moisture levels are too low and the plant needs watering.
  • Export all your data into storage to keep a history of all the recorded values.

You can also take advantage of other Azure services to work with the data:

This guide was first published on May 24, 2019. It was last updated on Jul 19, 2024.

This page (Code Usage) was last updated on Apr 30, 2024.

Text editor powered by tinymce.