Main Page

From Ultibo.org
Revision as of 02:30, 27 January 2016 by Ultibo (Talk | contribs)

Jump to: navigation, search

ULTIBO-ORG-250x88.png


Welcome to the Ultibo wiki, the place to find detailed information about Ultibo, what it can do and how to use it.


What is Ultibo?


Ultibo core is a full featured environment for embedded or bare metal (without an operating system) development on Raspberry Pi. It is not an operating system itself but provides many of the same services as an OS such as memory management, threading, networking and file systems. Primarily intended to make development of embedded applications as similar as possible to development for other platforms by providing common features and services and eliminating the need to begin from scratch, Ultibo core can be used in many different ways.

You may want to use it simply to develop applications that take advantage of the extensive API to create connected devices which support common hardware such as USB and standard protocols like IP, TCP and UDP or physical computing via GPIO control. Alternatively you might use it to experiment with operating system design and embedded development, avoiding the need to create everything from scratch and allowing you to focus on trying out ideas and concepts in an environment where the basics are already taken care of.

More advanced users may opt to use Ultibo core as a base for exploring specific ARM technologies such as TrustZone and Hypervisor mode, because you have complete and unrestricted hardware access you can "take over" one or more CPUs for example to use as you require and still allow Ultibo core to provide basic services like network connectivity and logging.

While Ultibo core is not designed as a real time operating system (RTOS) it offers unrestricted access to hardware and allows the option for including real time components without the need to circumvent the OS functionality.

Whichever way you choose to use it, the possibilities are only limited by your imagination.

Getting Started


Based on the powerful open source Free Pascal compiler and the Lazarus integrated development environment (IDE), Ultibo core doesn't require you to gather together components to create a development environment or wrestle with linker script syntax. Everything you need to create and compile working applications is included in the installer download so you can create your first embedded application as easily as starting a new project, adding a few lines of code and compiling.

Getting Started - A simple guide to creating your first embedded application.

Architecture and Design


Designed as a unikernel or kernel in a run time library (RTL), Ultibo core is much more than just a boot loader or helper library. When you compile even the simplest application the core functionality of threading, memory management, interrupt handling, clock, timers, strings, objects etc is automatically included in your program so before your code is executed a complete environment has been established to support your application. You don't need to know how it works to use Ultibo core but being open source everything is there for you to explore.

Architecture and Design - Detailed information about the internal workings of Ultibo core.

Developing with Ultibo



Unit Reference - Complete API reference for all Ultibo core units.

Hardware Information



Current Status



Useful Resources



Licence