All of our Feathers support Arduino and C/C++ using a gcc toolchain. But not everyone wants to write C/C++ code. Thanks to the bigger and faster chips available, it is now possible to run a full Python interpreter directly in the microcontroller itself!
*mind blown*
The original version of this embedded Python is called MicroPython, written a feat of magic by Damien George. Please help support him by purchasing from his shop! We also stock MicroPython boards, books and badges in the Adafruit shop all of which directly help Damien's efforts.
CircuitPython is a variant of MicroPython which is designed specifically for beginners, and use the chipsets on Adafruit boards, like the SAMD21 and SAMD51. They are 98% the same and use the same interpreter core, just some of the helper libraries vary in naming.
The Feather M0 Express and M4 express are the first in a line of products specifically designed for CircuitPython. The SAMD21 and SAMD51 microcontrollers are inexpensive while still being full featured with native USB, multi serial (I2C and SPI) engines called SERCOMs and a 10 bit DAC. Its 256k on board flash is supplemented with an external flash chip that gives a huge two megabytes for your code and all of our CircuitPython libraries. The status NeoPixel gives you information on the state of CircuitPython even when its unplugged from a computer. Its perfect for rapid prototyping of sensor driven projects.
The Feather nRF52840 Express is a newer board that leverages both a Cortex M4F processor and a Bluetooth radio.
Contrary to its name, the Adafruit HalloWing M0 Express is a Feather (not a FeatherWIng) in a modified form factor with an LCD display. The closeness of HalloWing and Halloween was too good to pass up.
Pros
- UF2 bootloader for easy drag and drop flashing
- 2MB SPI Flash for storing all your code, libraries and data files
- Status NeoPixel for debugging in a pinch
- Built-in USB support enabling CIRCUITPY drive, USB HID (mouse and keyboard) and easy serial
Cons
- No built in radio on the SAMD boards. Bluetooth for the nRF52840. Additional radios are available on FeatherWings.
- Not compatible with MicroPython, only CircuitPython
- M0: CircuitPython interpreter uses half the 32KiB RAM — only 16KiB for the user
CircuitPython-Compatible Feathers
These Feathers weren't designed for CircuitPython, but they work just fine!
The Huzzah does not have native USB so you don't get the nice "USB drive with source code on it". The non-Express M0's don't have a 2MB SPI Flash so the USB drive you get is quite small, and gets wiped if you update the firmware.
So if you really want to have an easy CircuitPython experience, we suggest the M0 Express, above!
Prior to CircuitPython, the SAMD21 M0 microcontroller wasn't supported by MicroPython. However, it was supported by Arduino and that lead to a wide variety of M0 based feathers. Now, all of these can run CircuitPython but are more limited in the functionality available. They run the same speed as the Feather M0 Express but are missing the extra space for code on the SPI flash which also means that there is less room internally for functionality in the CircuitPython core.
So, if you already have one and want to try CircuitPython, then you can! They can do smaller code tasks just fine. Just beware that it won't be quite as easy as the Feather M0 Express.
Also note that the extra functionality on these boards, such as the SD card, radios and Bluetooth modules, is not yet supported in CircuitPython. Some of them will require additional core CircuitPython work while others will only require a new library or two.
Pros
- Additional functionality on-board
- Built in USB support for CircuitPython drive
- If you already have one, you can try CircuitPython
Cons
- Very small file storage 64KiB max
- No UF2 bootloader
- No CircuitPython libraries for extra functionality
- CircuitPython version is reduced functionality to share flash with file storage
Page last edited March 08, 2024
Text editor powered by tinymce.