Skip to content
Contact Us

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.

Read the migration guide

Planning the move from version 5? The engineers who maintain the stack will help you plan it.

Contact Us

Talk 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