This is a customised Ardupilot firmware builder which allows to integrate custom patches, recall old builds etc. This is hosted on a private server but publicly accessible and the source code can be downloaded by anyone. Detailed instruction on how to build your custom firmware patcher based with this code are in the readme below. A live version of this app can be accessed here: https://ardupilot.equalmass.com

Nicole Portas 1140b362b6 updated readme há 1 mês atrás
.github ddeee32f76 .github: add workflow to run flake8 há 2 meses atrás
ap_git 5ace3c503e ap_git: add GitRepo.clone_if_needed method há 1 ano atrás
build_manager 48b3a2334a build_manager: store version id in build metadata há 1 mês atrás
builder 5c845bc9f1 changing strategy in order to make the updates possible há 1 mês atrás
examples a1cf37e4ee examples: do not expose /artifacts dir through apache há 10 meses atrás
metadata_manager 0b290940c8 metadata_manager: add method to get feature defaults from firmware server há 2 meses atrás
overlay_manager fcde3f37ae refining... há 1 mês atrás
scripts 9842f3de72 scripts: fetch AP_Periph releases as well há 10 meses atrás
utils ce201be66a utils: wrap target method call in TaskRunner inside try-except há 11 meses atrás
web 5c845bc9f1 changing strategy in order to make the updates possible há 1 mês atrás
.flake8 ba9d691195 .flake8: add flake8 config há 2 meses atrás
.gitignore 944367a32f gitignore: ignore anything with the name base há 11 meses atrás
LICENSE 519e1f8813 Initial commit há 5 anos atrás
README.md 1140b362b6 updated readme há 1 mês atrás
Vagrantfile 28c381d75c Vagrant: add Vagrant vm definition and creation script há 4 anos atrás
docker-compose.yml 5c845bc9f1 changing strategy in order to make the updates possible há 1 mês atrás

README.md

ArduPilot Custom Firmware Builder (EqualMass Edition)

🛠EqualMass Customization Layer (Added Feb 2026)

This repository has been customized to support a persistent, automated Patch Management System. These modifications allow for custom source code injection and regional data integration while maintaining a production-grade infrastructure on Debian 13.

📁 Modified & New Files

  • docker-compose.yml: Updated to include the overlay-manager sidecar service and shared volumes for persistent code injection.
  • builder/builder.py: Modified to detect custom source files in the /srv directory. The engine now automatically merges these overlays into the ArduPilot source tree before the Waf compiler begins the build.
  • web/templates/index.html: The main dashboard now features a stylized "Patch Manager" bridge button in the navigation bar to allow seamless switching between the builder and the sidecar.
  • overlay_manager/ (New Service):
    • main.py: A FastAPI-based engine designed to manage (Upload/Edit/Delete) custom source files within the Docker environment.
    • templates/index.html: A custom UI for managing patches, matching the ArduPilot ecosystem aesthetic.
    • static/logo.png: Localized branding assets for the sidecar interface.

🌐 Network & Routing Architecture

The system is unified behind an Nginx Reverse Proxy to provide a professional, single-domain experience:

  • Main Builder UI: https://ardupilot.equalmass.com/ (Proxied to port 11080).
  • Patch Manager: https://ardupilot.equalmass.com/patch-manager/ (Proxied to port 11081).
  • SSL Termination: Managed via Nginx for the equalmass.com domain.

ArduPilot Custom Firmware Builder (Original Documentation)

This is the web application for ArduPilot's custom firmware builder. It allows users to build custom ArduPilot firmware by selecting the features they want to include.

🛠️ Development

You can run the application using Docker and Docker Compose:

```bash docker-compose up --build