OpenC6 BIOS es un proyecto open source de Rompass que toma un enfoque distinto al desarrollo en microcontroladores. Añade un sistema tipo BIOS al ESP32-C6 de Espressif, de manera que la parte del sistema y el código de aplicación puedan correr por separado en lugar de combinarse en una sola imagen de firmware.
En el desarrollo tradicional, la inicialización del hardware, el stack de red y el código de aplicación se compilan juntos en un único firmware. OpenC6 BIOS opera distinto: se ejecuta como sistema base en el ESP32-C6 y se encarga de la inicialización del hardware y las funciones del sistema. En lugar de flashear la aplicación completa cada vez, puede cargar pequeños programas payload por separado. Estos payloads corren desde RAM o flash (XIP) y acceden a las funciones del sistema mediante una Application Binary Interface (ABI) simple, sin depender del ESP-IDF completo. En cierto modo opera como AkiraOS, pero con una interfaz tipo BIOS.
¿Qué trae la arquitectura del OpenC6 BIOS?
Las funciones clave declaradas por el autor:
- Escalado dinámico de CPU: ajusta la frecuencia (80, 120 y 160 MHz) según la carga usando el tiempo idle de FreeRTOS.
- Arquitectura modular de firmware: el BIOS se encarga del hardware mientras las aplicaciones se compilan como payloads independientes de 2 a 10 KB.
- System Call Interface (ABI): los payloads acceden a Wi-Fi, librerías matemáticas y funciones de criptografía expuestas por el BIOS, sin necesidad de linkear contra el ESP-IDF completo.
- Motor de gestión LP-Core: usa el core RISC-V de bajo consumo del ESP32-C6 para monitorear el estado del sistema, watchdog timers y eventos de energía de forma independiente de la aplicación principal.
- Network boot tipo PXE: los payloads pueden descargarse por Wi-Fi y ejecutarse sin flashear vía USB.
- Actualizaciones OTA A/B: las updates incluyen rollback para evitar dejar el dispositivo en estado brick.
- Interfaz de setup web: un access point Wi-Fi local llamado
BIOS_SETUP_C6hospeda una página de configuración en192.168.4.1con look retro pantalla azul de 1280x1024, similar al setup BIOS de una PC. - Aura Sync RGB: soporta el protocolo Aura Sync RGB Flow y códigos POST de diagnóstico.
- Botones y GPIOs dedicados: Misc Power Button en GPIO 4 (click corto: boot; mantener 3s: setup; mantener 5s: reset duro); BOOT en GPIO 9; POST LED en GPIO 8; Clear CMOS en GPIO 2; UART dedicada para el bootloader serial en GPIO 18/19.
¿Cómo arranca un ESP32-C6 con OpenC6?
El BIOS corre primero después del power-on e inicializa el hardware. Luego expone servicios a través de un ABI definido, de modo que los payloads compilados pueden subirse a un cargador serial UART, hacer network boot vía servidor HTTP o ejecutarse directamente desde flash (Execute In Place), sin usar el ESP-IDF completo.
Es análogo al BIOS clásico de PC, que entregaba funciones básicas antes de arrancar el sistema operativo. Acá la diferencia es que se usa para correr programas embebidos pequeños en lugar de un sistema operativo completo.
¿En qué placas funciona?
El proyecto está diseñado para placas ESP32-C6 genéricas con al menos 8 MB de flash. La placa ESP32-C6 Zero de Waveshare fue la usada en desarrollo y testing, pero el OpenC6 BIOS debería funcionar también con Olimex ESP32-C6-DevKit-Lipo, WeAct ESP32-C6 con 8 MB, Arduino Nesso N1 y otras. Cada placa puede requerir modificaciones, ya que el firmware asigna GPIOs específicos para control de power y reset, un LED RGB de estado, una UART para cargar payloads y pines de configuración similares al jumper de CMOS reset.
Para empezar, se necesita instalar el ESP-IDF (versión development) y compilar el firmware del BIOS. Los payloads se compilan por separado con las herramientas que vienen en el directorio tools. El network boot se habilita corriendo un servidor HTTP local y apuntando el dispositivo a la URL del payload desde la interfaz de setup web.
Licencia y comunidad
OpenC6 BIOS está liberado bajo licencia MIT. El código, la documentación y las instrucciones para compilar payloads están disponibles en GitHub. El desarrollador está buscando colaboradores para trabajar en un sistema zRAM personalizado y un filesystem liviano para RISC-V.
El hallazgo proviene originalmente de Hackaday.
¿Vale la pena para makers chilenos?
Las placas ESP32-C6 Zero se consiguen en distribuidores chilenos como MercadoLibre por entre CLP 8.000 y 15.000 según vendedor. La ventaja real de OpenC6 BIOS aparece cuando se tienen muchos dispositivos desplegados: actualizar una flota completa flasheando solo payloads de 2-10 KB vía Wi-Fi es órdenes de magnitud más rápido que reflashear el firmware ESP-IDF de 500 KB-1 MB por dispositivo. Para proyectos IoT en agricultura, monitoreo industrial o domótica multi-nodo, el ahorro de tiempo y ancho de banda compensa con creces la curva de aprendizaje inicial del ABI.




