Sparkplug is an Eclipse Foundation specification that defines topic namespace, payload structure and state management on top of MQTT, so that industrial devices from different vendors produce interoperable data rather than vendor-specific message shapes. MQTT specifies how to move a message; Sparkplug specifies what is inside it.
Sparkplug
Sparkplug is an Eclipse Foundation specification defining topic namespace, payload structure and state management on top of MQTT, so that industrial devices from different vendors produce interoperable data rather than vendor-specific message shapes. MQTT specifies how to move a message; Sparkplug specifies what is inside it.
- Topic namespace - A defined hierarchy, so a subscriber can reason about what a topic means without a vendor’s documentation.
- Protobuf payloads - Structured, typed, compact, and machine-readable by definition.
- Birth and death certificates - Explicit state management, so a consumer knows whether silence means “unchanged” or “gone”.
- Report by exception - Publish on change rather than on a timer, which is what makes the model viable at plant scale.
Sparkplug is the clearest example in the industrial stack of a specification that exists because a transport standard deliberately stopped short. MQTT’s refusal to define payload semantics is why it is used everywhere, and also why every deployment needed a private convention. Sparkplug is that convention, written down and governed — which is exactly what oneM2M attempted at a broader scope and with less traction.
Industry: IoT