Aprende, Arduino

M5stack ¿el reemplazo de Arduino?

Muchos desarrolladores electrónicos, diseñadores, ingenieros mecánicos, ingenieros de sistemas  nos preguntan ¿M5Stack es el reemplazo de Arduino?, les digo “definitivamente es algo que vas a querer probar” y para responder a esta pregunta conozcamos un poco sobre M5Stack:

1.  ¿Qué es M5Stack?

M5Stack es un kit de desarrollo modular basado en el procesador ESP32 uno de los mejores SoC (System on Chip) que existen en la actualidad.  Con M5Stack tienes disponible todo un ecosistema de desarrollo, donde puedes encontrar módulos de control, de sensores, de actuadores y accesorios. Una de las ventajas más importantes de estos módulos es que pueden funcionar como sistemas finales, y te preguntaras ¿esto que significa? si has desarrollado alguna vez proyectos de electrónica con Arduino te has enfrentado a estos problemas

  1. Conexionado: recordaras que normalmente requieres unos cables de conexión para adquirir o enviar señales, y si te confundes con los cables e intercambias alimentación con tierra, puedes llegar a “ohh no creo que se quemo”
  2. Cableado suelto: Una vez tienes todo listo y funcionando sucede que se soltó un cable y puedes llegar a “oh no, ¿esto donde va?”
  3. Carcasa: la electrónica esta lista y funcionando, pero sabes que no puede quedar expuesta, asi que decides ponerla en una caja, pero cuando buscas en el mercado, las cajas son o muy grandes o muy pequeñas y si quieres poner una pantalla tienes que hacer cortes que normalmente no quedan muy bien

Pensando en esto, M5Stack desarrollo módulos donde estos problemas están superados, con sistemas de única conexión, conectores seguros,  módulos con carcasa protectora con excelentes acabados y puntos de anclaje, para que puedas llevar tus ideas de la academia a aplicaciones reales.

Ahora veamos que partes componen el ecosistemas de M5stack

– M5Stack módulos de control

Todos los controladores de M5Stack tienen una misma característica y es que usan el mismo procesador. Este es uno de los mejores procesadores que tenemos para sistemas IoT de bajo costo en esta época:  la CPU dual core ESP32, estas son sus características:

  • Xtensa® single-/dual-core 32-bit LX6 microprocessor(s)
    CoreMark® score:
    – 1 core at 240 MHz: 504.85 CoreMark; 2.10 CoreMark/MHz
    – 2 cores at 240 MHz: 994.26 CoreMark; 4.14 CoreMark/MHz
  • ROM: 448 KB
  • DMIPS: 600
  • SRAM 520 KB
  • Wi-Fi
  • Bluetooth

Módulos de control M5Stack

– M5Stack módulos de expansión

Los módulos de expansión permiten agregarle funcionalidades a los módulos de control, entre estos módulos podemos encontrar sensores por ejemplo para medir temperatura, o para medir peso, o sensores de humedad del suelo.  Entre los actuadores podemos encontrar varios, que se pueden clasificar en 2 clases, los que se conectan de manera apilable y los que se conectan por cable vía conector de 4 pines.  Veamos las diferencias entre ellos:

  • Conexión de cable:
    Estos módulos son geniales por que como los de control estos también tienen:
    1. Carcasa
    2. Marcación de las señales
    3. Puntos de fijación.

Módulos con estas características no encuentras en las otras marcas, y ademas, para estandarizar la conexión solo cuentan con un conector de 4 pines tipo Grove,  que busca evitar malas conexiones y a la vez que sea una forma rápida y segura de conectar periféricos (cosa que no tiene Arduino).  Este conector tiene una separación de 2mm y sólo puede conectarse de una manera, con esto se evita que puedas hacer alguna inversión de voltaje o conectar entradas con salidas cosas que pueden originar daños, así con un conector “único” se pueden expandir las funcionalidades de los diferentes módulos de control, ademas podrías por supuesto usar estos módulos con otras marcas (ten en cuenta que ya se tienen librerías desarrolladas para usar con ESP32 usando el software de Arduino).

  • Módulos de conexión apilables: estos módulos son diseñados para trabajar con los módulos de control CORE, y como su nombre lo indican se apilan, es decir conectas los módulos debajo de la pantalla, así de manera compacta puedes darle diferentes funciones adicionales a tu modulo CORE

Algunos módulos de expansión 

 

2. Diferencias entre M5stack y Arduino

Ahora que conoces M5Stack hagamos una comparación con Arduino en hardware y software

– M5Stack Vs Arduino Hardware

La diferencia de hardware entre Arduino y M5Stack se basa básicamente en la CPU o el “cerebro” que cada uno integra, Arduino UNO usa un microcontrolador Atmega328 que tiene ya más de una década de lanzamiento una arquitectura de 8bits, que hace muy bien su trabajo, y las boards mas recientes de Arduino tiene como CPU microcontroladores con Arquitectura ARM de 32bits. Por otro lado, M5Stack usa como CPU el ESP32 que es un SoC (System on Chip), un sistema un poco mas avanzado a nivel computacional que un microcontrolador, que integra comunicación inalambrica WiFi y Bluetooth ademas tiene un procesador con un dual core de hasta 240Mhz de procesamiento. Para entenderlo mejor miremos la siguiente tabla

– M5Stack Vs Arduino Software

La mayor diferencia en software que podemos encontrar es que M5Stack orienta la programación al lenguaje gráfico y Micropython mientras que Arduino orienta su programación en C.

En la imagen, tenemos el mismo código de un blink, es decir de encender y apagar un led, en ambos casos es una programación sencilla, sin embargo ten en cuenta lo siguiente:

  • La comunidad de desarrollo de Arduino es la más grande del mundo, y te podrás estar preguntando ¿y esto qué tiene que ver con el software?, la respuesta aquí es muy sencilla: como Arduino es un software OPEN HARDWARE, la mayoría de librerías que se han desarrollado para manejar sensores, motores, actuadores, etc. han sido desarrolladas por esta comunidad, mientras que en el caso de M5Stack la comunidad aún es muy pequeña, eso quiere decir que la mayoría de librerías son desarrollada por M5Stack, así si quieres usar un sensor que tenga una librería muy especifica y que M5stack todavía no la haya desarrollado, no va a ser tan fácil para ti y tienes que tener un conocimiento mayor para poder desarrollarla.
  • El lenguaje gráfico de M5Stack es muy parecido al scratch que se usa con arduino, con la diferencia que al venir aquí los módulos integrados, también están integradas todas las funciones, por ejemplo si vas a usar la función de MQTT, las funciones publish y susbcribe ya están hechas y sencillamente arrastras las funciones al espacio de trabajo y configuras, es decir, trabajar con M5stack es mucho mas fácil en ese sentido que con Arduino, sin embargo esta gran funcionalidad no es expansible, es decir tendrías que crear tus propias librerías de elementos que no sean M5Stack o insertar código con la función avanzada de editar código.

Ejemplo de código con UIflow

3. Conclusión

M5stack no es el reemplazo de Arduino, y esto es porque en este momento resuelven necesidades diferentes, si vas a hacer un prototipo funcional M5stack es una mejor alternativa pues te permite trabajar más rápido y cometer menos errores esto aplica si eres o no ingeniero electrónico, un claro ejemplo es el desarrollo de menús en pantallas, con M5Stack es muy fácil hacerlo en unos pocos minutos, con Arduino no es tan fácil ademas aveces no encuentras la librería adecuada y esto te hace perder tiempo y cuando vemos que a nivel profesional tiempo y dinero van de la mano, arduino termina saliendo más caro y más difícil de presentar como producto final.

Si por otro lado lo piensas para aprender electrónica desde cero y hacer pruebas, cometer algunos errores, montar en protoboard, diseñar etapas de amplificación o de acoplamiento entre otros, arduino es una mejor alternativa ademas porque vas a encontrar mucha información, por supuesto te va a tomar mucho más tiempo que M5stack, pero en este caso te quieres centrar en la electrónica, con M5stack te centra más en la aplicación.

Algunos de nuestros clientes que son ingenieros de sistemas, diseñadores, ingenieros mecánicos u otros profesionales que no tienen conocimientos avanzados en electrónica, se han sentido muy bien trabajando con M5stack, ya que ha evitado que cometan errores de conexión, errores por acondicionamiento de voltajes entre otros y no han tenido que lidiar con carcasas para presentar tu producto.

Como ingeniero electrónico desarrolador con más de 15 años de experiencia siempre que veo un nuevo producto quiero probarlo, y les puedo asegurar que si prueban M5stack los sorprenderá!

Ejemplo de uso

te puede interesar

te puede interesar

Deja un comentario