I had this board gathering dust in a drawer for ages. At first, I had no clue what to do with it besides running the basic demo code. But then, while window shopping one day, I saw this sleek clock with a built-in weather dashboard and thought, “Wait, I could actually build that.”
After a deep dive into some forums and a much-needed push from a friend, I managed to get the clock face running. But then I noticed those two tiny, unused buttons.
That’s when I opened the "can of worms" known as the Spotify API for the first button, and an F1 standings tracker for the second. Now, when I’m in a heated online debate defending my favorite driver, I don’t even have to tab out, the live standings are right there on my desk.
TTGO InfoDash is a multi-paneled information dashboard designed for the TTGO T-Display (ESP32). It’s built to be a low-profile desk gadget that provides "glanceable" information without interrupting your workflow.
Core Features:- Dynamic Clock & Weather: Real-time NTP time sync and local weather updates.
- Spotify Integration: See what’s currently playing. It handles OAuth2 token refreshing so you don't have to keep re-authenticating.
- F1 Standings: Live 2025 Driver Championship standings. Perfect for tracking points during or after a race weekend.
- Hardware Interaction: Uses the two built-in TTGO buttons to cycle through views and trigger API calls.
The project is written in C++/Arduino and leverages several APIs to fetch data over WiFi:
- Time: Synced via NTP (Network Time Protocol).
- Weather: Fetched via the OpenWeatherMap API.
- Music: Connects to the Spotify Web API to fetch playback state.
- Formula 1: Pulls live data via REST APIs to display the current Top 10 driver standings.
The UI is built using the TFT_eSPI library, optimized for the vibrant 1.14" LCD screen of the TTGO board.
Setup & InstallationHardware Needed- TTGO T-Display (ESP32 with 1.14" LCD)
- USB-C Cable
- Clone the repo:
git clone https://github.com/icebelly29/ttgo-infodash.git- API Keys: Create a
config.h(or update the main file) with your credentials: - WiFi: SSID and Password.
- Spotify: Client ID and Client Secret (from the Spotify Developer Dashboard).
- OpenWeather: API Key and City ID.
- Libraries:Ensure you have the following installed in your Arduino IDE/PlatformIO
- TFT_eSPI
- ArduinoJson
- HTTPClient
Controls- Top Button: Cycle through the Dashboard views (Clock -> Spotify ->Clock).
- Bottom Button: Cycle through the Dashboard views (Clock/Spotify -> F1).
[ ] Implement Captive Host to input SSID and password instead of hardcoding the info











Comments