Open Source ATM
-
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
-
Don’t know if it’s going to be any help to you but here is a link to some documentation for the printer
http://skpang.co.uk/catalog/thermal-printer-p-1160.html
It’s not the site I used for the purchase, but they do seam to have all of the documents linked on this one.
-
If you guys can actually pull this off, I’ll pay in whatever currency you like +more for labor and also shipping to get my hands on one…
I would love to have one ahy… I could just chuck in all my spare change and buy my ftc that way :D
EDIT
OK… So I just thought about what I said… The ATM doesn’t magically send the coins to the seller… what am I missing here…
-
LOL well done Calem, no this version won’t it needs to be populated with private keys 1st, and then coins sent to the public keys of those private keys. So there has to be an element of trust involved as I will have seen the private keys, and you have to trust that I have loaded the wallets with the coins.
The idea is it goes open source, so everything you need will be avaialbe to you. Whilst hunting for hardware yesterday I came across quite a lot of bits on Oz eBay, I know you don’t like it but it is a valubale resouce when hackin things together. As far as the casing would go, all you need to find is a company local to you that can take a CAD drawing a laser cut you some steel, maybe a little bit of bending and welding and that should be you done. So you can have your very own machine over there without the cost of me building it or shipping ot to you, and you get that warm fuzzy feeling that you have made something :)
The next version, still in my head will be a lot more advanced. I’ll try and get something written down for features at some point but I gotta work again today and then I’m going to the Oxford Blue for the meet up tomrrow.
-
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
I’ve dealt with these sorts of things in my job. From what I remember last time we configured an old till printer, years ago, the Hex denotes if a pixel is ‘on’ or ‘off’, black or white. I’ll brush up on the subject.
-
Yeah, I can do this.
-
That’s what I though, what worried me is that there was not just 0x00 and 0xff, there are other hex values too. Does this mean that each hex byte controls 8 pixels?
-
Ahh, I would have thought the same as you. Still reading up.
Have a look at…
http://www.ht-lab.com/freeutils/bin2hex/bin2hex.html
There are ways to convert two colour binary Tif into Intel Hex and it’s pretty well documented. I’m in work, so can’t give it my full attention.