Crossing the Streams with CircuitPython

It’s been an interesting year for microcontroller boards. We’ve seen a dramatic drop in the price of computing, along with the long anticipated collapse in the diversity of board form factors, the rise of the FPGA, and the new availability of RISC-V chips making ripples in the market.

Intriguingly, though, it seems that this year was also the year where high-level languages on low-level hardware took off. Which is why the appearance of Adafruit’s CircuitPython on a new board from SparkFun is far more important than it might seem on the surface. Because, like many of the early signs we’ve seen this year, this board may well be a leading indicator of things to come.

The SparkFun nRF52849 Mini (📷: SparkFun)

The SparkFun Pro nRF52840 Mini is built around Raytac MDBT50Q-P1M module which houses a 32-bit Nordic nRF52840 in an FCC-approved footprint. The Nordic chip is an Arm Cortex-M4 CPU with 1MB of internal Flash and 256KB of RAM, running at 64 MHz. It comes with integrated 2.4GHz radio with support for Bluetooth LE, and can act as both a peripheral or a central BLE device. However, it also can support Bluetooth 5 Mesh, the ANT protocol, and Nordic’s own proprietary RF protocol.

Additionally, the board exposes the nRF52840’s native USB support which can be used to program, power, and communicate with the chip. The footprint of the board doesn’t, quite, match the Arduino Pro Mini with some of the I/O pins being covered by a SparkFun Qwiic Connector. But those pins that are exposed are pin compatible with the Pro Mini board.

The board comes pre-loaded with USB boot loader which is “heavily based” on Adafruit’s nRF52 Bootloader, and lets you develop for the board using the Arduino development environment, Circuit Python, or using native C and Nordic’s own nRF5 SDK. There is a really detailed walkthrough allowing you to get started using the board either with Arduino, or Circuit Python, on the SparkFun site.

SparkFun Pro nRF52840 Mini. (📹: SparkFun)

It’s been fascinating to see the maturing ecosystem around the use of Python on microcontrollers. Because I’m starting to think that, with our hardware now ‘good enough’ to do most of what we need, the next generation of microcontrollers will be defined, not by the hardware, but by their user experience. Because high level language support brings more accessibility, and a better user experience, and that can only be a good thing.




Scientist, Author, Hacker, Maker, and Journalist.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

How I Converted my Old Weber BBQ into a Smart Garden

OnePlus 6T — The Camera

Is an M1 Mac Mini good enough to run Adobe?

Mega Bots: The World’s First Giant Robot Fighting League!

A Feather-Compatible FPGA Board Running a RISC-V Core with LoRaWAN

Swapping the touchpad of the Thinkpad T400

I can’t give up the Apple Magic Mouse

SAMI Drives Your Micro Gearmotors with PID via I2C

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alasdair Allan

Alasdair Allan

Scientist, Author, Hacker, Maker, and Journalist.

More from Medium

Randomize Your Gnome Backgrounds

Leaves on a wire. An example of a nice desktop background.

How to install GDAL in a Python virtual environment

Running Tilda on Ubuntu 22.04 Jammy Jellyfish

How to remove a file so that it becomes almost non-recoverable.