In this post we are going to analyze the STM32F103, a new and very tough competitor for Arduino. The STM32F103 combines the power of an ARM processor with an ultra-low cost of 3.30€. Furthermore, it can be programmed with the Arduino IDE itself. In short, a tough competitor for Arduino, appearing on the scene ready to claim its market share.
What is the STM32F103?
The STM32F103 is a development board, similar to Arduino. However, while most Arduinos use an AVR processor, the STM32F103 has an ARM processor, which translates into significantly superior specifications.
The STM32F103 is not the only board based on an ARM processor. In fact, the Arduino family itself has a model with an ARM processor, the Arduino DUE. There are also other development boards, outside the Arduino family, with ARM processors.
What makes the STM32F103 novel and special is that it is the first truly cheap ARM board. It is precisely there, where it hurts the most, where it hits Arduino, being able to compete in price even with the cheapest models.
The current cost of an STM32F103 board is 3.30€. This places it slightly above an Arduino Nano V3, but it is even cheaper than an Arduino UNO R3, much cheaper than an Arduino Mega, and far from the 20€ (at least) that a clone Arduino DUE can cost.
For this incredibly low price, we get the following features:
- ARM 32-bit Cortex™-M3 CPU Core
- 72 MHz frequency (1.25 DMIPS/MHz)
- 64 Kbytes of Flash memory
- 20 Kbytes of SRAM
- 4-16 MHz crystal
- Integrated RTC (real-time clock)
- Sleep, Stop and Standby modes
- 26 digital inputs and outputs, most 5V tolerant
- Interrupts on all I/Os
- 2 12-bit A/D converters, 1 μs each (10 analog inputs)
- 7 timers
- 2 I2C interfaces
- 3 USART interfaces
- 2 SPI interfaces at 18 Mbit/s
- CAN interface
- Micro USB for board power and communications
That is, the STM32F103 not only leaves Arduino looking like a battered toy, but makes practically any industrial PLC you can find look ridiculous, with prices of several thousand euros.
The STM32F103 processor operates at 3.3V, like other ARM processors. However, the STM32F103 board incorporates a voltage regulator, so it can be powered at 5V. Furthermore, most of the digital I/Os are 5V tolerant, something that almost no other ARM board provides and which is very useful, as it avoids having to incorporate level converters.
The size of the STM32F103 is 5.3cm x 2.2cm, and it has rows of 20 pins on each side (which we must solder, just like on the Arduino Mini and Nano). This size means it does not fit on a 170-contact breadboard, so we will need to use a 270-contact or larger one.
As drawbacks, the STM32F103 is objectively more complicated to program than Arduino. This is largely due to the scarcity of available information and the lack of a user community like the one Arduino has behind it. However, the STM32 processor, the heart of the STM32F103, is being rapidly adopted in a large number of developments and boards, so we hope the community will grow soon.
In short, the STM32F103 is an unbeatable development board in terms of features/price which, due to its far superior capabilities and low price, is a real nightmare as a competitor for Arduino.
But, and even more importantly, as the first ultra-low-cost ARM board, it represents a milestone in the field of automation. If Arduino has been a revolution (does anyone remember PICs, or PLCs?…), the STM32F103 marks the beginning of a new era based on new processors, like the STM32, which foreshadow an exciting future where current AVR processors are portrayed as dinosaurs of the past.
In future posts we will go into details about the STM32F103 board, its pinout and schematics, and we will learn how to program this magnificent board with the Arduino IDE itself.

