An entertaining system information display for Raspberry Pi with 128x32 I2C OLED screen featuring scrolling text, burn-in prevention animations, and auto-start functionality.
- 📊 System Info: IP Address, CPU Usage, Temperature, Time, RAM Usage
- 📰 Scrolling Display: TV news ticker style synchronized scrolling text
- 🎬 15 Animations: Matrix rain, bouncing ball, anime characters, One Piece Luffy, Super Sonico, and more
- 🛡️ Burn-in Prevention: Automatic animations every 3 minutes to extend OLED lifespan
- 🔧 Auto-Start: Systemd service runs on boot
- ⚙️ Optimized: 80% brightness, smooth scrolling, virtual environment
The system includes 15+ entertaining animations that run every 3 minutes:
- Matrix Digital Rain
- Bouncing Ball with Trails
- Sine Wave Patterns
- Starfield Effect
- Analog Clock
- System Progress Bars
- Anime Hearts & Kawaii Faces
- Neko Cat Ears
- One Piece Luffy Fighting
- Super Sonico Character
- Seductive Eyes & Bouncing Curves
- Wave Interference
- GitHub Creator Signature
Hardware:
- Raspberry Pi (any model with I2C support)
- 128x32 I2C OLED Display (SSD1306)
- Jumper wires
Software:
- Raspberry Pi OS
- Python 3 + pip
OLED Pin | Raspberry Pi Pin |
---|---|
VCC | 3.3V (Pin 1) |
GND | GND (Pin 6) |
SCL | GPIO3 (Pin 5) |
SDA | GPIO2 (Pin 3) |
# 1. Enable I2C
sudo raspi-config
# Navigate to: Interface Options -> I2C -> Yes
# 2. Install dependencies
sudo apt update && sudo apt install python3-pip python3-venv ttf-dejavu -y
# 3. Clone repository
git clone https://github.com/TheInfamousToTo/Pi-HAT-Screen.git
cd Pi-HAT-Screen
# 4. Setup virtual environment
python3 -m venv ~/screen_env
source ~/screen_env/bin/activate
pip install Pillow adafruit-circuitpython-ssd1306 psutil
# 5. Create systemd service
cp info-screen.service.example info-screen.service
nano info-screen.service # Edit YOUR_USERNAME to your actual username
sudo cp info-screen.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable info-screen.service
sudo systemctl start info-screen.service
# 6. Check status
sudo systemctl status info-screen.service
# Start service
sudo systemctl start info-screen.service
# Stop service
sudo systemctl stop info-screen.service
# Check status
sudo systemctl status info-screen.service
# View logs
sudo journalctl -u info-screen.service -f
The main script (info-screen.py
) includes:
- Scrolling speed adjustment
- Animation timing (3 minutes default)
- Brightness control (80% default)
- Display refresh rate (0.15s for smooth scrolling)
Permission Issues:
sudo usermod -a -G i2c,gpio $USER
sudo reboot
Service Not Starting:
sudo journalctl -u info-screen.service -f
Display Issues:
# Check I2C devices
sudo i2cdetect -y 1
Pi-HAT-Screen/
├── info-screen.py # Main script with animations
├── info-screen.service # Systemd service file
├── README.md # This file
├── LICENSE # MIT License
├── version # Version info
└── assets/
└── logo.png # Project logo
Created by TheInfamousToTo
Feel free to submit issues and pull requests!
MIT License - see LICENSE file for details.
Enjoy your animated Pi HAT Screen! 🎉