KernelUNO es un sketch de Arduino con 546 líneas de código que ofrece un sistema operativo ligero para el Arduino UNO, con un shell al estilo Linux y comandos como ls, df, uname y más.
Solo necesitas un Arduino UNO R3 o una placa compatible con el microcontrolador ATmega328P de Microchip, un cable USB para programación y, opcionalmente, algunos LEDs y resistencias para probar el comando gpio en el terminal.

KernelUNO ofrece las siguientes funcionalidades:
- Filesystem virtual: crea archivos y directorios en RAM (/dev, /home)
- Control de hardware: gestión de GPIO con configuración del modo de pin
- Monitoreo del sistema: uso de memoria, uptime y mensajes del kernel (dmesg)
- Shell interactivo: ejecución de comandos en tiempo real con buffer de entrada
- 23 comandos integrados:
El código está disponible en GitHub bajo licencia BSD 3-Clause. Al ser un único sketch de Arduino, se flashea directamente en la placa sin pasos adicionales. La mayoría de los comandos son idénticos a los de un sistema Linux, con un enfoque similar al de BusyBox, más comandos adicionales para controlar GPIOs.
Limitaciones de memoria
Tal como señala Hackaday, no hay almacenamiento permanente: todo corre en RAM, lo que limita su utilidad práctica. En teoría sería posible agregar flash externo o aprovechar la EEPROM, pero hay que considerar que el ATmega328P cuenta con solo 2 KB de RAM, 1 KB de EEPROM y 32 KB de flash. El uso de memoria actual es el siguiente:
- Programa: ~38% de los 32 KB de flash
- RAM: ~85% de los 2 KB de SRAM (optimizada)
- Filesystem: máximo 10 archivos o directorios
- Buffer DMESG: 6 mensajes
Quedan dos funcionalidades pendientes en la lista de trabajo: persistencia en EEPROM y control PWM/analógico. El código fue escrito manualmente, aunque se utilizó Claude AI para la documentación.




