Home
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.
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 |
- Learn more about the Whitebox Architecture
- Check out the Development Guide
- Explore the Plugin Guide to make your first plugin!
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.