I'm looking for a open source BACnet protocol stack in C# dotNET
Loading
I'm looking for a open source BACnet protocol stack in C# dotNET
Know the answer? Post it — somebody with the same question will find it here.
Sign in to answer this question
It is the same account you read, post and publish with — and you will come straight back to this page.
Tuhin PaulPosted Apr 7, 2026, 3:57 PM
Important Architecture Note
When working with BACnet in .NET, you must understand the BACnet Stack Layers. Most open-source C# libraries focus on the Application Layer (handling objects like Analog Inputs/Binary Outputs) and use a UDP socket for the Network Layer (BACnet/IP).
Recommendation for Developers
If you are starting a new project today:
Download the Yabe Source Code: Even if you don't use the GUI, the underlying
Bacnetlibrary included in that solution is the most stable and battle-tested C# implementation available.Target .NET Standard: Ensure the library version you pick supports .NET Standard so you can run your code on both Windows and Linux (via .NET 6/8).
Check for "BTL Certification": Open-source stacks are rarely BTL (BACnet Testing Laboratories) certified out of the box. If your project requires formal certification for a commercial building, you may need to perform extensive testing or consider a commercial stack like Chipkin’s CAS BACnet stack which provides a C# wrapper.
Tuhin PaulPosted Apr 7, 2026, 3:56 PM
For C# and .NET developers, there are a few primary open-source options for implementing the BACnet protocol. While many "industry-standard" stacks are written in C, the .NET ecosystem has several mature wrappers and native implementations.
1. BACnet/IP Library (formerly
bacnet.net)This is arguably the most popular and widely used open-source BACnet stack for the .NET ecosystem. It is a native C# implementation, making it very easy to integrate into modern .NET Core or .NET 5+ projects.
Repository: GitHub - Frédéric Chaxel / BACnet-stack-dotnet (Note: Different forks exist, but Chaxel's is the most referenced for Yabe).
Key Features:
Supports BACnet/IP, BACnet/Ethernet, and BACnet/MSTP (via serial port).
Includes both Client and Server capabilities.
Used as the backbone for Yabe (Yet Another BACnet Explorer), the most famous open-source BACnet tool.
Best For: Most general-purpose .NET applications, desktop tools, and Windows services.
2. Yabe (Yet Another BACnet Explorer)
While Yabe is technically a GUI tool for exploring BACnet devices, it is built entirely on the open-source C# stack mentioned above.
Why it matters: If you want to see exactly how to implement the code, the Yabe source code serves as the ultimate "Reference Implementation."
Source: Yabe on SourceForge
3. BACsharp
This is another open-source framework specifically designed for the .NET initiative. It provides a structured application layer and network layer.
Pros: Royalty-free and specifically object-oriented for C#.
Cons: It hasn't seen as much recent community activity as the
BACnet-stack-dotnetlibrary used by Yabe.Source: BACsharp on SourceForge