stm32f103-el-competidor-arm-de-arduino-de-bajo-coste

STM32F103, el competidor ARM de Arduino de bajo coste

En esta entrada vamos a analizar el STM32F103, un nuevo y muy duro competidor de Arduino. El STM32F103 combina la potencia de un procesador ARM, con un ultra bajo coste de 3,30€. Además, puede ser programado con el propio entorno Arduino IDE. En definitiva, un duro competidor de Arduino, que aparece en escena dispuesto a reclamar su cuota de mercado.

¿Que es el STM32F103?

El STM32F103 es una placa de desarrollo, similar a Arduino. Sin embargo, mientras la mayoría de Arduinos montan un procesador AVR, el STM32F103 dispone de un procesador ARM, lo que se traduce en unas especificaciones ampliamente superiores.

El STM32F103 no es la única placa basada en un procesador ARM. De hecho, la propia familia de Arduino tiene un modelo con procesador ARM, el Arduino DUE. También existen otras placas de desarrollo, fuera de la familia Arduino, con procesador ARM.

Lo que hace novedoso y especial al STM32F103 es que es la primera placa ARM realmente barata. Es ahí, precisamente donde más duele, donde toca a Arduino, siendo capaz de competir en precio incluso en los modelos más baratos.

El coste actual de una placa STM32F103 es de 3,30€. Esto la sitúa ligeramente por encima de un Arduino Nano V3, pero es incluso más barata que un Arduino UNO R3, mucho más que un Arduino Mega, y muy alejada de los 20€ (como poco) que puede costar un Arduino DUE clónico.

Por este precio, increíblemente bajo, obtenemos las siguientes características

  • ARM 32-bit Cortex™-M3 CPU Core
  • Frecuencia de 72 MHz (1.25 DMIPS/MHz)
  • 64 Kbytes de memoria Flash
  • 20 Kbytes de SRAM
  • 4-16 MHz cristal
  • RTC (reloj de tiempo real) integrado
  • Modo Sleep, Stop y Standby
  • 26 entradas y salidas digitales, la mayoría tolerantes a 5V
  • Interrupciones en todas las I/O
  • 2 conversores A/D de 12-bit de 1 μs, (10 entradas analógicas)
  • 7 temporizadores
  • 2 interface I2C
  • 3 interface USARTs
  • 2 interface SPIs a 18 Mbit/s
  • Interface CAN
  • Micro USB para alimentación de la placa y comunicaciones

Es decir, el STM32F103 no solo deja a Arduino al nivel de un juguete maltrecho, si no que deja en ridículo a prácticamente cualquier autómata industrial que podáis encontrar, con precios de varios miles de euros.

El procesador del STM32F103 opera a 3.3V, al igual que el resto de procesadores ARM. Sin embargo, la placa STM32F103 incorpora un regulador de voltaje, por lo que puede ser alimentada a 5V. Además, la mayoría de las I/O digitales son tolerantes a 5V, algo que casi ninguna placa ARM proporciona y que resulta muy útil, al evitar tener que incorporar convertidores de nivel.

El tamaño del STM32F103 es de 5.3cm x 2.2cm, y dispone de hileras de 20 pines a cada lado (que deberemos soldar, igual que en Arduino Mini y Nano). Este tamaño hace que no quepa en una protoboard de 170 contactos, por lo que deberemos usar una de 270 contactos o superior.

Como puntos negativos, el STM32F103 es objetivamente más complicado de programar que Arduino. Esto se debe en buena medida a la escasez de información disponible, y la ausencia de una comunidad de usuarios que tiene Arduino detrás. Sin embargo, el procesador STM32, el corazón del STM32F103, se está implantando con rapidez en una gran cantidad de desarrollos y placas, por lo que esperemos que la comunidad aumente próximamente.

En definitiva, el STM32F103 es una placa de desarrollo imbatible en características / precio que, por sus muy superiores capacidades y su bajo precio, resulta en una auténtica pesadilla como competidor para Arduino.

Pero, e incluso más importante, al ser la primera placa ARM de ultra bajo coste supone un hito en el campo de la automatización. Si Arduino ha supuesto una revolución (¿alguien recuerda los PIC, o los PLC?…), el STM32F103 supone el comienzo de una nueva época basada en nuevos de procesadores, como el STM32, que auguran un futuro apasionante donde los actuales procesadores AVR quedan retratados como dinosaurios del pasado,

En siguientes entradas entraremos en detalles de la placa STM32F103, su patillaje y esquemas, y aprenderemos a programar esta magnifica placa con el propio entorno de Arduino IDE.