CircuitPython
CircuitPython from Adafruit is a Python-based programming language that works on devices of all abilities and sizes. Our introduction to CircuitPython was via a $4 Gemma M0 board given away at PyCon. This tiny board had very little RAM and a tiny amount of flash storage, but it could control NeoPixels, emulate a keyboard and more thanks to a library of drivers and a friendly community. That same language is what we used in this tutorial.
CircuitPython devices, including the new Raspberry Pi Pico, appear as USB flash drives with a file, code.py, that can be edited in a text editor or a “proper” IDE. Saving the file triggers the board to automatically restart and run the code. Need a library? All of the drivers and software for many different boards are available from https://circuitpython.org and we can extract, drag and drop the files where we need them. CircuitPython code is portable, so the code written in this tutorial could also be used on a Raspberry Pi Pico, Adafruit QTPY or Circuit Playground Express.