FIAT HELL LN ATM is a bitcoin ATM project built on the ESP32 platform. It allows users to convert fiat currencies to bitcoin using the Lightning Network. This project is designed to be highly configurable, supporting multiple currencies and funding sources. Its based on Ben's FOSSA DIY ATM
- Multiple Currencies Support: Configurable to support various fiat currencies (Up to 3).
- Funding Sources: Supports two funding sources LNbits and Blink.
- Works Offline: With LNbits or Online: With Blink or LNbits
- Animation: Enable or disable animations on the main screen.
- Configurable Settings: Easily configure some basic settings through a dedicated settings screen.
- Dynamic UI: Adjusts UI elements based on configuration (e.g., single currency mode displays "START" button).
- ESP32 WT32-SC01 - Aliexpress
- NV10 USB+ note acceptor EBAY
- 12V to 5V Step Down Converter Aliexpress
- 12V battery I'm using this one from LIDL, or any 12V power source
- 3D printed battery holder
- CH3.96 connectors Aliexpress
- Dupont cables Aliexpress
- M-M 20cm 2x
- M-F 20cm 4x
- VSCode and PlatformIO
- Install VSCode and PlatformIO
- PlatformIO will download and install all necessary libraries defined in platformio.ini
You need a running instance of LNbits
Install Blink wallet on your phone, and use their API.
- Clone the repository:
git clone https://github.com/webiumsk/fiat-hell.git
-
Open the project in VSCode.
-
Upload the project to your ESP32 board through PlatformIO.
Access the Config Portal to configure various parameters:
- Tap the screen during the initial loading animation
- On your phone or PC, connect to the device (find device with name "LN ATM-xxx")
- Set your preferences, currencies and wallets
- Change the AP password!
- Change the Settings screen PIN code!
- "Reset" will restart the ATM
Some prefences can be set during the runtime. Tap the dot in top right corner of main screen. Type your PIN (configured through the Config Portal)
- Funding Source: Choose between LNbits and Blink.
- Exchange: Default is CoinGecko, but for some exotic currencies, like Hondurasan Lempira, you need switch to ExchangeApi
- Enable/Disable Animation: Toggle animation of the Title on the main screen.
- From this screen you can reset the ATM or run the Config Portal
On startup, the ATM will connect to the configured WiFi network and initialize the main screen. Use the settings button on the top-right corner to access the settings screen. Tap the currency buttons to select a currency and proceed with the transaction.
ESP32 Not Starting: Ensure sufficient heap memory and check for stack overflow issues.
WiFi Connection Issues: Verify WiFi credentials and network availability.
UI Elements Not Visible: Check the configuration and ensure the display is properly connected.
This project is work in progress.
Contributions are welcome! Please fork the repository and create a pull request with your changes. License
This project is licensed under the MIT License - see the LICENSE file for details.
For any inquiries, please contact dr750@protonmail.com
