Getting Started
Adafruit Playground is a wonderful and safe place to share your interests with Adafruit's vibrant community of makers and doers. Have a cool project you are working on? Have a bit of code that you think others will find useful? Want to show off your electronics workbench? You have come to the right place.
The goal of Adafruit Playground is to make it as simple as possible to share your work. On the Adafruit Playground users can create Notes. A note is a single-page space where you can document your topic using Adafruit's easy-to-use editor. Notes are like Guides on the Adafruit Learning System but guides are high-fidelity content curated and maintained by Adafuit. Notes are whatever you want them to be. Have fun and be kind.
Click here to learn more about Adafruit Playground and how to get started.
-
Boston MBTA stop prediction sign
An LED matrix device to show predictions of arriving buses and trains using the MBTA v3 API
To get to the Git hub repository for this project click here: https://github.com/dufus2506/MBTA-bus-train-stop-prediction-sign
Built on the excellent work of others I've seen, I have designed my own MBTA sign to tell you when the bus or train will be leaving a stop. This sign can show predictions for for bus lines, subway stations, and commuter rail stations.
This is designed to be used on the Adafruit Matrixportal M4 running Circuitpython https://learn.adafruit.com/adafruit-matrixportal-m4 and using a 64x32 RGB LED matrix. https://www.adafruit.com/category/327 Pick whatever size you like.
I managed to keep the code very small, and with a minimum number of libraries so the limited memory of the M4 would not be a problem. And I improved on the code comments a bit to make it easier for you to configure your own sign.
I removed all but the most essential libraries from the board. I have only the libraries shown in the image on my board.
Apart from that I tried to make the sign as useful as possible with the ability to see predictions for more than one stop or bus route. You can add as many stops/routes/lines to a sign as you need, though it's not very practical if the sign has too many. You don't want to be waiting too long for sign updates to see when your ride is leaving.
Because the sign updates every thirty seconds, you won't need an MBTA API Key to make it work. You need one if your project will be checking the API multiple times a second. That's not very practical for this sign, so no API key necessary here. But you will need an Adafruit AIO account so that you can set the clock properly. The free level is just fine for clock setting. Get one here: https://io.adafruit.com/
Your settings.toml file should have the following entries:
CIRCUITPY_WIFI_SSID = "Your_SSID"
CIRCUITPY_WIFI_PASSWORD = "Your_Password"
AIO_USERNAME = "Your_AIO_Username"
AIO_KEY = "aio_Your_Really_Long_AIO_User_Key"
timezone = "US/Eastern"
Don't forget the timezone entry, or your clock may be set to GMT. WiFi settings are case sensitive in the settings.toml file, so be sure to match everything correctly for your WiFi network.
When I was done I had the files and directories seen in the image below on the board. All but the lib directory are empty.