smart Clock
This is a smart clock that displays the time and weather information.
The columns and colors represent the temperature forecast over a 32-hour period (1 column = 1 hour). The weather icons show the forecast trend at +4 h, +9 h, and +24 h.
Updates
- Fixed the weather type display.
- February 5, 2025: Replaced the time API request with an NTP request, as the previous API server was no longer available.
Bill of Materials (BOM)
- 1 × Adafruit Matrix Portal - CircuitPython Powered Internet Display
- 1 × Medium 16×32 RGB LED Matrix Panel - 6 mm pitch (I bought mine from Adafruit)
- 1 × Motion sensor (generic)
- 1 × Black LED Diffusion Acrylic Panel - 10.2" × 5.1" - 0.1" / 2.6 mm thick (bought from Adafruit)
- 1 × Clear Adhesive Squares - 6 pack - Uglu Dashes
- 4 × M4 screws
- 5 × 3 mm self-tapping screws
Assembly
- Trim the back of the LED matrix panel. There are two small plastic extrusions that need to be removed.
- Attach the base to the LED matrix using the four M4 screws.
- Prepare the Matrix Portal as described here:
https://learn.adafruit.com/adafruit-matrixportal-m4 Connect the Matrix Portal to the motion sensor. Make sure to respect the polarity.
- The default pin for the signal wire is A4.
- Solder the connection.
- Install the Matrix Portal into the case.
Hot-glue the motion sensor to the base.
- The adjustment screws should face outward.
- Install the rear panel using the five self-tapping screws.
- Cut the diffuser panel to size and install it.
Arduino Software
- In the Arduino IDE, install all required libraries (see the Adafruit Matrix Portal documentation).
- Place the provided
.inoand.hfiles in your Arduino project folder and opensmartClock.ino. - Create an OpenWeather API key.
- Add your Wi-Fi credentials and OpenWeather API key to the
credentials.hfile. - Customize the parameters marked with
// to customisein the main Arduino file. - Upload the program to the board.
- Adjust the display timeout using the potentiometer on the motion sensor.
Have fun! :)