DIY BACnet Router
A small custom Linux OS (Buildroot) that routes BACnet/IP ↔ MS/TP, with a Rust data plane and a LAN management UI.
Ordinary boot is fail-closed (no forwarding). Lab source routing is evidenced; proving the same gates on a flashed Buildroot image, then shipping GitHub Release downloads from this site, are the open product steps.
Learn (start here)
- What is BACnet / IP / MS/TP? — beginner overview
- Stack map — rusty-bacnet vs bacpypes3 vs this app’s Rust/React/Buildroot
- Linux, USB serial, and MS/TP timing — why latency and by-id paths matter
- How we prove the live MS/TP trunk — SSH + cable listen explained simply; what Clause 9 means (not BTL)
- Buildroot recipe — what services make the appliance OS
- How we test — CI vs lab vs exact-image honesty
Build & run
| Page | What you get |
|---|---|
| Quick start | Run routerd on a workstation |
| Build images | GitHub Actions build-os → artifacts (Releases = milestone M8) |
| Architecture | Data plane vs management plane |
| Hardware | Waveshare USB RS-485 reference |
Pins
| Item | Value |
|---|---|
| Buildroot | 2026.05.2 |
| Rust (CI) | 1.93.0 |
| rusty-bacnet | acbf7baefe69d05f2368763dcc659d68e4bc114c |
Milestone snapshot
Keep the detailed checklist on the GitHub README.
- Done (source): M0–M3b scaffold, B/IP qualify, physical MS/TP qualify, isolated + shared-trunk routing evidence
- Open: M4 exact-image prove → M8 Release downloads → M9 optional local Buildroot only