A Raspberry Pi-powered LED matrix display that shows the time since the last DNS failure. Features a physical reset button to track new incidents and plays a sound effect when reset.
- Raspberry Pi 4 (any memory size)
- Adafruit RGB Matrix Bonnet
- 64x32 RGB LED Matrix - 4mm pitch
- Momentary Push Button (any standard normally-open button)
- Jumper wires (at least 2)
- 5V 4A (minimum) Power Supply for LED Matrix
- MicroSD card (8GB minimum)
- MicroUSB cable for Raspberry Pi power
- Speakers or headphones for audio output
- Soldering iron and solder
- Wire strippers
- Small Phillips head screwdriver
- (Optional) Heat shrink tubing
-
Prepare the RGB Matrix Bonnet:
- Solder the RGB Matrix Bonnet to your Raspberry Pi following Adafruit's guide
-
Connect the Button:
- Solder or connect one wire to GPIO19 on the RGB Matrix Bonnet
- Solder or connect the other wire to any GND pin on the bonnet
- Connect these wires to your momentary push button
-
Connect the LED Matrix:
- Connect the RGB Matrix to the Bonnet using the included ribbon cable
- Connect power to the Matrix using the terminal block on the Bonnet
-
Connect Audio:
- Connect speakers or headphones to the Raspberry Pi's 3.5mm audio jack
-
Clone the Repository:
git clone https://github.com/yourusername/dnsfail.git cd dnsfail
-
Run the Installation Script:
sudo chmod +x install.sh sudo ./install.sh
-
Reboot the System:
sudo reboot
-
Test the Display: The display should start automatically after reboot. If not:
sudo systemctl status dns_counter
-
Test the Button: Press the button - you should hear a sound effect and the counter should reset
-
Adjust Audio (if needed):
alsamixer # Use this to adjust volume
-
Display Issues:
- Check ribbon cable connection
- Verify power supply is adequate
- Run
sudo systemctl status dns_counter
for logs
-
Button Not Working:
- Check wire connections
- Verify GPIO permissions:
sudo chmod 660 /dev/gpiochip0
-
No Sound:
- Check audio connections
- Verify volume:
alsamixer
- Test audio:
aplay /usr/local/share/dnsfail/media/fail.wav
-
Service Not Starting:
- Check logs:
journalctl -u dns_counter
- Verify permissions:
ls -l /usr/local/share/dnsfail
- Check logs:
- Logs are available via:
journalctl -u dns_counter
- Service can be restarted with:
sudo systemctl restart dns_counter
[Your chosen license]