Homemade Arduino STM32F103 dev board

I was curious to play with an ARM MCU, so I ordered a lot of five STM32F103C8T6 (cheapest Cortex M3 on ebay)...

Similar projects worth following
I was curious to play with an ARM MCU, so about one year ago I ordered a lot of five STM32F103C8T6 (cheapest Cortex M3 on ebay) at the cost of about 6.2$ (so 1.24$ each), and a 2$ ST-link V2 clone to flash them.

And for this cost I got a 72MHz Cortex M3 core, 64KB flash, 20KB RAM, a RTC that can be easily powered with a 3V cell, and a lot of peripherals including USB. Not that bad.

I never used an ARM MCU, so I started to read a lot of documentation about this little beast, to design an homemade low cost development board to start to play with.

An other point of research was find the IDE to use. It seemed to me that CooCox would have been a good choice (I don't like cloud tools...).

But during some evening googling, I found this interesting place:

These guys have brought to new life an abandoned commercial project of a company called Leaflabs, based on a couple of development boards using a STM32 ARM MCU and a "core" that enable the Arduino IDE to use them (more infos here: A incomplete short history of Arduino for STM32).

I decided that the STM32-Arduino IDE would be an handy starting point, and I started to "study" the boards used here. I found that the most used were the "maple mini clone" and the "blue pill" (see here: Supported boards), each using a different bootloader.

So I made one that can "emulate" both boards (changing some jumpers), just to test both bootloaders (Here the schematic: A181115-R180116.pdf. See the "Errata" at the bottom of this article!!):

Here is an example driving a cheap 2004A LCD @5V and controlling contrast and backlight with two PWMs, two resistors and one cap (here my post on the stm32-arduino forum with the LCD wiring and the LCD demo sketch: STM32F103 driving a cheap 2004/1602 LCD @5V: controlling contrast & backlight with 2 PWMs, 2 resistors and 1 cap):

And to test the RCT here is a simple sketch that "automatically" set it from the Arduino IDE compilation time. See this my post on the stm32-arduino forum: RTC with 3.3V battery.



SCHEMATIC ERRATA (ref.: A181115-R180116.pdf):

  1. L2 is upside down;
  2. USB (J3) shield is unconnected. Better connect it to GND;
  3. Add an additional parallel feedback resistor (from 16 MΩ to 22 MΩ) on board to help the LSE oscillation start-up in all cases (from ST errata: STM32F10xxC/D/E Errata sheet).


Board Schematic

force-download - 62.15 kB - 09/26/2016 at 06:18


View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates