STM32F103, el competidor ARM de Arduino de bajo coste


arduino-STM32F103

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.

Anuncio:

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 (¿alguién 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.

Si te ha gustado esta entrada y quieres leer más sobre Arduino puedes consultar la sección Tutoriales de Arduino

Anuncio:

Previous Arduinos baratos gracias al chip CH340G
Next Diferencias entre tipos de calderas domésticas
1000
5 Comment threads
2 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
6 Comment authors
newest oldest
JavierJV

Muy interesante, nos sabia de su existencia, estaria bueno que sigas con tutoriales sobre este integrado.

jesus

Muy bueno, desde luego si se programa igual de fácil que un arduino están en un aprieto, ¿por favor podrías ampliar información?, saludos y gracias de antemano.

Luis Miguel Casabona Sevillano

Hola, corrígeme si me equivoco, pero parece que toda la atención a los sustitutos de arduino mas potentes y de bajo coste se lo llevo el año pasado el ESP8266 y este año parece ser que sera el ESP32.
Estaría bien y si tienes tiempo comentaras algo sobre ellos. Pero no descartes mas info sobre este STM32F103
Un saludo.

Jesús

Hola Luis.

Hace poco he visto un vídeo en el que prueban el hola mundo con esta placa. Como bien dices, no hay mucha información por ahí (o no la he sabido buscar). ¿Hay algún tutorial o página en la que, por lo menos, muestren las distintas instrucciones que vienen asociadas a este micro, ejemplos, etc.?

Gracias y saludos.

Pablo

Tengo una duda de principiante. En las especificaciones pone que la frecuencia es de 72 MHz, esto entiendo que es la frecuencia de reloj . Sin embargo pone que los cristales son de 4-16Mhz.

Yo creía que la frecuencia de reloj venía ajustada por el cristal, pero veo que no es así, ¿qué función hace el cristal?¿solo controla los timers?