Welcome to our Community
Wanting to join the rest of our members? Feel free to sign up today.
Sign up

Built a Custom Autopilot & Aircraft-Style HUD for the Bebop 1

ANEZATRA

Member
Joined
Aug 10, 2026
Messages
5
Reaction score
2
Hello everyone,

I wanted to share the modified Parrot Bebop 1 project I have been working on for some time.

In this project, I have made various modifications and additions to both the hardware and the user interface/software side of the Bebop.

First of all, I would like to clarify an important point: the drone’s core flight software, firmware, stabilization system, and primary flight-control infrastructure belong to Parrot and are based on Parrot’s original system. I did not write a completely new Bebop firmware or an entirely independent flight-control system from scratch.

My software work is an experimental extension/modification project based on Parrot’s original FreeFlight Android application.

I named the layer I added AGENA AeroCore. This name refers only to the HUD, control panel, autopilot control logic, and related features that I developed; it is not the name of the Bebop’s main firmware or Parrot’s own flight-control software.

My goal was to preserve the Bebop’s existing Parrot infrastructure while bringing its user-side flight interface and automatic control capabilities somewhat closer to an aircraft-style Automatic Flight Control System (AFCS).

The main features currently implemented in AeroCore include:

  • Aircraft-style custom HUD
  • MCP-style control panel
  • A/P Master
  • HDG SEL – selected heading control
  • ALT – selected altitude control
  • V/S – vertical speed control
  • SPD – forward speed control
  • Heading, altitude, speed, and vertical-speed target indicators
  • Autopilot mode/state logic
  • Telemetry monitoring
  • Manual-control override/disengagement logic
  • Various limits, telemetry validation, and safety checks
AeroCore uses the existing telemetry data provided by the Bebop and Parrot’s flight-control system. Depending on the selected mode, it evaluates values such as heading, speed, altitude, and vertical speed and performs its own control calculations.

These commands are then sent to the drone through Parrot’s existing flight-control/command infrastructure.

The architecture can be roughly thought of as:

Parrot Bebop firmware / flight-control system

Parrot telemetry & control interface

Modified FreeFlight application

AGENA AeroCore HUD / MCP / AFCS extension

Therefore, AeroCore is not a replacement flight controller for Parrot’s core stabilization and motor-control system. It is an experimental guidance / automatic-control layer added on top of the existing Bebop platform.

The project is still under development. I am currently continuing to test and simulate the control algorithms, telemetry handling, mode transitions, and safety/disengagement logic. For this reason, I do not consider it a finished or production-level flight system at this stage.

Hardware modifications​

I have also made several physical modifications to the drone:

  • 2500 mAh battery
  • Navigation/position lights
  • Two separate forward-facing white headlights
  • Various cosmetic modifications
One of my main goals with this project was to preserve the original character of the Bebop. Instead of replacing the entire system with a different flight controller, airframe, or completely different electronics, I found it more interesting to see how far the original Bebop platform could be extended.

The screenshots I have shared show the current AeroCore HUD/MCP interface, flight displays, and the physical modifications made to the drone.

I know that the Bebop 1 is now quite an old platform, but that is actually one of the things that makes it interesting to me. Its Linux-based architecture, Parrot’s ARSDK infrastructure, and separate BLDC motor-control system mean that there is still quite a lot that can be explored and experimented with.

I would especially be interested to hear from anyone who has previously experimented with Bebop firmware, ARSDK, FreeFlight, the BLDC controller, the Linux side of the drone, or custom flight-control software.

I would also love to hear what other Bebop owners think about the project and whether anyone else has made similar modifications.

photo_6039686692605726762_w.jpg85f5ec7e-cd05-41eb-bd53-8c094b29244f.jpgae75f6e8-f729-4fdc-a624-8e3456656964.jpgphoto_6039686692605726768_w.jpg
 
Great project! I recently started my journey with a bebop + Skycontroller, it’s my first time with a drone and I want to experiment with autonomous flying for a project I have in mind. Right now I’m playing with ros (bebop_autonomy). Next I want to see if i can improve stability by pid tuning (it seems that all the parameters are stored in a config file under /etc folder).

Is yours a separate app or does it need the original freeflight ? Do you plan to make it open source?
 
  • Like
Reactions: ANEZATRA
Sounds great! Maybe you could combine it with my open source free flight replacement, parrot lab it supports both bb2 and bb1 as they are the same app => drone functionally, its currently on GitHub at GitHub - GiannisTDM/parrot-lab: Beta macOS ground station and diagnostics suite for Parrot Bebop 2 and SkyController 2 Currently native to apple silicon and I am currently for the next version trying to disassemble and probe dragon prog to enable native 1080p30 streaming and in app stabilisation removing that task from the drone and enabling greater denoising, stabilisation and image clarity enhancement in the end!
 
  • Like
Reactions: ANEZATRA
Great project! I recently started my journey with a bebop + Skycontroller, it’s my first time with a drone and I want to experiment with autonomous flying for a project I have in mind. Right now I’m playing with ros (bebop_autonomy). Next I want to see if i can improve stability by pid tuning (it seems that all the parameters are stored in a config file under /etc folder).

Is yours a separate app or does it need the original freeflight ? Do you plan to make it open source?
Hello! First of all, thank you very much for your kind comment. 😊

At the moment, the project is built on top of FreeFlight 3. However, in the next stage, I’m planning to separate all of the modules I’ve written from the existing FreeFlight structure and move them into a completely independent application built from scratch.

Once that transition is complete, I plan to release the project as open source on my GitHub account. When I publish it, I’ll definitely send you the link as well.

By the way, bebop automomy is a really great project. Being able to access lower-level control of the Bebop through ROS and experiment with things like PID tuning is especially interesting. I’m also curious to see how your project develops. 🚁
 
Harika! Belki de bunu açık kaynaklı ücretsiz uçuş alternatifi olan Parrot Lab ile birleştirebilirsiniz; aynı uygulama => drone işlevselliğine sahip oldukları için hem BB2 hem de BB1'i destekliyor. Şu anda GitHub'da GitHub - GiannisTDM/parrot-lab: Beta macOS ground station and diagnostics suite for Parrot Bebop 2 and SkyController 2 adresinde bulunuyor . Şu anda Apple Silicon'a özgü ve bir sonraki sürüm için Dragon Prog'u parçalarına ayırıp inceleyerek yerel 1080p30 akışını ve uygulama içi stabilizasyonu etkinleştirmeye çalışıyorum; bu görevi drone'dan alıp daha fazla gürültü azaltma, stabilizasyon ve görüntü netliği iyileştirmesi sağlayacağım!
That sounds really interesting — thanks for sharing it! I hadn’t looked closely at Parrot Lab before, but having a common codebase that supports both the Bebop 1 and Bebop 2 could definitely make it a very useful foundation. I’ll take a closer look at the project and see how well it could integrate with what I’m building.

Your work on native 1080p30 streaming and moving stabilization/post-processing from the drone to the application side also sounds especially interesting. Offloading that work could open up a lot more possibilities for stabilization, noise reduction, and image enhancement without being limited by the Bebop’s onboard processing.

If the architectures are compatible, it would be great to explore whether some parts of my autopilot/FMS functionality could eventually work alongside Parrot Lab rather than reinventing everything from scratch.

Please keep me updated on your progress with Dragon Prog and the next release — I’d definitely like to follow the project.
 
That sounds really interesting — thanks for sharing it! I hadn’t looked closely at Parrot Lab before, but having a common codebase that supports both the Bebop 1 and Bebop 2 could definitely make it a very useful foundation. I’ll take a closer look at the project and see how well it could integrate with what I’m building.

Your work on native 1080p30 streaming and moving stabilization/post-processing from the drone to the application side also sounds especially interesting. Offloading that work could open up a lot more possibilities for stabilization, noise reduction, and image enhancement without being limited by the Bebop’s onboard processing.

If the architectures are compatible, it would be great to explore whether some parts of my autopilot/FMS functionality could eventually work alongside Parrot Lab rather than reinventing everything from scratch.

Please keep me updated on your progress with Dragon Prog and the next release — I’d definitely like to follow the project.
Parrot Lab is and will remain open source and free under the MIT license I have in my GitHub so feel free to integrate, modify and fork it to your own codebase! The bb2/bb1 architecture marginally couldn't handle 1080p streaming with decent enough performance for me to consider it ( the drone could only manage 1080p at 20fps which is way too low and the frame times were laggy and inconsistent) So even after extreme reverse engineering, to the ARM instruction level mind you, I couldn't make the hardware work so I settled to 900p (1600 * 900) resolution which still offers a nice quality bump over 720p (1280 * 720) and will allow for better enhancements. Currently for version 3 I am trying to implement temporal upscaling and denoising as well as H264 block denoising, its actually way more than that but I don't think I should go that deep on a forum but stay tuned for parrot lab v1.3 coming in the next few days as well as stay tuned on my forum post, you can see some early results there, those were without the more complicated temporal upscaling, they were normal spatial upscaling! Working on new Mac OS free flight pro replacement - Currently working - expansion of my power mod work for the bb2/sc2
 
  • Like
Reactions: ANEZATRA
Parrot Lab is and will remain open source and free under the MIT license I have in my GitHub so feel free to integrate, modify and fork it to your own codebase! The bb2/bb1 architecture marginally couldn't handle 1080p streaming with decent enough performance for me to consider it ( the drone could only manage 1080p at 20fps which is way too low and the frame times were laggy and inconsistent) So even after extreme reverse engineering, to the ARM instruction level mind you, I couldn't make the hardware work so I settled to 900p (1600 * 900) resolution which still offers a nice quality bump over 720p (1280 * 720) and will allow for better enhancements. Currently for version 3 I am trying to implement temporal upscaling and denoising as well as H264 block denoising, its actually way more than that but I don't think I should go that deep on a forum but stay tuned for parrot lab v1.3 coming in the next few days as well as stay tuned on my forum post, you can see some early results there, those were without the more complicated temporal upscaling, they were normal spatial upscaling! Working on new Mac OS free flight pro replacement - Currently working - expansion of my power mod work for the bb2/sc2
This is seriously impressive work — congratulations! 👏🔥

The amount of engineering, reverse engineering, testing, and optimization that has clearly gone into Parrot Lab is remarkable. I also really respect your decision to keep the project completely free and open source under the MIT license. Giving the community the freedom to study the code, modify it, integrate parts of it into their own projects, and fork it is exactly the kind of approach that can keep the Bebop platform alive long after official development has ended.

Your explanation regarding 1080p on the BB1/BB2 hardware also makes a lot of sense. On paper, 1080p obviously sounds like the ideal target, but if the hardware can only sustain around 20 FPS with inconsistent frame timing, latency, and poor overall performance, then the higher resolution becomes much less useful in practice. Choosing 1600×900 as a middle ground seems like a very smart engineering decision: it provides a noticeable improvement over 1280×720 while still leaving enough processing headroom for further image-quality improvements.

What makes this even more interesting is that you went as far as ARM instruction-level reverse engineering trying to make the hardware do more. Even reaching the point where you can confidently determine that a limitation is fundamentally hardware-related takes a huge amount of work and understanding.

I'm especially excited about what you're planning for Parrot Lab v1.3. Temporal upscaling, denoising, and H.264 block artifact reduction could potentially make a much bigger real-world difference than simply increasing the raw streaming resolution. Temporal processing in particular is fascinating because you're able to use information from multiple frames rather than treating every frame independently. If you can get that working efficiently on this platform, it could be a very significant improvement for Bebop video quality.

The early spatial-upscaling results are already very interesting, so I'm genuinely curious to see what the temporal approach will look like once it is mature. The fact that there is even more going on behind the scenes than what you've described on the forum makes v1.3 even more exciting.

As someone who is also very interested in the Parrot Bebop platform, modifying it, experimenting with its software, telemetry, flight-control systems, and extending what these older drones are capable of, projects like this are incredibly valuable to me. Bebop hardware may be old by today's standards, but its openness makes it much more interesting than many newer consumer drones. Being able to explore the system, understand how it works, and build entirely new functionality around it is a huge part of what makes the platform special.

Thank you for putting this much time and effort into the project and, especially, for sharing the results with everyone instead of keeping the research closed. I'm definitely going to keep following Parrot Lab and the upcoming v1.3 release.

Massive respect for the work you've done so far, and congratulations again. 🚁🧠🔥 I hope you continue pushing the Bebop platform further — I'm very interested to see where this project goes next.

If you'd ever like to talk about Bebop development, reverse engineering, custom software, or exchange ideas about these projects, feel free to contact me on Instagram:

Instagram

I'd be very happy to talk and exchange ideas. Keep up the amazing work! 👏
 

Members online

No members online now.

Forum statistics

Threads
5,508
Messages
45,689
Members
9,100
Latest member
Fal$ePr0fit