Así pues, la situación a día de hoy es la reflejada en la siguiente tabla:
Detalles | STM8S103F | STM32F103 | ATmega328 | ATmega32u4 | ESP8266 | ESP32 | OrangePi |
---|---|---|---|---|---|---|---|
Precio | 0.66€ | 1.75€ | 1.60€/2€ | 3€ | 1.60€/3€ | 6€ | 12€ |
Bits | 8 bit | 32 bit | 8 bit | 8 bit | 32 bit | 32 bit | 32 bit |
Frecuencia | 16 MHz | 72 MHz | 16 MHz | 16 MHz | 80/160 MHz | 2x 160/340 MHz | 2x 1.2 GHz |
Memoria RAM | 1 Kb | 20 Kb | 2 Kb | 2.5 Kb | 160 Kb | 512 Kb | 512 Mb |
Memoria FLASH | 8 Kb | 64 Kb | 32 Kb | 32 Kb | 4 Mb | 4 Mb? | externa |
me aparecieron unos módulos basados en el microcontrolador STM8S103 de ST por menos de 0.7€. Después de indagar un poco al respecto, compré tres unidades y el programador, por menos de 5€ en total.
Ya los tengo en mis manos. Los módulos no son maravillosos a nivel de calidad de soldadura (algo habitual en los china-clones) pero considerando el coste, tampoco se puede pedir mucho más.
STM8 vs ATmega328P / "Arduino uno"
Esta sea quizá la primera pregunta que nos venga a la cabeza, cómo se compara el STM8 con la placa de Arduino típica basada en el ATmega328.
STM8S103F3P6 vs ATmega328P
Lo primero es comparar los dos micros típicos de cada sistema. En ambos casos estamos hablando de micros de 8bits y típicamente 16MHz, aunque en el caso del STM8, lo hace funcionando a 3.3V, mientras que el ATmega típicamente usa 5V.Detalles | ATmega328 | STM8S103F |
---|---|---|
Frecuencia | 16MHz ext | 16MHz int |
Tension | 5.0V | 3.3V |
Puertos | SPI/I2C/UART | SPI/I2C/UART |
ADC | 7xMUX 12bit | 5xMUX 10bit |
Timers | 2x8bit 1x16bit | 1x8bit 2x16bit |
Encapsulado | 32 TQFP | 10 TSSOP |
RAM | 2Kbyte | 1Kbyte |
ROM | 32Kbyte | 8Kbyte |
El STM8 tiene algunas características especialmente interesantes: puertos 'true open drain' que permiten conectar a 5.5V aún con el micro a 3.3V, posibilidad de drenar hasta 20mA en algunos puertos (por defecto serían 4mA), entradas flotantes, salidas rápidas hasta 10MHz...
Programando el STM8S103F3P6 vs ATmega328P
Para todos los que estén acostumbrados a programar en Arduino, programar los STM8 supone un cambio muy importante: no existe la misma comunidad detrás ni es tan abierto, por lo que encontraremos pocas librerías, escasos ejemplos y casi ningún foro dedicado.
Del mismo modo, las herramientas son completamente diferentes, por lo que no podemos utlizar el mismo programa, ni el mismo programador, lo que es otra pega.
Vale la pena el STM8?
Considerando los puntos anteriores, para el usuario medio que únicamente quiere hacer algunos proyectos y no quiere complicarse la vida, probablemente sea mejor utilizar un módulo con ATmega328 como este o este.Sin embargo, para usuarios avanzados o que quieran hacer tiradas más largas, la diferencia de precio entre los micros puede inclinar la balanza hacia el STM8.
Sin embargo, hay otros motivos por los que personalmente me gusta el STM8:
- Es más compacto: no siempre necesitamos tantos pines ni tantos puertos.
- Es tan barato que podemos utilizarlo para tareas 'tontas' como reemplazar un NE555.
- Es ideal para aprender programación 'correcta': la simplicidad de Arduino proporciona un nivel de abstracción que nos hace olvidarnos de lo que hay debajo, para bien y para mal.
- Es un micro que nos podemos encontrar en diferentes módulos como voltímetros de panel. Si sabemos cómo programar un STM8, podremos utilizar los voltímetros como placas de desarrollo.
Material de la entrada:
Módulos STM8S103F por 0.65€
Programador/Debugger para STM8 y STM32 por menos de 2€, con carcasa de aluminio y cables de conexión.
Módulo ATmega328 por 1.3€
Módulo ATmega328 con convertidor uart/USB por 1.8€
Módulo STM32F103 por 1.50€
Un gusto volver a leerte, espero nuevas entradas, que nos tienes abandonados.
ResponderEliminarUn saludo campeón!!
Gracias! A ver si puedo contribuir un poco, que últimamente ando liadísimo!
EliminarUn saludo!!!