Sniffing Vending Machine Buses

Sniffing the Multidrop Bus


We’ve talked about a variety of protocols and how to deal with them in the past. Today, [Dan] is working on sniffing vending machine Multidrop Bus. The Multidrop Bus (MDB) protocol is a standard used in vending machines to connect devices such as currency collectors to the host controller.

To connect to the bus, interface hardware is required. [Dan] worked out compliant hardware and connected it to an Arduino. With the device on the bus, [Dan] got to work on an Arduino sketch to parse the MDB data into a human-readable format. With that working, the bus can easily be sniffed over the Arduino’s serial console.

This is just the start of a more involved project. Since this protocol is used to communicate with a vending machine’s currency collector or card reader, being able to communicate it would allow him to implement his own payment methods. The plan is to augment the vending machine he operates at Vancouver Hack Space to accept Bitcoin. We’re looking forward to seeing that project unfold.

13 thoughts on “Sniffing Vending Machine Buses

    1. Actually reading on the Wikipedia page it says it’s been used since the 80’s in vending machines. I guess it’s just a standard that caught on without reason to change.

    2. I worked for the company that created the “MDB” protocol for vending machines. The 9600 baud serial communications was the advanced protocol in the vending world. There are various others that still probably are working today.

      The big change that MDB brought about was in vending machine system architecture. It adds the ability to separate the credit system, change system, and vending system. The modularity brought about competition and innovation for new forms of payment systems.

      Even though 9600 baud is pitifully slow in relation to most data transmissions, moving to a higher speed bus just is not necessary. i.e. You cannot insert coins faster the data can be transferred.

      “Change is inevitable… except from a vending machine” – unknown.

  1. Having just completed this project for a client of mine (not bitcoin but another payment method) . it really did not need all this effort, as you can see above the MDB spec is online and a quick google search for mdb to rs232 will show who already make all you need to convert mdb to rs232.

    1. $300 for that interface. {Dan} looks like he got out for under $50. While I would have skipped sniffing the bus for the protocol, I can’t say I wouldn’t have built my own gateway/interface.

  2. Hi, please let me know. Which software i need to use to write donw program for Vending machine into MDB protocol?
    THank you very much in advance.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s