Compare
How the CAS BACnet Stack compares
37 features across 9 other BACnet stacks: the commercial stacks and the open-source libraries product teams most often weigh. Each column is what that product publishes about itself.
Commercial BACnet stacks
| CAS BACnet StackChipkin Automation Systems | BACstacCimetrics | BACnet stack | EmbeddedMBS GmbH (CS-Lab); sold through ST as BBACnet Stack | softBACSoftdel | |
|---|---|---|---|---|
| Licensing and support | ||||
| Licence | Commercial licence, royalty-free | Commercial | Falls short: Leasing, library buyout or source buyout | Commercial |
| No per-device royalties | None: ship as many devices as you build | Yes | Falls short: Not published | Falls short: Not published |
| Source code included | The full source code, with every licence | Falls short: On some editions | Falls short: With the source buyout | Falls short: Not published |
| Support from the people who maintain it | Direct from the engineers who maintain it: consultation, integration help and custom development | Yes | Maintenance contracts, pre-testing, custom development | Falls short: Not published |
| Languages | ||||
| Written in | C++, behind a flat C interface | C | C | Falls short: Not published |
| C and C++ | Native | Yes | Yes | Falls short: Not published |
| C# and .NET | Adapter included | On its .NET editions | Falls short: Not published | Falls short: Not published |
| Java | Adapter included | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Python | Adapter included | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Node.js and TypeScript | Adapter included | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Go | Adapter included | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Rust | Adapter included | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Platforms | ||||
| Windows | x64, as a static library or DLL ready to link | Yes | Falls short: Not published | Yes |
| Linux | x64, x86, ARMv7 and ARM64 | Yes | Falls short: Not published | Yes |
| Microcontrollers, RTOS or bare metal | Bare metal (no OS), FreeRTOS, TI RTOS and Zephyr, with a lean embedded build | BACstac/32 and uBACstac | Cortex-M4 class, no OS, Keil RTX or ThreadX | Bare metal, FreeRTOS, TI RTOS |
| Zephyr RTOS | A ready Zephyr module, verified on an ESP32-S3 | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| The standard | ||||
| BACnet protocol revision | Revision 30 by default, configurable from 24 | Falls short: 28; uBACstac 16 | Falls short: 26 | Falls short: 23, with variants at 14 and 19 |
| Edition of the standard | ANSI/ASHRAE 135-2024 | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Device profiles with every required BIBB, published | 39 device profiles, every required BIBB implemented | Falls short: 36 profiles named as supported | Falls short: B-SS, B-SA, B-ASC, B-AAC and more | Falls short: 11 profiles named |
| BIBBs implemented, published | 160 BIBBs, each one published | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Object types, published | 61 object types in full, 3 more in part | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Data links | ||||
| BACnet/IP | Built in | Yes | Yes | Yes |
| BBMD and foreign device registration | Built in | All editions except uBACstac | Falls short: Not published | Yes |
| BACnet MS/TP | Built in, over your RS-485 port | BACstac/32, BACstac/Linux and uBACstac | Yes | Yes |
| BACnet/SC node | Built in: WebSocket over TLS 1.3 | All editions except uBACstac | Yes | Yes |
| BACnet/SC hub | A full BACnet/SC hub, with an example project | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Device roles | ||||
| Server | Yes | Yes | Yes | Yes |
| Client | Yes | Yes | Falls short: Not published | Yes |
| Router | B-RTR, with an example project | All editions except uBACstac | Falls short: Not published | B-RTR named |
| Gateway | B-GW, with an example project | B-GW named | Falls short: Not published | B-GW named |
| Many virtual devices in one process | Built in | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| For your engineers | ||||
| An example project for each device profile | A public example project for every device profile | Falls short: Example programs | Falls short: Not published | Falls short: Not published |
| Ready-to-run example binaries | Windows and Linux binaries with every release | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Manual and API reference | Extensive documentation that includes every function, callback and constant | Falls short: Some | Falls short: A data sheet | Falls short: Not published |
| Unit test suite you can run | An extensive suite that ships in the release package | BACstac/Linux | Falls short: Not published | Falls short: Not published |
| Decodes messages to JSON or XML | Decodes every message to JSON or XML | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Release status | Stable, with new versions released regularly | Commercial product | Commercial product | Commercial product |
Open-source BACnet libraries
| CAS BACnet StackChipkin Automation Systems | bacnet-stackOpen-source project (C) | BACnet4JOpen source (Java), commercial licences from Radix IoT | BACnet for .NETOpen source (C#), from the YABE project | BACpypes3Open source (Python) | @bacnet-js/clientOpen source (TypeScript), Innovation-System | rusty-bacnetOpen source (Rust) | |
|---|---|---|---|---|---|---|---|
| Licensing and support | |||||||
| Licence | Commercial licence, royalty-free | Falls short: GPL-2.0-or-later with the GCC exception | Falls short: GPL-3.0, or a paid commercial licence | MIT | MIT | MIT | MIT |
| No per-device royalties | None: ship as many devices as you build | Yes | Falls short: Not published | Yes | Yes | Yes | Yes |
| Source code included | The full source code, with every licence | Yes | Yes | Yes | Yes | Yes | Yes |
| Support from the people who maintain it | Direct from the engineers who maintain it: consultation, integration help and custom development | Falls short: Community: GitHub issues and SourceForge | Falls short: With a paid commercial licence | Falls short: Community | Falls short: Community | Falls short: Community | Falls short: Community |
| Languages | |||||||
| Written in | C++, behind a flat C interface | C | Java | C# | Python | TypeScript | Rust |
| C and C++ | Native | Yes | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| C# and .NET | Adapter included | Falls short: Not published | Falls short: Not published | Yes | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Java | Adapter included | Falls short: Not published | Yes | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Python | Adapter included | Falls short: Not published | Falls short: Not published | Falls short: Not published | Yes | Falls short: Not published | Yes |
| Node.js and TypeScript | Adapter included | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Yes | Falls short: Not published |
| Go | Adapter included | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Rust | Adapter included | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Yes |
| Platforms | |||||||
| Windows | x64, as a static library or DLL ready to link | Yes | Falls short: Not published | .NET Framework 4.8 and .NET 8 and 10 | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Linux | x64, x86, ARMv7 and ARM64 | Yes | Falls short: Not published | .NET 8 and 10 | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Microcontrollers, RTOS or bare metal | Bare metal (no OS), FreeRTOS, TI RTOS and Zephyr, with a lean embedded build | RTOS or bare metal, STM32, AVR and more | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Zephyr RTOS | A ready Zephyr module, verified on an ESP32-S3 | In a separate repository | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| The standard | |||||||
| BACnet protocol revision | Revision 30 by default, configurable from 24 | Falls short: Not published | Falls short: 19 in its README, 20 in its 7.0.0 notes | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Edition of the standard | ANSI/ASHRAE 135-2024 | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: 135-2020 |
| Device profiles with every required BIBB, published | 39 device profiles, every required BIBB implemented | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| BIBBs implemented, published | 160 BIBBs, each one published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Object types, published | 61 object types in full, 3 more in part | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Data links | |||||||
| BACnet/IP | Built in | Yes | Yes | Yes | Yes | Yes | Yes |
| BBMD and foreign device registration | Built in | Yes | Falls short: Not published | Yes | BBMD operations | Foreign device registration | Yes |
| BACnet MS/TP | Built in, over your RS-485 port | Yes | Yes | Yes | Falls short: Not published | Falls short: Not published | Falls short: Standard frames, tested on a simulator |
| BACnet/SC node | Built in: WebSocket over TLS 1.3 | Yes | From version 7.0.0 | Falls short: Not published | Falls short: Not published | Falls short: Not published | Yes |
| BACnet/SC hub | A full BACnet/SC hub, with an example project | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Yes |
| Device roles | |||||||
| Server | Yes | Yes | Falls short: Not published | Yes | Yes | Falls short: Not published | Yes |
| Client | Yes | Yes | Falls short: Not published | Yes | Yes | Yes | Yes |
| Router | B-RTR, with an example project | Yes | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Yes |
| Gateway | B-GW, with an example project | Yes | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Many virtual devices in one process | Built in | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| For your engineers | |||||||
| An example project for each device profile | A public example project for every device profile | Falls short: Demo applications | Falls short: Not published | Falls short: An examples folder | Falls short: Samples | Falls short: An examples folder | Falls short: Not published |
| Ready-to-run example binaries | Windows and Linux binaries with every release | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Manual and API reference | Extensive documentation that includes every function, callback and constant | Falls short: A doc folder | Falls short: Not published | Falls short: Not published | Yes | Yes | Falls short: Not published |
| Unit test suite you can run | An extensive suite that ships in the release package | Yes | Falls short: Not published | Yes | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Decodes messages to JSON or XML | Decodes every message to JSON or XML | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published | Falls short: Not published |
| Release status | Stable, with new versions released regularly | Active | Falls short: Version 6.0.1, November 2024 | Version 4.0.0, July 2026 | Falls short: Version 0.0.108, before 1.0 | Version 3.3.2, May 2026 | Falls short: Version 0.12.0, before 1.0 |
Where each column comes from
Every column was read from that product's own public page on 2026-10-21. A cell that page does not answer reads "Not published". The CAS BACnet Stack column is the stack's own release anddocumentation.
- BACstachttps://cimetrics.com/bacnet-stack-bacnet-protocol-stack/https://cimetrics.com/choose-the-right-bacnet-sdk/
- BACnet stack | Embeddedhttps://en.mbs-solutions.de/bacnet_stack_embeddedhttps://www.st.com/en/partner-products-and-services/bbacnet-stack.html
- softBAChttps://www.softdel.com/bacnet-stack/
- bacnet-stackhttps://github.com/bacnet-stack/bacnet-stack
- BACnet4Jhttps://github.com/RadixIoT/BACnet4J
- BACnet for .NEThttps://github.com/ela-compil/BACnet
- BACpypes3https://bacpypes3.readthedocs.io/en/latest/https://github.com/JoelBender/BACpypes3
- @bacnet-js/clienthttps://bacnet-js.github.io/client/
- rusty-bacnethttps://github.com/bbartling/rusty-bacnet
Contact us
Weighing stacks for a product?
Tell Chipkin your platform, your device profile and the data link you need, and an engineer will show you how the CAS BACnet Stack covers it.
- Consultation: talk directly with BACnet specialists about your project.
- Run an example: every profile example project publishes a Windows and a Linux binary.