Guide on how to hack all kinds of Vending Machines

 In this tutorial, we are going to hack a Coke vending machine. While these machines might look dumb from the outside, underneath is a very simple Operating System on which it runs and we are going to try to hack into this to gain access to a debug menu and gain access to all sorts of information. This is something that almost no one ever notices, every coke machine with a LED screen is hackable. You can find out cool stuff like how much money is in the machine, how many times one soda has been bought, etc.Which machines work?
We are looking for COCA – COLA product vending machines, which means the picture outside the vending machine would be showing either Coke or Dasani or Vanilla Coke or Sprite or Fanta among other Coke pridcuts. Also the machine must have a LED screen which displays some sort of a scrolling text. Usually in most college campuses, they would be set to “Please swipe your card” or “Select your product”


  1. Find a Coke machine that has an LED screen.
  2. Push the following buttons in the order given 4, 2, 3, 1.
    • If the buttons are in a column the first button is the top one.
    • If they are in a grid or other format, the first button is usually the top left one.

The buttons are numbered depending on how they are positioned. They will either be vertical (more likely), or in horizontal rows of 4 buttons per row. If it is vertical, the first button is #1, the one below it is #2, and so forth. If the buttons are in horizontal rows, the first button is #1, and the one to the right of it is #2. The numbers work like a type writer after that. In rows of 4, the first button of row 2 will be button #5. So, to review, getting in to the debug menu looks like this:

$1.00 ——-
[ Coke ] < — Hit this button last
[ Coke ] < — Hit this button second
[ Diet Coke ] < — Hit this button third
[ Sprite ] < — Hit this button first
[ And so on ]

Some text should show up on the LED (probably the word “Error”, we’ll explain what it means next sections). If nothing happens, your machine doesn’t have the debug menu.

To navigate from option to option (What they are is next section), remember the numberings we gave the buttons. They work as follows:
Button [ 1 ] – Exit/Back
Button [ 2 ] – Up
Button [ 3 ] – Down
Button [ 4 ] – Select

Depending on the age of the machine, you will get a varying amount of default options available.
On older machines: SALE, VER, EROR, and RTN
On newer machines: CASH, SALE, EROR, and RTN

CASH – Machine Earnings Display
The CASH option will display how much money is in the machine currently. It generally takes a second or two to load. From here, you can scroll up and down through 12 or 16 different options, depending on the machine age. These other options display how much money was spent on each individual item, classified through its button (or slot, as I like to call it) number.
A neat side note about the slot numbers is that there are more slot numbers than there are actual slot, so usually the last 4 buttons contain zero money. This could be so that the same OS could be used on bigger machines, but the newer machines have even more slot numbers.

SALE – Total Sale Count
The SALE option displays how many drinks have been sold out of the machine. This tends to be cumulative, but not on all machines. The stock guy is probably supposed to reset this each time he re-stocks. Also, this has the same sub-options as the CASH option, where you can scroll up and down and see how many drinks have been sold from each slot.

VER – System/Machine Version?
This option will cause a large alphanumeric string to scroll across the LCD. The number looks very much like a serial number, but doesn’t vary from machine to machine. It is most likely the OS or machine version number, but of the older machines that have the option, I haven’t seen one that doesn’t have the same number.

EROR – Error Log
There are 8 different types of errors – COLJ (Column Jams), VEnd (Vend Mechanism), door (Door Switch), sels (Select Switch), CHAR (Changer Errors), acce (Acceptor Errors), StS (Space-to-sales errors), and bVal (Bill Validators). The separate types and actual errors are useless, as you assumably can’t get inside the machine, BUT(!) you can clear the errors. Hold the enter (Number 4) button down for about 2 seconds, and it should clear the error.

RTN – Return
This is simply the return option. Selecting this will exit the debug menu. On newer machines, pressing the BACK button at the main menu will not exit, and RTN must be selected.
A side note: The menu can also be exited by pressing the coin return button.

By holding in the coin return button and not releasing, on the newer “big-button” machines, this will display the internal temperature in Fahrenheit, as in “42F”.

CPO – Coin Payout Mode
You can can dump coins from the coin mechanism, and the various menu options allow you to choose which type of coins (Nickels, dimes, etc.) are dumped.

tVFL – Tube Fill Mode
This is useless to you. This allows you to load coins into the coin tubes, which you can’t do from the outside.

TEST – Test Routines
This allows you to test the following various routines:
SE Allows you to test the buttons. Will give you number of button when you press it
SP Sold-out paddle test. Not quite sure, most likely internal function.
Su Sold-out switch test. Same as paddle.
CO Motor test. Will run various column motors.
Cn Coin test. Put in a coin and it will tell you what kind of coin it is.
nA Note acceptor test. Same as Cn, but for bills.
dSP Display test. Will illuminate various LEDs.
vErS Rattles off version number.

RELY – Relay test
This tests the relay electronic control of various parts. Do not do, as it will cause damage if various internal parts are not unplugged before usage.

PASS – Password
This is not normally accessible, but allows you to change the menu password from the 4-2-3-1. Whoo!

PrIC – Price Setting
Used to set the price for a drink. Not sure how to work it, but it seems simple enough.

StOS – Space-to-sales routine
Lets you change the STS routine and other options. This means that various buttons will all mean the same thing, i.e. the 6 coke buttons don’t actually vend from 6 different columns, but vend from one (changing when one runs out of course).

COn – Machine Configuration/Permissions
This is the machine config menu that decides what of these options you are allowed to access through the outside panel. This is probably only accessible with the door open. I won’t go into detail, but I’ll list the Config numbers and what each do: C1 sets price menu on, C2 sets special (manufacturer) options on), C3 disables the “ICE COLD COKE” message. C4 is autoviewing of menu when door is opened, C5 is door switch status, C6 is mysteriously reserved for “future use”, C7 determines whether your money credit stays in for 5 minutes or indefinitely, C8 is Force Vend, C9 allows multiple vends without putting in more money (i.e put in a 5 and get 3 cokes and then your change), and C10 is Escrow Inhibit.

CCoC – Correct Change Only Control
Adjusts Correct Change only rule to your liking.

TIME – Time Adjustment
Allows you to set the machine’s local time.

LANG – Language Selection
Not sure how many languages are supported, but there are apparently more than just English.

If you liked this article, click here to buy me a beer!

20 replies to this post
  1. idiots…..Millenium idiots ! If looking at a bunch of useless information ie; sales,errors etc is interesting to you you have issues…..Without pushing a “mode” button on the board INSIDE the machine you cant do anything else. Seriously man……GET A LIFE

  2. I hacked the my schools vending machine and got five drinks to come out for 10cents. I actually hacked. This is just a combination of buttons for a manufacturer. I know how to hack anything from computers i.e.(Facebook,MySpace,Twitter,and YouTube) to game systems. It’s my life.

    • hey i have one of the new machines where it has buttons vertical buttons with no numbers on them,im pretty sure the guy the has access to the machine changed the debug menu code,if he did,how would i reset it,cuase its definently not 4231

  3. what the hell im confused how can i get the money of the machine make it more clearer please cause i tried the cash and cpo mode and nothings working….

Leave a Reply