Hoy vamos a ver el M5 stack Atom S3, un nuevo miembro de la popular familia de dispositivos M5 Stack que se suma a la serie Atom, caracterizados por ser los más pequeños de la gama de productos.
Para aquellos que nos seguimos en a través de redes sociales, ya sabréis que soy un gran fan de estos dispositivos. Personalmente, los considero una de las marcas de dispositivos #maker más interesantes del momento.
Así en el blog hemos tenido la oportunidad de probar y reseñar otros diversos modelos de la familia M5 Stack en esta entrada. También vimos el M5 Paper, el M5 Stack Timer Camera X, y el M5 Stack Unit V2.
Hoy vamos a hablar de un nuevo miembro de la familia M5Stack Atom, que estará disponible para su compra dentro de unos días. Hemos tenido la oportunidad de probarlo de forma anticipada gracias a la colaboración con M5 Stack.
Los modelos Atom son los más pequeños en dimensiones (que no en características) de la familia M5 Stack. Con su característica forma cuadrada de sólo 24x24mm, son apenas más grandes que un pulgar, y más pequeños que una moneda de euro.
Todos ellos están basados en el ESP32, que ya es un conocido del blog. Entre ellos se diferencia que el modelo Atom Lite cuenta con un LED RGB, mientras que el modelo Atom Matrix tiene una cuadrícula de 5x5 LED RGB. Por su parte, el modelo Atom Echo cuenta con un micrófono y altavoz…
A esta serie de dispositivos se suma el nuevo M5 Stack Atom S3, que se presenta como una mejora de la familia. El S3 incorpora una pantalla TFT de 128x128 px de 0.85” movida por un driver GC9107 (muy similar al ST7789).
Este modelo está impulsado por un ESP32-S3FN8, que da nombre al dispositivo. Concretamente, estamos ante el modelo ESP32-S3-WROOM-1-N8, que cuenta como características con un microprocesador LX7 de doble núcleo con velocidades de hasta 240 MHz.
El Atom S3 cuenta con 512 KB de SRAM, 384 KB de ROM y 8 MB de memoria flash. Algo que comparte con el resto de dispositivos de la serie M5 Stack Atom, y que es más que suficiente para la mayoría de proyectos.
En cuanto a conectividad inalámbrica, que es uno de los puntos fuertes del ESP32, nos encontramos la habitual conectividad WiFi IEEE 802.11 b/g/n; 2.4 GHz; HT20/40 hasta 150 Mbps. En cuanto a conectividad BlueTooth, también se encuentra disponible en formato BlueTooth Low Energy 5.0 (BLE 5.0).
El Atom S3 también cuenta con una IMU de 6 DOF MPU6886 integrada que, junto a la pantalla TFT, ofrecen una gran cantidad de posibilidades. Solo echamos de menos esa brújula magnética, que daría 3DOF de la restantes hasta los 9DOF, y que seria una incorporación muy interesante, por ejemplo, para realizar robots.
En cuanto a conexiones y electrónica, el M5 Stack Atom S3 dispone de 6 GPIO, 1 LED IR, un puerto Grove y botón de reset bajo la pantalla, así como dos ADC de 12 bits, UART, I2C, y SPI.
La conexion, tanto para alimentación como programación se realiza a través de USB-C. Algo común con el resto de la familia M5 Stack que, personalmente, me parece muy buena elección, y el resto de fabricantes podrían adoptar como estándar.
El unico punto mejorable que podemos encontrar es que la pantalla queda expuesta al exterior por uno de los laterales. Además de una fuente posible de entrada de suciedad, sobre todo es que la pantalla puede llegar a girar levemente. Imagino que, al ser un dispositivo tan pequeño, no tenían espacio para cerrarlo por completo.
En cuanto a la programación, al igual que el resto de la familia de M5Stack basados en el ESP32, el Atom S3 compatible con el entorno Arduino y similares. También puede programarse en MicroPython o similar, y en el entorno gráfico no-code propio de M5Stack, llamado UIFlow.
Aquí os dejo enlace al repo de Github del M5AtomS3 https://github.com/m5stack/M5AtomS3. Incluye un factory test en http://platform.io y la librería para el entorno de Arduino.
Si me ha funcionado usando la librería M5Unified. Os dejo código básico, que compila y sube correctamente a la placa. Deberéis elegir el modelo de placa ‘ESP32 S3 Dev Module’
#include <m5unified.h>
void setup(void)
{
M5.begin();
M5.Display.fillScreen(TFT_RED);
M5.Display.fillCircle(64, 64, 5, TFT_WHITE);
}
void loop()
{
M5.update();
}
En conclusión, M5 Stack Atom S3 es un dispositivo muy interesante que se suma a la ya amplia familia de M5 Stack. Su tamaño reducido, la TFT y el IMU, unido a la potencia de su procesador ESP32-S3 lo convierten en una opción muy atractiva para cualquier maker o proyecto de robótica o IoT.
Claramente se va a convertir en uno de mis dispositivos favoritos, sólo superado por su “hermano” mayor, el genial M5Stick-C Plus. Pero, en cualquier caso, es un dispositivo muy interesante (y divertido). El resto de la información en la página del proyecto https://docs.m5stack.com/en/core/AtomS3
Bonus pack
Para platformio podéis usar está configuración de tarjeta.
[env:ATOMS3]
platform = espressif32@5.2.0
framework = arduino
platform_packages = platformio/framework-arduinoespressif32@^3.20005.220925
board = esp32-s3-devkitc-1
lib_ldf_mode = deep
monitor_speed = 115200
upload_port = /dev/cu.usbmodem14301
upload_speed = 1500000
board_build.f_cpu = 240000000L
board_build.f_flash = 80000000L
board_build.flash_mode = dio
build_flags =
-DCORE_DEBUG_LEVEL=3
-Iinclude