
Build your own spark plug B system through hands-on practice and theory, recognizing spark plug B as a standard built on top of MQTT for industrial automation.
Sparkplug B, atop MQTT 3.1.1, enforces SPB v1.0 topic structure and protobuf payloads: name, data type, value, timestamp, plus a mandatory session model.
Explore Spark Plug B architecture: field devices, edge of network nodes, an MQTT broker conforming to 3.11, the primary application that can publish, and read-only application nodes.
Download and install the mosquitto mqtt broker on windows, run it as a service, and verify installation by setting the system path environment variable and testing mosquitto -h.
Learn to install Node.js and Node-RED, set up npm, start the Node-RED service, and access the visual programming environment at localhost:1880 for MQTT-based workflows.
download and install mqtt.fx on windows, obtain license keys from softblade emails, enter the license key to activate an 88-day temporary license, then open mqtt.fx for testing.
Connect mqtt.fx to mosquitto broker on localhost, configure 1883, subscribe to test topic, publish hello world, decode payload as plain text, and subscribe to SPB v1.0 to receive sparkplug messages.
Learn how report by exception and aliases optimize bandwidth in Sparkplug B, showing how d-birth and d-data messages convey only changed metrics using alias mapping.
Simulate dbirth, ddeath, and ddata messages at edge of the network node, wiring metrics like flow rate, total volume, flow alarm, batch volume, and flow set point via Node-RED.
Download and run mod sim 32, the 32-bit executable, in trial mode. If needed, obtain mod sim 64 from win dash tech dot com and use its demo mode.
Plan and map Node-RED flow data points to Modbus memory locations in ModSim, configure holding registers 4001–4004 and input status 10001, and enable Modbus TCP polling with Node-RED-Contrib-Modbus.
Modify the node-red flow to use modsim by adding function nodes and scripts 02.txt to compare previous and current modbus holding-register values and build a json metrics payload for report-by-exception.
Learn to run a new Node-RED flow that polls Modbus-tcp data from an edge node, uses report by exception, and enables auto-simulation to emulate real-world industrial data.
If you work in industrial automation and you have heard the buzz around Sparkplug B but are not sure where to start — this course is built for you.
Sparkplug B is rapidly becoming the standard for IIoT data exchange, and for good reason. It solves the problems that plain MQTT leaves wide open — no standardized topic structure, no defined payload format, no reliable session management. Sparkplug B fixes all of that, and this course shows you exactly how, using real tools in a hands-on lab environment you can build on your own machine for free.
In just hours you will go from zero Sparkplug B knowledge to a fully working system — a Modbus field device feeding live data through a Node-RED Edge Node, over HiveMQ, into an Ignition SCADA dashboard, with commands flowing back in the other direction. Every step is practical, every concept is tied to something you will actually build, and every tool used in the course is either free or available on a free trial.
This course assumes you already know MQTT 3.1.1 and have a background in industrial automation. That means no time is wasted explaining the basics — instead you go straight into the architecture, the message types, and the hands-on labs that matter. You will learn how report by exception and deadband filtering reduce unnecessary network traffic, how persistent sessions protect your data during comms outages, how to replay buffered historical data on reconnect, and how to validate your implementation end-to-end with a structured checklist.
By the time you finish you will be able to design and build a Sparkplug B system from scratch — and more importantly, you will understand exactly why it works the way it does.