Contact us for a quote.

 

 

 

 


 


  • Are you ready to supercharge your development across multiple platforms? Looking to develop BACnet-compliant applications for small devices with or without an OS? The Cimetrics uBACstac is the ultimate solution for Building Automation and Controls manufacturers, saving man-years of development time for both low- and high-volume projects. Here's why:

    Adaptability Across Platforms:
    With source code written in portable C, uBACstac supports a wide range of platforms, ranging from 8-bit micro controllers to 32-bit processors and 64-bit high-end CPUs. Any modern C compiler can be used. uBACstac was tested on Linux with glibc or musl on various hardware platforms, including:

    • Intel/AMD x86/x86_64s
    • ARM Cortex-A (Beaglebone)
    • ARM-V7 Raspbian-11/Debian-11 (Raspberry Pi)
    • MIPS OpenWRT 23.05.4 (wifi router MediaTek MT7621A)
    • Windows Subsystem for Linux (WSL2)
    • And more!

    It is also tested on ARM Cortex-M line of micro controllers (STM32M4, STM32F7) with FreeRTOS and on bare-metal 8-bit AVR ATmega (Arduino). 

    Efficient, Streamlined Code: Our code is clean, efficient, and designed to be easy to adapt, saving you development time while ensuring compatibility across multiple platforms.

    Comprehensive Support for Your Projects:

    The software kit includes reference ports to the following platforms:
    • ATmega (Arduino)
    • ARM Cortex-M7 (with FreeRTOS and lwIP)
    • Linux/POSIX (glibc or musl)")

        • Timely Updates: We implement new Addendas approved by the BACnet Committee to keep your stack up-to-date with the latest BACnet features.

        • Trusted by Industry Leaders: Many manufacturers choose uBACstac for its high-quality software and exceptional technical support. We handle the heavy lifting, from testing on different hardware platforms to ensuring code compatibility, so you can focus on delivering value to your customers. We also help you to pass BTL tests.

      Why Choose Cimetrics uBACstac?
      • Save time and effort with adaptable, streamlined code
      • Ensure compliance with the latest BACnet standards
      • Build confidently with expert support and tested solutions
      Start building smarter today!

      uBACstac features:

            • A small-footprint BACnet stack for small devices with or without OS. Implements state-of-the-art MS/TP and BACnet/IP with - - Foreign Device. A single firmware image may support both data links.
            • Provides truly portable code—the same core uBACstac library, the portable MS/TP implementation and the example application run on all platforms unmodified, including bare-metal microcontrollers and embedded OSs.
            • Supports a wide range of processors, from entry level 8-bit AVR to powerful 32-bit ARM Cortex-M or MIPS, or even more powerful 64-bit processors running Linux. Supports little-endian and big-endian architectures.
            • Provides the stack in source code form, with example programs and reference ports to a few hardware platforms, both with embedded OS and without OS. Also, for ease of application development, includes a port to Linux and even WSL2 as an "instrumental" platform.
            • Implements a modular design, with clean separation between platform-dependent and portable code.
            • Provides highly configurable source code: unwanted features can be turned off, decreasing the executable memory footprint.
            • Makes it possible to implement a device conforming to the BACnet B-SS, B-SA, B-ASC, and B-AAC profiles, optionally with COV notifications and more.
            • Executes the following BACnet application services:
            • RP/RPM/WP/WPM/Who-Is/Who-Has/DCC/ReinitializeDevice/EventNotification/AcknowledgeAlarm/GetEventInformation/TimeSync/GetEventInformation/COV notifications/COV subscription/ File transfer/ Confirmed and Unconfirmed Private Transfer.
            • Supports BACnet segmentation on receive and transmit. Supports initiation and execution of confirmed and unconfirmed requests.
            • Customers may enhance the source code to implement additional BACnet functionality.
            • Includes detailed documentation, including a User's Guide and a Porting Guide.

       

       

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

            This is a BACnet protocol stack designed for the development of low and high volume BACnet-compliant devices with or without OS. It allows a simple, easy and quick way porting on a new hardware. You can make a device with B-AAC profile and more. Supports following device profiles: B-SS, B-SA, B-ASC, B-AAC. Now we support revision 26!

            Data links: BACnet/IP, MS/TP. 

            Support for Foreign Device operation in BACnet/IP Data Link.

            Hardware platforms supported: Support for any platforms from 8, 32 to 64 bit processor from 8MHz frequency and more. If you use hardware without OS it should have at least 32K program memory and 4KB RAM is sufficient. If you use hardware with OS then you need more memory. For MS/TP use you need EIA-485 transceiver. Also if you use hardware with OS for MS/TP then you need Real Time Operating System. The OS should have TCP/IP supports.

            Our example runs on these platforms:

            1. ATmega2560 (Arduino Mega 2560 with DFRobot RS485 Shield) - 8 bit

            2. ARM Cortex-M7 (STM32F767ZI evaluation board DFRobot RS485 Shield) running FreeRTOS+lwIP, supports MS/TP and BACnet/IP in one image - 32 bit.

            3. Linux and WSL2, - 32 and 64 bit, Little or Big Endian, Intel, ARM or MIPS.

            Development environment supported: GNU toolchain (gcc/clang, gnu Make). 

            Code provided: Source code for all libraries (MS/TP and BACnet/IP datalinks, Transaction State Machines, ASN.1 encoders/decoders, standard BACnet application-level functions). Also, a full-fledged BACnet device source code is provided as an example. All code is written in portable C language. Source code for different platforms is also provided (in C language).

            BACnet Building Blocks supported: DS-RP-A,B, DS-RPM-A,B, DS-WP-A,B, DS-WPM-B, DM-DDB-A,B, DM-DOB-B, DM-DCC-B, AE-N-I-B, AE-ACK-B, AE-INFO-B, SCHED-I-B, DM-TS-B, DM-UTC-B, DM-RD-B, DS-COV-A,B, DS-COVU-A,B.

            BACnet objects types supported: Accumulator, Analog Input, Analog Output, Analog Value, Binary Input, Binary Output, Binary Value, Calendar, Device, File, Loop, Multi-state Input, Multi-state Value, Multi-state Output, Network Port, Notification Class, Schedule. (it is possible to implement any other BACnet objects in your device)

            Documentation provided: User's Guide, and Porting Guide


          • Join the BACnet Global Community! Do not spend countless hours, months and years developing your product. Use Cimetrics uBACstac!

            You can create devices for the embedded systems including small footprint BACnet Devices and Application Specific Controllers and Advanced Application Controller, especially ones with MS/TP. You can also add BACnet support to existing products, including hardware platforms with OS and TCP/IP protocol. Different platforms have different memory requirements but the good rule of thumb is to have at least 40KB program memory (FLASH) and 4K RAM for uBACstac. Processor capacity depends on the platform too. E.g. ATMega (an 8-bit microprocessor running at 16MHz) is capable of supporting all standard MS/TP baud rates including 115200bps.

             

            BACnet Booth

             

            More than 150 manufacturers are registered members of the BACnet community.  This group includes prestigious companies like SiemensHoneywellSecomJVCTrane,  KMC ControlsLG ElectronicsPrivaLoytec, Matsushita, Matrikon, Mitsubishi, Samsung, Sauter, Trend, Wago, and many more.

            ALL of these companies mentioned using the Cimetrics BACstac!

            Our role in the industry is to keep these well-known companies UP-TO-DATE with the latest BACnet features and to make sure that this code is compatible with the more and more hardware platforms.

             

          • pdf icon uBACstac Data Sheet
            icon Porting Guide (included with purchase)
            pdf icon User's Guide (included with purchase)