• The Cimetrics BACstac (BACnet protocol stack) saves man-years of development when your company needs to create a BACnet solution for a 32-bit and 64-bit embedded platform.

    Implementation of the BACnet standard is a challenging assignment for even the most skilled computer programmers.  The differences between BACnet and traditional IT protocols can lead to a significant learning curve when starting from scratch.

    Our software team has created a set of BACnet libraries that greatly simplify the task of creating BACnet-compliant products.  Even the largest companies in the HVAC industry use our code because it is a very complex and time-consuming task keeping up with the ongoing changes that are taking place in the BACnet standard.  Numerous BACstac-based products are now BTL listed.

  • BACstac Comparison Chart: Check which BACstac is right for you!

    This is a BACnet protocol stack, a BACnet development kit designed for the creation of BACnet-compliant applications that run on 32-bit and 64-bit embedded platforms. Complete C-language source code is included.  The customer is responsible for porting the BACnet software to the target platform.

    BACstac 7.9 supports all required functionality of BACnet Protocol Revision 22 for all BACnet profiles. 

    New! Added support for Addendum 2020bv, Addendum 2020ca, Addendum 2020cc, Addendum 2020ce. New API to establish and terminate Direct Connection in the BACnet/SC data link, Support of BACnet/SC over IPv6.

    Most optional functionality is also supported with the following exceptions:

    - Virtual Terminal services (Chapter 17).
    - Slave Proxy functionality (DM-SP-B).
    - BACnet Web Services.

    This release has added a simplified configuration of B/IP and B/IPv6 with BDT.


    Data links: BACnet/SC, BACnet/IP with Foreign Device and BBMD support, BACnet/IPv6 with Foreign Device and BBMD support Ethernet (IEEE 802.3), BACnet/SC IPV6, MS/TP, PTP.

    BACnet routing: This product supports BACnet routing functionality and the creation of multi-device gateways. Note! You can create multi-device gateways only for ProtocolRevision 16 or below. It is not possible to create multi-device gateways for Protocol Revision 17-22

    Operating system requirements: The target platform must support threads (tasks), semaphores, recursive mutexes, dynamic memory allocation, time, persistent storage (for configuration data), and the required network interfaces; please refer to the Porting Guide for more information. BACstac 7.8 has been verified on Debian GNU/Linux 11 (Bullseye), 12 (Bookworm), Ubuntu 20.04 (Focal), Ubuntu 22.04 (Jammy Jellyfish), STM32F7 (ARM Cortex M7 + FreeRTOS + LWIP). For lower-end ARM Cortex M microprocessors (M0 to M4) suggest using uBACstac.

    Development tools: For Linux-based target platforms, supported development environments are gcc version 4.1 or later, Perl 5.6 or later (5.8 is recommended). 
    BACstac/32 is good for Cortex M7. ARM Cortex family includes a very powerful Cortex-A series, which runs Linux and are perfectly supported by both BACstac/32 and BACstac/Linux.

    Code provided: Example programs, unit tests, makefiles for both, and complete C-language source code.

    Documentation provided: User's Guide, Porting Guide, and Programmers Reference.

    Customers that want to develop a BACnet-compliant device that will run on Microsoft Windows should also consider the B1091 BACnet Software for Windows (source code).

    * NOTE: BACstac v7.8 supports the following object types: Analog Input, Analog Output, Analog Value, Averaging, Audit Log, Audit Reporting, Binary Input, Binary Output, Binary Value, Calendar, Command, Device, Escalator Group, Elevator-Group, Event Enrollment, File, Group, Life Safety Point, Life Safety Zone, Lift, Loop, Multi-state Input, Multi-state Output, Multi-state Value, Notification Class, Program, Pulse Converter, Schedule, Trend Log, Access Door, Event Log, Load Control, Structured View, Trend Log Multiple, Access Point, Access Zone, Access User, Access Rights, Access Credential, Credential Data Input, CharacterString Value, DateTime Value, Large Analog Value, BitString Value, OctetString Value, Time Value, Integer Value, Positive Integer Value, Date Value, DateTime Pattern Value, Time Pattern Value, Date Pattern Value, Network Security, Global Group, Notification Forwarder, Alert Enrollment, Channel, Lighting Output, Binary Lighting Output, Network Port, Elevator Group, Lift, Escalator, Accumulator, Network Security, Timer, Staging.

    Services supported: 
    Alarm and Event Services - Acknowledge-Alarm, Confirmed-Cov-Notification, Confirmed-Cov-Notification-Multiple, Confirmed-Audit-Notification, Unconfirmed-Audit-Notifications, Audit-Log-Query, Confirmed-Event-Notification, Get-Alarm-Summary, Get-Enrollment-Summary, Get-Event-Information, Life-Safety-Operation, Subscribe-Cov, Subscribe-Cov-Property, Subscribe-Cov-Property-Multiple,
    File Access Services - Atomic-Read-File, Atomic-Write-File,
    Object Access Services - Add-List-Element, Remove-List-Element, Create-Object, Delete-Object, Read-Property, Read-Property-Multiple, Read-Range, Write-Property, Write-Property-Multiple,
    Remote Device Management Services - Device-Communication-Control, Confirmed-Private-Transfer, Confirmed-Text-Message, Reinitialize-Device,
    Unconfirmed Services - I-Am, I-Have, Unconfirmed-Cov-Notification, Unconfirmed-Event-Notification, Unconfirmed-Private-Transfer, Unconfirmed-Text-Message, Time-Synchronization, Who-Has, Who-Is, Utc-Time-Synchronization, Write-Group, Unconfirmed-Cov-Notification-Multiple, Who-Am-I and You-Are Services 

  • Join the BACnet Global Community!

    BACnet Protocol Stack

    More than 1000 manufacturers are registered members of the BACnet community.  This group includes prestigious companies like Siemens, Honeywell, Secom, JVCTrane, KMC Controls, LG ElectronicsPriva, Loytec, Matsushita, Matrikon, Mitsubishi, Samsung, Sauter, Trend, Wago, and many more.

    ALL of these companies mentioned using the Cimetrics BACstac!

    Use the BACstac to create BACnet-compliant products for HVAC control, lighting control, physical access control and alarm systems.

  • The following documents are available to customers upon request:

    Programmers Reference for all versions