BreadboardOS Firmware for Raspberry Pi RP2040 Features a Linux-Like Terminal
Cavin McKinley’s BreadboardOS is an open-source firmware platform for the Raspberry Pi RP2040 MCU, built around FreeRTOS and featuring a command-line interface (CLI) reminiscent of the Linux terminal. The terminal implementation is based on a customized fork of the Microshell project, organized into POSIX-style folders/files, providing a familiar user interface for interacting with the hardware on the MCU. This innovative firmware platform brings a range of Linux-like capabilities to the RP2040, enhancing its functionality and ease of use.
BreadboardOS highlights include its FreeRTOS foundation, tools for checking system resources such as ps, top, free, and df commands, and the ability to interact with chip I/O and serial buses directly from the terminal using commands like cat and echo.
For example, you can print the list of GPIOs with cat gpio. It features an onboard flash filesystem with wear-leveling (leveraging the LittleFS project), peripheral hardware initialization routines, a watchdog service for system failsafe recovery, and an RTOS task manager for dynamically controlling system services at runtime. The “rootfs” includes familiar directories (mnt, etc, bin, proc, dev, and lib) similar to a minimal Linux distribution.
You’ll find the source code released under an MIT license and instructions to build BreadboardOS on GitHub.
Currently, BreadboardOS (or BBOS for short) is implemented on the Raspberry Pi RP2040 only, but it was built with portability in mind. The project is structured so that all hardware-specific code resides in a single directory (hardware_pico) with a header file (hardware_config.h) providing HAL functionality. The source code is released under an MIT license, with instructions to build BreadboardOS available on GitHub. While there isn’t extensive documentation on the available commands, you can explore them by watching the accompanying video or installing BreadboardOS on a Raspberry Pi Pico or Pico W. More information can be found on GitHub.
source: www.cnx-software.com