mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-04-10 13:02:59 +00:00
35c3f6eae0e0357ef0002eb15b77c281894e7a56
LED Matrix Clock
A simple, modular clock application for Raspberry Pi using Adafruit LED Matrix displays.
Hardware Requirements
- Raspberry Pi 3
- 2x Adafruit 64x32 LED Matrices
- Adafruit Pi LED Matrix Bonnet
Installation
- Install required system packages:
sudo apt-get update
sudo apt-get install -y python3-pip python3-dev python3-setuptools
sudo apt-get install -y build-essential git
sudo apt-get install -y python3-pil python3-pil.imagetk
sudo apt-get install -y cython3
- Install the rpi-rgb-led-matrix library and Python bindings:
# Make sure you're in the main project directory
cd ~/LEDSportsMatrix/rpi-rgb-led-matrix-master
# Build the C++ library first
make
# Build and install Python bindings
cd bindings/python
sudo python3 setup.py install
cd ../..
# Install the library files
sudo cp -r lib/* /usr/local/lib/
sudo cp -r include/* /usr/local/include/
sudo ldconfig
cd ..
- Install additional Python packages:
sudo python3 -m pip install pytz
- Install the DejaVu Sans font:
sudo apt-get install -y fonts-dejavu
Performance Optimization
To reduce flickering and improve display quality:
- Edit
/boot/firmware/cmdline.txt:
sudo nano /boot/firmware/cmdline.txt
-
Add
isolcpus=3at the end of the line -
Save and reboot:
sudo reboot
Configuration
Edit the config/config.json file to customize:
- Timezone
- Display settings (brightness, dimensions)
- Clock format and update interval
For sensitive settings like API keys:
- Copy the template:
cp config/config_secrets.template.json config/config_secrets.json - Edit
config/config_secrets.jsonwith your API keys
Running the Clock
The program must be run with root privileges to access the LED matrix hardware:
cd src
sudo python3 display_controller.py
To stop the clock, press Ctrl+C.
Project Structure
src/clock.py- Main clock applicationconfig_manager.py- Configuration managementdisplay_manager.py- LED matrix display handling
config/config.json- Configuration settingsconfig_secrets.json- Private settings (not in git)
Languages
Python
58.8%
JavaScript
18.6%
HTML
15.8%
Shell
6.1%
CSS
0.7%