# Bitcoin Dashboard for Elecrow 7-inch HMI Display A real-time financial dashboard displaying cryptocurrency, precious metals, stocks, and market indices on the Elecrow 7.0-inch ESP32 HMI Display. ## Hardware - **Display**: Elecrow 7.0-inch ESP32 HMI Display (Advance series) - **Resolution**: 800x480 RGB parallel interface - **Touch**: GT911 capacitive touch controller - **MCU**: ESP32-S3 with N4R8 module (4MB Flash, 8MB PSRAM) ## Features - Real-time price data from Yahoo Finance API - Auto-refresh every 5 minutes - Touch to manual refresh - WiFi credentials stored in persistent memory - Antialiased fonts (DejaVu family) ## Displayed Assets | Column | Assets | |--------|--------| | Hard Money | Bitcoin (BTC/USD), Gold, Silver | | Stocks | MSTR, STRC | | Indices | NASDAQ, DOW, S&P 500 | ## Color Scheme | Asset | Color | Hex | |-------|-------|-----| | Bitcoin | Orange | `#F7931A` | | Gold | Gold | `#FFD700` | | Silver | Silver | `#C0C0C0` | | Stocks/Indices | Dollar Green | `#00A86B` | | Status Bar | Bitcoin Orange | `#F7931A` | ## Software Stack - **Framework**: Arduino (PlatformIO) - **Display Library**: LovyanGFX v1.2.19 - **Fonts**: DejaVu (antialiased) ## Building ```bash cd /home/chad/Documents/PlatformIO/Projects/bitcoin_dashboard pio run -t upload ``` ## PlatformIO Configuration - **Platform**: espressif32@6.8.1 - **Board**: esp32-s3-devkitc-1 - **Partition**: huge_app.csv (3MB app, no OTA) - **Flash Mode**: QIO @ 80MHz - **PSRAM**: OPI (8MB) ## Data Source Yahoo Finance API: ``` https://query1.finance.yahoo.com/v8/finance/chart/{SYMBOL}?interval=1d&range=1d ``` ### Symbol Mapping | Display | Yahoo Symbol | |---------|--------------| | Bitcoin | BTC-USD | | Gold | GC=F | | Silver | SI=F | | MSTR | MSTR | | STRC | STRC | | NASDAQ | ^IXIC | | DOW | ^DJI | | S&P 500 | ^GSPC | ## Pin Configuration ### RGB Display Interface | Signal | GPIO | |--------|------| | D0-D15 | 15, 7, 6, 5, 4, 9, 46, 3, 8, 16, 1, 14, 21, 47, 48, 45 | | HSYNC | GPIO 39 | | VSYNC | GPIO 40 | | DE | GPIO 41 | | PCLK | GPIO 0 | | Backlight | GPIO 2 | ### Touch Controller (GT911) | Signal | GPIO | |--------|------| | SDA | GPIO 19 | | SCL | GPIO 20 | | I2C Address | 0x14 | ## WiFi Setup WiFi credentials are stored in ESP32 preferences (persistent storage): ```cpp preferences.begin("wifi", true); preferences.putString("ssid", "your_ssid"); preferences.putString("password", "your_password"); preferences.end(); ``` ## Project Structure ``` bitcoin_dashboard/ ├── src/ │ └── main.cpp # Main application ├── docs/ │ └── README.md # This file ├── platformio.ini # PlatformIO configuration └── .gitignore ``` ## License MIT