This project demonstrates a circuitpython board with an PMS5003 air quality sensor, powered over serial (USB) and using Home Assistant to process the data using. Note that Home Assistant is merely a consumer of the sensor data, and alternatively the data could be plotted in a Jupyter notebook, as here.
I am running Home Assistant on a Raspberry Pi, and whilst the sensors could be connected directly to this Pi, having them on a separate board allows me to quickly plug the board into my laptop, iterate the hardware/code, and keep data parsing logic in Python on the board. In Home Assistant, I simply need to add or remove variables being parsed from a json string, and don’t need to worry about parsing data using YAML. I previously used this approach with a BBC microbit here.
The project uses the Adafruit Metro M0 Express. This board has sufficient memory that the entire Circuitpython Bundle library can be loaded. The board has both 3.3 and 5V output, and all the connections are clearly labelled. The board shows up as an external USB drive, making it straightforward to update the code on the board.
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, or even use Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for MakeCode, CircuitPython, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.