Machina

Machina is a minimalist [kernel and] operating system for Raspberry Pi. The project is just beginning, but intents to provide a simple and extensible operating system able to run in every Raspberry Pi board.

Some of the planned features are:

  • Process isolation;
  • Multi-threading;
  • Support for I2C and SPI bus;
  • Support for USB bus;
  • Ethernet and wifi connectivity;
  • Command line interface;

Another nice feature is that you will be able to choose, at compile time, which components you want to include in your build. This is particularly useful for people who want to use the kernel as a library to create your own bare metal software.

The source code is developed and tested with Raspberry PI 1 Model B and Raspberry Pi 3 Model B. However, it should be easily ported to other Raspberry boards.

Contributions with coding or testing are welcome!

A little about Raspberry Pi

Raspberrypi

The Raspberry PiĀ® is a series of credit card-sized single-board computers developed in the United Kingdom by the Raspberry Pi Foundation to promote the teaching of basic computer science in schools and developing countries. All models feature a Broadcom system on a chip (SoC), which includes an ARM compatible central processing unit (CPU) and an on chip graphics processing unit (GPU, a VideoCore IV). CPU speed ranges from 700 MHz to 1.2 GHz for the Pi 3 and on board memory range from 256 MB to 1 GB RAM — Wikipedia.

The operating system and programs are stored using SD cards (SDHC or MicroSDHC). Most boards have between one and four USB slots, HDMI and composite video output, and a 3.5 mm phono jack for audio. Also, the B-models have an 8P8C Ethernet port and the Pi 3 has on board Wi-Fi 802.11n and Bluetooth.

Finally, for people interested in create amazing things using Raspberry Pi as an embedded platform, the boards provides a number of GPIO pins which support common protocols like I2C.

Why Raspberry Pi?

There's a lot of other platforms out there, with different features and some more open them others. Technically, I choose Raspberry Pi because it's a platform with great features and a growing community. But I have to mention that is mostly because the philosophy:

We provide low-cost, high-performance computers that people use to learn, solve problems and have fun. We provide outreach and education to help more people access computing and digital making. We develop free resources to help people learn about computing and how to make things with computers, and train educators who can guide other people to learn. — Raspberry Pi Foundation