Creative Commons images are CC BY-NC-SA 3.0

Description: Are you trying to make a quick dime from electronics? Why limit yourself to dimes? This coin acceptor will take three different kinds of coin! Whether you’re building your own arcade cabinet or just charging admission to your house, this programmable coin acceptor makes it easy to monetize your next project.

The sensors in this coin acceptor use the thickness, diameter and fall time of the coins to identify them and it’s fully programmable so you’re not limited to any particular type of currency. Simply use the buttons and 7-segment display on the side of the unit to select a coin profile, insert a bunch of coin samples (or the same one, over and over) and you’re good to go! After you’ve programmed the coin profiles, the coin acceptor will recognize them and report when each type is inserted, rejecting other coins.

So maybe you won’t get rich building your own vending machines but access control using different sizes of tokens might be cool, or even a virtual vending machine where you can buy MMORPG items. There are a ton of cool coin-operated projects just waiting to be built!



Recommended Products

Customer Comments

  • ——————– Tech Support Tips/Troubleshooting/Common Issues ——————–

    Interrupt Based Arduino Example Code

    There is example code to get the COIN pin working with Arduino’s interrupt pins => . You need to modify the code and change some settings on the coin acceptor to be able to recognize the currency and correctly total the amount. The example code currently adds a certain amount whenever it sees the first pulse for only one coin. It is not able to distinguish between multiple coins.

    There is another example code online that is able to distinguish the different coins here => .

    10kOhm Pull-Up Resistor and Pulse Width

    If you are receiving a coin acceptor with the 6x LEDs on the side, the new coin acceptor requires a 10kOhm pull-up resistor [ ] attached to the Arduino’s interrupt pin to recognize the pulses. Comparing the pulse width and length with our older coin acceptors, it is different compared to previous version. This should not be too much of an issue if you are just counting the rising/falling edge of the pulse.

  • This is the sort of thing that makes you want to invent a project to justify buying it.

    • Electronic piggy bank. All you need left is a coin sorter that is controlled via serial command (hint hint). Wouldn’t that be fun? Use an Arduino to keep track of your saved coins and to control the coin sorter.

      • throw on an ethernet shield and have a little hosted page that shows how much you’ve saved so far, and you could set goals and have a light go off on the piggy bank when you’ve reached the savings goal ;-)

    • exactly, it looks like you read my mind.

  • This can be implemented with a binary counter like 74HC393, so you don’t have to tie up the processor time of a microcontroller. Connect the GRAY wire from the Coin Acceptor to one of the inputs of the 74HC393, then program the Coin Acceptor to use 1, 2 and 4 pulses for the three different coins. This will output 0001, 0010, or 0100 from the binary counter pins. If you have a microcontroller, you can just check the state of these three pins on the 74HC393, and the microcontroller can do other stuff than just check for pulses.

  • Some things need to be mentioned about this thing. The datasheet is dead wrong about current draw. It says 65mA. In reality, I am reading about 160mA nominal, and when you put a coin in it spikes to more than 250mA. Also, the “coin inhibitor” feature is not something you can control by normal means. It has an internal sensor at the exit of the device, if the coin fails to leave the exit and stays inside the device, it will inhibit. It will also inhibit when the device has no power. Other than that, the only way to inhibit manually is to cut the wires to the solenoid on the side and bypass it through a transistor you control. Or kill power to it… But when you return power to it again, it beeps loudly.

  • Just being inquisitive, could you expand upon the “fall time” parameter, since the last time I checked all things on earth (or any planet for that matter) fell at exactly the same rate? :)

    • Actually I believe it is the fall time, literally. F=ma so when the force is restricted to merely gravity, yes acceleration is constant. These and many other types of coin detectors use a property of conductors and magnetism known as eddy currents. Essentially, on the way down the metal, conducting coin passes a magnet. This magnet induces a current in the conductor, drawing from the force of gravity to push the electrons along. The specific properties of the coin itself, hence the differentiation between coins, determines the conductivity and therefore the amount of force is “stolen” from gravity, making the coin fall slower. Hence the fall time.

    • I believe fall time is really roll time.

      And as for exactly the same rate, that’s only true without an atmosphere. That’s why on the moon a hammer and a feather will have exactly the same fall time but not so on earth.

      In this case wind resistance (drag) and the resulting terminal velocity should be negligible; however, if you’re going to criticize things on being technically correct, you should be technically correct.

      The force is the same, but the resulting drag is different resulting in a different fall time in this case, although the difference is so small you’d have a hard time measuring it.

  • I can’t figure out how to wire the coins cable. am I suppose to directly connect it to the gpio?

    This is what I did: - the coins wire is connected to the gpio directly - when i drop a coin, i don’t see or detect anything (or maybe it’s just fast) - i make the gpio as input

  • are there dimensions available for this?

  • Can someone explain what the signal pulse would be for the two coin types? I’d like to use this with an Arduino and am not sure what to detect.

  • Well that was a fast replacement….

  • Is there a dimensional drawing for this anywhere? I want to make sure it’s going to fit in my project before I buy one

  • Any advice on how to program an Arduino to read the Coin and Counter lines? I’m new to this, and can’t seem to see the signals. Thanks!

  • Hi guys, probably it’s stupid question - I see the “Curr.:USD” mark on the side of the unit; so, may I train it to recognize other kind of coins (metal disks, UK or FR coins, etc.)?

  • I’m new to this whole thing… I’m working on a Bartop Mame and I thought this would be a great addition, however I don’t know how to work this at all. My questions are: is it possible to power this through my current desktop power supply? Can it connect directly to my motherboard and or usb, if not what devices should I buy to make it work with Windows 7? If someone could please reach out to me and tell me how to get this up and running, I bestow upon you a lifetime of gratitude.

    Thank you.

  • Does the acceptor fail-reject? That is, if you remove power from the unit, does it reject all incoming coins? How long after power is applied does it start to accept coins (is there an initialization delay)? I am considering having the unit’s power under software control, so that if a coin has been inserted, you can’t insert another one until the current “transaction” is complete.

  • Hmmm, I could make the kids' X-Box run off of “homework complete” tokens! ….. To Shapeways!……. Mwahahaha!

  • I got one of these and it just beeps. Constantly. I left it on for ~1 minute, constant beeping. Any ideas/suggestions? I’d love to use this, but having issues…..

  • I went to the datasheet, and removed the /datasheets/Components/General/3.jpg Which ended bizarrely.

  • The engineering club at my school needs a fundraiser. We really like old arcade games in that club. You guy have a coin acceptor. Are you thinking what I’m thinking?

  • When will these be back in stock

  • What are the dimensions?

  • I asked and didn’t get an answer in the forums, so I hacked together my own country oscilloscope (Arduino with a sketch using an interrupt to detect transitions) to determine that this device is properly set up with a 10K pullup resistor to +5V, at which point, it idles at 0V and cleanly outputs 30ms positive pulses in the default configuration.

  • I don’t get it…. the video says there is a 2 coin acceptor and a 6 coin acceptor, but the website says a 3 and a 6….

    • The 2 coin acceptor was discontinued, and this one replaced it…

      • So does the 3 coin acceptor work with PWM or serial..anyone know?? Datasheet didn’t mention much about that

        • I just purchased one of these and hooked it up. You can train up to 3 coins. You can configure how many pulses it sends out per coin type, from 1 to 50. I have it set on the short pulse setting and the pulse is about 40ms. It is nearly 150ms on the slow setting. This is sent out on the white signal wire at 5v. There is a counter line, I haven’t investigated this.

  • Is there an Arduino sketch that returns a boolean value to build something like a gumball machine?

  • So when set to fast speed, the pulse is 30 ms with 130 ms peak to peak time. This means that for the maximum of 50 pulses you’ll have to wait about 6.5 seconds to get all the data.

  • Just got mine today. I mounted it to the side of the shipping box. Pro tip: if you do what I did, mount it as center as possible. I mounted it towards the top and couldn’t tighten one of the screws. My only complaint so far is the face could be widened some so the screws won’t extend beyond the side. The only thing left for me to do is connect an Arduino to it and start programming.

    • I connected the white wire to a 4040 counter and it worked. Set it to NC and added a reset button for the 4040. Two voltage regulators, 6 LED assemblies (for now) and an old laptop charger made a piggy bank (as planned) that counts in binary. A bit more planning would have made it readable, but still.

      • What is the difference between NC and NO modes?

        • NC - Normally Closed: The signal on the output will be held high (5 V) until it starts a “strobe*” cycle. The output will be brought low (0 V) and back high again for the amount you programmed for a particular coin (ie, five times for a nickle, ten for a dime, twenty-five for a quarter).

          NO - Normally Open: The same as above, but it will be held low. The transition will go from low-high-low.

          *for lack of a better phrase

  • So while the data sheet is truly atrocious, I was able to set mine up last night.

    I still need to check the voltage for signaling. I have a microprocessor I’m going to hook this up to, but the pins are not 12v tolerant.

    • Using an o-scope, I determined the output to be ~5 volts. I put it on a 5V circuit and didn’t fry anything.

      • That’s what my multi-meter said last night when I changed it to nc.

        So I guess I’m good.

  • any chance for a backpack? only way IM aware of interfacing with this is an interrupt! and there no fun for the rest of the code XP

    • You don’t like interrupts? I LOVE interrupts! We’ll try to get some example code going.

    • I think you definitely want a coin acceptor to be an interrupt source. You don’t want to miss those pulses and have angry customers demanding refunds! Your ISR should increment a “credit” counter as appropriate. loop() can check the counter and when the count is zero, can do what the arcade industry traditionally called an “attract mode.” When the count is non-zero, then you decrement the counter and perform service (whatever that means for your device).

Customer Reviews

3.6 out of 5

Based on 5 ratings:

5 star
4 star
3 star
2 star
1 star

1 of 1 found this helpful:

Not straigntforward, but it works!

Programming can be a nuisance and at one point while trying to reprogram it it stopped working and blinked “00” with every valid coin. I toggled one of the switches on the back and it worked again after another reprogramming. I might be ordering more of these soon!

1 of 1 found this helpful:

Great Acceptor for the Price

I found an Instructable that had step by step instructions for the Arduino. Easy peasy lemon squeezy. I look forward to my finished project. Thanks

1 of 1 found this helpful:

not high end but gets the job done

The output pins seemed to be rather fragile on my acceptor, output pulse wasnt really reliable until i soldered a connection straight to PCB. That pretty much solved all the issues i had before though

2 of 2 found this helpful:

Horrible pin arrangement and connector

I bought this for an arcade project that I was working on. By the time I got everything together the last 3 things to hook up was this product and my raspberry pi 3 and monitor. My code is sound, everything looked good. For some reason my call to wait_for_edge was constantly triggering even though a coin wasnt deposited. My buttons were going crazy, throwing errors everywhere. Everything is soldered, everything is heatshrinked, I know my code is good. I stayed up last night, determined to find the problem, until 4 am. Magically my code just started working and everything was smooth. But why? I chalked it up to I was tired and missed something and didn’t remember correcting it. The next day I went back after it. The same problem occurred. At midnight tonight I have finally truly found the problem after the magic smoke came out of my brand new pi 3. This device and it’s terribly thought out pin arrangement and poor pigtail cable, had a small short somewhere in the connector. It crossed the 12v lead to the output pin and that turned into over a $60 loss with my new pi and this coin acceptor.

Ps, it’s not made of metal like it looks like in the picture, that’s chromed plastic.

I’m sorry to hear about your issues with the coin acceptor. We do not usually see any issues with the coin acceptor. This sounds like an isolated incident.

If you can provide an email to with your order number with your coin acceptor and Pi3, we can assist you further.

Output Pulse

My system is looking for an out put signal from the device. However it does not see the pulse. I am looking for a 24VDC pulse, what does your system provide ? I am currently having to add a micro switch to the unit and connecting it to a 24VDC circuit and a common. Is there any way to use your output signal to get to a 24VDC pulse?

That sounds like a good question for our tech support team. I’d suggest contacting them for assistance on this.