This LightningATM was built to distribute small amounts of BTC - obviously - it only accepts coins. It shall demonstrate the power of Bitcoins Lightning Network. A two cent coin is enough to buy some satoshis at the LightningATM.
A physical coin exchanged into bitcoin and send to your lightning wallet in seconds. Use this project to educate your family and friends or guests at your bitcoin meetup - a convenient and easy on-boarding process for people that are new to bitcoin.
A comprehensive guide on how to setup the LightningATM will follow here - please stay tuned. Meanwhile just just send me messages and ask questions via Twitter (@21isenough).
Please check out this video, to see the LightningATM in action:
-
Raspberry Pi Zero WH - http://bit.ly/2maXBr6
If you can, get the version WH (not just W). It comes with pre soldered headers and can be used out of the box. -
16 GB SD Card - http://bit.ly/2kterBb
8 GB SD card will also work and is fine. Just pick any brand with a reasonably good rating. -
PaPiRus Zero - ePaper / eInk Screen - http://bit.ly/2kdSOVh
This is the 2 inch ePaper display that I'm using in my build. My Python scripts are built to talk to the manufacturers library. -
Raspberry Pi Zero Camera (5MP) - http://bit.ly/2kuPvt1
Make sure you buy a camera which also comes with the narrower ribbon cable (Pi Zero Ribbon Cable). The Raspberry Pi Zero has a different CSI camera connector than the other versions. -
Coin Acceptor 616 - http://bit.ly/2lHfoWK
This coin acceptor can accept up to 6 different coins. It can learn what coins you want to use it with. The setup process happens manually on the acceptor itself, not through any software. -
Button - http://bit.ly/2lK4AqR
Any button that can close a power circuit will do the trick. Don't use a switch that stays permanently in its new position - a click button that is only closed while pressing it. -
Jumper Cables - http://bit.ly/2kfGns4
You will need a bunch of jumper cables to connect all the components with each other. Make sure you've got some variety (male and female) as you will need to connect different types of pins with each other. -
Power supply
I'm working on a solution that lets you use just one power supply. For now you need 5V for the Raspberry Pi Zero (supplied through USB) and another 12V power supply to power the coin acceptor (preferably with a balun for easier connecting).
- Try different way of detecting inserted coins (populating a list and setting a delimiter)
- Rethink the design decisions in regards to hardware (https://www.arrow.com/en/products)
- PCB Board design (https://easyeda.com/, http://kicad-pcb.org/)
- 5V-12V step up transformer (http://www.electronics-lab.com/project/5v-to-12v-step-up-dc-dc-converter/)
- Try different e-ink screen
- Solve security concerns in regards to lnurl (scan over the shoulder)
- Add coin return stopper to 3d design
- Add second button and admin menu
- Add admin function only available through qr pass
- Run certain functions in threads
- Additional button for restart and shutdown
- Find solution to work without jumper cables
- Add encryption of admin.macaroon in idle mode
- Add encrypted partition with sensible data
- Check out BTCPay API to integrate backend
- Store data in database
- Add AP option for users to login into their wifis (https://github.com/21isenough/RaspiWiFi)
- 2 layer for coins to reject before accepted
- Design ideas for case
- Slightly recline front board to the back, add immersion for camera
- Move scanning function into utils
- Move all display functions into display.py
- Implement lnurl with lntxbot
- Draw printer and boards in 3D (https://www.onshape.com/)
- Write list of all compatible wallets/qr qr_codes
- Test qr code on 2" eInk display (works)
- Research camera resolutions / qr code scanning
- Check if there's other zbar python libraries
- Change to wide angle camera
- Sort out scan errors
- QR code scan function
- Validate requested amount
- Reject to high amounts
- Add config file
- Add parts list to readme
- Ask for rescan of QR code
- Inform about failed scan
- Implement continuous QR Scan
- Lower case ln invoices
- Find a faster solution for QR scans (zbarcam)
- Organize todos better