CAS BACnet Stack

Chipkin’s BACnet Stack (CAS BACnet Stack) is an application layer BACnet library for embedded systems and application development. The BACnet Stack can function both as a server (Field Device, etc…) or as a client (HMI, etc…)

The BACnet Stack is a transport layer independent library, making it easy to use with any transport layer such as MSTP, IP, Ethernet and even PTP and ARCnet. By giving you control of the transport layer, you can optimize bandwidth and performance by exploiting resources at your disposal such as multi-threading and multiple simultaneous connections.

The BACnet Stack is particularly well-suited to most contemporary programming styles as the API uses XML to transfer requests for packet building as well as for handling back-parsed packets.

The CAS BACnet Stack can save man-years of development when your company needs to add BACnet to their products.

  • OS independent (tested with WinCE/Win32/Win64, Linux, FreeRTOS)
  • Transport layer independent
  • Client/Server functionality
  • Example code for both client/server on a variety of transport layers; TCP/IP, Ethernet (IEEE 802.3), RS232 (EIA-232, Serial) and RS485 (EIA-485, MSTP)
  • XML strings for all incoming/outgoing messages
  • Build with modern coding practices and design patterns.
  • Need More Features, Contact us!!
OSI Model

The CAS BACnet stack implements the Application, Presentation and Session layers of the OSI model. The BACnet stack is transport layer independent. This allows you to use any transport layer that you want to including; TCP/IP, Ethernet (IEEE 802.3), RS232 (EIA-232, Serial) and RS485 (EIA-485, MSTP), PTP or ARCnet.

* Handled by the BACnet Stack

Licensing and Price

The CAS BACnet stack is royalty free, and free of charge.

Instead of charging for the BACnet Stack, we charge for 100 hours of support to help you integrate the BACnet stack in to your device or application.

Another option that is highly recommended is sending one of our engineers to work along side your engineers at your offices, for the cost of air travel and accommodation.

Communication Interfaces

The CAS BACnet stack is transport layer independent and can be implemented on top of any transport layer you provide. We have working examples of the CAS BACnet stack working with IP, Ethernet, RS232 and RS485.

Connection Diagram
Supported BACnet protocol services

Additional services and object types can be added on request.


  • DS-RP-A - Data Sharing - ReadProperty - A
  • DS-RP-B - Data Sharing - ReadProperty - B
  • DS-RPM-A - Data Sharing - ReadPropertyMultiple - A
  • DS-RPM-B - Data Sharing - ReadPropertyMultiple - B
  • DS-WP-A - Data Sharing - WriteProperty - A
  • DS-WP-B - Data Sharing - WriteProperty - B
  • DS-WPM-A - Data Sharing - WritePropertyMultiple - A
  • DS-WPM-B - Data Sharing - WritePropertyMultiple - B
  • DS-COV-A - Data Sharing-COV-A
  • DS-COV-B - Data Sharing-COV-B
  • DS-COVP-A - Data Sharing-COVP-A
  • DS-COVP-B - Data Sharing-COVP-B
  • DS-COVU-A - Data Sharing-COV-Unsolicited-A
  • DS-COVU-B - Data Sharing-COV-Unsolicited-B
  • DS-V-A - Data Sharing - View - A
  • DS-AV-A - Data Sharing - Advanced View - A
  • DS-M-A - Data Sharing - Modify - A
  • DS-AM-A - Data Sharing - Advanced Modify - A
  • DM-DDB-A - Device Management - Dynamic Device Binding - A
  • DM-DDB-B - Device Management - Dynamic Device Binding - B
  • DM-DOB-A - Device Management - Dynamic Object Binding - A
  • DM-DOB-B - Device Management - Dynamic Object Binding - B
  • DM-TS-A - Device Management - TimeSynchronization - A
  • DM-TS-B - Device Management - TimeSynchronization - B

Object types supported

  • Device Object
  • Analog Input Object
  • Analog Output Object
  • Analog Value Object
  • Binary Input Object
  • Binary Output Object
  • Binary Value Object
  • Multi-state Input
  • Multi-state Output Object
  • Multi-state Value Object
  • Notification Class Object
  • Accumulator Object
  • Averaging Object
  • Calendar Object
  • Command Object
  • Event Enrollment Object
  • File Object
  • Group Object
  • Life Safety Point Object
  • Life Safety Zone Object
  • Loop Object
  • Program Object
  • Pulse Converter Object
  • Schedule Object
  • Trend Log Object
  • Access Door Object
  • Event Log Object
  • Load Control Object
  • Structured View Object
  • Trend Log Multiple Object
  • CharacterString Value Object
  • DateTime Value Object
  • Large Analog Value
  • BitString Value Object
  • OctetString Value Object
  • Time Value Object
  • Integer Value Object
  • Positive Integer Value Object
  • Date Value Object
  • DateTime Pattern Value Object
  • Time Pattern Value Object
  • Date Pattern Value Object

Gateway Selector

Select your combination of protocols.
Protocol 1
Protocol 2

Related Products

Contact Us

Contact us via phone (+1 866-383-1657) or leave a detailed message below for sales, support, or any other needs

*Required Field
I'd like to receive the newsletter. *Check email for confirmation.
*Required Field
Preferred Time To Be Contacted (PST)
8:00am - 12:00pm 12:00pm - 5:00pm