Major changes:
- Without config webbrowser portal
LNPoS includes:
- LNPoS (for online LN payments, original project)
- LNURLPoS (for offline LN payments, original project )
- OnChain (for onchain payments)
- LNURLATM (for making offline LN withdraw links).
Original demo
Video tutorial https://www.youtube.com/watch?v=rOmO3GhsPts
Assembling case, battery and keypad hat https://www.youtube.com/watch?v=oVwm95j3NXk
Join our telegram group MakerBits
Press/hold any button on the keypad during startup for TDisplay, or any top button on M5Stack during logo screen, to trigger access portal. Default password is "ToTheMoon1" (without the quotes)
Invoices are generated and checked from LNbits install.
Launch portal and enter an LNbits endpoint (ie.legend.lnbits.com), invoice key, and a fiat currency to make things easier for product pricing.
A random pin generated on the device is encrypted and passed trough the payee. When the payment has been made the unencrypted pin is sent as a receipt. This function makes use of LNURL-pay protocol. Uses LNbits LNURLDevice extension.
Launch portal and enter the string from the LNURLDevice extension on LNbits
Use an xPub to generate a fresh address for every payment. Useful for large purchases. Includes a mempool.space QR so the payment can be verified.
Launch portal and enter BIP39 xPub and a pin, to make the function secure.
Create withdraw/faucet links. Uses more-or-les. This function makes use of LNURL-withdraw protocol. Uses LNbits LNURLDevice extension.
Launch portal and enter the string from the LNURLDevice extension on LNbits
Purchasing:
- The Lilygo Tdisplay is a cheap and small ESP32/screen development board.
- You can either attach a keypad membrane or use the breakout board Lilygo specifically made for the LNURLPoS!
- Any 3.7V lithium iron flat battery with 1.25mm JST connector should be fine. Go for at least 1000 mAh. If you want the battery to fit inside the breakout board, max. dimensions are 40x52x11mm. Example 1100 mAh 3.7V battery.
Software installation:
-
Install Arduino IDE 1.8.19
-
Install ESP32 boards, using boards manager
-
Download this repo
-
Copy these libraries into your Arduino install "libraries" folder
-
Open this LNPoSTdisplay.ino file in the Arduino IDE
-
Select "TTGO-LoRa32-OLED-V1" from tools>board
-
Upload to device
Press/hold any button on the keypad during startup to launch portal. Default password is "ToTheMoon1" (without the quotes)
Note: If using MacOS, you will need the CP210x USB to UART Bridge VCP Drivers available here https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers If you are using MacOS Big Sur or an Mac with M1 chip, you might encounter the issue
A fatal error occurred: Failed to write to target RAM (result was 0107)
, this is related to the chipsest used by TTGO, you can find the correct driver and more info in this GitHub issue