As you would expect from a stack backed by giants like Adafruit, CircuitPython is overthrowing Micropython and fast becoming one of the most popular stacks for embedded development amongst makers. As a result of this popularity, quite a number of CircuitPython optimized boards are springing up and one of the latest ones is CircuitBrains which is a brainchild (notice the pun?) of Kevin Neubauer.
According to Kevin, the new board which run an ATSAMD51J19A Microcontroller (32-bit ARM Cortex M4) at 120 MHZ, with 192kB of SRAM and 512KB of Flash, was born out of his desire to modularize the core of CircuitPython boards (MCU, clock, power, decoupling, and flash) and package it in a way similar to the ESP-12 modules so they could “just be soldered on” to a daughterboard that contains peripheral components needed to make the board fully functional.
With this, Kevin was hoping to overcome the limited choices makers have around small form-factors for Circuit Python-based boards. According to kelvin; “when it comes to finishing up a CircuitPython project, I felt limited in choice for a small form-factor, streamlined board. I always ended up creating my own boards. The overhead in doing this was huge though. You have to make sure your design has proper power, decoupling, and clock. Then you source all of the parts. After that you layout the PCB and have it fabricated. When the PCB and parts arrive, you have to deal with finicky small-pitch surface mount assembly. Finally, you need to download the sources for the UF2 bootloader and CircuitPython and define your board, compile, and flash. This makes what should be a small project pretty time consuming and tedious!”.
His idea was a board with a reusable design that could be pulled off the shelf and dropped into a project, without significantly changing the size of the project.
Some of the specifications kelvin penned down for the boards are provided below;
- Dimensions: 29 x 29 x 3.5 millimeters / 1.15 x 1.15 x 0.15 inches
- Atmel ATSAMD51J19A Microcontroller (32-bit ARM Cortex M4)
- 120 MHz
- 192 KB SRAM
- 512 KB Flash
- 8 MB SPI Flash
- Onboard 3.3V LDO Regulator
- Power and Status LEDs
- Breakouts for SPI and I2C
- Breakouts for 14 Analog and 19 Digital Inputs/Outputs
While the boards are currently in the prototyping/testing stage, Kelvin has already provided the schematics and PCB files for the board on the project’s Github Repo.
Work is still ongoing and you can get more info about the project, or follow its progress via the project’s page on Kelvin’s Blog.
Circuitpython is a toy. Unlike Micropython, it has no interrupts and no timers.
I wish Adafruit would contribute to Micropython, instead of nursing their useless pet fork.