Ingresa al mundo de IoT de la mano de M5Stack

La empresa M5Stack ofrece una serie de módulos y accesorios interconectables para que construyas proyectos de IoT de una forma rápida y sencilla programados en tu lenguaje favorito. En este artículo te muestro algunas de las posibilidades que M5Stack pone a tu disposición para que dejes volar tu imaginación.

Introducción

M5Stack es una empresa china que produce y comercializa una amplia gama de módulos controladores, la mayoría basados en el ESP32 que se pueden conectar a un amplio catálogo de accesorios y periféricos que permiten crear aplicaciones electrónicas no sólo de IoT sino también de robótica, inteligencia artificial y muchas otras.

Sensores de temperatura y humedad, gas o monóxido de carbono, cámaras térmicas o equipadas con IA, módulos de comunicaciones para distintos estandares y protocolos, controladores de motores y pantallas de tinta electrónica son solo algunas de las opciones que tiene M5Stack y que puedes incorporar a tus proyectos.

Fig. 1. Logo de M5Stack

La idea fundamental detrás de m5stack es la simplicidad. Todos sus productos son fáciles de usar. Todo lo que tienes que hacer es enchufarlos, encenderlos y comenzar a programar. Lo que destaca a M5Stack de otras empresas que ofrecen productos similares es la calidad, la amplia variedad de módulos, la simplicidad de uso y las variadas posibilidades de programación.

Si recién comienzas a dar tus primeros pasos en la electrónica de microcontroladores o eres un estudiante o un hobbysta que quiere enfocarse mas en la programación que en el hardware o si quieres probar una idea o concepto de manera rápida, M5Stack te ofrece una solución ideal ya que te permite montar soluciones interconectando módulos sin tener que dedicar tiempo al cableado, la soldadura e incluso las complicaciones relacionadas con el montaje en cajas o gabientes.

Open Source

Todos los productos de M5Stack son open source, tanto los de hardware como el software. Esto significa que podemos encontrar los esquemas, los diseños de las PCB (plaquetas) así como el código fuente del software. Esto permite que exista una comunidad activa de desarrolladores que contribuye al mantenimiento y mejoramiento de todo el ecosistema M5Stack.

Controladores

Los controladores son las CPU o “cerebros” que permiten manejar al resto de los accesorios. Hay varias “familias” de controladores, algunas con funciones mínimas y otras con muchos accesorios incorporados. Las mas populares son:

  • Stamp
  • Atom
  • Stick
  • Stack

M5Stamp

Son los modelos mas pequeños, del tamaño de una estampilla (de allí su nombre). Son especialmente útiles para aplicaciones “wearables” o sistemas embebidos, donde puedes incluir el módulo en el resto de tu circuito.

Tienen varias formas de montaje: pueden ser soldados como si fueran un componente de montaje superficial, enchufados con pines o enchufados a otro módulo con un conector tipo Grove.

Están basados en módulos ESP32, ESP32-S3 o ESP32-C3 así que tienen conectividad Wifi y Bluetooth y una buena cantidad de memoria Flash y RAM.

Fig. 2. M5Stamp Pico (Fuente: M5Stack.com)
Fig. 3. La cardputer, basada en un M5Stamp S3 (Fuente: M5Stack.com)

Atom

Sólo un poco mas grande que los Stamp, tienen la forma de un cuadrado de 24mm x 24mm con 9 pines hembra en su parte inferior. Ofrecen una solución mas completa y “lista para usar”.

Fig. 4. Atom S3 (Fuente: M5Stack.com)

Están disponibles en varios modelos, como el Atom S3 con LCD, el Atom Lite sin LCD y el Atom Matrix con una matriz de 5×5 leds RGB.

M5Stick

Los componentes de la familia M5Stick son dispositivos todo-en-uno que incluyen gran cantidad de funciones que te permiten crear una multiplicidad de proyectos apenas los sacas de su caja, sin necesidad de conectarle otros módulos accesorios.

El mas conocido es el M5StickC (la última versión es la Plus 2) pero también completan esta familia el M5Stick V, con una cámara y un procesador Kendryte K210 capaz de procesar algoritmos de reconocimiento de imagenes y el M5Stick T2, que incluye una cámara térmica.

La última versión del M5StickC contiene un LCD de 1.14 pulgadas, 3 botones, un conector Grove, una batería de 200 mAh, Reloj de tiempo real, acelerómetro, giróscopo, buzzer, un led común y otro Infrarrojo y un micrófono.

Fig. 5. M5StickC Plus2 (Fuente: M5stack.com)

M5Stack

Los módulos de esta familia reciben su nombre de su capacidad de apilarlos uno sobre otro.

Las CPU son denominadas “Core” y tienen la forma de un cuadrado de 5cm x 5cm. Sus accesorios tienen la misma forma y se encastran o apilan gracias a los pines de conexión ubicados en su base.

Hay varios modelos de Cores distintos, entre ellos el CM4 basado en una potente placa Raspberry Pi Compute Module 4 con 4 GB de RAM, el Core S3 con una pantalla sensible al tacto de 2 pulgadas y el Basic Core basado en el ESP32.

Fig. 6. De izquierda a derecha: CM4, Core S3 y Basic Core (Fuente: M5Stack.com)

Accesorios o periféricos

M5Stack nos ofrece una amplia variedad de accesorios que se pueden conectar de distintas formas a los diferentes tipos de módulos que ya vimos.

Algunos de ellos cuentan con un conector tipo Grove y se pueden utilizar con cualquiera de los módulos que tienen ese conector.

Fig. 7. Módulo “ENV IV” para medir temperatura, humedad y presión.

Para lo M5Stick hay “Hats” que se conectan en la parte superior en un conector especial.

Fig. 8. Hat con conversor AD para el M5Stick

También hay bases específicas para insertar los distintos modelos de módulo Atom

Fig. 9. Base GPS para el Atom

Y finalmente también existen módulos que se encastran con los core.

Fig. 10. Módulo de 4 reles para M5 Core

Programación

Otro punto fuerto de M5Stack son las posibilidades de programarlos empleando distintos lenguajes, tales como:

  • UIFlow, un potente lenguaje de bloques sencillo de aprender.
  • Arduino
  • ESP-IDF, el entorno de programación de Espressif para ESP32
  • Micropython
  • CircuitPython
  • .NET Nano framework, una adaptación de C# para microcontroladores
Fig. 11. Programa en UIFlow para M5StickC Plus2

Cualquiera sea el lenguaje que utilices para programar, podrás encontrar módulos y librerías que te harán mas fácil aprovechar las características de cada uno de los controladores y perifericos de M5Stack.

Conclusiones

M5Stack nos ofrece una amplia gama de módulos controladores de distintas características y capacidades así como una amplia gama de accesorios y módulos de expansión que pueden interconectarse de una manera sumamente simple.

La programación puede realizarse en distintas formas, desde un lenguaje gráfico muy fácil de aprender, lenguajes populares como Arduino o Micropython hasta herramientas de desarrollo mas profesionales como ESP-IDF.

Es una excelente opción para estudiantes, educadores, hobbystas o makers e incluso usuarios mas avanzados que quieran realizar pruebas conceptuales o prototipos para ser desarrollados luego sobre otras plataformas.

En próximos artículos te contaré mas detalles sobre los productos de M5Stack y te compartiré distintos proyectos realizados con ellos.

Mas info

Sitio de M5Stack

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Habilitar notificaciones OK No, gracias