Open Source ATM
-
Hey that’s fine man. This is a nice solid project now.
Thank you Muddy, Wyrm and Spynapples for the work so far, and especialy Kevlar for the OP!
-
Yay I have managed to get a successful compile of the code after sorting out a RTClib problem, I don’t have any hardware here with me at all now, so I have to wait till later before I can try anything out :(
I have managed to get together 10 pound coins so if the taker has arrived I’ll get that setup later as well. So that just leaves the QR to Hex conversion to do I think…
-
Nice project !
I’ve some Arduino Uno and Mega laying around with ethernet so modifying/expanding it with Internet/network access isn’t a big problem.
I did look at the code and if i’m correct the SD card is just loaded with 10 Bitcoin QR codes and prints each code on receipt of an appropriate amount of cash correct ?
So this is how it works:
1: generate 10 new FTC addresses
2: pre-load each FTC address with 10FTC (or other amount FTC)
3: export private key for each FTC address
4: generate QR code for each private key
5: upload all 10 QR codes on SD card
6: put SD card in ATM
7: have customer ‘buy’ one or more QR code from ATM (gets printed)
8: customer scans QR code/private key and gains access to FTC address
9: customer can spend x amount of FTC
This is fairly static.
What if we can do this:
1: customer enters x amount of cash into ATM
2: ATM connects to server with amount of cash
3: server generates new FTC address
4: server preloads FTC address with such amount of FTC according to entered cash
5: server generates QR code with private key
6: ATM downloads QR code from server
7: ATM prints QR code for customer
8: customer scans QR code/private key and gains access to FTC address
9: customer can spend 10FTC
:-)
-
From what I’m seeing yes the only thing on the card is the QRCodes and the Logo files
-
Ahh, so the QR codes are images? I presumed there was a list of addresses that were pre-generated and presented as QR codes.
-
Nope, you make the image 1st, then convert it to hex then print it.
Hence all the questions about hex the other day ;)
-
Urgh! I thought that was only for the logo. Damn, that’s going to make things more tricky. I’ll put some time aside this weekend to have another look.
-
The FTC logo is already on github.
The QR generator for the 176x176 pixels png is also on github
You can generate QR images directly on the Arduino but not with the 328/Uno.
You need at least the Mega for that but then you can load just private keys on the SD card.
-
I’ve got the logo as per the attachment a bit further up, and the QR Code generator loaded on a Pi to give it somewhere to live, so hopefully all is left to do is to convert the QRcode back to hex for the printer…
And just to keep your spirits up, look what I have just been given :)
-
Agh, all the bits are together, and the coin acceptor seams to do as expected… but nothing is printed :(
I’ve got about 10mins more before I need to deal with family stuff, but I might be back on it later
-
Should there not be some values in this mess somewhere?
if(pulseCount == 0) return; if((millis() - pulseTime) < PULSE_TIMEOUT) return; if(pulseCount == DOLLAR_PULSE) getNextBitcoin(); //dollar baby! //---------------------------------------------------------- // Add additional currency denomination logic here: $5, $10, $20 //---------------------------------------------------------- pulseCount = 0; // reset pulse count pulseTime = 0; } /***************************************************** onPulse - read 50ms pulses from Apex Bill Acceptor. - 4 pulses indicates one dollar accepted ******************************************************/ void onPulse(){ int val = digitalRead(2); pulseTime = millis(); if(val == HIGH) pulseCount++; }
-
-
Top work! Steals money.
-
Awesome sauce boss, was going to tell you to run the sketch with the USB cable in and the Arduino Serial Monitor open to see where it was crapping out on you, but it looks like you’ve got it licked.
I’m travelling to Greece for work early on Monday so may have some time to sit and play and make some changes to the original sketch to increase functionality (possibly accept other coins) while waiting around airports, will let you know how I got on, but well done getting this working so far!
-
Do any of you guys know anything about process?
I’ve been doing some digging into the QRCode functions again and have come across OpenBitcoinQRConvert.pde It sounded like it might be the answer to my problems so after a little digging I discovered that I could just open it with a text editor…
The 1st couple of lines say the following
// Convert image to a C header file suitable for the Adafruit_Thermal library. // This is NOT an Arduino sketch. Runs in Processing IDE (www.processing.org)
So it looks like it is the file I’m looking for, I have tried downloading from processing.org, and following the some what cryptic instructions to get this to work but I’m failing…
I have a web server sitting on a Pi that is dealing with the address to QR creation, can anyone point me in the right direction to get this running on the same web server so I can use it to generate the required hex for the private keys easily
UM
-
After a lot of digging I think I have the answer :)
#define 0wB0 #define 0hB0 static { 0xFF,0xFF,0xFF,0xFC,0x03,0xFE,0x01,0xFF,0xF0,0xFF,0x80,0x00,0x00,0x1F,0xFF,0x00,0xFF,0x80,0x7F,0xFF,0xFF,0xFF, other random lines that look like they might be right 0xFF,0xFF,0xFF,0xFC,0x03,0xFF,0xE0,0x0F,0x0F,0x07,0x80,0x3C,0x00,0x1E,0x1F,0xF0,0x07,0xFF,0x80,0x3C,0x00,0x00, 0xFF,0xFF,0xFF,0xFC,0x03,0xFF,0xE0,0x0F,0x0F,0x07,0x80,0x3C,0x00,0x1E,0x1F,0xF0,0x07,0xFF,0x80,0x3C,0x00,0x00 };
Problem is I’m not going to be in front of the ATM to test it until tomorrow afternoon :(
But if I’m right we are all systems go, will be getting the drawing finished tomorrow night and then they will be off to the laser cutter later this week.
Now to cosmetics…
Does any one have a preference on the colour of the box? lol
UM
-
Feathercoin colours IMO. Perhaps even including the pcb style wiring decals.
-
This is great. I’m thinking how cool would it be to make a cash machine that works the other way round.
Send your FTC and you get Cash!Considering the recent hassles with gox and the general inability for mere mortals to convert FTC to cash I think this machine would be a good partner for your invention.
Cash to FTC and FTC to cash. There’s a business there for someone!
It would certainly help your oxford blue landlord cash out in order to buy more barrels of beer or any other high street merchant for that matter.
I think there’s a need for this on the street, it’s one thing accepting feather coins but if you want to pay your supplier in FIAT it’s a different matter. A nice mod would be that the FIAT value is transferred to your account via BACS ( possibly by inserting a bank card?)
I’m sure you guys have thought of this already. -
On second thoughts
It’s one machine with the ability to do either! -
OK, It looks like the QR issue is solved, but I have a couple of errors in the code…
The logo file gets deleted after the 1st print comes off
I don’t get a log file written to the SD card
Any help guys?