This is a simple crypto price tracker for Adafruit's PyPortal Titano. It uses CoinCap's API.
This tracker shows three crypto asset prices, which the user can specify.
- Get yourself an Adafruit PyPortal Titano from https://www.adafruit.com/product/4465
- Plug the Titano into your computer
- Download CircuitPython 7.x UF2 for your Titano: https://circuitpython.org/board/pyportal_titano/
- Double-click the reset button your Titano, copy the CircuitPython UF2 to the device
- Copy the project files to your device. The program will try to run, but it won't until we do a few more things
- Get the required CircuitPython 7.x runtime libraries here: https://circuitpython.org/libraries
- Unzip the libraries on your local machine
- Create a directory on your Titano called /lib
- When you run the program, it will let you know which libraries are missing. Copy over the needed libraries from the ZIP files /lib folder to the /lib directory on your Titano.
- Create a file called 'secrets.py' on your Titano
- Paste this into secrets.py:
secrets = {
'ssid' : 'your_wifi_SSID_name',
'password' : 'your_wifi_password',
'coincap_api_key' : 'your_coincap_API_key',
'coin1' : 'bitcoin',
'coin2' : 'ethereum',
'coin3' : 'monero',
'coin1label' : 'BTC',
'coin2label' : 'ETH',
'coin3label' : 'XMR',
}
- Replace the above placeholder WiFi credentials with your Wifi network credentials
- Replace 'coin1' etc with the names of the coins you want to track
- Replqace 'coin1label' etc with the abbreviations you want to show for each coin on the tracker (there's not enough room to show long names)
- Get a CoinCap API key here: https://coincap.io/api-key
- Replace the above placeholder with your CoinCap API key
- Save secrets.py to your Titano
I have tested two boards, and both of them always crash after an unpredictable amount of time with this error in the esp32 libraries.
RuntimeError: ESP32 timed out on SPI select
After combing the Adafruit forums, seems like there no solution to this issue out there. So, there is code in the app that tries to detect this error and reboot the device.