A full-featured BACnet controller that runs as a virtual appliance on any hypervisor or as a native controller on any Linux single-board computer with auto-detected physical I/O. Multi-protocol integration—BACnet/IP, BACnet/SC, Modbus TCP, Modbus RTU, MQTT, HTTP/REST, and OPC UA—plus a built-in OPC UA server for SCADA systems.
Write control programs in Python, integrate multiple protocols, and manage everything from a modern web interface.
18 HVAC classes, 23 program templates, built-in linter, hot-reload. Import from PPCL, Plain English, GCL+, Control Basic, and XML.
7 protocols: BACnet/IP, BACnet/SC, Modbus TCP, Modbus RTU, MQTT, HTTP/REST, OPC UA. Built-in OPC UA server for SCADA integration. App Builder with auto-discovery for all protocols.
228/228 BACnet conformance tests. 20,000 objects on 1 GB RAM. 11-hour stability test with zero crashes. Penetration tested with all findings fixed. Trend logging, scheduling, alarm management, and email notifications included.
MFA with TOTP and FIDO2/WebAuthn hardware keys. Role-based access control, login alerts, rate limiting, TLS 1.2+ with custom CA, and API key auth. BACnet/SC (Secure Connect) with TLS 1.3, mutual X.509 certificate authentication, and Direct Connect for encrypted peer-to-peer BACnet communication. Full pen test completed — security headers, timing-safe auth, secret masking.
SVG equipment graphics with live BACnet binding. 8 pre-built HVAC templates. Viewer tokens for lobby displays. Dark-theme dashboard with trend charts.
Web UI, 35+ REST API endpoints, and 37 MCP integration tools. SSH management console with interactive CLI, tab completion, and network diagnostics. Session tracking, audit trails, user management.
Import the virtual appliance into your hypervisor, set the network to bridged, and you have a working BACnet controller in under 5 minutes.
Choose OVA, VHD, or qcow2 for your hypervisor
Deploy the virtual appliance in your hypervisor
Set the VM network adapter to Bridged mode
Browse to https://<vm-ip> and start building
docker run -d --name bacsync-controller --network host \ -v bacsync-data:/app/data \ -v bacsync-programs:/app/programs/user \ ghcr.io/humber-horizons-limited/bsc-1000:latest
| Feature | Community (Free) | Professional |
|---|---|---|
| BACnet Objects | Unlimited | Unlimited |
| Control Programs | 3 | Unlimited |
| Trend Logs | 3 | Unlimited |
| Schedules | 5 | Unlimited |
| Alarms (on-screen) | ✓ | ✓ |
| Alarm Email Notifications | — | ✓ |
| Login Alerts & Test Email | ✓ | ✓ |
| Web UI, REST API & MCP Tools | ✓ | ✓ |
| App Builder (6 protocols) | 1 app / 10 points | Unlimited |
| MQTT Bridge (Publish All to Broker) | — | ✓ |
| Modbus TCP Server (Expose Registers) | — | ✓ |
| Custom Graphics | 1 page | Unlimited |
| Viewer Tokens (Shareable Displays) | — | ✓ |
| SSH Console & Network Diagnostics | Read-only | Full access |
| BACnet/IP + BBMD + HTTPS | ✓ | ✓ |
| OPC UA Server (SCADA Integration) | Read-only | Read + Write |
| BACnet/SC (Secure Connect) & MS/TP | — | ✓ |
| Multi-User & RBAC | 1 admin | Unlimited |
| Priority Support | — | ✓ |
The Community Edition is free forever — no trial period, no time limit, no license file required. Unlimited BACnet objects out of the box.
Comprehensive protocol conformance, stress testing, multi-hour stability runs, and security audits—not just unit tests.
| Test Phase | Tests | Coverage | Result |
|---|---|---|---|
| Phase 0 — Core BACnet | 89 | Device object, 7 object types, services, segmentation, priority arrays, error handling, uniqueness | 89 PASS |
| Phase 1 — B-ASC BIBBs | 77 | WritePropertyMultiple, SubscribeCOV, ReadRange, BBMD, TimeSynchronization, DeviceCommunicationControl, ReinitializeDevice | 77 PASS |
| Phase 2 — Extended Services | 31 | CreateObject/DeleteObject, password validation, property-list completeness, array indexing, GetEventInformation, MSV-specific, confirmed COV | 31 PASS |
| Phase 3 — Protocol Hardening | 31 | APDU length enforcement, binary value validation, 15 protocol fuzz scenarios (truncated APDUs, malformed encodings, invalid tags) | 31 PASS |
| OPC UA Server | 60+ | Node browsing, read/write interop, subscriptions, 500-node bulk sync, dynamic object tracking, edge cases, concurrent clients | ALL PASS |
Full conformance documentation available on request — contact us.
Download the BSC-1000, deploy it in 5 minutes, and see what a free BACnet controller can do.