Construyendo un Nodo Meshtastic con ESP32-S3 y LoRa E22-900M30S: Guía Paso a Paso
Para construir un nodo Meshtastic usando un ESP32-S3 Super Mini, necesitarás los siguientes componentes:
- ESP32-S3 Super Mini
- Módulo LoRa E22-900M30S
- GPS Neo-6M v2
- Pantalla OLED de 0.96" (SSD1306, 128x64)
- Antena LoRa de 868 MHz (5 dBi, SMA)
- Convertidor USB-UART
- Cables puente y placas de pruebas
El costo total, excluyendo consumibles, es de alrededor de $20. Esta configuración permite una comprensión más profunda del hardware y la flexibilidad de la matriz GPIO del ESP32-S3.
Diagrama de Conexiones
El ESP32-S3 ofrece capacidades avanzadas de reasignación para interfaces SPI, I2C y UART. Evita usar pines del sistema (USB, arranque). Ejemplo de asignación de pines para el LoRa E22-900M30S:
- SX126X_CS (NSS): GPIO 10
- LORA_SCK: GPIO 11
- LORA_MOSI: GPIO 12
- LORA_MISO: GPIO 7
- SX126X_RESET: GPIO 6
- SX126X_BUSY: GPIO 5
- SX126X_DIO1: GPIO 4
Para la OLED (I2C):
- I2C_SCL: GPIO 9
- I2C_SDA: GPIO 8
El GPS Neo-6M se conecta solo a través de TX (GPIO 1) para evitar conflictos con el UART de depuración.
Adaptando el Firmware de Meshtastic
Clona el repositorio del firmware:
git clone https://github.com/meshtastic/firmware
Instala PlatformIO (en macOS: brew install platformio). Navega a variants/esp32s3/EBYTE_ESP32-S3.
Edita variant.h:
#define SX126X_CS 10 // Pin NSS del módulo EBYTE
#define LORA_SCK 11
#define LORA_MOSI 12
#define LORA_MISO 7
#define SX126X_RESET 6
#define SX126X_BUSY 5
#define SX126X_DIO1 4
// I2C
#define I2C_SCL 9
#define I2C_SDA 8
#define HAS_SCREEN 1
#define GPS_TX_PIN 1
En platformio.ini, especifica las velocidades:
upload_speed = 115200
monitor_speed = 115200
Compila: pio run -e EBYTE_ESP32-S3.
Flasheo mediante USB-UART Externo
El USB integrado en las placas económicas ESP32-S3 Super Mini puede ser inestable. Conecta el adaptador:
- 5V → 5V
- GND → GND
- TX del adaptador → RX de la placa
- RX del adaptador → TX de la placa
Sube el firmware: pio run -e EBYTE_ESP32-S3 -t upload. Para el modo de arranque:
- Mantén pulsado Boot
- Pulsa Reset
- Suelta Reset
- Suelta Boot después de 1 segundo
Optimización y Pruebas
Después del flasheo, el nodo reconocerá el LoRa E22-900M30S, la OLED y el GPS. Prueba la red mesh en 868 MHz. Luego, suelda en una PCB para eliminar cables sueltos.
Puntos Clave:
- La matriz GPIO flexible del ESP32-S3 simplifica las construcciones personalizadas.
- Basa tu configuración en la variante EBYTE_ESP32-S3 para el E22-900M30S.
- Conecta el GPS solo a través de TX para preservar el UART para depuración.
- Un USB-UART externo estabiliza el flasheo en placas económicas.
— Editorial Team
Aún no hay comentarios.