Build Your Own
Choose the version that's right for you. Both are fully open source with step-by-step guides.
Learn more about the different options
LightningPiggy began with a simple idea and a C++ codebase running on LILYGO hardware via the Arduino development environment. After months of iteration, we shipped something we were proud of - but one thing nagged at us. The code wasn't as accessible as we wanted. If we were serious about helping kids develop real STEMM skills by tinkering with their own piggy banks, we needed a codebase they could actually read, understand, and make their own.
So we started over. Our lead developer Thomas built an entirely new lightweight operating system from scratch using MicroPython, designed to run on any ESP32-based board. That foundation became the launchpad for the first MicroPythonOS app - and the beginning of the LightningPiggy 'p' series. P for Python, or P for Piggy? We'll let you decide.
Lightning Piggy Classic
Arduino-based
The original Lightning Piggy - Arduino-based firmware designed for LILYGO T5 boards, supporting both 2.13” and 2.66” e-paper displays. Displayed here in a “Genesis Piggy” 3D printed case.
- E-paper display (paper-like, low power)
- LILYGO T5 board
- Battery or USB powered
Lightning Piggy p1
Runs on MicroPythonOS
Our first piggy running on MicroPythonOS. Using the latest WaveShare ESP32-S3 board with a 2 inch colour touchscreen display. Displayed here in a "Genesis Piggy" 3D printed case.
- Colour LCD touchscreen
- Onboard camera for easy setup
- MicroPythonOS (learner friendly)
Need a case?
Browse community-designed enclosures or create your own. 3D printable, laser-cut, or DIY options available.
Browse Cases →Guides
Step-by-step guides to help you set up your Lightning Piggy.
Tools
Handy utilities for your Lightning Piggy build.
WiFi QR Code Generator
Generate a scannable QR code to share your WiFi network instantly. Great for setting up your Lightning Piggy.
NWC & Lightning Address QR Generator
Generate a QR code from a Nostr Wallet Connect string or a Lightning Address.
LNbits ZapRewards! - QR Code Generator
Generate scannable QR codes for your LNbits LNURL pay links.
Under the Hood
How a Lightning Piggy actually works, and where to read the code.
A Lightning Piggy is a small WiFi-connected device that watches a Lightning wallet and shows what is in it. The piggy itself doesn't hold your bitcoin - the wallet does. You point it at a wallet you control, either over Nostr Wallet Connect or an LNbits instance, and the device displays its balance and incoming payments. Sats arrive over the Lightning Network through a Lightning Address or a scannable QR code, so friends and family can zap the piggy without ever handling the device.
There are two firmware families, one per hardware generation. Classic is written in C on the Arduino toolchain for LILYGO T5 boards, driving a low-power e-paper display that keeps showing the balance even between refreshes. p1 is a Python app running on MicroPythonOS, on a WaveShare ESP32-S3 board with a colour touchscreen and an onboard camera for scanning setup codes. Both are fully open source.
Classic firmware architecture
Walk through the Arduino/C codebase behind Lightning Piggy Classic - how it talks to your wallet, drives the e-paper display and manages power.
p1 app architecture
Explore the MicroPythonOS app powering Lightning Piggy p1 - its screens, wallet connection and how it runs alongside other apps on the OS.
These architecture walkthroughs are generated from our repositories by DeepWiki, an independent service. They're a handy way in, but the source code on GitHub is always the final word.
Help
Troubleshooting guides and answers to frequently asked questions.