A good friend of mine is studying finance and obsessively tracks stock prices. I wanted to build something that sat on a desk and showed live market data without needing a phone or browser open — something dedicated to the one job. I also wanted an excuse to get into microcontrollers, which is a different world from mechanical engineering and one I’d been deliberately avoiding.
This project was my first serious dive into embedded systems. The combination of real-time API calls, local network hosting, display driving, and physical packaging all in one project gave me a complete crash course.
Two 64×32 RGB LED matrix panels are wired in a chain and driven by an ESP32 microcontroller. On startup, the ESP32 connects to the local Wi-Fi network and starts pulling ticker data from the Financial Modeling Prep (FMP) API — a JSON payload containing price, change, and percent change for each requested symbol.
The display cycles through up to 10 configurable tickers, plus the current date and time pulled from an NTP server. To change which tickers are shown, a user navigates to the ESP32’s local IP address in a browser: a minimal web server running on the chip serves a configuration page where tickers can be set without reflashing the firmware.
Getting from a breadboard to a finished unit took a lot of incremental steps: first getting one panel to light up, then two, then displaying readable text, then pulling live data, then adding the clock, then adding brightness control. Each feature revealed the next problem.
The school year makes it hard to work on side projects, but there are a few things I want to add: a weather display mode, a crypto ticker option, and possibly a sports score feed. The web server configuration interface makes adding new display modes relatively straightforward without touching the display hardware.