[Open Board] Pi-Fly

3D PCB

:rocket: Introducing Pi-Fly: A Powerful Linux-Based Raspberry Pi ArduPilot Flight Controller

Hello everyone,

I’m excited to introduce Pi-Fly, the next evolution of Linux-based Raspberry Pi flight controller for ArduPilot! :tada:

Many thanks for Mohammad Hefny for supporting me in the initial phase of the project.

What’s New in Pi-Fly?

Pi-Fly brings major improvements over the initial release, including:

  • :white_check_mark: 64-bit architecture (faster performance & better memory management)
  • :white_check_mark: Automated setup via script (no more manual configuration!)
  • :white_check_mark: Support for multiple IMUs (GY-91, GY-912, and more)
  • :white_check_mark: IBUS & SBUS support for RC communication
  • :white_check_mark: SSD1306 display integration for real-time flight data
  • :white_check_mark: Enhanced power management with ADS1115 & ArduPilot power module
  • :white_check_mark: HGLRC M100-5883 GPS (u-blox M10) for accurate navigation
  • :white_check_mark: Pi Camera Module 3 support for AI applications :rocket:
  • :white_check_mark: Better hardware compatibility & improved logic level conversion

Why Raspberry Pi?

With the Raspberry Pi 4, Pi-Fly is not just an autopilot—it’s a computational powerhouse. The Pi Camera support opens doors for AI-based applications, such as object detection and visual navigation.

Project Link & Details

Check out the full details and setup guide here:
:backhand_index_pointing_right: GitHub (Pi-Fly)
:backhand_index_pointing_right: GitHub Wiki (Pi-Fly)

Support & Feedback

This project has taken a lot of prototyping, testing, and development. If you find Pi-Fly useful, please consider supporting the project. Your feedback, testing, and contributions are greatly appreciated!

Let me know what you think! I’d love to hear your thoughts and suggestions. :rocket:

Drone

Armed

3 Likes

I appreciate your efforts in adapting and building upon the OBAL board design, and I’m really pleased to see that it has inspired you to create a useful implementation.

However, I must respectfully disagree with labeling your version ‘OBAL_V2’. The original OBAL board already incorporates features like LEDs, a buzzer even LED screen is already available throught through external I2C connections available on OBAL board. Furthermore, the IMU configuration in your design utilizes an I2C bus shared with other devices, which can introduce performance limitations compared to the dedicated SPI bus implementation on the original OBAL board.

While I acknowledge your modifications, these changes do not fundamentally improve upon the original design’s core functionality or performance to warrant a ‘V2’ designation. I believe it’s more accurate to describe your work as an alternative implementation or a derivative of the original OBAL design.

Ultimately, I’m really glad to see this outcome and the continued interest in the OBAL board’s potential.

2 Likes

Nice projet.

But please don’t trust AI to generate technical.content specially when you don’t master promptings… You content is full of approximation and false statements.

And then install script need a lot of work to be trustable …
So that is just a start ! Keep going

1 Like

please let me know which false statements you observed …

The script is just automation to the steps of initial OBAL. I used the install script and it works super fine for my project. The code is open source. feel free to tune it for your needs.

I would appreciate it if you could choose a different name for your project. ‘OBAL’ is my name, and I haven’t given anyone permission to use it.

4 Likes

Here are some example :

64-bit architecture (faster performance & better memory management) ← nothing true there … 64bit isn’t faster nor better in memory management than 32bits

Automated setup ← mostly nothing is setup and there is no errors management and doubtful pattern : os.system(“sudo XXX”), etc.

Linux Kernel Bulleyes ← hum ?

“configure your system for optimal performance” ← now way near optimal even on rpi

So yes, you bring new hardware support but from software that is far from as great as advertised

1 Like

Hi @mr_byte31,

Thanks for the blog post! To make it a bit more attractive when viewed from ardupilot.org I’ve moved one of the pictures to the top, hope that’s OK!

BTW, if @MHefny is correct that the new board uses I2C for the IMU instead of SPI then I think that would be very good to correct that and move back to SPI. The beagle bone blue was a linux board that used I2C for the IMU and it’s performance was so poor that it left no CPU remaining to do anything interesting with.

2 Likes

@MHefny , I am not sure about such sensitivities.

Anyway, I changed the project name to Pi-Fly.

Many thanks for the hint. I will definitely consider this for my analysis for the new board.

I would appreciate your advise to integrate my work to the mainline of Ardupilot. please feel free to PM me.

1 Like

Thank you much appreciated.

1 Like

I agree, I thought this was your board.

2 Likes