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

Sorry for long time no update. I would like to start the discussion again, hope you can help me

I did step by step as instructed. and when i run the command :

  • sudo /home/pi/ardupilot/build/obal/bin/arduplane -A udp:192.168.137.1:14550

i get this error :

I try running i2c test “i2cdetect -y 1” and get this

Is there any way to fix this error?


This is the circuit board that i followed the instructions

Please make sure you are running the correct firmware. Download master from github and compile it.

I download the latest firmware version “Plane/stable-4.3.7/obal”

When running this command: “sudo /home/pi/arduplane1 -A udp:192.168.137.1:14550”
I got this message


However Raspberry pi can connect to Mission Planner


When I change the command line, the screen display is different “sudo /home/pi/arduplane1 -C udp:192.168.137.1:14550”

but now Mission Planner is not connecting to Raspberry pi


Did I enter the wrong command line?

Raspberry Pi is running the Raspbian buster operating system

please try master

Sorry about my stupidity, i restarted my laptop and ran the command again “sudo /home/pi/arduplane1 -C udp:192.168.137.1:14550”

I noticed Mission Planner found the Raspberry Pi and got the Obal board

Is this a sign of success?

1 Like

I am happy it worked with you.
kindly share with me the seller of the sensor as O have problems with some people now in getting non-fake sensors.

Thanks

@MHefny i was wondering why you decided to NOT use the Hardware PWM units on the raspberry for PWM creation, but instead create the PWM with a external chip?
There are 4 available on two row pinheader, which would fit quite well for a Quadcopter usecase: PWM at Raspberry Pi GPIO Pinout
There are more available if one plans to build a custom CM4 board.

UPDATE: its actually only 2 PWMs signals but on 4 pins.

Hi,
This scenario may fits but only for quadcopter, and may affect the ability to run ardupilot app itself because of handling this pwm.
my latest solution which is much better is https://medium.com/@mohammad.hefny/ardupilot-linux-based-system-stm32-as-a-breakout-module-part-2-5db4ce7cfe3e which uses a complete co-microprocessor to generate PWM and other ESC signals. It also enables using other boards rather than RPI, maybe Mango -I hope-.

Wow! Thanks for your work on this, this looks promising!

Why did you decide against using AP_IOMCU but instead used betaflight?

My solution is not final yet. It happened to be betaflight, but nothing is final yet.
Also I am not using the flight control system. I am selecting some libraries and building some.
Glad that you liked it.

1 Like

Thx man for the brilliant work.

I could see that you decided to used many pins for the RC_input.

@MHefny , I am just wondering if there is any reason why you didn’t choose IBUS or SBUS protocols to save pins of the PI ?

Hello, I am a beginner and I’m having some difficulties. I am using a Raspberry Pi 4 (Linux raspberrypi 6.6.69-v8+ 1 SMP PREEMPT Sat Jan 4 21:36:40 -03 2025 aarch64 GNU/Linux) and I have modified the kernel (like this: Running Ardupilot on Raspberry OS-64 (bullseye) | by Mohammad Hefny | Medium). I built the code following the instructions from this guide:
git clone GitHub - ArduPilot/ardupilot: ArduPlane, ArduCopter, ArduRover, ArduSub source
cd ardupilot
git submodule update --init --recursive
make obal
./waf configure --toolchain=/opt/cross-pi-gcc/bin/arm-linux-gnueabihf --board obal
./waf sub
nano /home/pi/ardupilot.parm
SYSID_THISMAV 1
FRAME_CLASS 2
FRAME_TYPE 0
sudo /home/pi/ardusub --serial0 udp:192.168.1.15:14550




The Mission Planner establishes communication but does not receive sensor data.

Which Baro do you use?

First of all, thank you for your prompt response. Initially, I was using a sensor I had purchased as a BMP280. After asking, I continued testing and discovered that it was detected at the address 0x76 0xD0 0x60, which means it’s actually a BME280, and perhaps that’s why it didn’t work.

After that, I tried a sensor I use with the Pixhawk, the MS5837, but it also didn’t work initially. However, when I tried again to respond to your question, it finally started working. Most likely, the first time I tried, I connected the sensor to the same bus as the BME280 with the same address, which must have caused a conflict. Now, after disconnecting the first sensor, it’s working perfectly!

I feel a bit embarrassed because I had tried extensively before asking, but at the same time, I’m very happy that it’s now working.


hi, did you find the reason why Mission Planner can’t connect OBAL board? I am also having the same problem. The baro sensor I use is BMP180. I tried all the parameters but still can’t make it work can you share your experience with me

Which Baro did you use and how you connect it?




i use Baro BMP180 And this is my board

1 Like


i downloaded the latest version of Arducopter



i downloaded the latest version of Arducopter. and here are the commands i ran on Raspberry pi Zero 2 W

sudo /home/pi/arducopter --serial0 udp:192.168.137.1:14550
sudo /home/pi/arducopter -A udp:192.168.137.1:14550

i tried recompiling OBAL but the result is the same

the above commands when run can connect to Mission Planner

the above commands when run can connect to Mission Planner
but if I change the parameter -A to -C
the result is like this

I used to run Ardupilot well and successfully connect to Mission Planner on this board built a few months ago. But then I temporarily put aside the work of testing this board.

Now I go back, do exactly what I did and I have this problem again.

I tried running the command i2cdetect -y 1
and found that the board recognizes the components

so I really don’t know where the problem is

I don’t know what exactly is the problem.

let’s start with easy tests. can you try this library : GitHub - m-rtijn/bmp180: A Python module to handle the I2C communication between a Raspberry Pi and a BMP180

it shall try to access the Baro and see if it really works.