/LED-Matrix-Clock

This is a Project to use a Raspberry Pi Pico with a LED Matrix to display the time, temperature and humidity.

Primary LanguageC++MIT LicenseMIT

LED Matrix Clock with Raspberry Pi Pico

Project Overview

This is a Project, that is using a Raspberry Pi Pico (RP2040) to control a Matrix LED Clock.

The Matrix Display is a 4 Segment 8x8 Matrix, using a MAX7219 for each Segment as a Controller.

I wrote all necessary functions myself, I used the linked Documentation and Pico Examples as an inspiration on how to use the Pi Pico functions.

Time Temp RM

Controlls

The Button is used to switch between Time, Temperature and Humidity. A long press is switching to set minutes mode. In set minute mode a normal press in increasing the minutes, another long press goes to set hours mode, that also increases the value with a normal press. Another Long press goes back to the normal mode, with this switch the new time will be set and the seconds will be set to 0.

Font

The Font I created for the Matrix.

0 1 2 3 4
5 6 7 8 9
Cel Dash Per
Mode Normal Value Invalid Value
Time Time - - -
Temperature Temperature Temperature_e
Humidity Humidity Humidity_e

Circuit

Circuit Breadboard

Parts

Part
Raspberry Pi Pico
4x Segment 8x8 Matrix LED
DHT 11
Button
2x 10kΩ Resistor
Breadboard and Cables

Documentation

Part
Raspberry Pi Pico C SDK
RP2040 Datasheet
DHT11 Datasheet
MAX7219 Datasheet

How to use the SDK

A Guide and all necessary links can be found here.

Clone the Repository and initialise it:

git clone -b master https://github.com/raspberrypi/pico-sdk.git
cd pico-sdk
git submodule update –init

Install the Packages for your System (This is for macOS with an ARM CPU):

brew tap Armbed/homebrew-formulae
brew install arm-none-eabi-gcc cmake

Add the PI Pico SDK to your cmake environment (This is for CLion):

In CLion Build, Execution, Deployment → CMake set Environment to PICO_SDK_PATH=(SDK path).

Then set Generator to Let CMake decide. After that copy external/pico_sdk_import.cmake from the SDK to this project folder.