Skip to content
This ATM sends bitcoin over the Lightning Network - pretty fun.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


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 (@21iseough).

alt text

Parts list

  1. Raspberry Pi Zero WH -
    If you can, get the version WH (not just W). It comes with pre soldered headers and can be used out of the box.

  2. 16 GB SD Card -
    8 GB SD card will also work and is fine. Just pick any brand with a reasonably good rating.

  3. PaPiRus Zero - ePaper / eInk Screen -
    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.

  4. Raspberry Pi Zero Camera (5MP) -
    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.

  5. Coin Acceptor 616 -
    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.

  6. Button -
    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.

  7. Jumper Cables -
    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.

  8. 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).


  • 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
  • Store data in database
  • Find a faster solution for QR scans (zbarcam)
  • Rethink the design decisions in regards to hardware
  • Find solution to work without jumper cables
  • Add encryption of admin.macaroon in idle mode
  • Add AP option for users to login into their wifis (
  • Implement QR Scan from Ketominer
  • Change to wide angle camera
  • Sort out scan errors
  • Lower case ln invoices
  • Design ideas for case
  • Check out BTCPay API to integrate backend
  • Run certain functions in threads
  • PCB Board design
  • 5V-12V step up transformer
  • Implement multilingual support
  • 2 layer for coins to reject before accepted
  • Write list of all compatible wallets/qr qr_codes
You can’t perform that action at this time.