Skip to content

Home

Whitebox logo

License: AGPL v3 Flying

Description

Whitebox is a modular flight recording and sharing system for small airplanes, enhancing the flight experience by allowing pilots and passengers to record, review, and share flight data, communications, and media. It can also be used to review training flights during debrief, taking care of synchronizing and uploading the flight data to the cloud.

Think of an open source counterpart to the black boxes airplanes have to record all information about a flight.

It is a small computer which you bring with you in the cockpit during flight, and it connects to various additional recording devices, such as a 360 camera or the passengers' phones. It can be used by both the pilot and/or the passengers, from their tablets, phones, or laptops over Wi-Fi, using the devices' web browser.

Documentation is available at docs.whitebox.aero.

Certification

It is an uncertified system which is not directly connected to the airplane systems, much like a tablet running Foreflight or SkyDemon. It can thus be brought in with you on any general aviation airplane. Being also open source, it can be freely accessed, modified, and built on top of.

System Overview

Whitebox provides real-time communication capabilities between devices. The system features:

  • A web interface for flight tracking and recording
  • Plugin system for extensibility
  • Standard and thoroughly-documented API for plugins to interact with the system, and with one another
  • Event-driven architecture
  • Real-time communication between clients, server, and plugins
  • Database for persistent storage
  • Docker support for easy deployment

Frontend is built mobile-first, so you can conveniently use it on your phone or tablet, even in the cockpit.

Whitebox is developed with Django, Channels and RQ on backend, and React and Tailwind CSS on frontend.

Installation and Usage

Hardware Setup

If you are just setting up the project on your laptop to test it, you can skip this section.

Hardware Setup →

Quick Build for Development

If you're setting up a development environment on your laptop (not Orange Pi), you can skip the network and Wi-Fi access point steps and just:

# Clone repository
git clone https://gitlab.com/whitebox-aero/whitebox
cd whitebox

# Create .env file
cp .env.example .env

# Edit .env to set env vars as needed and save the file
nano .env

# Start development environment
docker compose -f compose.dev.yml up -d

# Or, if you'd like to force all containers to be re-created even if there are no
# changes to apply to them, you can use `--force-recreate`:
# docker compose -f compose.dev.yml up -d --force-recreate

# Access at http://localhost:80 (frontend) and http://localhost:8000 (backend)

Starting Whitebox

If you have followed the steps above, Whitebox should be running in a few moments!

Depending on your setup, you can now access it here:

Local setup Hardware setup
Frontend http://localhost:3000 http://10.42.0.1
Backend http://localhost:8000 http://10.42.0.1:8000

Plugins

Official Whitebox plugins are available on PyPI.

🚀 Interested in developing plugins? See the Plugin Guide.

Roadmap

For a roadmap and planned features, check Roadmap.

Support

If you find an issue with the software, please open a bug report ticket, or write to support@whitebox.aero.

You can also get involved by:

Contributing

Merge requests are welcome! To contribute, feel free to open one on our GitLab repo, or reach out to contact@whitebox.aero.

License

The project is released under the AGPLv3.