Open Source ATM
-
Quick update on parts for you gents, let me know if you think I’m missing anything
- Coin selector - ordered should be here next week
- A2 Micro Panel Thermal Printer - ordered and dispatched
- Arduino Uno - ordered should be here next week
- Arduino SD Shield and Real Time Clock - ordered and dispatched
- DC/DC (Buck) Converter 12V to 5V 3A - see below
- Resistor 10K - in the shed
- Barrel Plug 2.1 mm - not needed
- Power Supply 12V - going to use an old PC PSU for now, as it give 12v and 5v so no need for the above
- SD Card - on the shelf behind me
Do you guys have any ideas on what you want the finished article to look like? or are you happy to go with a variation of the housing I post a couple of days back?
-
How are you planning on connecting to the network?
-
Looks good, the Arduino can take 12 volts into the barrel connector, and if you’re using a shield I’d recommend taking a 12V from the PSU to the barrel connector, it’s just easier than trying to bypass the RAW +ve in past one of the shield pins.
Let me know when you get the Uno and I’ll try and talk you through some of the gotchas.
The code will be easy to alter to allow for different denominations of coin, I’ll see if it is easy to change the code so that you don’t get a QR code for every coin inserted, with allowing coins that becomes a little more problematic unless we limit it to only pound coins to begin with.
I’m in Northern Ireland btw, so our coins are the same as yours but we have our own banknotes as well as the Bank of England ones.
-
How are you planning on connecting to the network?
First iteration won’t, it will dispense £1 worth of FTC at a set rate, the first iteration is very limited, but as we get it working it can be made more complex. For a live wallet, it will need to be ported to a R-Pi anyway as you’ll not get a live wallet ported to Arduino, and then it can be networked more easily.
-
Looks good, the Arduino can take 12 volts into the barrel connector, and if you’re using a shield I’d recommend taking a 12V from the PSU to the barrel connector, it’s just easier than trying to bypass the RAW +ve in past one of the shield pins.
Just seamed an easier option than messing around with voltage drop from 12v to 5v and done like this makes the case design easier for world domination as PC PSU should have the same dimensions, and mounting points the world over :)
Let me know when you get the Uno and I’ll try and talk you through some of the gotchas.
As soon as it’s here, I will mate I’m really excited about this project and want it of the ground ASAP
The code will be easy to alter to allow for different denominations of coin, I’ll see if it is easy to change the code so that you don’t get a QR code for every coin inserted, with allowing coins that becomes a little more problematic unless we limit it to only pound coins to begin with.
So lets stick to pound coins on v1 and then go from there.
What he says about the network connection :)
-
Can’t fault your logic.
-
Sounds great pound coins is a really good place to start. (Also I have a raspberry pi if we need it for FTC ATM V6?)
-
For the Raspi I think we’d need to go down the Python route, anyone here good in Python?
Must actually get myself another one, mine is currently being used as the main Media Centre attached to our TV…
-
I’ve got a couple of spare ones here, waiting for a use so when we move on from this we will have the hardware already in stock so to speak :)
Kevlar did say he was prepared to look at the Pi port for this, but I know he is busy with other stuff. Hence wanting to get on with trying to see if we could get the original working with FTC as I don’t want to lose momentum on the project
-
How much was the total spend?
-
It’s sitting at about £100 with the postage
Muddy hides from Mrs muddy!
-
That’s a pretty good price for what can be created. Java can run on a r-pi so maybe java over python. But I’m biased. Lol
-
There’s a few bit’s that are coming off the shelf but they don’t add up to much hopefully, I’ll do a full price when we are done including the casing, etc… so we can see what they really cost to make
I’m not fused what we use, as long as we can tick as many boxes off the v2 list as possible.
-
Guys, I’m following what you are creating here… it is awsome!
I wish I was able to do something for that too but I am not skilled enough. :'(
-
What was the note reader on that dogecoin ATM offering that I saw on the coinfest vid?
-
Ok, the Github repo has been updated and the code now reads like a FTC ATM.
Obviously testing is required, and I’m still getting my head round the logo bitmap, but I hope to have that sorted by the start of next week.
I can test aspects of the code on my Arduinos here at home, but I don’t have an SD card shield so will have to rely on others to do full testing.
Have fun!
-
Also some things to bear in mind:
The RTC (clock) that is being used is very inaccurate, it loses about 2 minutes a week. I know it’s only used for logging the timestamp of each transaction, but I’d recommend leaving the “Set Clock” flag set and uploading the sketch to the Arduino before every use, such as before a demo at the Oxford Blue for example.
Following on from that, I’d make it so the Arduino is easily accessible to access the SD card and plug the USB cable in to re-upload the sketch. If it was just the USB cable, I’d say put a USB B socket on the case, but as you’ll need to access the SD card, I’d say make the casing open easily. Not good physical security, but this is a PoC, right?
-
I’m still getting my head round the logo bitmap, but I hope to have that sorted by the start of next week.
That might be something I can help with. Is it documented?
-
Not very well, it is a whole string of hex bytes, I’ve been playing with it in Paint and a hex editor, but not got aywhere yet.
In Github, the logo.oba file is a text file which contains the width and height attributes and the actual bytes, and the sketch sort of steps through how its printed but I’m still working out the details. In the sketch, the header length is declared, so I’m thinking that if I strip this number of bytes, I should get the actual bitmap bytes (the header length is 25 bytes) but when I manually tried to create a bitmap from some online guides using the bytes in the logo.oba file, it failed rather miserably.
ignore the .oba extension, it is just a 3 letter contraction of OpenBitcoinATM, I’ve just changed that in the new sketch to .ofa
-
Spynappels, once again many thnaks for your help on this little project. I had a quick look throught the code in the wee hours of the morning (sometimes I wish I could just sleep) and all though I would have no idea how to start from scratch, there are certain things in there that look abvious as to their purpose.
I’ve never used a Arduino before, so I’ve done a bit of reading up on that as well and it seams simple enough to get my head around, adn I’m sure once it arives and I have it connected the gaps will instantly be filled in.
Point taken about the RTC and re-loading the sketch before each demo/outing
I’ll make sure things are mounted in the case when we get that far in such a way as you can gain easy access to the USB and SD slot of the Arduino, the case is going to need to be opened fairly easyily so that the cash can be removed from it, but I do take your point about physical security.
I can design/build a case that can with stand a 30min beating with a basball bat if you want me to but your not going to like the cost or the weight of it >:D
Yes this is a PoC to prove it can be done and also to take to a few places on my travels for a bit of fun, I would love to get it to the OB for next months meet-up and know the guys I meet down there last month will enjoy feeding it pound coins :)
I was going to look at the QR generation and conversion process today, as I want as many bits of the puzzle finished before the hardware arrives so testing can begin as soon as.
Thanks again guys for helping me make this happen, I liove the community spirit here and I’m proud to call this place home
UM