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 1619b63744 Changed mount 6 luni în urmă
.github 7fa60f9b2d .github: add Tests workflow 5 luni în urmă
ap_git fecf71962d ap_git: force-create temp branch while shallow cloning from local repo 4 luni în urmă
build_manager bbd40dbcb1 build_manager: do not handle rate limit at module level 6 luni în urmă
builder ff56faef80 changing strategy in order to make the updates possible 1 lună în urmă
examples d6b19db363 examples: update remotes.json to remove ap_build_artifacts_url field 1 lună în urmă
metadata_manager 14e6fd11cd metadata_manager: use manifest.json to get standard build urls and features.txt url 1 lună în urmă
overlay_manager 1c01761c31 refining... 1 lună în urmă
scripts 7a8e1de220 scripts: drop cron based version updation scripts 1 lună în urmă
tests a23e63a4a1 tests: test metadata manager features.txt and standard artifacts collection 1 lună în urmă
utils 096170efdf utils: remove ratelimiter.py 6 luni în urmă
web ff56faef80 changing strategy in order to make the updates possible 1 lună în urmă
.flake8 ba9d691195 .flake8: add flake8 config 7 luni în urmă
.gitignore 944367a32f gitignore: ignore anything with the name base 1 an în urmă
LICENSE 519e1f8813 Initial commit 6 ani în urmă
README.md 9c9080182b updated readme 1 lună în urmă
Vagrantfile 28c381d75c Vagrant: add Vagrant vm definition and creation script 4 ani în urmă
docker-compose.yml 1619b63744 Changed mount 1 lună în urmă
pytest.ini 57cde470e9 pytest.ini: set CBS_RATE_LIMITER_STORAGE_URI for tests 5 luni în urmă

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