A while ago, I discovered the STM32F020F4P6. It is the lowest-end Cortex-M0 microcontroller ST offers and it is happily supplied by various Chinese stores for 30 to 80 cents per piece. Albeit being very cheap, it offers quite a lot of functionality! It runs at 32 MHz, has 16K of flash and 4K of RAM, an 12 bit ADC, SPI, I2C, a bunch of timers, …

It is a tiny controller, but for most of my applications it's more than enough. Read in some sensors, control some outputs via a state machine, datalog something to a SD card – why should I use a giant controller when I can have a cheap, small and simple solution?

This project started because I wanted to have a nice prototyping platform for that particular controller, just to test some things before I design a real PCB for the project. Yes, Chinese-made boards exist. Yes, I could just step up to F1s and use a cheap “Blue Pill” board like everyone else. But all those readily available boards have, in my opinion, one major flaw.

These boards are just plain breakout boards. Maybe there's a usable LED and a voltage regulator on-board, but that's it. When did you last have a microcontroller project that consisted just of the microcontroller? I bet you haven't had many of these. And if there are any supporting electronics or sensors or anything, they need to be awkwardly affixed to the breakout board. Even if you're just dealing with a pushbutton and some servos the result is a mess of jumper wires or a dubious breadboard setup. Probably the most elegant way is to solder everything, including the breakout board, down to some perfboard. But still, all this could be less of a hassle.

The obvious solution is to include a prototyping area on the board. That allows for easy construction of a mechanically sound test setup. Need connectors for your servos? Just put them there, right next to the controller. Want to test a microcontroller-based DC/DC converter? Just solder your power semiconductors and passives directly onto the prototyping board.

In order to create a small, handy and unobtrusive development platform I had these goals in mind:

And what you are looking at is what I came up with. I've been using these boards a lot, so at least for me they have proven their usefulness.