Version 6
CAS BACnet Stack version 6
BACnet on your device or application, from a microcontroller to a server, in the language your team already uses. The CAS BACnet Stack is a C/C++ library for BACnet server and client communication, and version 6 implements ANSI/ASHRAE Standard 135-2024 at BACnet protocol revision 30.
- device installations
- 1,000,000+
- BACnet protocol revision
- 30
- programming languages
- 7
What is new
What version 6 gives your product
Version 6 is organized around the device you are building: start from a working example of it, on the current standard, in your language.
See it working today
Example projects for 21 device profiles come with their source code and ready-to-run Windows and Linux binaries. Run one, and a BACnet device of that type is on your network before you write any code.
The current standard
Version 6 reports BACnet protocol revision 30, the current revision of ANSI/ASHRAE Standard 135-2024, and the stack was checked against each change the standard made through revision 30. The BACnet Testing Laboratories (BTL) set a minimum protocol revision for testing each January; from 2027-Jan-01 it is revision 23. At revision 30, your product stays above that minimum longer.
Your programming language
Call the stack from C/C++, C#, Java, Python, Node.js, Go, or Rust. The C/C++, C#, Java, Python, Node.js, and Rust bindings are generated from the library’s own header, so they keep pace with the library, and Go is an importable package.
From microcontroller to server
The embedded build target leaves out every optional object type, service, and data link, and one of 21 device profile settings includes the building blocks a profile requires. Run it on bare metal, FreeRTOS, or Zephyr (module included), and on Windows and Linux.
Built for real networks
A gateway presents each device behind it as a BACnet device of its own, on virtual networks inside your application. A device can run more than one network port of a kind, MS/TP carries 480-octet messages, and BACnet Secure Connect (BACnet/SC) gains certificate management over BACnet.
More of the device, held for you
Schedule, Calendar, Channel, Group, and Event Log objects can live inside the stack, so your application writes less code to keep them. Version 6 covers every required building block of 39 device profiles and supports 61 object types in full, with alarm reporting through intrinsic event algorithms.
Hardened
A malformed confirmed request now gets a Reject and a specific error code, and version 6 includes the hardening made since version 5, including protection against change of value (COV) subscription takeover through a spoofed address.
A new manual
One manual covers the whole library: a Quick Start that builds a working BACnet server, chapters on each data link, guides, a page for every object type, and a reference for every function, callback, and constant.
Moving from version 5
A new interface, the same device on the wire
Version 6 has a new programming interface, and the manual's migration guide takes you through each change in order. Your device's BACnet traffic stays as it was on version 5, apart from corrections that bring it in line with the standard.
Planning the move from version 5? The engineers who maintain the stack will help you plan it.
Contact UsTalk to us
Tell us about the device you are building
The engineers who maintain the CAS BACnet Stack help you from your first build through troubleshooting.
- Which device profile your product needs, and the example to start from
- Your platform and programming language
- Moving an existing product from version 5