#ba-cnet #apdu #service #protocols #defmt #zero-copy #npdu #embedded #serialization #forms

no-std rustbac-core

Core BACnet protocol types, encoders, and service codecs for rustbac

8 unstable releases (3 breaking)

new 0.4.0 Apr 2, 2026
0.3.2 Mar 11, 2026
0.2.1 Mar 5, 2026
0.1.1 Feb 13, 2026

#1041 in Hardware support


Used in 5 crates (3 directly)

MIT/Apache

225KB
6K SLoC

BACnet protocol encoding and decoding in pure Rust.

rustbac-core provides zero-copy, no_std-compatible encoding and decoding of BACnet APDUs, NPDUs, and service payloads. It forms the foundation of the rustbac crate family and can be used standalone in embedded or constrained environments.

Feature flags

  • std (default) — enables std::error::Error implementations.
  • alloc (default) — enables service decoders that allocate (e.g. RPM, COV).
  • serde — derives Serialize/Deserialize on core types.
  • defmt — derives defmt::Format for embedded logging.

Dependencies

~205KB