Give your succulent some smarts by building an internet-connected plant monitor with Amazon AWS IoT and CircuitPython.

This smart-planter monitors your plant's vitals on the PyPortal's screen, logs data to Amazon AWS IoT, and sends an email to your inbox when your plant needs to be watered!

Using Amazon AWS IoT with CircuitPython allows you to prototype internet-of-things projects faster than ever before. With CircuitPython, you're able to instantly provision your device for AWS IoT by dragging and dropping certificates/keys. 


AWS IoT is an IoT service for those looking for an incredibly scalable and secure Internet-of-Things (IoT) service.

Integration with the AWS Ecosystem

Connect your CircuitPython device to integrate with Amazon Web Services such as Amazon S3, AWS Lambda, Amazon Kinesis, and more! 


We've tried all the major IoT cloud service providers, and AWS IoT offers a higher level of security. This is due to features such as secure device provisioning, access-resource policies for device MQTT feeds, and a service to continuously monitor and report potential security threats.


CircuitPython is perfect for building Internet-of-Things projects. This project uses the ESP32SPI CircuitPython library, which can use the ESP32 as a WiFi-coprocessor.

We've built an CircuitPython AWS IoT helper module to make interacting with AWS IoT incredibly simple. Provisioning CircuitPython devices is as simple as adding your device certificate and private RSA key to a file. 

You can rapidly update your code without having to compile and store WiFi information and AWS IoT device configuration on your microcontroller. This means that there's no editing code and re-uploading whenever you move the PyPortal to another network - just update a file and you're set. 

Prerequisite Guides

This is an intermediate-level CircuitPython guide. If you're new to CircuitPython, take a moment to walk through the following guides to get you started and up-to-speed:


Front view of a Adafruit PyPortal - CircuitPython Powered Internet Display with a pyportal logo image on the display.
PyPortal, our easy-to-use IoT device that allows you to create all the things for the “Internet of Things” in minutes. Make custom touch screen interface...
In Stock
Soil sensor in small potted plant, with wires connected to Adafruit Metro
Most low cost soil sensors are resistive style, where there's two prongs and the sensor measures the conductivity between the two. These work OK at first, but eventually...
In Stock


1 x Female/Female STEMMA Cable
STEMMA Cable - 150mm/6" Long 4 Pin JST-PH Cable–Female/Female
1 x PyPortal Stand
Adafruit PyPortal Desktop Stand Enclosure Kit
1 x USB Cable
Pink and Purple Braided USB A to Micro B Cable - 2 meter long

This guide was first published on Oct 16, 2019. It was last updated on Jul 23, 2024.

This page (Overview) was last updated on Mar 08, 2024.

Text editor powered by tinymce.