The colorOS operating system runs on most Raspberry Pi hardware, and is designed to be much lighter and more responsive than the Raspberry Pi OS (or other Linux variants) on older models, or models with less memory, while also providing many more “out-of-the-box” services than you can get from a microcontroller such as Arduino or Pico. It can be extended fairly easily by writing new C/C++ commands, which are linked into the kernel. It is designed under the Build-A-Kernel model, whereby a custom kernel image can be built by editing a single configuration file and then rebuilding from source.
The concept behind colorOS is to have some of the features of a full operating system, such as:
- Multiple Concurrent Tasks (even on single core computers)
- Hierarchical File System (using FAT on an SDHC card)
- Keyboard & Display (for ease of use and setup)
- Network Connectivity (Ethernet & WiFi)
- Network Servers (Web, Telnet)
- Network Clients (HTTP, HTTPS, MQTT)
while also providing:
- Good Performance on Older Model Raspberry Pis or with < 1GB RAM
- Small Kernel & Fast Boot Time
- Cooperative / Non-Preemptive Scheduling (Tasks Maintain Control During Critical Sections)
In contrast, colorOS is NOT a full function general purpose operating system. The target is primarily for IoT projects that want to take advantage of the GPIO pins for monitoring and/or controlling the real world, but without the overhead of a general purpose OS. Custom functionality can be easily added as new commands can be written (in C++) and included within the kernel, although downloading and running new programs from external sources is not supported.
The colorOS operating system is designed to be used either behind the firewall, or in projects that are not connected to the public Internet. Therefore, it is also very light on security and encryption. If you have a device that is monitoring water flow or the environment or controlling a sump pump in your home, you don’t need much in the way of security and encryption, and are not accepting connections from the Internet.
To learn more about colorOS: