# 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