What is Sparkplug B?

Sparkplug is an open specification that defines the topic structure, payload format and state management on top of MQTT for industrial interoperability; “B” denotes the Protobuf-based payload encoding.

Stands for: Eclipse Sparkplug · Protocols

Sparkplug standardizes the topic namespace as spBv1.0/{group_id}/{message_type}/{edge_node_id}[/{device_id}]. Message types include NBIRTH/NDEATH (node), DBIRTH/DDEATH (device), NDATA/DDATA (data) and NCMD/DCMD (commands). A “birth” message announces all of a node’s tags and metadata; a “death” message is published as the last will when the connection drops.

This lets an application discover what a newly connected device provides without prior knowledge, and know whether data is current or stale. Sparkplug is common in Unified Namespace implementations, and the embedded MQTT broker of HighByte Intelligence Hub supports Sparkplug A and B namespaces.

To experiment with the topic structure, try our Sparkplug B & UNS Topic Builder.