Todo lo que necesitas saber sobre M5Stack Core2
20 Feb 2025
0 Comentarios
Introducción
Primera Reunión M5Stack Core2
El M5Stack Core2 admite múltiples plataformas de programación como Arduino, MicroPython, y M5Stack UIFlow, lo que lo hace versátil para varios proyectos de IoT, incluidos dispositivos para el hogar inteligente, herramientas educativas y prototipos rápidos. Su diseño modular permite una fácil expansión con otros módulos de M5Stack, mejorando su funcionalidad para diversas aplicaciones.
Características y capacidades clave
Procesador
Doble núcleo ESP32-D0WDQ6-V3, funcionando a hasta 240MHz.
Memoria
-
Memoria Flash de 16 MB
-
8 MB de memoria RAM
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
Gestión de energía
-
AXP192 PMU para la gestión de baterías
-
Soporta carga por USB Tipo-C
-
Batería LiPo incorporada
RTC
-
Reloj en tiempo real para una cronometraje preciso
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 de hardware, incluyendo su potencia de procesamiento, memoria, opciones de conectividad y sensores integrados.
-
Destaca 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.
-
Demostrar aplicaciones potenciales mostrando ejemplos del mundo real donde se puede utilizar el M5Stack Core2, desde herramientas educativas hasta dispositivos para el hogar inteligente.
-
Asistir en la toma de decisiones para aficionados, educadores y profesionales que consideran 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 ajusta a sus necesidades específicas en el ámbito del desarrollo de IoT.
¿Qué es M5Stack Core2?
Explicación Detallada del 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 velocidades de hasta 240MHz, con capacidades de WiFi y Bluetooth integradas. 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 del usuario, botones táctiles programables y un motor de vibración integrado para retroalimentación háptica. También cuenta con un módulo RTC (Reloj en Tiempo Real) integrado para un mantenimiento preciso del tiempo, y la gestión de energía es manejada por el 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 posterior para la detección de movimiento.
Grupos aplicables
Aficionados y Entusiastas del DIY
Individuos apasionados por la electrónica, la robótica y proyectos de IoT que buscan una solución todo en uno para experimentar.
Educadores y Estudiantes
Docentes 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 que 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, necesitan una plataforma versátil para el desarrollo y las pruebas.
Artistas e Instalaciones Interactivas
Creativos utilizando tecnología para mejorar instalaciones artísticas o exposiciones interactivas con sensores, pantallas y conectividad.
Diferencia entre M5Stack Core2 y M5Stack Core2 V1.1
Características | Núcleo M5Stack2 | M5Stack Core2 versión 1.1 |
Gestión de energía | Chip AXP192 | AXP2101 + INA3221 (Mejorado) IC de potencia) |
Color del Indicador de Potencia | Verde | Azul |
RTC (Reloj en Tiempo Real) | Integrado, pero sin batería dedicada Para RTC |
Incluye una batería dedicada para RTC para mantener la hora cuando Apagado |
Chip USB | CH9102F | Lo mismo, pero la instalación del controlador podría difieren debido a la versión del hardware |
Diseño general | Diseño Classic Core2 | Versión iterativa con el mismo factor de forma pero con internals actualizados |
Compatibilidad | Compatible con M5GO Bottom para características adicionales | La compatibilidad con los módulos podría requiere eliminar o usar un específico Bottom2 para funcionalidad completa |
Entorno de Programación | Soporta Arduino, MicroPython, UIFlow | Mismo apoyo, sin cambio en entorno de programación |
Pantalla táctil | pantalla táctil capacitiva de 2 pulgadas | Igual, sin cambio en la pantalla especificaciones |
Motor de vibración | Incluido para retroalimentación háptica | Incluido, sin cambios |
Memoria y procesador | ESP32-D0WDQ6-V3, 16MB Flash, 8 MB de memoria RAM |
Las mismas especificaciones |
Hardware M5Stack Core2
Tamaño y resolución de la pantalla M5Stack Core2
-
Tamaño de pantalla: 2 pulgadas
-
Resolución: 320 x 240 píxeles
Procesador, Memoria y Almacenamiento de M5Stack Core2
-
Procesador: Dual-core ESP32-D0WDQ6-V3, funcionando a hasta 240MHz.
-
Memoria:RAM: 8MB PSRAM (RAM Pseudo Estática)
-
Almacenamiento:Memoria Flash: 16 MB
Opciones de conectividad
-
WiFi: 802.11 b/g/n, habilitando la red 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
-
Unidad de Medida Inercial de 6 Ejes: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 para la 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 a través de varios módulos M5Stack y puertos GROVE, que pueden agregar 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 se pueden programar para diversas funciones o entradas del usuario.
-
Micrófono:Un micrófono a bordo permite la detección de sonido o capacidades de comando de 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 integrado para llevar un registro del tiempo, incluso cuando el dispositivo está apagado, asegurando una cronometraje preciso para la programación o 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 extender la vida de la batería.
-
Puerto USB tipo C:Para energía, 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 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 la batería: Soporta la carga a través del puerto USB-C, con la posibilidad de opciones de alimentación externas a través de pines específicos si se configura 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 agregar 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 paralelables.
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 despierte o la profundidad del modo de suspensión utilizado.Uso Activo: Con la pantalla encendida y programas en ejecución, especialmente aquellos que utilizan WiFi o Bluetooth, la duración de la batería puede variar de unas pocas horas a 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 a través de optimizaciones de software, como atenuar la pantalla, reducir las tasas de sondeo de sensores o utilizar estrategias de gestión de energía eficientes como el modo de suspensión profunda durante los períodos no activos.
Notas adicionales
-
Indicador de potencia: Hay un LED incorporado (verde en el original, azul en V1.1) que indica el estado de la potencia y se puede programar para notificaciones personalizadas.
-
Batería RTC: En el modelo V1.1, hay una batería pequeña adicional para el RTC, asegurando el mantenimiento del tiempo incluso cuando la batería principal está agotada o retirada.
Software y Desarrollo
Lenguajes de programación soportados
-
C/C++ (usado con Arduino IDE)
-
Python (sabor 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 soportadas
-
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 subir código al M5Stack Core2 utilizando C/C++.
-
MicroPython: Una implementación de Python 3 para microcontroladores, MicroPython es muy adecuado para aquellos que prefieren la sintaxis de Python. Proporciona un REPL interactivo (Read-Eval-Print Loop) para pruebas de código inmediatas, lo que lo hace especialmente amigable 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 utilizado 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 programación pero quieren crear dispositivos IoT funcionales.
Estas plataformas no son mutuamente excluyentes; puedes comenzar con una y hacer la transición 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 el IDE de Arduino, instálalo.
Instalación de la Gestión de la Placa
La URL del Gestor de Tableros se utiliza con el propósito de indexar la información de la placa de desarrollo para una plataforma particular. En el menú del IDE de Arduino, selecciona Archivo -> Preferencias.

Copia el URL de gestión de la placa M5Stack a continuación en el campo de URLs adicionales del Gestor de Placas:, y guarda.

En la barra lateral, selecciona Administrador de Tableros, busca M5Stack, y haz clic Instalar

Seleccionando la Placa de Desarrollo
Dependiendo del producto utilizado, selecciona 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 transmisión de programas inalámbrica y por cable sin problemas, funcionalidad de clic y ejecución de programas, eliminando la necesidad de compilaciones repetidas. Se integra perfectamente con más de 100 periféricos y sensores de hardware M5, lo que permite 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, lo que lleva 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 utilizar el IDE Web de UIFlow para el desarrollo secundario del producto.
Antes de programar con UIFlow, hay algunos pasos preparatorios que seguir:
-
Instala la herramienta de grabación de firmware M5Burner.
-
Utiliza M5Burner para grabar el firmware del dispositivo correspondiente, inicia sesión en tu cuenta y configura la conexión Wi-Fi para el dispositivo.
-
Abre la versión 2.0 del UIFlow Web IDE, selecciona la opción de dispositivo en línea apropiada y haz 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 de grabación de firmware introducida por M5Stack. Permite a los usuarios grabar fácilmente el firmware de UIFlow y escribir información de configuración como la configuración de Wi-Fi durante el proceso de grabación.
Instalar M5Burner
Cuenta de la Comunidad M5Stack
Para acceder al M5Burner y al software UIFlow 2.0/1.0, necesitarás registrar una cuenta de la Comunidad M5Stack. Ten en cuenta que esta cuenta también se puede utilizar para iniciar sesión en la página de inicio de sesión de M5Burner y UIFlow 2.0/1.0. Para registrarte en una cuenta de la Comunidad M5Stack, haz 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 a la computadora, por favor utiliza un cable USB. Luego, haz clic en el botón de Grabar para el firmware correspondiente en M5Burner. A continuación, necesitarás ingresar la información de Wi-Fi y seleccionar el puerto del dispositivo correcto.

Grabación de firmware
Conecte el dispositivo a la computadora a través de un cable USB, seleccione el botón de Grabar para el firmware correspondiente en M5Burner y complete la configuración de Wi-Fi a la que el dispositivo está preconectado, incluyendo el SSD 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
Cómo conectar M5Stack a Arduino IDE
Conecta tu M5Stack Core2 y tu computadora.
Abre el IDE de Arduino, haz clic en herramientas-Tabla-M5Stack-M5Core2

Elige el puerto correcto, cambia tu velocidad de carga 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 subir el código a 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 posterior del M5Stack Core2 cuenta con los siguientes componentes clave:
-
Basado en ESP32 con Wi-Fi integrado
-
16M Flash y 8M PSRAM
-
-
Altavoz incorporado, indicador de energía, motor de vibración, RTC, amplificador I2S, botón de encendido.
-
Slot para tarjeta TF (hasta 16GB)
-
Batería de litio integrada con chip de gestión de energía
-
Placa pequeña independiente con un IMU de 6 ejes y micrófono PDM
-
Zócalo y pines M-Bus
Una vez que abras la tapa trasera etiquetada con ‘Core2’ en el lado izquierdo, encontrarás 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 de Firmware de Fábrica del M5Stack Core2 proporciona una visión general completa de las capacidades del dispositivo. Muestra información clave como el chip MPU6886, reloj en tiempo real, nivel de batería y varias opciones de configuración. La página también incluye características como la funcionalidad de encendido/apagado, estado de 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 garantizar que todos los componentes estén funcionando correctamente, permitiendo a los usuarios verificar las características y funcionalidades clave del dispositivo.
Soporta Wi-Fi
En la página de Wi-Fi, el M5Stack Core2 muestra las redes Wi-Fi disponibles cercanas, ordenadas por intensidad de señal. Los usuarios pueden ver y seleccionar fácilmente la mejor red para conectarse, asegurando calidad de señal óptima y estabilidad. Esta función permite que el dispositivo se conecte rápidamente a una red, proporcionando 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 que nada, conecta el M5Stack Core2 y la computadora con un cable Type-C, y conecta el M5Stack Core2 y el 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, encuentra 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 encoder8_0 a 0x41
Bucle
Valor del canal 8Encoder de M5Stack establecido
Conjunto de color LED RGB del canal 8Encoder de M5Stack

Hagamos un prototipo de una cerradura combinada que suena.

Si el valor del canal 1 = el valor del canal 2, el valor del canal 3 = el valor del canal 4
Etiquetar el texto de label8 como 'Derecha', y el zumbador fuerte nos recuerda
De lo contrario, etiqueta8 texto 'Incorrecto', zumbador en silencio
Subamos el código y averigüemos qué pasará.


Y podemos manejar lógica más compleja. Diviértete con tu M5Stack Core2.
Proyectos de bricolaje geniales para M5Stack Core2
M5Stack Core2 y Home Assistant
Integración con Home Assistant
Porque 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 Continuar.
-
Nombra tu dispositivo, por ejemplo, 'm5stack-core2', y selecciona ESP32 como la plataforma, luego elige M5Stack Core o M5Stack Core2 si están listados (la nomenclatura exacta puede variar según la versión de ESPHome).
Configurar ESPHome para M5Stack Core2
-
Aquí hay un ejemplo de configuración YAML que podrías usar para el M5Stack Core2:
esphome: nombre: m5stack-core2 Plataforma: ESP32 board: m5stack-core-esp32 Wi-Fi: ssid: "Tu_WiFi_SSID" contraseña: "Tu_Contraseña_WiFi" # Habilitar punto de acceso de respaldo (portal cautivo) en caso de que falle la conexión wifi ap: ssid: "M5Stack-Core2 Fallback Hotspot" contraseña: "Tu_Contraseña_AP" Registrador: api: orden: sensor: - plataforma: axp192 dirección: 0x34 Identificador i2c: bus_a update_interval: 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_dc: GPIO15 PIN de reinicio: GPIO33 backlight_pin: GPIO32 lambda: |- it.print(0, 0, id(my_text_sensor).state.c_str()); # Si deseas 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 puede no estar completamente soportada o puede requerir una configuración adicional, ya que ha habido menciones de soporte limitado para la pantalla del Core2 en ESPHome. Es posible que necesites buscar contribuciones de la comunidad o bibliotecas externas para obtener la funcionalidad completa.
Compilar y subir el firmware
-
Haz clic en Instalar en la interfaz de ESPHome para compilar la configuración YAML en firmware y flashearlo 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 inicio).
Integrarse con Home Assistant
-
Una vez que el dispositivo se conecte a tu WiFi, Home Assistant debería descubrirlo automáticamente si estás utilizando la API nativa. Si no, puedes añadirlo 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 características adicionales
-
Si la pantalla no funciona o otros componentes como sensores o botones no son reconocidos, 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 integrado; asegúrate de configurarlo correctamente para el monitoreo 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 utilizar componentes personalizados o buscar 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 tu ESPHome y Home Assistant actualizados podría ayudar con la compatibilidad y la disponibilidad de funciones.
Solución de problemas y Preguntas frecuentes
Problemas comunes y soluciones
Q1: ¿Cuál es la especulación de M5Stack Core2?
A1:
El M5Stack Core2 es una placa de desarrollo ESP32 rica en características, diseñada para IoT y aplicaciones embebidas, impulsada por el MCU ESP32 D0WDQ6-V3 de doble núcleo con 16MB Flash y 8MB PSRAM. Viene 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 potencia AXP192, asegurando un control de energía eficiente. Características adicionales como una interfaz USB Type-C, slot para tarjeta TF, módulo RTC integrado, 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 de electrónica interactiva.
Q2: ¿Cuál es la resolución de la pantalla 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: ¿Cuál es la baudios ¿tasa de M5Stack Core2?
A3:
La tasa de baudios predeterminada para el M5Stack Core2 se establece típicamente en 115200 bps para la comunicación serie. Sin embargo, se puede ajustar en el código a otros valores dependiendo de los requisitos de tu proyecto.
Q4: ¿Por qué mi tarjeta de memoria no se lee en M5Stack Core2 y cómo puedo solucionarlo?
A4:
Para mejorar la capacidad de lectura de la tarjeta de memoria en el M5Stack Core2, puedes usar el siguiente código para configurar los pines GPIO y mejorar la interfaz de memoria:
for (auto gpio : (const uint8_t[]){18, 19, 23}) { *(volatile uint32_t*)(GPIO_PIN_MUX_REG[gpio]) |= FUN_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 lectura de la tarjeta de memoria.
Q5: ¿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 recuperar 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 de la API de M5Core2 para obtener funciones y configuraciones más detalladas relacionadas con la gestión de energía.
Q6: ¿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
. -
Convierte la imagen: Descarga los archivos fuente, descomprímelos y abre la carpeta. Ejecuta el
. ransformar.ps1
script en la terminal para convertir la imagen en un formato binario compatible con Core2. -
Reemplace 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
drawImageData_core2_Pure.ino
archivo e inserta los datos binarios convertidos en el array. 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
Utiliza el chip AXP192 para la gestión de energía. Monitorea 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
Verifique 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 utilizando 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 utilizando el chip AXP192 para ahorrar batería. Reduce el brillo para operaciones menos críticas o cuando el dispositivo está en modo de espera.
Usando 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 de toques. Recuerda, la pantalla soporta multi-táctil, lo que se puede utilizar para interfaces de usuario más complejas.
Sensor IMU (Unidad de Medida Inercial)
El MPU6886 integrado se puede utilizar para detección de movimiento, control por gestos o estabilización de aplicaciones de cámara. Considera sus implicaciones en la duración de la batería si se utiliza de forma continua.
Tarjeta Micro SD
Utiliza la ranura microSD para el registro de datos, almacenar archivos más grandes o expandir la memoria para aplicaciones que necesiten más almacenamiento del que proporciona la memoria flash interna.
Consejos de software
IDE de Arduino
Al usar el IDE de Arduino, asegúrate de instalar el paquete de soporte para la placa M5Stack Core2 desde el administrador de bibliotecas de M5Stack para obtener soporte completo de hardware.
Integración ESPHome
Si se integra con Home Assistant a través de ESPHome, utiliza las configuraciones de ejemplo, pero prepárate para hacer algunos ajustes, especialmente para componentes como la pantalla o la gestión de energía.
Modos de ahorro de energía
Implementar el modo de sueño profundo para proyectos que funcionan con batería. El M5Stack Core2 puede despertarse a partir de varios disparadores como el tacto, la pulsación de un botón o un temporizador.
Bluetooth y Wi-Fi
El ESP32 admite tanto Bluetooth como WiFi. Utiliza Bluetooth para comunicaciones de bajo consumo y corto alcance o WiFi para necesidades de red más robustas, pero gestiona su consumo de energía con cuidado.
Ideas de proyectos
Controlador de Hogar Inteligente
Convierte el Core2 en un controlador de hogar inteligente portátil con interfaces táctiles para controlar luces, clima, etc.
Tecnología portátil
Utiliza el IMU para rastreadores de fitness o controladores de VR, aprovechando los sensores integrados para el análisis de movimiento.
Herramientas educativas
Crea dispositivos de aprendizaje interactivos con fines educativos, donde los estudiantes puedan interactuar con los datos de manera visual.
Solución de problemas
Métodos de reinicio
Si tu dispositivo se congela, recuerda que hay un botón de reinicio en la parte posterior y también un método de reinicio del botón de encendido manteniéndolo presionado durante unos 10 segundos.
Depuración
Utiliza la salida serie para depuración. Conéctate a través de USB y utiliza herramientas como el Monitor Serial de Arduino o un emulador de terminal para obtener retroalimentación en tiempo real de tu 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 del M5Stack Core2 V1.1
Características clave
Pantalla táctil capacitiva de 2.0 pulgadas
Cuenta con una pantalla LCD IPS de 320x240 con tres botones virtuales programables a través de mapeo de zonas calientes (FT6336U, dirección I2C 0x38), lo que permite una interacción humano-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 una salida de sonido de alta calidad.
Poder y Gestión del Tiempo
El chip de gestión de energía AXP2101 (acompañado del 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 asegura un tiempo preciso 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.
Slot para tarjeta MicroSD (hasta 16GB) para almacenamiento expandido.
Puerto USB Tipo-C, puertos GROVE (I2C, UART, GPIO) y socket M-Bus para expandibilidad.
Flexibilidad en el 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
Indicador LED de potencia 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 operación de 0°C a 60°C, adecuado para diversos entornos.
Beneficios
-
Versatilidad: Ideal para controladores de terminales IoT, proyectos de bricolaje, educación STEM y dispositivos para el hogar inteligente debido a su rica gama de características y expandibilidad.
-
Interacción Amigable: La pantalla táctil y los botones virtuales, combinados con retroalimentación háptica, crean una interfaz intuitiva para diversas aplicaciones.
-
Rendimiento confiable: El RTC con batería de respaldo y el AXP2101 de bajo consumo garantizan un funcionamiento constante, incluso en escenarios portátiles o de bajo consumo.
-
Escalabilidad: Opciones de conectividad extensas (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 mejoran el potencial del proyecto.
Notas prácticas
-
Requiere la eliminació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, así que evita 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 repleta de características que equilibra potencia, interactividad y flexibilidad, lo que lo convierte en una excelente opción para aficionados, educadores y desarrolladores por igual.
Recursos adicionales
Etiquetas:
Deja un comentario
Todos los comentarios del blog se revisan antes de publicarlos.