ETHDenver Token Dispenser
Excited that this @ETHDenver hack is working: converting a 1990s change dispenser into an ERC20 dispenser — use BUIDLBux on @myetherwallet to get ETHDenver commerative tokens.
— iain (@isiain) March 4, 2023
1 BUIDLBux is 4 physical tokens. Get them by the Buffiswag booth or the BBB Lounge. pic.twitter.com/DKTURdxpm1
At ETHDenver we wanted attendees to be able to interact with a physical currency derived from a virtual event currency.
I connected the vending machine over a pulse interface to a Raspberry PI running a docker image to read the balance of a blockchain account every 10 seconds. When the balanced increased, it dispensed the corresponding number of tokens.
The code is shown above. Interfacing with a machine that's 40 years old was actually pretty easy other than one issue: the number of tokens being dispensed where the machine didn't have enough time to fetch the token. The interface being write-only sadly the best fix was to increase the delay between pulses so the token vending machine was ready to dispense the tokens as needed. Ideally, the interface would be more complex to use a read line that would tell the controller once the dispenser was ready to dispense tokens.
To interface the physical device I used a simple mosfet to drive the control signal low. The interface into the machine was active low at 12v logic voltage – much higher than the Raspberry PI's interface voltage of 3.3v. In order to fix this mismatch, the Rasberry PI drove a mosfet to ground at 3.3v which then could properly sink the 12v coming from the coin dispenser.
Testing pic.twitter.com/xee6Hn5L60
— iain (@isiain) April 14, 2023