No description
  • Python 88.8%
  • Shell 11.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2025-04-01 08:25:53 -04:00
.gitignore clean gitignore 2025-04-01 08:25:53 -04:00
cloudlog.conf.env more DRY 2025-03-24 17:29:29 -04:00
cloudlog_display.py add cloudlog 2025-04-01 08:23:14 -04:00
display_utils.py formatting, multipanel 2025-03-24 18:05:08 -04:00
girl.jpg Basicly functioning 2025-03-24 16:44:30 -04:00
matrix-display.service Basicly functioning 2025-03-24 16:44:30 -04:00
matrix.py Basicly functioning 2025-03-24 16:44:30 -04:00
README.md Basicly functioning 2025-03-24 16:44:30 -04:00
render_box.py Basicly functioning 2025-03-24 16:44:30 -04:00
requirements.txt more DRY 2025-03-24 17:29:29 -04:00
RPi.png Basicly functioning 2025-03-24 16:44:30 -04:00
run_display.sh Basicly functioning 2025-03-24 16:44:30 -04:00
setup.sh Basicly functioning 2025-03-24 16:44:30 -04:00

Matrix Display Service

A Python-based Matrix-style display animation running on an OLED display using the SH1106 driver.

Requirements

  • Python 3.x
  • SH1106 OLED Display
  • SPI interface enabled on your system
  • Systemd (for running as a service)

Installation

Quick Installation

Run the setup script to automatically configure everything:

./setup.sh

This will:

  1. Create a virtual environment
  2. Install all dependencies
  3. Set up the systemd service
  4. Enable and start the service

Manual Installation

If you prefer to install manually:

  1. Clone this repository:
git clone <repository-url>
cd <repository-name>
  1. Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Install the systemd service:
sudo cp matrix-display.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable matrix-display
sudo systemctl start matrix-display

Usage

The service will automatically start on boot. You can control it using:

sudo systemctl start matrix-display    # Start the service
sudo systemctl stop matrix-display     # Stop the service
sudo systemctl status matrix-display   # Check service status

Updating the Code

When you make changes to the code, simply run:

./update.sh

This will:

  1. Update any dependencies if requirements.txt has changed
  2. Restart the service with the new code
  3. Show you the service status and recent logs

Troubleshooting

  1. Check if SPI is enabled:
ls /dev/spi*
  1. Check service logs:
journalctl -u matrix-display
  1. Ensure proper permissions for SPI access:
sudo usermod -a -G spi,gpio $USER