Language: EN


STM32F103, the low-cost ARM competitor to Arduino

In this post we are going to analyze the STM32F103, a new and very tough competitor to Arduino. The STM32F103 combines the power of an ARM processor with an ultra low cost of €3.30. Additionally, it can be programmed using the Arduino IDE. In short, a tough competitor to Arduino, which appears 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 results in significantly superior specifications.

The STM32F103 is not the only board based on an ARM processor. In fact, Arduino’s own family 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 new and special is that it is the first truly cheap ARM board. This is precisely where it hurts the most, where it competes with Arduino in price even in 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 could 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 Real Time Clock (RTC)
  • Sleep, Stop, and Standby modes
  • 26 digital input/output pins, most of them tolerant to 5V
  • Interrupts on all I/O
  • 2 12-bit A/D converters of 1 μs, (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 supply and communications

In other words, the STM32F103 not only leaves Arduino at the level of a battered toy, but it makes practically any industrial automaton look ridiculous, with prices of several thousand euros.

The processor of the STM32F103 operates at 3.3V, just like the rest of ARM processors. However, the STM32F103 board incorporates a voltage regulator, so it can be powered at 5V. Additionally, most of the digital I/O pins are tolerant to 5V, something that almost no ARM board provides and is very useful, avoiding the need 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 will have to solder, just like in the Arduino Mini and Nano). This size means that it will not fit in a 170-contact protoboard, so we will need to use one with 270 contacts or more.

As negative points, the STM32F103 is objectively more complicated to program than Arduino. This is largely due to the scarcity of available information, and the absence of a user community that Arduino has behind it. However, the STM32 processor, the heart of the STM32F103, is rapidly being implemented in a large number of developments and boards, so we hope that the community will increase soon.

In short, the STM32F103 is an unbeatable development board in terms of features/price which, due to its vastly superior capabilities and low price, is a real nightmare as a competitor to Arduino.

But, even more importantly, being the first ultra low-cost ARM board represents a milestone in the field of automation. If Arduino has been a revolution (does anyone remember the PIC, or the PLC?…), the STM32F103 marks the beginning of a new era based on new processors, like the STM32, which herald an exciting future where the current AVR processors are portrayed as dinosaurs of the past,

In future posts we will go into detail about the STM32F103 board, its pinout and schematics, and learn how to program this magnificent board using the Arduino IDE.

If you liked this post and want to read more about Arduino, you can check the Arduino Tutorials section