Drink Vending Machine

From Hive13 Wiki
Jump to navigation Jump to search

Hive13 Equipment
List of All Documented Equipment
Owner/Loaner: Hive13
Hive13 Asset Tag: HV0001
Make/Model: Dixie Narco 501E (google)
Arrival Date:
Does it work?: Yes
Certification Needed?: No
Contact: NancyG
Floorplan: General Area 1


The Vending machine takes cash as well as swipes from Hive13 RFID Member cards. Credits can be loaded onto cards via https://intweb.at.hive13.org.


Currently Contains:

  • Dr. Pepper
  • Mountain Dew
  • Coke
  • Sprite
  • Diet Coke
  • Diet Mountain Dew
  • Coke Zero
  • Random Slot (Contains assortment below. Button triggers randomized selection from all slots. Can access this slot by holding down buttons 1 & 3.)
    • Currently Dispensing
      • Vanilla Coke
      • Cherry Coke
      • Cherry Vanilla Pepsi
      • Orange Crush
      • Mug Root Beer
      • Mountain Dew Pitch Black
      • Mountain Dew Code Red
      • Mountain Dew Voltage


  • Mars 2000 series bill acceptor
  • Coinco 9370-S coin acceptor/control board
  • Coinco 9360-S coin acceptor/control board
  • Capacity: 5 Single Column Slots (45 Cans each) and 3 Double Column Slots (87 Cans Each)
  • Label Dimensions: 1.375"x3.5" (3.125" visible). Punch hole in upper left corner for light.

Internal details

The Coinco box is what controls the actual dispensing for the most part. What happens is when money is inserted in either coin or bill form a signal is sent to the main controller board of the Coinco box (control board from here on). The control board has various power distribution pieces on it, but more importantly it has a microcontroller on it. The microcontroller is what tallies up the money inserted and sends the vend signal when the amount is high enough. It also dispenses coins if exact change is not inserted.

When the micro sends out the vend signal it triggers a relay which provides power to all of the switches (buttons) on the front of the machine and the user then presses a button, sending power to a motor inside the cold part of the machine, which then rotates a certain amount to dispense a drink.

Arduino Control System

The code running on the Arduino is on our GitHub.

How it talks to the server

Additional Features

  • Press buttons 1 & 2 to display the current temperature. Each light from the top down is a range of two degrees, with the top one being thirty-two degrees. Anything below or above the range is indicated by a green light on that end of the range. Blue is closer to the base temperature, and red is closer to the next button's base temperature.
  • Press buttons 2 & 3 or 2 & 4 to turn on and off a Larsen scanner. This code is basically the idle loop of the MCU.
  • Press buttons 5 & 6 to dispense a random diet soda.
  • Press buttons 7 & 8 to dispense a random regular soda.
  • Hunt through the code to find more! Don't abuse them.


  • Jon Neal
  • Greg
  • Add yourself here if you want to join this project


  • Have the Arduino control the temperature.
    • There's a temperature sensor already installed.
    • Need to have strong protections against fluttering the relay that'll drive the compressor.
    • Need a relay to drive the compressor.
  • Slot 3's timing cam needs some adjustment, as it jams or erroneously dispenses on occasion.
  • Put an LCD display or something on it to display temps and credits remaining or whatever.
  • Mount the Arduino Mega on an actual mount and re-do the wiring so it's comprehensible.
  • Maybe mount the relay board better, too. It's shorted out before, and it's switching 120 V.A.C.

Wiring Info

Sold Out wiring

It's a piece of Cat 5 running from the sold-out switches to the Arduino, with another loose wire serving as a common. Note that the wire is hooked up to the NC contact, and the switch is pressed when there is no soda in the slot. This means a defect will cause it to not vend, so it won't eat your money.

Soda Slot Wire Color Arduino Pin ATmega Pin
1 White/Blue A8 PINK0
2 Blue A9 PINK1
3 Brown A10 PINK2
4 White/Green A11 PINK3
5 Green A12 PINK4
6 White/Orange A13 PINK5
7 Orange A14 PINK6
8 White/Brown A15 PINK7