COVID-19 Dashboard

Tired of always opening up a web browser to look for COVID-19 data?

I built a COVID-19 Dashboard using an Arduino EtherDue (Arduino Due and Ethernet combined into one board) and and TFT LCD Shield. (Note that this particular TFT LCD shield is not available anymore, but the code can be easily modified to use any 320×240 LCD).

The website covidactnow.org has an API for downloading current COVID-19 data state-by-state (or county-by-county if you’re so inclined). You merely have to register to get a key, but it’s free to use.

Using this API, I request a single state’s worth of data every 10 seconds, taking a little over 8 minutes to update the entire map.

This project uses a few libraries to do its job:

EthernetLarge–used to support larger TCP packets than the standard Ethernet library.

SSLClient–provides a way for an Arduino to connect to SSL servers. Note that to support the large JSON packets returned from covidactnow.org, you need to increase the size of m_iobuf[] from 2048 to 4096 in SSLClient.h (line 469). Also, you will need to make your own trust_anchor.h file from the script pycert_bearssl provided by the library.

ArduinoJson–library to parse JSON messages.

UTFT–LCD library that supports the TFT LCD Shield.

Here are the Arduino files:

covid_display.ino

us_outline_w_ak_hi.h

trust_anchors.h

Don’t forget to replace API_KEY with your own key and to make your own trust_anchor.h file.

Enjoy the colorful COVID-19 data!

Leave a Reply

Your email address will not be published. Required fields are marked *