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

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

I think this project is really cool!

I think there’s a lot of complementarity with Stephen’s Rpanion Server project. ping @stephendade

By the way, the default OBAL RPI image could be a version of Rpanion Server… (flight controller + linux + networking management)

As @ppoirier pointed, an RT Kernel in the future would really be interesting. I would like to have more confidence that the Ardupilot code won’t lose space for scripts/programs in the OS would be interesting. If you wish, you could test some flights while running something like sysbench or geekbench.

I’ve had problems using RPi Zero as companion computers when it was some interpreted code… Today I prefer to use RPi 4 to be able to use pyhton and pymavlink at will.

I really enjoyed it, and I hope to build a unit when I have time.

1 Like

RT: I didnt have luck when I run RT. It crashed every time I used it !!!

Non-RT-RPI-4: It flies well when running on isolated cpu
check this AP-Hal_Linux: CPU Affinity by HefnySco · Pull Request #18684 · ArduPilot/ardupilot · GitHub
and I liked this solution. there is nothing special, no complex setup or special compiling. only very few parameter to set.

RPI-Zero: with normal raspberry image on Linux RPI-Zero it flew well also but 1 out of +15 I had an issue -not sure if it was because of the OS or not-.

The only issue I have now is that if I installed a camera on RPI-4 it does affect the readings of baro on I2C and causes some spikes. but anyway I dont believe that FCB and other devices such as cameras should share the same board. This is what companion boards for.

1 Like

I have www.andruav.com … I will release the linux version soon… it is pretty powerful.

1 Like

This is a video that describes how to setup OBAL board on RPI.

This is a playlist of all technical video related to OBAL.

I hope you find them useful and please execuse my English :frowning:

Hi, can I install and compile Ardupilot completely on Raspberry pi Zero W without using a second computer?
I’m using windows 10 and don’t really have much programming skills.

I followed the instructions from here: https://github.com/HefnySco/OBAL/blob/main/SourceCode.md
I get an error like this while running the command : “make obal”

What should I do next?

And I not really understand this
“For Raspberry-Zero you can download its cross-tool from here”

Does this mean that I will have to download “Raspberry Pi GCC Toolchains Files” to the memory card of the Raspberry Pi Zero W?

Sorry for asking too many questions, I’m just a newbie and don’t have any experience with programming, but I’m very curious to learn about Ardupilot and OBAL Broad


Do you have a group chat on Discord, Telegram or something … I really want to know more and can learn from you faster

No module named 'future'
You need to install this python module.
pip3 install future

For RPI-Zero you need to install another compiler.
then to make the board you need.

./waf clean
./waf configure --toolchain=/opt/cross-pi-gcc/bin/arm-linux-gnueabihf --board obal
./waf copter

the above path “/opt/cross-pi-gcc/bin/arm-linux-gnueabihf” is for Linux and you need to replace it with your Window’s path of the compiler.

Another option is that you compile the code directly on your RPI-Zero.

Finally I can compile it and send it to you :slight_smile:

Is it possible to use sbus or ibus with the raspberry? And when yes, how? Thx

Please follow this video 05 - OBAL - Tech How to use PPM instead of PWM for Ardupilot on Raspberry-PI - YouTube
RCInput_RPI driver should support pwm, ppm & sbus.

Ppm is already working, but I don’t get ibus working on it. It tested ibus with some modified version of a ibus test program for MCU’s on my raspberry but it looks like, ardupilot don’t recognize it. Did I something wrong? On start I give it the right serial with F parameter and in parameters I set serial5 protocol to rcin

Ok, looked I little bit into the code, looks like ibus isn’t integrated for Linux systems…

The function _process_rc_pulse in RCInput is called from RCInput_RPI.
The same PPM technique should work on SBUS.
I have not tried it but I am talking code wise.

I don’t get it working. But isn’t 100000 baud I little to fast for a normal gpio pin?
Btw, I have a python script that has no problem to decode ibus on the same hardware

Edit:
I got it working by using the RCInput_RCProtocol driver instead of the RCInput_RPI driver

Would you share this configuration please so that I can add it as an option to OBAL gitub
Thanks