Skip to content

A WaveShare Pico-RGB-Matrix-P3-64x32 LED panel Clock powered by a Raspberry Pico W and displaying local weather from the Open Weather map API

License

Notifications You must be signed in to change notification settings

jake1164/Pico-RGB-Matrix-Weather-Clock

Repository files navigation

Pico-RGB-Matrix-Clock

LED Matrix Clock with weather running on a Raspberry Pico W and a WaveShare Pico-RGB-Matrix-P3-64x32

Weather APIs

A subscription to Open Weather Map (OWM) is required to display the current conditions and the current condition icon. Tempest api is optional, if provided it will pull all information except the above two items from OWM.

Go to the OWM sign up and using the free subscription is enough to create a working Token for this project. Put the token from the OWM API Keys page into the settings.toml file in the OWM_API_TOKEN="" setting. OWM uses your geolocation which gets looked up via the Geolocation api, for this you need to provide your zipcode and the Country under OWM settings listed below. Be sure to enable the OWM api by setting the OWM_ENABLE=1 to turn it on.

Sign into your tempest portal to create a application token under Settings and find your stationID (in the URL after you sign up). Put the token from Data Authorizations in the settings.toml file under TEMPEST_API_TOKEN="" and enter the station under the TEMPEST_STATION=xxxxx where xxxxx is the number from tempestwx.com/station/xxxxx/ Be sure to enable the tempest api by setting the TEMPEST_ENABLE=1 to turn it on.

Settings

Requires a settings.toml file with the following settings in settings file:

  • WIFI_SSID="your ssid"
  • WIFI_PASSWORD="yoursupersecretpassword"
  • NTP_HOST="0.adafruit.pool.ntp.org"
  • TZ_OFFSET= ie TZ_OFFSET=-5
  • NTP_INTERVAL=6
  • UNITS="imperial" # imperial or metric

tempestwx.com (tempest) Data Authorization

  • TEMPEST_ENABLE=0 # 0 = disabled, 1 = enabled
  • TEMPEST_API_TOKEN="yourDataAuthorizationToken"
  • TEMPEST_STATION=0 #YourStationNumber

openweathermap.org Data Authorization

  • OWM_ENABLE=0 # 0 = disabled, 1 = enabled
  • OWM_API_TOKEN="Your Token"
  • OWM_ZIP="zip/post code"
  • OWM_COUNTRY="US" # Please use ISO 3166 country codes

Board

This project requires the use of a Raspberry Pico W to use the WIFI for getting information for displaying on the screen such as updated time, and eventually local weather. (api to be defined soon)

Circuitpython 8.0.0

This project requires that you use circuitpython 8.x.x.

Libraries

Circuit libraries are included in the ./lib/src folder, just copy the ./src folder to the Pico. Most of the libraries are located on the CircuitPython libraries page. Notes:

  • The schedule library is located in the version 8.x Community Bundle.
  • The IR_RX library is located on github.

Clock

Connects to a Network Time Protocol server (0.adafruit.pool.ntp.org) and sets the onboard DS3231 RTC based on the time from the NTP response.

Weather Plugin

Not implemented yetS

Images

figure 1 figure 2 figure 3 figure 4

Code Standards

This project moving forward will be converting changed code to loosely meet the google python coding standard.

pylint settings

To ignore the code.py overriding the std lib error add the following to your .vscode.json config file.

  "python.languageServer": "Pylance",
  [...]
  "python.analysis.diagnosticSeverityOverrides": {
      "reportShadowedImports": "none"
  },

KNOWN ISSUES

  • Pressing settings button is hard due to sleeps in scrolling label.

About

A WaveShare Pico-RGB-Matrix-P3-64x32 LED panel Clock powered by a Raspberry Pico W and displaying local weather from the Open Weather map API

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages