SatsCzar / BlockClock-TTGO-T-Display

A bitcoin blockclock for TTGO T-DISPLAY

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Blockclock for TTGO T-Display

This is a versatile Bitcoin blockclock for the TTGO T-Display (ESP32) that connects to Wi-Fi and fetches data from mempool.space every minute. The updated version now supports multiple screens, displaying additional information such as price, transaction fees, date and time, and more.

Installing

  1. Download the latest version of Arduino IDE.
  2. Follow this tutorial to install the required libraries:
    • TFT_eSPI
    • ArduinoJson (check the ArduinoJson tutorial for more information)
  3. Install the ESP32 Bitcoin BlockClock Library as described in its README.
  4. Clone the repository and open the blockclock.ino file with the Arduino IDE.
  5. Make sure to edit the userBoardDefines.h file in the ESP32-Bitcoin-BlockClock-Library to define your device type. For example:
#define GENERIC_ESP32 1
/* #define M5STACK 1 */
#ifdef GENERIC_ESP32
#define BUTTON1PIN 35
#define BUTTON2PIN 0
#endif
  1. Select the COM port corresponding to your TTGO T-Display and the model.
  2. Compile and upload the code using these commands:
# Command to compile
arduino-cli compile --fqbn esp32:esp32:esp32:JTAGAdapter=default,PSRAM=disabled,PartitionScheme=default,CPUFreq=240,FlashMode=qio,FlashFreq=80,FlashSize=4M,UploadSpeed=921600,LoopCore=1,EventsCore=1,DebugLevel=none,EraseFlash=none blockclock/blockclock.ino

# Command to upload
arduino-cli upload --fqbn esp32:esp32:esp32:JTAGAdapter=default,PSRAM=disabled,PartitionScheme=default,CPUFreq=240,FlashMode=qio,FlashFreq=80,FlashSize=4M,UploadSpeed=921600,LoopCore=1,EventsCore=1,DebugLevel=none,EraseFlash=none --port COM18 blockclock/blockclock.ino

Screens

# Screen Function
1 BlockHeight Show current blockheight
2 TransactionFees Show recommended fees in Sats/Byte
3 DateTime Show current date and time
4 Price Show current price of BTC
5 Change Show BTC change in 1h, 24h, 7d, 30d
6 WiFiData Show information about Wi-Fi

Features

  • Uses the TTGO T-Display's real-time clock to manage time and control on-screen information updates.
  • Fetches current time and date from NTP server and sets this information in the real-time clock.
  • Stores Bitcoin price and price changes in persistent storage, valid for 5 minutes, reducing API fetches.
  • Supports multiple currencies for price display, including BRL and USD.
  • Improved battery percentage display.
  • Stores Wi-Fi credentials (SSID and password) persistently after successful smartconfig.

Connecting to Wi-Fi

The code uses smartconfig from ESP32 to connect to Wi-Fi, so you need the app ESP-TOUCH, which can be found on the EspressIF website.

SmartConfig

About

A bitcoin blockclock for TTGO T-DISPLAY

License:MIT License


Languages

Language:C++ 100.0%