ZAPBOX⚡️WEB INSTALLER

(Use with LILYGO T-Display-S3)

1- Flash firmware

Your browser does not support installing things on ESP devices. Use Google Chrome or Microsoft Edge. Ah snap, you are not allowed to use this on HTTP!

Note: The configuration data can be deleted using "Erase device." Otherwise, it will be retained even with the new firmware. You can use LOGS & CONSOLE for debugging. To do this, press the RESET DEVICE button.


2- Prepare connection

Flash the ESP32 with “Erase device.” After the start screen is displayed, the ZapBox will automatically enter “CONF / SERIAL CONFIG MODE”.

→ The ZapBox is now ready to receive configuration data.

If parameters have already been stored and need to be changed, you can also open CONF mode retrospectively:

Note: If data is already available and you start the connection manually, the connection will remain active for 3 minutes (180 seconds) before it is automatically disconnected. You can terminate the connection prematurely by pressing the NEXT button, touching the display, or pressing the external button.


3- Load config values

Congratulations on configuring your own ZapBox! 🎉

Note: You can see the logs from the device in the black terminal window when you are connected. Below you will find additional optional functions and settings.

Optional settings and functions


Note: QR code format is used to generate the QR code. Recommended bech32.


Choose pulsing/blinking mode for relay control

Note: Special modes control how the relay switches during the configured duration. "Standard" means simple on/off. Other modes create pulsing/blinking patterns with configurable frequency and duty cycle.


Multi-Channel-Control: Activate up to 4 GPIO pins (12, 13, 10, 11) with unique QR codes. Product labels and LNURLs are automatically retrieved from your LNbits switch configuration. Use touch gestures (swipe ←→) or the button (if available) to navigate between products.

Features: Automatic LNURL generation (Bech32/LUD17) • Backend product labels • Touch navigation • Currency symbol conversion (€→EUR, $→USD, etc.)

Note: Not compatible with the Threshold feature. Please disable it.


Control when Bitcoin price/block info is shown

E.g. USD, EUR, GBP, JPY, CHF, TRY, CAD, BRL, CUP, etc.

OFF: No ticker shown (Duo/Quattro: productSelectionScreen; Single: only QR code)

ON - always: Ticker overlays screen, navigate with NEXT/swipe to show products temporarily (returns after timeout)

ON - when selecting: Single: Ticker only visible for a short time after NEXT/swipe. Duo/Quattro: productSelectionScreen → products → ticker (at end of product cycle)


leave empty for normal mode (default)

placeholder

12 (default)

Note: As soon as something is entered in the "Wallet Invoice/Read Key" field, "THRESHOLD MODE" becomes active. "NORMAL MODE" then no longer works. The data specified in the bitcoinSwitch extension, such as amount, PIN, and time, is ignored. Only a payment to the wallet with the invoice key counts.

How can I use this? Either by receiving payment directly into the wallet or by using the "Pay Links" extension. There you can get a static LNURL and even a lightning address. Payments to these addresses then trigger the pin, provided the threshold value is reached or exceeded.


1-120 minutes

Note: Screensaver and Deep Sleep cannot be active simultaneously. Press BOOT button or HELP button to deactivate and resume normal operation.

Note: With the T-Display-S3 with touch, the screensaver mode can be used because the touch function remains active. Deep sleep disables touch wake-up for maximum power savings.

Use Cases: Energy saving (screensaver ~80-90% and deep sleep up to ~99%), reducing device heat, extending display lifespan in always-on scenarios.


Troubleshoot

Most important:

If something doesn't work properly, especially the serial communication "📖 Read Config", then simply try again. If that does not help, refresh the website 🔄 with CTRL+F5 or CTRL+SHIFT+R and start over.

Hardware problems:

If non of the above works, reset board in boot mode and start over.

Go-around:

If you're experiencing strange problems with the ESP32 that could have various causes, try starting from scratch. Erase the complete flash memory and restore the ESP32 to its factory state. The easiest and safest way to do this is with ESP Tool.

https://espressif.github.io/esptool-js/

→ Press: Connect > Erase Flash

Note: Only one serial connection can be active at a time. Disconnect the active connection on the other side by refreshing the page. Please follow the same steps after clearing the memory using the ESP tool page so that you can use the ZapBox Web Installer again.

Pinout:

Source: lilygo.cc