Servers by jDrones

OBAL - A Simple Linux-based Raspberry-Pi Ardupilot FCB

This article describes a new Linux-based board for Ardupilot called Open-Board Architecture for Linux (OBAL). It is designed to be simple to build by professionals as well as hobbyists.

OBAL acts as a simple board with necessary sensors that can be upgraded easily. The board is built over Raspberry Pi. It can use Raspberry Pi 2,3,4 & zero.

Current Linux-based Ardupilot flight controllers that run on Raspberry Pi usually consist of a shield with built-in sensors on it. That cannot be removed or replaced easily. However OBAL is more like a test or development board, where you can remove sensors and replace sensors easily. Also sensors on the board are breakouts that you can solder easily.

OBAL does not use any closed source code, or specialized drivers. It is all open and can be compiled from scratch. Also schematic and board are all published and available to access.

OBAL can be the start step for understanding Ardupilot Linux-based boards and for building more complex boards.

The vision is to provide that:

  • Is a simple board that is easy to solder and assembled at home.
  • Can be customized and upgraded easily.
  • Acts as a developing and/or test platform to enable developers, engineer & hobbyist who are interested in understanding Ardupilot hardware/software.
  • Complete Open-Source Hardware/Software and works on native Ardupilot code with no extra drivers.

Technical Specification

The board is simple and contains only necessary sensors with no redundant components. However extra SPI & I2C sockets are available to extend board capability and connect more sensors.

The board also has a safety switch that prevents the motors from turning on. The switch is connected directly to output and is not connected logically to Ardupilot so it is an external safety mechanism.

The board enabled users to make it at home with simple soldering techniques. It uses breakouts that are famous and available worldwide.

Only two SMD resistors are required and it is not that hard to solder.

Board Schematic is very simple and you can clone and update easily . Also the code is at this branch and is submitted to Ardupilot master code in this PR.

More about the board is in the following manual

Below are some videos for flying the board.

video 1
video 2

OBAL name is inspired by OPAL Stone where there are many colors and shapes. OBAL can be customized in many ways. I hope people can make updates, upgrades share the learning experience and have fun with Autopilot.


Great to see this. I hope it’s OK I moved a picture to the top to make the blog prettier when viewed from

1 Like

Have you built with standard kernel or a RT Preempt like I did a few years ago ?

1 Like

I didnt use a RT kernel on RPI-Z… And it works fine… Sure your post was an inspiration for me.

1 Like

The issue with these type of boards is their dependency on RCInput_RPI, It had a bug that made the system randomly crashed. This bug was solved in this PR a year ago.

1 Like

BTW I tried 10DOF – GY-91 4-in-1 MPU-9250 and BMP280 Multi-Sensor Module to access baro & MPU on the same board. but for unclear reason the SPI access of Baro with MOU didnt work well with me. I guess the key is the IMU_INT that you use in your configuration. I am still investigating into this point.

If I remember well this unit was only working correctly in I2C mode

I could make it work on SPI but if and only if I disable the baro. otherwise the baro affect the MPU readings and starts to report dropped readings.

I tested the board on RPI-4 in this video
My next step is to switch to Linux-RT for now I am running it using normal RPI-OS.
I will also look into make one of the core dedicated to ardupilot … if someone can help here he/she is welcome.

Another way for installing OBAL board.

I used Female pins like this one. The result is that you all RPI pins exposed. You can connect and modify as you wish.

1 Like
Servers by jDrones