Skip to main content

Descripción General del Hardware - SenseCAP Indicator

El SenseCAP Indicator es un dispositivo con pantalla táctil de 4 pulgadas, impulsado por un diseño de doble microcontrolador: ESP32-S3 y RP2040. Ambos son altamente capaces y permiten integrar múltiples sensores, interfaces y funcionalidades avanzadas para proyectos IoT.

Esta sección proporciona una vista técnica detallada del hardware y la comunicación entre ambos MCUs, incluyendo programación, conexión con sensores y otros dispositivos.

Explorando el Hardware

Diagrama de Hardware

Como muestra el diagrama, el SenseCAP Indicator está impulsado principalmente por los microcontroladores ESP32-S3 y RP2040, conectados a la pantalla LCD, transceptor LoRa y otros circuitos periféricos.

ESP32-S3

El ESP32-S3 es un SoC (System on Chip) altamente integrado que combina:

  • CPU dual-core Xtensa® LX7
  • Wi-Fi de 2.4 GHz y Bluetooth 5.0 LE
  • Interfaces: UART, SPI, I2C, PWM, ADC, DAC, etc.
  • Capacidades de procesamiento y conectividad para aplicaciones IoT, multimedia y control de periféricos.

RP2040

El RP2040 es el primer microcontrolador desarrollado por Raspberry Pi Foundation. El SenseCAP Indicator lo integra como coprocesador. Sus características principales:

  • Doble núcleo ARM Cortex-M0+ @ 133 MHz
  • 264 KB de RAM
  • Interfaces: SPI, I2C, UART, USB
  • Soporte para PIO (Programmable I/O) para crear interfaces personalizadas

Comunicación entre ESP32-S3 y RP2040

Los dos microcontroladores se comunican vía UART serial utilizando el protocolo COBS (Consistent Overhead Byte Stuffing), lo cual permite una transmisión de datos confiable y eficiente.

Bibliotecas utilizadas

Estructura de los datos transmitidos

Byte 0Byte 1–4
PKT_TYPEPKT_PARA (Little Endian)

PKT_TYPE representa el tipo de paquete
PKT_PARA contiene el valor o parámetro (por ejemplo, uint32_t o float)

Lista de Comandos PKT_TYPE

PKT_TYPEDirecciónDescripción
0x00BidireccionalACK, texto: "ACK"
0xA0ESP32 → RP2040Comando de intervalo de recolección (uint32_t)
0xA1ESP32 → RP2040Activar zumbador (uint32_t)
0xA2ESP32 → RP2040Desactivar zumbador (uint32_t)
0xA3ESP32 → RP2040Comando de apagado (uint32_t)
0xA4ESP32 → RP2040Encender dispositivo (uint32_t)
0xA0–0xAFESP32 → RP2040Comandos personalizados
0xB0RP2040 → ESP32Temperatura (SCD41) float
0xB1RP2040 → ESP32Humedad (SCD41) float
0xB2RP2040 → ESP32CO₂ (SCD41) float
0xB3RP2040 → ESP32Temperatura (AHT20) float
0xB4RP2040 → ESP32Humedad (AHT20) float
0xB5RP2040 → ESP32Índice tVOC (SGP40) float de 0 a 500
0xB6–0xBFRP2040 → ESP32Datos personalizados float

Puedes definir tus propios comandos para adaptarlos a diferentes sensores o funciones.

Soporte Técnico

¡No te preocupes, te tenemos cubierto! Por favor visita nuestro Canal Oficial de Discord de Seeed para hacer tus preguntas.

Si tienes un pedido grande o necesitas una personalización, por favor contacta a [email protected]

Loading Comments...