IoT for vending: MDB Raspberry Pi HAT
While many vending machines these days are already connected to the internet, in cases this is still considered an “add-on”, or a telemetry unit. This means there is an old-school VMC (vending machine controller) that talks MDB. MDB is a 9 bit protocol (yes, you read correctly) designed around a bus where peripheral devices can be attached. It has strict and very short timing constraints. The internet add-on is then either attached to this bus or the the VMC.
MDB was clearly designed for hardware components that run some sort of low-level firmware that implements the protocol. It does not suit modern, state of the art software solutions. We made this discovery when we created our first MDB cashless peripheral. Soon we realized that we needed a piece of hardware that enables integration with MDB. You can read more about this experience here.
You may ask why MDB was not replaced decades ago? There are probably multiple reasons for this:
- Long investment cycles for vending machines.
- VMCs use firmware that cannot just be updated to something new. Someone has to go there to update the machine.
- There are many MDB peripheral devices available that might not offer any other interface. For example coin changers or bill validators. These are still crucial parts of a vending machine.
There are more modern vending machines out there today, but the vast majority will still use MDB.
Innovative Vending Machines
So how to create a more modern vending machine? After we created our first cashless peripheral, we released the MDB Converter 3, which takes care of the difficult parts of the MDB specification and provides a simple interface for modern devices (USB, serial and Low Voltage TTL). This is what we used back then in our cashless peripheral. On top of that we used some processor board and created our own hardware. This was before Raspberry Pi and Arduino. Today, we would of course do this using an MDB Raspberry Pi HAT, which we now have created.
We are proud to release this new product called MDB2Pi. It is an MDB Raspberry Pi HAT and some of its features are:
- Can be used as MDB VMC or MDB cashless peripheral
- Supports MDB Logging/Tracing
- Has a Real Time Clock (RTC)
- Powers the Raspberry Pi through the MDB bus
- Provides a low level API to send and receive MDB messages. It does not alter the MDB payload, which gives you the full control over the MDB implementation.
- We provide sample implementations of the API in C# (SDK)
This product will give you the power to create a modern vending machine, because you can delegate the old-school MDB stuff to the MDB2Pi, while you have state of the art options on your Raspberry Pi. Imagine you can update your VMC software remotely. Imagine you can turn features on and off remotely and much more. Without any other extra add-ons. I am sure you will have many and much better ideas than these…
- 9bit MDB
- MDB BUS
- MDB to RaspberryPiConverter
- Multi Drop Bus
- Vending machine