BreadboardOS (BBOS) - As the name suggests is a firmware platform designed for rapid prototyping. BBOS is built around the following principles:
- Every project should start with the CLI. The command line interface makes prototyping, debugging, and testing 1000% easier, especially over the life of multiple projects with reused parts.
- Write once. Don't waste time writing and rewriting your project's essential infrastructure. Modularize, iterate, and profit!
- Start quickly. The quicker you come up with a project, the quicker you'll find what you need.
Functional Description
BreadboardOS is built on top of FreeRTOS, enabling rapid integration of new function blocks and allowing task concurrency without disrupting the base system. Existing RTOS knowledge is not necessarily required.
The core component of BBOS is the fantastic microshell project, which provides the CLI functionality. Currently, a fork of microshell is used, which includes some additional customizations. The CLI implementation is organized into POSIX-style folders/files, providing a recognizable user interface for interacting with MCU hardware.
Since the first release, BBOS has been implemented on a single MCU platform - the Raspberry Pi RP2040 (Pico, Pico W, etc.). The project is structured so that all hardware-specific code is located in a single directory, with header files providing HAL functionality. The platform is built with porting in mind.
Notable Features
- A rich set of tools for real-time inspection of system resources
- RTOS task manager for dynamically controlling system services at runtime
- Onboard flash file system with wear leveling (thanks to littlefs)
- Optional peripheral hardware initialization routines
- Interact with chip I/O and serial buses directly from the command line
- Watchdog service for system fault protection recovery
|