PopCARD vending machine enhancement gets upgraded

[Alex] wrote in to let us know he just completed a pretty major upgrade to his PopCARD RFID vending machine system. You may remember that earlier this year he added an Arduino based RFID reader to a soda machine so that thirsty patrons could pay with plastic instead of cold hard cash. That system worked, but at the beginning of the video after the break [Alex] goes over some of its flaws. There was a button to add cash from the card to the machine in $1 increments, rather than the system just knowing how much to charge you. Also, if you accidentally selected something that was out of stock you were out of luck and were charged anyway.

The new system does away with the button, and knows what product is sold out. The control hardware was upgraded to an Arduino mega to gain extra I/O pins. The device now sits in between the machine’s buttons and its own controller. When cash is used, the Arduino sits passively and lets the machine do its thing. But when a card is scanned, it takes over control of the buttons, sensing your selection, then simulating coin and button presses to vend accordingly. The new setup also uses an Ethernet shield which allows [Alex] to tell what items are running low without being at the machine itself.

I was amazed to discover how powerful this machine is… most vending machines are configured simply to accept your money and vend a drink.

This one has a real-time clock and knows the time and date. It tracks purchases and sales numbers. You can set up “happy hour” specials that are only active on certain days and at certain times. You can do “Free vend” where when you buy 2 of something you get a free one. You can configure how it makes change, or tell it to never make change. They even have a computer interface called DEX for reading out purchasing histories and other stuff.

Brilliant project, if only my University implemented something like this! I do find it somewhat odd that the old circuitry is still used though, why not operate the actuators manually rather than using the old main-board?

Also, is it just me or does it say “Place your PopCARD on the square to the left” when the square is on the right-hand side?

Ya but wouldn’t this be easy to hack/dupe? I mean there was just the thing that the guys did about the subway train and hacking their RFID system to give you infinite cash.. Someone could do the same and have free soda for as long as they’d like..

The cards themselves have no stored value — they are just ID cards. The account dollar value is stored in a database. Yes, it is possible to duplicate the cards if you have the right tools, but you’d only be able to spend the $10-20 that someone else has in their account, and they’d notice pretty quick that it was gone.

Also all purchases are logged, and the pop machine is watched by a security camera, so I’d ID who was stealing pop pretty quickly.

I just finished a similar project at a local gym which uses 24-hour access RFID key chains. I put a 3 purchases every 24 hours limit so someone can’t empty the machine on someone elses card. I removed all the old circuitry (which was fried) and directly control the motors myself. The machine logs all purchases to an SD card.

My University has had this for a few years now – All machines campus wide are setup and charges go directly on my school bill. One of our professors made the system and has also applied for patents. Security cameras are at all locations, and they’ve caught anyone using someone else’s card since it’s all logged
They just also added the laundry room machines, so no more quarters/empty change machines. I wrote a texting script for students to use that sends a sms message when a washer finishes.

There are actually commercial, off-the-shelf systems that can be added to a vending machine with one cable… they use smart cards and work well. But they cost anywhere from $1,000 to $4,000 and it’s just not worth the money for my low-volume machine.

I did a project like this only i had 9 motor/spirals from an original machine and was building my own for home use.
It used RFID and used a time stamp IC to increment the account total.Everyday it would add a little to ones personal account.

That way it could control the candy consumption (largely) in the household.

I never completed it though, but the code and the hardware was about 70% done. Complete with LCD, RFID, motor control and time stamping via two ATMega328’s linked together over I2C running the arduino bootloader.