Histories

History of MQTT

1960 to today · 13 chapters · 21 dated events · 20 sources

The short answer

MQTT was written in 1999 by Andy Stanford-Clark of IBM and Arlen Nipper of Arcom to watch oil pipelines over satellite links that charged for every byte. Its smallest message is 2 bytes. IBM made it royalty free in 2010, it became an OASIS standard in 2014 and the international standard ISO/IEC 20922 in 2016, and MQTT 5 followed in 2019. Sparkplug, published in 2016, added shared names for plant data and became ISO/IEC 20237 in 2023.

MQTT
A lightweight publish and subscribe messaging standard. Devices publish readings to a broker under named topics, and any system subscribed to a topic receives them.

Watch the film

Narrated, about 6 minutes. Press Play. The voice is your browser’s own, so it sounds different on each device. Open full screen

The story

  1. Today· Your floor

    Where it starts

    Every machine on your floor knows something you want to know. Is it running? How many parts has it made? Did it just stop? For 60 years, engineers have tried to get that news off the floor cheaply and on time. This is the story of a small messaging standard called MQTT. It started on an oil pipeline, and it ended up on the plant floor.

  2. 1960 to 1999· Polling

    Asking every station

    Pipelines, power lines and water systems were watched from a central room. From the 1960s, the central station asked each remote station for its readings, one after another, over phone lines and radio. In 1979, Modicon published Modbus, and plant floors learned the same habit. Ask every device, every few seconds, whether anything changed. Most of the time, nothing had. Every answer still cost time and bandwidth.

  3. 1999· IBM and Arcom

    A pipeline, by satellite

    In 1999, Andy Stanford-Clark of IBM and Arlen Nipper of Arcom Control Systems had a pipeline to watch. Its sensors reported over satellite links, and the links charged for every byte. Asking each station for its readings all day would have been expensive. So they wrote something smaller. One history says the first version came out in 1998. Most say the start of 1999.

  4. 1999· Publish and subscribe

    Speak when something changes

    Their idea turned polling around. A device sends a reading only when it changes. It publishes that reading once, to a broker, under a name that looks like a file path. Anyone who cares subscribes to that name, and the broker passes the reading along. The device never needs to know who is listening. One early name was MQ Integrator SCADA Device Protocol. The MQ came from IBM’s MQSeries products.

  5. 1999· The smallest message

    Two bytes

    MQTT was built to be cheap to send. The smallest message is 2 bytes. The first byte says what kind of message it is. The second says how much follows. A reading adds its topic name and its value, and little else. At the time, equipment makers each had their own poll and response formats, hundreds of them. Over a satellite link priced by the byte, small mattered.

  6. 1999 to 2010· Delivery promises

    Built for bad connections

    Remote links drop. MQTT planned for it. Each message can ask for one of 3 delivery promises: at most once, at least once, or exactly once. A device can leave a last will with the broker, a message sent on its behalf if it disappears without saying goodbye. And the broker can keep the last value on each topic, so a new listener learns the current state right away.

  7. 2009 to 2011· Open source

    Given away

    For about a decade, the specification sat mostly in IBM’s product manuals. Then it opened up. Roger Light heard Andy Stanford-Clark speak and started Mosquitto, a free MQTT broker. He dates that to 2009. The Eclipse proposal says 2010. In 2010, IBM and Eurotech published MQTT 3.1 for anyone to use without royalties. In November 2011, IBM gave its client code to the Eclipse Foundation.

  8. 2011· Facebook Messenger

    A chat app

    The first famous user was a chat app. In August 2011, Facebook’s engineers explained how they built the new Messenger. They chose MQTT because it used little bandwidth and little battery. By holding one connection open, they often got a message from phone to phone in hundreds of milliseconds, where it had taken several seconds. What worked for a pipeline worked for a phone in a pocket.

  9. 2013 to 2019· OASIS and ISO

    Made a standard

    A free specification still belongs to whoever writes the next version. In 2013, IBM handed MQTT to OASIS, a standards body, and a committee of companies took it over. MQTT 3.1.1 became an OASIS standard in late 2014. The vote closed in October, and OASIS announced it in November. In 2016, it became the international standard ISO/IEC 20922. MQTT 5 followed in March 2019.

  10. 2015 to 2016· AWS and Azure

    The cloud subscribes

    Then the big cloud companies arrived. Amazon announced AWS IoT in October 2015 and opened it to everyone that December. Devices could connect over MQTT. In February 2016, Microsoft’s Azure IoT Hub followed, with MQTT built in. A sensor could now send its readings to a rented computer anywhere in the world. Free brokers like Mosquitto meant you could also run your own.

  11. 2016 to 2023· Sparkplug

    Names for the plant

    MQTT would carry any message. It said nothing about what a press or an oven should call its readings, so every plant named them differently. In 2016, Cirrus Link, Arlen Nipper’s company, published Sparkplug: shared rules for names and payloads, and for announcing when a device comes online or drops off. It moved to the Eclipse Foundation in 2018. In 2023 it became ISO/IEC 20237.

  12. Around 2020· Namespace

    One place to look

    Engineers then asked a bigger question. What if every system in the business published to the same broker, under one tree of names? The machines, the schedule, quality, shipping and the orders. Walker Reynolds is credited with the name for this idea, the unified namespace. Any system can find the current state of the plant in one place. When the term was first used is not clear.

  13. Today· Your shop

    Who is listening

    So here is where 60 years of telemetry lands for an owner. A machine on your floor can report its state, its count and its faults the moment they change. That part is cheap and standard now. The harder question is in the office. Do your quote, your schedule and your invoice hear it? Or does someone still walk out to the machine and write it down?

Key dates

Where reputable sources disagree on a date or on who was first, the row says how.

YearThreadWhat happened
1960Telemetry before MQTTSupervisory control takes shape. Pipelines, power and water systems start gathering readings from distant stations into one control room, over phone lines and radio. The central station asks each remote unit for its data in turn. Sources differ: There is no single first SCADA system. Sources place the start in the 1950s or the 1960s. Source
1979Telemetry before MQTTModbus. Modicon publishes Modbus for its programmable controllers. One master asks, each device answers. It becomes a common language on plant floors. Source
1999The standardMQTT is written. Andy Stanford-Clark (IBM) and Arlen Nipper (Arcom Control Systems) draft the first version at the start of 1999, to watch oil pipelines over satellite links. Sources differ: Most sources say 1999. Paessler’s history says the first version was released in 1998. Source
1999The standardSeveral names. Andy Stanford-Clark lists the names in order: On The Wire Protocol, MQ Integrator SCADA Device Protocol, MQ Integrator Pervasive Device Protocol, then MQTT. The MQ came from IBM’s MQSeries messaging products. Sources differ: HiveMQ’s history gives the first name as Argo Lightweight On The Wire Protocol, Argo being an IBM code name. Source
2000Plant floorArcom Director. Arcom Control Systems launches Director, an industrial network gateway that speaks MQTT. Source
2009Brokers and toolsMosquitto. Roger Light starts a free, open source MQTT broker after hearing Andy Stanford-Clark speak. It later moves to the Eclipse Foundation and becomes one of the most used brokers. Sources differ: Roger Light’s account dates this to 2009. The Eclipse project proposal says 2010. Source
2010The standardMQTT 3.1, royalty free. IBM and Eurotech publish MQTT 3.1. The specification moves to a public home and its license is clarified so anyone can use it. Sources differ: Most sources say 2010. One HiveMQ slide deck says 2012. Source
2011Apps and cloudFacebook Messenger. Facebook’s engineers write that they chose MQTT for the new Messenger app because it uses little bandwidth and battery. Delivery phone to phone often took hundreds of milliseconds. Source
2011Brokers and toolsEclipse Paho. In November 2011, IBM donates its Java and C MQTT client code to the Eclipse Foundation. Source
2013The standardThe OASIS committee forms. IBM submits MQTT 3.1 to OASIS. The technical committee is announced in April 2013, with members including Cisco, Eurotech, IBM, Red Hat and TIBCO. Source
2014The standardMQTT 3.1.1, an OASIS standard. The member vote closes on 29 October 2014. OASIS announces the standard on 13 November 2014. Sources differ: Sources date it to October 2014 (the vote) or November 2014 (the announcement). Source
2015Apps and cloudAWS IoT. Amazon announces AWS IoT in October 2015 and makes it generally available that December. Devices connect over MQTT or HTTP. Source
2016Apps and cloudAzure IoT Hub. Microsoft’s IoT Hub reaches general availability in February 2016, with native MQTT 3.1.1 support. Source
2016The standardISO/IEC 20922. MQTT 3.1.1 is published as an international standard in June 2016. Source
2016Plant floorSparkplug 1.0. Cirrus Link, Arlen Nipper’s company, releases Sparkplug in May 2016: shared topic names and payloads for plant data over MQTT. The B payload format follows that December. Sources differ: Some accounts put the first release around 2017. The specification’s own revision table says May 2016. Source
2018Plant floorSparkplug goes to Eclipse. In July 2018, Cirrus Link contributes the specification and reference code to the Eclipse Foundation, as the Tahu project. Sources differ: Some sources date the hand-over to 2019, when version 2.2 of the specification was rebranded for Eclipse. Source
2019The standardMQTT 5. OASIS approves MQTT 5.0 on 7 March 2019, a larger upgrade with several new features. Source
2020Plant floorSparkplug Working Group. Eclipse launches a working group for Sparkplug. Founding members include Chevron, Cirrus Link, HiveMQ and Inductive Automation. Sources differ: Announced in late 2019. Most sources date the launch to 2020. Source
2020Plant floorThe unified namespace. Walker Reynolds is credited with the term: one shared tree of names, usually on an MQTT broker, where every system in a business publishes its current state. Sources differ: We found no source that dates the first use of the term. The year shown is approximate. Source
2022Plant floorSparkplug 3.0. The first version written under the Eclipse specification process, released in late 2022. Source
2023Plant floorSparkplug becomes ISO/IEC 20237. The Eclipse Foundation announces on 7 November 2023 that Sparkplug 3.0 is published as an international standard. Source

Questions

Who invented MQTT?

Andy Stanford-Clark of IBM and Arlen Nipper of Arcom Control Systems, in 1999. One history dates the first version to 1998.

Why was MQTT created?

To watch oil pipeline sensors over satellite links that charged for every byte. In place of polling every station, a device publishes a reading only when it changes, and a broker passes it to whoever subscribes.

Is MQTT a standard?

Yes. MQTT 3.1.1 became an OASIS standard in 2014 and the international standard ISO/IEC 20922 in 2016. MQTT 5 was approved in March 2019.

What is Sparkplug?

A specification first published by Cirrus Link in 2016 that sets shared rules for topic names and payloads on MQTT, so plant data means the same thing across systems. It moved to the Eclipse Foundation and became ISO/IEC 20237 in 2023.

What is a unified namespace?

An approach in which every system in a business publishes to the same broker under one tree of names, so any system can find the current state of the plant in one place. Walker Reynolds is credited with the name.

Sources

  1. SCADA, Wikipedia
  2. Modbus, Wikipedia
  3. The history of MQTT, part 1: the origin, HiveMQ
  4. MQTT first publication, Andy Stanford-Clark, MQTT Google Group
  5. From hobby project to IoT cornerstone: the story of Mosquitto, Paessler
  6. MQTT goes free: a personal Q&A, Andy Piper
  7. Building Facebook Messenger, Facebook Engineering, August 2011
  8. IBM open sources messaging client for embedded devices, PCWorld
  9. MQTT Technical Committee announced, OASIS press release, April 2013
  10. The history of MQTT, part 2: MQTT 3 standardization, HiveMQ
  11. AWS Internet of Things platform hits general availability, AWS Insider
  12. Azure IoT Hub GA capability overview, Microsoft Azure blog
  13. ISO/IEC 20922:2016, ISO
  14. Sparkplug specification v2.2, revision history, Eclipse Foundation
  15. Cirrus Link note to the Eclipse IoT working group list
  16. MQTT V5.0 OASIS Standard published, OASIS
  17. Eclipse Foundation launches the Sparkplug Working Group, ARC Advisory Group
  18. What is a Unified Namespace and how does it work, Automation.com
  19. Sparkplug 3.0 release, Eclipse Foundation newsroom
  20. Sparkplug becomes an international standard, Eclipse Foundation

Read more

Running the loop across too many systems?

KoldOps builds the way a shop already runs into one system, quote to invoice, and hands over the code and the data. Tell us what you run today. Kol reads every message.

Write to us
Book 15 min Write to Kol