Introducción
Primera Reunión M5Stack Core2
El M5Stack Core2 soporta múltiples plataformas de programación como Arduino, MicroPython, y M5Stack UIFlow, lo que lo hace versátil para varios proyectos de IoT, incluyendo dispositivos para el hogar inteligente, herramientas educativas y prototipado rápido. Su diseño modular permite una fácil expansión con otros módulos M5Stack, mejorando su funcionalidad para diversas aplicaciones.
Características y Capacidades Clave
Procesador
Doble núcleo ESP32-D0WDQ6-V3, funcionando hasta 240MHz.
Memoria
-
Memoria Flash de 16 MB
-
8 MB de PSRAM
Conectividad inalámbrica
-
Wi-Fi 802.11 b/g/n
-
Bluetooth 4.2 BLE
Interfaz de usuario
-
6 botones táctiles programables
-
Motor de vibración para retroalimentación háptica
Sensores
-
IMU de 6 ejes (MPU6886) para datos de aceleración y giroscopio
Audio
-
Altavoz integrado
-
Interfaz de audio digital I2S
Administración de energía
-
AXP192 PMU para la gestión de baterías
-
Admite carga USB Tipo-C
-
Batería LiPo integrada
RTC
-
Reloj en tiempo real para una medición precisa del tiempo
Contenido principal de este artículo
El objetivo principal de este artículo es proporcionar una visión general completa del M5Stack Core2, un innovador kit de desarrollo IoT basado en el microcontrolador ESP32. Nuestro objetivo es:
-
Educar a los lectores sobre las especificaciones del hardware, incluyendo su potencia de procesamiento, memoria, opciones de conectividad y sensores integrados.
-
Resalta características únicas como la interfaz de pantalla táctil, la retroalimentación háptica y el diseño modular que permite la expansión del proyecto.
-
Guía a los usuarios a través de los diversos entornos de programación (Arduino, MicroPython, UIFlow) compatibles con M5Stack Core2, ofreciendo información sobre cuál podría ser el mejor para diferentes tipos de proyectos.
-
Demuestra aplicaciones potenciales mostrando ejemplos del mundo real donde se puede utilizar el M5Stack Core2, desde herramientas educativas hasta dispositivos para el hogar inteligente.
-
Ayuda en la toma de decisiones para aficionados, educadores y profesionales que consideren este dispositivo para sus proyectos de IoT, discutiendo sus fortalezas, limitaciones y cómo se compara con otras plataformas similares.
Al final de este artículo, los lectores tendrán una comprensión completa de lo que ofrece el M5Stack Core2, cómo aprovechar sus capacidades y si se adapta a sus necesidades específicas en el ámbito del desarrollo de IoT.
¿Qué es M5Stack Core2?
Explicación detallada de M5Stack Core2
El M5Stack Core2 es un kit de desarrollo IoT avanzado basado en ESP32, diseñado tanto para principiantes como para desarrolladores experimentados. Cuenta con un procesador dual-core ESP32-D0WDQ6-V3 que funciona a hasta 240MHz, con capacidades integradas de WiFi y Bluetooth. Este kit incluye 16MB de memoria Flash y 8MB de PSRAM para un rendimiento mejorado.
Los aspectos más destacados del Core2 incluyen una pantalla táctil capacitiva de 2 pulgadas que permite una interacción intuitiva con el usuario, botones táctiles programables y un motor de vibración incorporado para retroalimentación háptica. También cuenta con un módulo RTC (Reloj en Tiempo Real) integrado para una medición precisa del tiempo, y la gestión de energía está a cargo del chip AXP192, que controla el consumo de batería de manera eficiente. Las características adicionales incluyen un altavoz, una interfaz de audio digital I2S para una salida de sonido clara y un sensor IMU de 6 ejes en la parte trasera para la detección de movimiento.
Grupos aplicables
Aficionados y entusiastas del bricolaje
Personas apasionadas por la electrónica, la robótica y proyectos de IoT que buscan una solución todo en uno para experimentar.
Educadores y Estudiantes
Profesores que buscan herramientas atractivas para enseñar programación, electrónica y conceptos de IoT, así como estudiantes que aprenden estas materias.
Desarrolladores de IoT
Profesionales o entusiastas que desarrollan soluciones IoT y necesitan una plataforma compacta y potente con amplias opciones de conectividad.
Creadores y Hackerspaces
Comunidades o individuos involucrados en ferias de creadores, hackatones o espacios colaborativos donde el prototipado rápido es esencial.
Diseñadores de productos
Aquellos que prototipan nuevos dispositivos inteligentes o integran IoT en productos existentes, que necesitan una plataforma versátil para el desarrollo y las pruebas.
Artistas e Instalaciones Interactivas
Creativos que utilizan la tecnología para mejorar instalaciones artísticas o exhibiciones interactivas con sensores, pantallas y conectividad.
Diferencia entre M5Stack Core2 y M5Stack Core2 V1.1
Característica | M5Stack Core2 | M5Stack Core2 V1.1 |
Administración de energía | Chip AXP192 | AXP2101 + INA3221 (Mejorado CI de potencia) |
Color del indicador de encendido | Verde | Azul |
RTC (Reloj en Tiempo Real) | Incorporado, pero sin batería dedicada para RTC |
Incluye una batería dedicada para RTC para mantener la hora cuando apagado |
Chip USB | CH9102F | Igual, pero la instalación del controlador podría difieren debido a la versión del hardware |
Diseño general | Diseño clásico Core2 | Versión iterativa con la misma factor de forma pero con componentes internos actualizados |
Compatibilidad | Compatible con M5GO Bottom para funciones adicionales | Compatibilidad con módulos podría requiere eliminar o usar un específico Bottom2 para funcionalidad completa |
Entorno de Programación | Compatible con Arduino, MicroPython, UIFlow | Mismo soporte, sin cambios en entorno de programación |
Pantalla táctil | Pantalla táctil capacitiva de 2 pulgadas | Igual, sin cambio en la pantalla presupuesto |
Motor de vibración | Incluido para retroalimentación háptica | Incluido, sin cambios |
Memoria y procesador | ESP32-D0WDQ6-V3, 16MB Flash, 8 MB de PSRAM |
Mismas especificaciones |
Hardware M5Stack Core2
Tamaño y resolución de pantalla de M5Stack Core2
-
Tamaño de pantalla: 2 pulgadas
-
Resolución: 320 x 240 píxeles
Procesador, Memoria y Almacenamiento de M5Stack Core2
-
Procesador: ESP32-D0WDQ6-V3 de doble núcleo, funcionando a hasta 240MHz.
-
Memoria:RAM: 8MB PSRAM (RAM pseudoestática)
-
Almacenamiento:Memoria Flash: 16 MB
Opciones de conectividad
-
WiFi: 802.11 b/g/n, que permite la conexión inalámbrica para proyectos de IoT.
-
Bluetooth: Versión 4.2 BLE (Bluetooth de baja energía), para comunicación inalámbrica de bajo consumo y corto alcance.
Sensores y Periféricos
Sensores
-
IMU de 6 ejes (Unidad de Medición Inercial):Combina un acelerómetro de 3 ejes y un giroscopio de 3 ejes para la detección de movimiento. Utiliza el sensor MPU6886, que proporciona datos de orientación, aceleración y rotación.
Estos sensores son los principales integrados en el M5Stack Core2. Sin embargo, el diseño del dispositivo permite la expansión mediante varios módulos M5Stack y puertos GROVE, que pueden añadir sensores adicionales como:
Sensores de temperatura
Sensores de humedad
sensores de luz
Sensores de proximidad
Sensores de presión
Sensores de campo magnético (brújula)
etc.
Periféricos
-
Botones táctiles programables:La pantalla incluye tres botones táctiles capacitivos, que pueden programarse para diversas funciones o entradas de usuario.
-
Micrófono:Un micrófono a bordo permite la detección de sonido o capacidades de comando por voz.
-
Vocero:Integrado para salida de audio, útil para alarmas, notificaciones o reproducción de música.
-
Motor de vibración:Proporciona retroalimentación háptica, mejorando la interacción del usuario en aplicaciones como juegos o notificaciones.
-
RTC (Reloj en Tiempo Real):Un módulo RTC incorporado para mantener el seguimiento del tiempo, incluso cuando el dispositivo está apagado, asegurando una medición precisa del tiempo para la programación u operaciones basadas en el tiempo.
-
Circuito Integrado de Gestión de Energía (PMIC):El chip AXP192 gestiona la distribución de energía, la carga de la batería y la regulación de voltaje, lo cual es crucial para mantener la eficiencia y prolongar la vida útil de la batería.
-
Puerto USB tipo C:Para alimentación, programación y comunicación de datos. Soporta USB OTG para conectar dispositivos externos como teclados o ratones en algunas configuraciones.
-
Ranura para tarjeta MicroSD:Permite almacenamiento adicional, ideal para registrar datos, actualizar el firmware o almacenar medios.
Fuente de alimentación y duración de la batería
Fuente de alimentación
-
Voltaje de entrada: 5V a través del puerto USB-C para cargar y alimentar el dispositivo.
-
Gestión de energía: La fuente de alimentación es gestionada por el chip AXP192 en el Core2 original, y por el AXP2101 + INA3221 en el Core2 V1.1, lo que permite un control eficiente del consumo de energía.
-
Carga de batería: Soporta carga a través del puerto USB-C, con la posibilidad de opciones de alimentación externa mediante pines específicos si está configurado correctamente.
Batería
-
Batería incluida: Una batería LiPo de 390mAh está integrada en el Core2, proporcionando energía cuando está desconectado de fuentes externas.
-
Extensión de batería: Para una mayor duración de la batería, los usuarios pueden añadir módulos de batería externos como el M5GO Bottom2 (que incluye una batería adicional de 500mAh) o apilar múltiples módulos de batería ya que son paralelizables.
Duración de la batería
-
Duración de uso: La vida de la batería varía significativamente según el uso.Modos de inactividad o bajo consumo: Con la pantalla apagada y en modos de bajo consumo, puede durar horas o incluso días, dependiendo de la frecuencia con la que se active o la profundidad del modo de suspensión utilizado.Uso activo: Con la pantalla encendida y programas en ejecución activa, especialmente aquellos que utilizan WiFi o Bluetooth, la duración de la batería puede variar desde unas pocas horas hasta alrededor de 5-6 horas, dependiendo de factores como el brillo de la pantalla, el uso de sensores y la carga de procesamiento.
-
Modos de sueño: el modo de sueño profundo del ESP32 puede extender drásticamente la vida de la batería, potencialmente durante semanas o meses si el dispositivo solo necesita despertarse ocasionalmente, como para el registro de datos o verificaciones periódicas de WiFi.
-
Mejoras: Los usuarios a menudo informan que pueden extender la vida de la batería mediante optimizaciones de software, como atenuar la pantalla, reducir las tasas de sondeo de sensores o utilizar estrategias eficientes de gestión de energía como el modo de suspensión profunda durante períodos de inactividad.
Notas adicionales
-
Indicador de energía: Hay un LED incorporado (verde en el original, azul en la versión 1.1) que indica el estado de la energía y puede programarse para notificaciones personalizadas.
-
Batería RTC: En el modelo V1.1, hay una batería pequeña adicional para el RTC, que garantiza el mantenimiento del tiempo incluso cuando la batería principal está agotada o retirada.
Software y Desarrollo
Lenguajes de programación compatibles
-
C/C++ (usado con Arduino IDE)
-
Python (variante MicroPython para ESP32)
-
JavaScript (para ciertas aplicaciones basadas en la web, no programación directa de dispositivos pero puede interactuar a través de interfaces web o node-red).
Plataformas de programación compatibles
-
Arduino: Esta es una de las plataformas más populares para el ESP32. El IDE de Arduino con soporte para ESP32 te permite escribir y cargar código en M5Stack Core2 usando C/C++.
-
MicroPython: Una implementación de Python 3 para microcontroladores, MicroPython es ideal para quienes prefieren la sintaxis de Python. Proporciona un REPL interactivo (Read-Eval-Print Loop) para pruebas inmediatas de código, lo que lo hace especialmente adecuado para la educación.
-
UIFlow: Este es el propio lenguaje de programación visual de M5Stack o entorno de programación basado en bloques similar a Scratch o Blockly. Está diseñado para ser muy fácil de usar, permitiéndote programar el Core2 conectando bloques que representan funciones de código. UIFlow puede generar código MicroPython o Arduino en segundo plano, que luego puede ser editado o usado directamente.
Cada uno de estos entornos ofrece diferentes ventajas:
-
Arduino ofrece una experiencia de programación de microcontroladores más tradicional con acceso a un vasto ecosistema de bibliotecas.
-
MicroPython facilita a los principiantes o entusiastas de Python comenzar con la programación de hardware, ofreciendo una experiencia de codificación más legible e interactiva.
-
UIFlow es excelente para la creación rápida de prototipos, la educación o para aquellos que pueden no tener una amplia experiencia en codificación pero quieren crear dispositivos IoT funcionales.
Estas plataformas no son mutuamente excluyentes; puedes comenzar con una y luego cambiar o usar otra para diferentes aspectos de tu proyecto, aprovechando sus características únicas para adaptarse a tus necesidades de desarrollo.
Configuración del entorno de desarrollo
Instalando Arduino IDE
Visita Arduino.cc y haz clic en software, o puedes hacer clic AQUÍ.
Descarga Arduino IDE, instálalo.
Instalación de Gestión de Placas
La URL del Administrador de Placas se utiliza para indexar la información de la placa de desarrollo para una plataforma en particular. En el menú del IDE de Arduino, seleccione Archivo -> Preferencias

Copie la URL de gestión de placas M5Stack a continuación en el campo URLs adicionales del Gestor de Placas:, y guarde.

En la barra lateral, seleccione Board Manager, busque M5Stack, y haga clic en Instalar

Seleccionando la Placa de Desarrollo
Dependiendo del producto utilizado, seleccione la placa de desarrollo correspondiente en Herramientas -> Placa -> M5Stack -> {Product Name}.

Guía de inicio rápido para M5Stack UIFlow 2.0 Web IDE
Qué es M5Stack UIFlow
UIFlow2 es un IDE de programación gráfica fácil de usar que ofrece una funcionalidad fluida de envío de programas inalámbricos y por cable, clic para ejecutar programas, eliminando la necesidad de compilaciones repetidas. Se integra perfectamente con más de 100 periféricos y sensores de hardware M5, permitiendo una adición y expansión sin esfuerzo con un solo clic. Esta característica potencia la construcción de prototipos de productos y acelera el proceso de desarrollo, conduciendo en última instancia a una mayor productividad y eficiencia. En este tutorial, demostraremos cómo grabar el firmware de la versión UIFlow 2.x en su dispositivo M5Stack y usar el IDE web UIFlow para el desarrollo secundario del producto.
Antes de programar con UIFlow, hay algunos pasos preparatorios que tomar:
-
Instale la herramienta de grabación de firmware M5Burner.
-
Utilice M5Burner para grabar el firmware del dispositivo correspondiente, inicie sesión en su cuenta y configure la conexión Wi-Fi para el dispositivo.
-
Abra la versión 2.0 del IDE web UIFlow, seleccione la opción de dispositivo en línea adecuada y haga clic para conectar.
-
Arrastra y suelta bloques para editar el programa, y haz clic en el botón Ejecutar para depurar el programa.
Información adicional:
M5Burner es una herramienta unificada para grabar firmware introducida por M5Stack. Permite a los usuarios grabar fácilmente el firmware UIFlow y escribir información de configuración como los ajustes de Wi-Fi durante el proceso de grabación.
Instalar M5Burner
Cuenta de la Comunidad M5Stack
Para acceder al software M5Burner y UIFlow 2.0/1.0, necesitará registrar una cuenta de la Comunidad M5Stack. Tenga en cuenta que esta cuenta también puede usarse para iniciar sesión en la página de inicio de sesión de M5Burner y UIFlow 2.0/1.0. Para registrar una cuenta de la Comunidad M5Stack, haga clic en el botón 'Registrar' en el software M5Burner, el software UIFlow 2.0/1.0 o la versión web.
Grabación de firmware y ejecución de programas
Instalación del controlador USB
Selección de puerto
Para conectar el dispositivo al ordenador, por favor use un cable USB. Luego, haga clic en el botón Burn para el firmware correspondiente en M5Burner. Después, deberá ingresar la información de Wi-Fi y seleccionar el puerto del dispositivo correcto.

Grabación de firmware
Conecte el dispositivo al ordenador mediante un cable USB, seleccione el botón Grabar para el firmware correspondiente en M5Burner, y complete la configuración de Wi-Fi a la que el dispositivo está preconectado, incluyendo el SSID de Wi-Fi y la contraseña de Wi-Fi, así como otras configuraciones del dispositivo que necesiten ser añadidas o modificadas.


Abrir UIFlow
Hacer clic https://uiflow2.m5stack.com, abre el M5Stack UIFlow 2.0
Haz clic en la barra de dispositivos en la esquina inferior derecha, puedes encontrar tu nuevo dispositivo así:


Ahora puedes usar M5Stack UIFlow normalmente.
Bibliotecas y SDK
Bibliotecas
Kit de desarrollo de software (SDK)
Cómo conectar M5Stack a Arduino IDE
Conecta tu M5Stack Core2 y tu computadora.
Abre Arduino IDE, haz clic en herramientas-Board-M5Stack-M5Core2

Elige el puerto correcto, cambia tu velocidad de subida a 1500000

Ejemplos básicos de programación
Haz clic en Archivo-Ejemplos-M5Core2, puedes encontrar los ejemplos básicos de programación.
Cuando termines de verificar, puedes cargar el código en tu M5Stack Core2.

Desempaquetado y configuración
¿Qué hay en la caja?
-
1x Core2 V1.1
-
1x USB tipo C (20 cm)
-
1x LLAVE HEXAGONAL

La parte trasera del M5Stack Core2 cuenta con los siguientes componentes clave:
-
Basado en ESP32 con Wi-Fi incorporado
-
16M Flash y 8M PSRAM
-
-
Altavoz incorporado, indicador de encendido, motor de vibración, RTC, amplificador I2S, botón de encendido.
-
Ranura para tarjeta TF (hasta 16GB)
-
Batería de litio incorporada con chip de gestión de energía
-
Placa pequeña independiente con un IMU de 6 ejes y micrófono PDM
-
Conector y pines M-Bus
Una vez que abra la tapa trasera etiquetada con ‘Core2’ en el lado izquierdo, encontrará el chip MIC (SPM1423), el chip IMU (MPU6886, que incluye un giroscopio de 3 ejes y un acelerómetro de 3 ejes), y los pines para conexiones.
Firmware de fábrica M5Stack Core2
La página Firmware de Fábrica del M5Stack Core2 ofrece una visión completa de las capacidades del dispositivo. Muestra información clave como el chip MPU6886, el reloj en tiempo real, el nivel de batería y varias opciones de configuración. La página también incluye funciones como el encendido/apagado, el estado de la conexión Wi-Fi y una función de temporizador. Además, permite la visualización de imágenes y música almacenadas en la tarjeta SD y proporciona una representación visual del nivel de volumen actual. Esta página sirve como una interfaz intuitiva para gestionar las funciones esenciales del dispositivo y monitorear su rendimiento.
Pruebas de Función del Sistema
El sistema soporta pruebas de conexión I/O, pruebas de motor inteligente, pruebas de zumbador y pruebas de funcionalidad de pantalla TFT. Estas pruebas ayudan a asegurar que todos los componentes funcionen correctamente, permitiendo a los usuarios verificar las características y funcionalidades clave del dispositivo.
Compatible con Wi-Fi
En la página de Wi-Fi, el M5Stack Core2 muestra las redes Wi-Fi disponibles cercanas, ordenadas por fuerza de señal. Los usuarios pueden ver y seleccionar fácilmente la mejor red para la conexión, asegurando una calidad de señal óptima y estabilidad. Esta función permite que el dispositivo se conecte rápidamente a una red, proporcionando un soporte confiable para aplicaciones IoT y operaciones remotas.
Ejemplos de M5Stack Core2
Proyectos de UIFlow
Hoy uso el M5Stack 8ENCODER y el M5Stack Core2 para mostrarte cómo usar M5Stack UIFlow
Conectar
Primero, conecta M5Stack Core2 y la computadora con un cable Type-C, y conecta M5Stack Core2 y 8ENCODER con un cable Grove
Debido a que la unidad 8ENCODER tiene 8 canales, obtuvimos 9 etiquetas en la pantalla del M5Stack Core2 así:
Agregar unidad
A continuación, añade una unidad, busca 8Encoder y elige el Bus a I2C
Configuración
Inicializar I2C SCL a 33, SDA a 32, frecuencia a 100K
Inicializar la dirección I2C del codificador8_0 a 0x41
Bucle
Configuración del valor del canal 8Encoder de M5Stack
Configuración de color LED RGB de 8 canales del codificador M5Stack

Hagamos un prototipo de una cerradura de combinación con timbre

Si el valor del canal 1 = valor del canal 2, el valor del canal 3 = valor del canal 4
Haz que el texto de label8 sea ‘Derecha’, y el zumbador nos recuerde en voz alta
De lo contrario, texto de label8 'Incorrecto', zumbador en silencio
Vamos a subir el código y descubrir qué pasará


Y podemos manejar lógica más compleja. Diviértete con tu M5Stack Core2.
Proyectos DIY Geniales para M5Stack Core2
M5Stack Core2 y Home Assistant
Integración con Home Assistant
Debido a que M5Stack Core2 utiliza un chip ESP32, podemos usar ESPHome para conectar M5Stack y Home Assistant.


Configurando M5Stack Core2 como un controlador de automatización del hogar
Instalar ESPHome en Home Assistant
-
Si aún no está instalado, navega a Configuración de Home Assistant > Complementos > Tienda de complementos.
-
Busca ‘ESPHome’ e instálalo. Una vez instalado, inicia el complemento.
Crear un nuevo dispositivo en ESPHome
-
Después de que el complemento ESPHome esté en funcionamiento, ve a la página de ESPHome en tu instancia de Home Assistant.
-
Haz clic en Nuevo dispositivo en la parte inferior derecha, luego continúa.
-
Nombra tu dispositivo, por ejemplo, ‘m5stack-core2’, y selecciona ESP32 como la plataforma, luego elige M5Stack Core o M5Stack Core2 si están listados (el nombre exacto puede variar según la versión de ESPHome).
Configurar ESPHome para M5Stack Core2
-
Aquí tienes un ejemplo de configuración YAML que podrías usar para el M5Stack Core2:
esphome: nombre: m5stack-core2 plataforma: ESP32 placa: m5stack-core-esp32 wifi: ssid: "Your_WiFi_SSID" contraseña: "Your_WiFi_Password" # Habilitar punto de acceso de respaldo (portal cautivo) en caso de que falle la conexión wifi ap: ssid: "Punto de acceso de reserva M5Stack-Core2" contraseña: "Your_AP_Password" registrador: API: orden: sensor: - plataforma: axp192 dirección: 0x34 i2c_id: bus_a intervalo_de_actualización: 30s nivel_de_batería: nombre: "Nivel de batería M5Stack Core2" # Ejemplo de uso de la pantalla (si es compatible con tu versión de ESPHome) mostrar: - plataforma: ili9341 modelo: M5STACK_CORE2 cs_pin: GPIO5 pin de CC: GPIO15 pin de reinicio: GPIO33 backlight_pin: GPIO32 lambda: |- it.print(0, 0, id(my_text_sensor).state.c_str()); # Si quieres usar botones u otras funciones botón: - plataforma: gpio nombre: "Botón A" alfiler: número: GPIO39 invertido: verdadero id: botón_a
✔ ¡Copiado!
Nota: La configuración exacta para la pantalla podría no estar completamente soportada o podría requerir una configuración adicional, ya que se han mencionado limitaciones en el soporte para la pantalla del Core2 en ESPHome. Es posible que necesites buscar contribuciones de la comunidad o bibliotecas externas para obtener funcionalidad completa.
Compilar y cargar el firmware
-
Haz clic en Instalar en la interfaz de ESPHome para compilar la configuración YAML en firmware y cargarlo en el M5Stack Core2. Asegúrate de que tu dispositivo esté en modo de flasheo (a menudo manteniendo presionado el botón de encendido o el botón de reinicio durante el arranque).
Integrarse con Home Assistant
-
Una vez que el dispositivo se conecte a tu WiFi, Home Assistant debería descubrirlo automáticamente si estás usando la API nativa. Si no, puedes agregarlo manualmente en Configuración > Integraciones > Añadir Integración, buscando ‘ESPHome’ e ingresando el nombre de host o la IP del dispositivo.
Solución de problemas y funciones adicionales
-
Si la pantalla no funciona o no se reconocen otros componentes como sensores o botones, es posible que necesites consultar foros comunitarios o GitHub para actualizaciones o configuraciones personalizadas. Hay discusiones sobre la necesidad de agregar manualmente soporte para ciertos componentes del Core2, como el chip de gestión de energía (AXP192) o la pantalla.
Gestión de la batería
El M5Stack Core2 tiene un sistema de gestión de energía incorporado; asegúrate de configurarlo correctamente para la monitorización de la batería y las funciones de ahorro de energía.
Componentes personalizados
Para funciones que no son compatibles de forma nativa, es posible que necesites crear o usar componentes personalizados o considerar alternativas como OpenHASP para el control de la pantalla.
Recuerda que el soporte de ESPHome para M5Stack Core2, especialmente en lo que respecta a la pantalla, podría evolucionar, por lo que mantener actualizado tu ESPHome y Home Assistant podría ayudar con la compatibilidad y la disponibilidad de funciones.
Solución de problemas y Preguntas frecuentes
Problemas comunes y soluciones
Q1: ¿Qué es la especulación de M5Stack Core2?
A1:
El M5Stack Core2 es una placa de desarrollo ESP32 rica en funciones diseñada para IoT y aplicaciones embebidas, impulsada por el MCU ESP32 D0WDQ6-V3 de doble núcleo con 16MB de Flash y 8MB de PSRAM. Cuenta con una pantalla táctil capacitiva de 2.0 pulgadas, conectividad Wi-Fi y una batería recargable de 390mAh gestionada por el chip de energía AXP192, asegurando un control eficiente de la energía. Características adicionales como una interfaz USB Tipo-C, ranura para tarjeta TF, módulo RTC incorporado, motor de vibración, interfaz de audio digital I2S y botones táctiles capacitivos programables hacen del M5Stack Core2 una opción ideal para desarrolladores que trabajan en dispositivos inteligentes, automatización del hogar y proyectos electrónicos interactivos.
P2: ¿Cuál es la resolución de la pantalla del M5Stack Core2?
A2:
El M5Stack Core2 cuenta con una pantalla táctil capacitiva de 2.0 pulgadas con una resolución de 320x240 píxeles.
Q3: ¿Qué es la baudios ¿tasa de M5Stack Core2?
A3:
La velocidad baud predeterminada para el M5Stack Core2 suele estar configurada en 115200 bps para la comunicación serial. Sin embargo, se puede ajustar en el código a otros valores según los requisitos de tu proyecto.
P4: ¿Por qué no se lee mi tarjeta de memoria en el M5Stack Core2 y cómo puedo solucionarlo?
A4:
Para mejorar la capacidad de lectura de tarjetas de memoria en el M5Stack Core2, puedes usar el siguiente código para configurar los pines GPIO y mejorar la interfaz de memoria:
para (auto gpio : (const uint8_t[]){18, 19, 23}) { *(volatile uint32_t*)(GPIO_PIN_MUX_REG[gpio]) |= DIVERSIÓN_DRV_M; gpio_pulldown_dis((gpio_num_t)gpio); gpio_pullup_en((gpio_num_t)gpio); }
✔ ¡Copiado!

Este código configura los pines GPIO especificados (18, 19, 23) habilitando las resistencias pull-up necesarias y ajustando la fuerza de conducción, lo que puede ayudar a mejorar el rendimiento de la lectura de la tarjeta de memoria.
P5: ¿Cómo detectamos el nivel de potencia de core2?
A5:
Para detectar el nivel de energía del M5Stack Core2, puedes usar el siguiente código que utiliza la API de Core2 para obtener el voltaje de la batería:
#include configuración vacía() { M5.inicio(); } bucle vacío() { Serial.printf("Voltaje de la batería: %f\n", M5.Axp.GetBatVoltage()); retraso(500); }
✔ ¡Copiado!
Este código lee el voltaje de la batería y lo imprime en el monitor serial cada 500 milisegundos. Asegúrate de consultar la documentación del M5Core2 API para funciones y configuraciones más detalladas relacionadas con la gestión de energía.
P6: ¿Cómo puedo mostrar imágenes en el M5Stack Core2 usando el lenguaje C?
A6:
Para mostrar una imagen JPG de 320x240 píxeles llamada
logo.jpg
en el M5Stack Core2, sigue estos pasos:-
Crea la imagen: Prepara una imagen JPG de 320x240 píxeles llamada
logo.jpg
. -
Convertir la imagen: Descargue los archivos fuente, descomprímalos y abra la carpeta. Ejecute el script
.\conver.ps1
en la terminal para convertir la imagen a un formato binario compatible con Core2. -
Reemplazar los datos de la imagen: Después de la conversión, tome los datos binarios resultantes y reemplace el contenido en el arreglo del archivo fuente proporcionado.
-
Sube el programa: Abre el archivo
drawImageData_core2_Pure.ino
e inserta los datos binarios convertidos en el arreglo. Sube el programa al M5Stack Core2.



Una vez que el programa esté cargado, la imagen se mostrará en la pantalla como se muestra en el ejemplo.
Asegúrate de consultar la documentación oficial para obtener instrucciones adicionales sobre el manejo de imágenes y sus formatos binarios.
Consejos y trucos para usar M5Stack Core2
Consejos generales
Gestión de la batería
Utilice el chip AXP192 para la gestión de energía. Controle los niveles de batería a través de la biblioteca M5Stack Core2 o las configuraciones de ESPHome para gestionar el consumo de energía de manera eficiente.
Actualizaciones de firmware
Revise regularmente y actualice el firmware de su M5Stack Core2 para beneficiarse de nuevas funciones, mejoras de rendimiento y parches de seguridad. Utilice la herramienta M5Burner para esto.
Logotipo de bota personalizado
Personaliza tu dispositivo configurando un logo de arranque personalizado usando la herramienta M5Burner. Esto puede hacer que tu dispositivo sea único o reflejar el tema de un proyecto.
Utilización de hardware
Brillo de la pantalla
Ajusta el brillo de la pantalla programáticamente usando el chip AXP192 para ahorrar batería. Reduce el brillo para operaciones menos críticas o cuando el dispositivo está en modo de espera.
Uso de la pantalla táctil
Para proyectos más interactivos, aprovecha las capacidades de la pantalla táctil. Usa la clase M5.Touch para la detección táctil. Recuerda, la pantalla soporta multi-táctil, lo que puede usarse para interfaces de usuario más complejas.
Sensor IMU (Unidad de Medición Inercial)
El MPU6886 incorporado se puede usar para detección de movimiento, control por gestos o para estabilizar aplicaciones de cámara. Considere sus implicaciones en la duración de la batería si se usa de forma continua.
Tarjeta MicroSD
Utilice la ranura microSD para el registro de datos, almacenar archivos más grandes o ampliar la memoria para aplicaciones que requieren más almacenamiento del que proporciona la memoria flash interna.
Consejos de software
IDE de Arduino
Cuando uses Arduino IDE, asegúrate de instalar el paquete de soporte para la placa M5Stack Core2 desde el gestor de bibliotecas de M5Stack para obtener soporte completo del hardware.
Integración de ESPHome
Si se integra con Home Assistant a través de ESPHome, use las configuraciones de ejemplo pero esté preparado para algunos ajustes, especialmente para componentes como la pantalla o la gestión de energía.
Modos de ahorro de energía
Implementa el modo de suspensión profunda para proyectos alimentados por batería. El M5Stack Core2 puede despertarse con varios disparadores como toque, pulsación de botón o temporizador.
Bluetooth y WiFi
El ESP32 soporta tanto Bluetooth como WiFi. Usa Bluetooth para comunicaciones de bajo consumo y corto alcance o WiFi para necesidades de red más robustas, pero gestiona cuidadosamente su consumo de energía.
Ideas de proyectos
Controlador de Hogar Inteligente
Convierte el Core2 en un controlador inteligente portátil para el hogar con interfaces táctiles para controlar luces, clima, etc.
Tecnología portátil
Utilice el IMU para rastreadores de actividad física o controladores de realidad virtual, aprovechando los sensores integrados para el análisis del movimiento.
Herramientas educativas
Cree dispositivos de aprendizaje interactivos con fines educativos, donde los estudiantes puedan interactuar con los datos visualmente.
Solución de problemas
Métodos de reinicio
Si tu dispositivo se bloquea, recuerda que hay un botón de reinicio en la parte trasera y también un método de reinicio con el botón de encendido manteniéndolo presionado durante unos 10 segundos.
Depuración
Utilice la salida serial para la depuración. Conéctese vía USB y use herramientas como el Monitor Serial de Arduino o un emulador de terminal para obtener retroalimentación en tiempo real de su código.
Recursos comunitarios
La comunidad de M5Stack es bastante activa; los foros, GitHub y los grupos en redes sociales son excelentes lugares para resolver problemas e inspirarse.
Conclusión
Características clave y beneficios de la revisión M5Stack Core2 V1.1
Características principales
Pantalla táctil capacitiva de 2.0 pulgadas
Cuenta con una pantalla LCD IPS de 320x240 con tres botones virtuales programables mediante mapeo de zona activa (FT6336U, dirección I2C 0x38), que permite una interacción hombre-máquina personalizable.
Capacidades Mejoradas de Sensores y Retroalimentación
Motor de vibración incorporado para retroalimentación háptica y alertas.
IMU de 6 ejes (MPU6886) para detección de movimiento y un micrófono PDM para entrada de audio.
Altavoz integrado con amplificador I2S (NS4168) para salida de sonido de alta calidad.
Gestión de Energía y Tiempo
El chip de gestión de energía AXP2101 (emparejado con INA3221) optimiza el consumo de energía, con un indicador de energía azul para el estado o funciones personalizadas.
El reloj en tiempo real (RTC, BM8563) con una batería de respaldo dedicada garantiza una sincronización precisa incluso cuando está apagado.
Batería de litio de 500mAh para operación portátil.
Conectividad y Almacenamiento
ESP32-D0WDQ6-V3 con procesador de doble núcleo a 240MHz, Wi-Fi, 16MB de Flash y 8MB de PSRAM.
Ranura para tarjeta MicroSD (hasta 16GB) para almacenamiento ampliado.
USB Type-C, puertos GROVE (I2C, UART, GPIO) y conector M-Bus para expandibilidad.
Flexibilidad de desarrollo
Compatible con múltiples plataformas: UIFlow, MicroPython, Arduino, .NET nanoFramework y Zephyr RTOS.
Incluye controles físicos como botones de encendido y reinicio, además de un chip USB a serie CH9102F para una programación confiable.
Hardware adicional
LED indicador de encendido azul, motor de vibración y un diseño compacto (54 x 54 x 16,5 mm) con una carcasa de plástico.
Rango de temperatura de funcionamiento de 0°C a 60°C, adecuado para diversos entornos.
Beneficios
-
Versatilidad: Ideal para controladores terminales de IoT, proyectos de bricolaje, educación STEM y dispositivos de hogar inteligente debido a su conjunto de características y capacidad de expansión.
-
Interacción fácil de usar: La pantalla táctil y los botones virtuales, combinados con la retroalimentación háptica, crean una interfaz intuitiva para diversas aplicaciones.
-
Rendimiento Confiable: El RTC con batería de respaldo y el eficiente en energía AXP2101 garantizan un funcionamiento constante, incluso en escenarios portátiles o de bajo consumo.
-
Escalabilidad: Amplias opciones de conectividad (Wi-Fi, I2C, UART) y compatibilidad con módulos M5Stack (con consideraciones para la compatibilidad base) permiten expansiones personalizadas.
-
Amigable para desarrolladores: El soporte multiplataforma y un ecosistema robusto (bibliotecas como M5Unified) simplifican el desarrollo, mientras que la ranura para MicroSD y las capacidades de audio aumentan el potencial del proyecto.
Notas prácticas
-
Requiere la extracción de la base de la batería al apilar con módulos M5; se recomienda M5GO Bottom2 para mantener la funcionalidad completa.
-
El motor de vibración puede interferir con las bases de la serie M5 Base, por lo que se debe evitar apilarlas con esas.
-
La no linealidad del toque en el borde se puede resolver con actualizaciones de firmware a través de M5Tool.
El M5Stack Core2 V1.1 se destaca como una plataforma compacta y llena de funciones que equilibra potencia, interactividad y flexibilidad, lo que la convierte en una excelente opción para aficionados, educadores y desarrolladores por igual.