A real-time stock price tracker for ESP32 with 2.8" TFT displays. Shows live stock data from Yahoo Finance with automatic WiFi setup and clean interface.
Download the 3D printable case from MakerWorld: Stock Tracker ESP32 Display - MakerWorld
The case protects your ESP32 display and gives it a clean, professional desk appearance.
- Live Stock Prices - Real-time data from Yahoo Finance (no API key needed)
- Clean Display - Organized table format (Symbol | Price | Change)
- Smart Updates - Only refreshes when prices actually change
- Color Coding - Green for gains, red for losses
- WiFi Manager - Automatic captive portal setup for WiFi credentials
- Browser Installation - Flash firmware directly from your browser
- Pre-configured - Ready to use with popular tech stocks
- ESP32 with 2.8" TFT display (ESP32-2432S028R, also called "Cheap Yellow Display")
- USB Cable for programming and power
- WiFi Network for internet connectivity
- 3D Printed Case - Download from MakerWorld
- 
Use the live webflasher (easiest option): Go to: https://stocktracker.apps.dj/ 
- 
Or run the webflasher locally in Chrome or Edge browser: # Run the webflasher locally cd Stock_Tracker_webflasher python3 -m http.server 8003 Then go to http://localhost:8003
- 
Or deploy with Docker: docker-compose up -d Then go to http://localhost:8003
- 
Connect and flash: - Connect ESP32 to USB
- Click "Connect & Install Stock Tracker"
- Select USB Serial port
- Wait for installation to complete
 
- 
WiFi Setup (automatic): - ESP32 creates hotspot "Stock_Tracker_Setup"
- Connect with your phone
- Enter your WiFi credentials
- ESP32 automatically connects and starts tracking stocks
 
- 
Install PlatformIO: pip install platformio 
- 
Clone and build: git clone <repository-url> cd Stock_Tracker platformio run 
- 
Upload firmware: platformio run --target upload 
- 
Monitor output: platformio device monitor --port /dev/cu.usbserial-110 
The tracker comes pre-loaded with these popular tech stocks:
- AAPL - Apple Inc.
- GOOGL - Alphabet Inc.
- NVDA - NVIDIA Corporation
- TSLA - Tesla Inc.
- META - Meta Platforms Inc.
- AMZN - Amazon.com Inc.
- MSFT - Microsoft Corporation
- AMD - Advanced Micro Devices Inc.
STOCK TRACKER
Symbol    Price     Change
AAPL      $202.92   -0.21%
GOOGL     $194.67   -0.19%
NVDA      $178.26   -0.97%
TSLA      $308.72   -0.17%
META      $763.46   -1.66%
AMZN      $213.75   +0.99%
MSFT      $527.75   -1.47%
AMD       $174.31   -1.40%
Live (8 stocks)
Edit config.h to modify the stock list:
static const char* STOCK_SYMBOLS[] = {"AAPL", "GOOGL", "NVDA", "TSLA", "META", "AMZN", "MSFT", "AMD"};
static const char* STOCK_NAMES[] = {"Apple", "Alphabet", "NVIDIA", "Tesla", "Meta", "Amazon", "Microsoft", "AMD"};Currently hardcoded to Pacific Time (PST). Change in config.h:
#define TIMEZONE_OFFSET -8  // PST (Pacific Standard Time)Default is 60 seconds. Change in config.h:
#define UPDATE_INTERVAL_SECONDS 60- WiFi credentials are saved automatically after first setup
- If WiFi setup runs every boot, check that autoConnect()is used in code
- ESP32 only supports 2.4GHz networks
- Only works in Chrome, Edge, or Opera browsers
- Requires HTTPS or localhost
- Make sure ESP32 is connected via USB before clicking Connect
- Verify 2.8" TFT display is properly connected
- Check TFT_eSPI configuration in platformio.ini
- Requires internet connection
- Yahoo Finance API is free but may have rate limits
- Increase update interval if getting errors
Stock_Tracker/
├── src/
│   └── main.cpp                    # ESP32 firmware
├── Stock_Tracker_webflasher/       # Browser-based installer
│   ├── index.html                 # Webflasher interface
│   ├── manifest-2.8inch.json      # ESP Web Tools manifest
│   ├── stock_tracker.png          # Logo image
│   └── *.bin                      # Firmware binaries
├── config.h                       # Configuration settings
├── platformio.ini                 # PlatformIO build config
├── Dockerfile                     # Docker deployment
├── docker-compose.yml             # Docker Compose config
├── .gitignore                     # Git ignore rules
├── context.txt                    # Development documentation
└── README.md                      # This file
Deploy the webflasher using Docker:
# Build and run
docker-compose up -d
# Or manually
docker build -t stock-tracker-webflasher .
docker run -d -p 8003:8003 stock-tracker-webflasherAccess at http://localhost:8003
Feel free to submit issues and enhancement requests!
This project is open source and available under the MIT License.
Happy Stock Tracking!