ESP32 based stock ticker that uses a MAX7219 LED Matrix (mine is 4 segments but how many is up to you), that receives the ticker symbol from self served webpage.
I am currently using Yahoo Finance for price info every 5 seconds but you can change that to the API of your choice along with the update frequency.
This code utilizes both cores, without doing so causes a pause when
prices get updated.
Technically should work on ESP8266 with changes. (and it is single core)
The ESP8266 needs the RSA fingerprint method: http.begin(server,"42:0A:3F:BB:EF:F1:FC:D9:FA:0F:23:8F:96:AA:B9:AA:4D:4E:85:15");
I am not a developer or programmer, so my code is not pretty, but it works and I work on it all the time.
This code is compatible with Arduino and PlatformIO.
LEDMatrixDriver
by Bartosz
Bielawski
ESPAsyncWebServer
by Me No Dev
ArduinoJson
My personal ESP32 setup is as follows:
ESP32 Pins | LED Matrix |
---|---|
3.3V | VCC |
GND | GND |
23 | DIN |
15 | CS |
18 | CLK |
You must insert your own SSID and password for your Wifi, so it can connect.
Upon getting an IP address it will display it continually on the LED Matrix until it receives its first ticker symbol.
From any browser input the IP address where you will be presented with a ticker input.
The program will automatically check for a new price every 5 seconds.
It also supports crypto, but you must use the Yahoo Finance format, for example BTC-USD for Bitcoin.
Any symbol that works on Yahoo Finance should technically work.
I got JSON working finally, so it now works a little better.
Updated 4/1/2021 - Finally got ArduinoJSON working and tried to make the code more readable.
What happens when I put a bad ticker? Like "None"?
Core 1 has a fit and panics, causing the ESP32 to restart.
2) Multiple Ticker Support