Skip to content

Lightning Pay Station - a simple lightning network point-of-sale terminal


Notifications You must be signed in to change notification settings


Repository files navigation

Lightning Pay Station

Lightning Pay Station

Many thanks to arcbtc, his OpenNode Tutorial and gift of working kit totally bootstrapped this project.

The goal of this project is to build an inexpensive open source point-of-sale terminal for lightning network payments. The terminal can connect to:

  1. OpenNode Accounts
  2. BTCPay's Invoice API
  3. LND's REST Interface

The unit is designed to be attached to a wall or used standalone on a counter. It contains an internal battery and can operate for many hours on battery power. It requires a WiFi network to connect to the invoice api.

The current software supports three "presets" for commonly purchased item descriptions and prices and an "other" item with a dynamically specified price.

The Parts List describes all needed parts.

The case can be 3D printed from the provided STL files.

The Assembly Instructions show how to put it together.

Create Account at OpenNode

Create an account at OpenNode.

Navigate to Settings -> Integrations -> API keys.

Select "Add key" and set the permissions to "Invoices". Make a note of the Invoice API key string.

Setup Arduino IDE

Start with the SparkFun Software Setup Directions to install the IDE and establish basic functionality.

Next, from "Manage Libraries" install:

* GxEPD2
* Arduinojson
* QRCode
* AdaFruit GFX
* Keypad
* base64

Install pyserial:

pip install --user pyserial

Compile and Upload

To configure the PoS terminal please copy config.h.template to config.h and edit as appropriate for your setup.

Press the "Upload" button to compile and load into the Arduino.


Lightning Pay Station - a simple lightning network point-of-sale terminal







No packages published