CircuitPython in 2021

It is once again time for Adafruit’s prompt for feedback on CircuitPython. Let’s see what I did last year and what I hope for this year.

The Projects

This year was slow project-wise. I did some work on a new, cheaper version of my walking robots, but they still need a lot of programming work. Then I went into the rabbit hole of low-profile mechanical keyboards, built half a dozen of them, until I made a perfect one for me. In the process I also made a library for keyboards that has substantially lower resource requirements than existing ones.

I also ported the Stage game library to a few new platforms, re-made the menu program for it, and merged a couple of improvements from other contributors.

Right now I’m working on a 6-hole MIDI ocarina, and I’m considering doing a business-card sized flat version of PewPew Standalone, with bi-color LEDs.

The Future

After most of my plans went awry in 2020, I’m careful about planning anything this year. I think I will just be making small projects to keep myself sane, and see how the situation develops.

In terms of development of CircuitPython, I’m really looking forward to the dynamic USB descriptors, because that will let me make my keyboards more usable for the general public, and then it will make sense to actually publish them properly.

It’s also nice to see the work around deep sleep, as this might let me save on some parts in the future, moving the power switch to software.

The work around reset, safe mode and what file should be run after reset will allow me optimize the menu program for PewPews a little better, giving more memory to the games.

From what I can see most work is still focused on ESP32-S2, but I don’t find this particularly interesting for myself. I’m not a great fan of wireless solutions in general, and WiFi in particular seems a bit heavy for microcontroller-based projects. The need for certification also limits greatly what kind of projects I could make with this.


It’s great to see the CircuitPython project progressing and getting more popular, and I am very grateful to all contributors for it. Having said that, I think it is slowly reaching a point where it has most of what is needed, so it’s difficult to be excited about new developments — they are no longer such big steps forward. Of course in the long run it is a good thing — we can focus more on things we are building with the tool, not on the tool itself.