CRSF-demo
Demo de recepción y decodificación del protocolo CRSF (CrossFire Serial Protocol) con un receptor BETAFPV ELRS Lite y un microcontrolador STM32F401CC (BlackPill), usando LibOpenCM3 y PlatformIO.
Decodifica los 16 canales RC y las estadísticas de enlace, detecta pérdida de señal (failsafe) e imprime los valores por la consola serie. Incluye transmisión de telemetría hacia la emisora (batería, actitud, modo de vuelo, barómetro y GPS).
⚙️ Hardware
| Característica | Detalle |
|---|---|
| Microcontrolador | STM32F401CCU6 (BlackPill) @ 84 MHz |
| Receptor | BETAFPV ELRS Lite (CRSF 420 000 bps) |
| Consola | USART1 @ 115 200 bps |
| Debug | STLink SWD + LED heartbeat PC13 |
| Framework | LibOpenCM3 |
💻 Software
| Componente | Detalle |
|---|---|
| Lenguaje | C11 |
| Framework | LibOpenCM3 |
| Entorno | PlatformIO |
| Bucle principal | 5 Hz (200 ms por iteración) |
| Protocolo | CRSF (CrossFire Serial Protocol) |
| Canales RC | 16 canales × 11 bits (172–1811) |
| Telemetría | 5 tipos de frame (batería, actitud, flight mode, baro, GPS) |
| Failsafe | Timeout 500 ms sin trama RC |
| Debug | Consola serie + LED heartbeat |
📚 Documentación
- Hardware — MCU, pines, reloj, alimentación, diagrama de bloques
- Arquitectura Software — Bucle principal, ISRs, prioridades, parser CRSF
- Comunicaciones — Protocolo CRSF, recepción de canales, transmisión de telemetría
- Debug — Consola serie, LED heartbeat, syscall
_write - Problemas Conocidos — 6 issues documentados (0 críticos, 3 moderados, 3 leves)
🔧 Stack Tecnológico
| Componente | Tecnología |
|---|---|
| MCU | STM32F401CCU6 (ARM Cortex-M4) |
| Framework | LibOpenCM3 |
| Build System | PlatformIO |
| Lenguaje | C11 |
| Debug Probe | STLink v2 (SWD) |
| Protocolo | CRSF (ELRS) |
Documento generado el 2026-06-27. Ver también Hardware.