A beautiful, touch-friendly display interface for Moode Audio on Raspberry Pi with integrated radio station browser.
- Browse 200+ internet radio stations in a touch-friendly grid
- 3ร2 grid layout (6 stations per page)
- Previous/Next pagination
- Touch any station to play instantly
- Stations automatically loaded from Moode's database
- Spotify Integration - Beautiful album art display with blurred backgrounds
- MPD/Radio Support - Display local music and internet radio streams
- Smart Source Detection - Automatically switches between Spotify, MPD, and radio
- Real-time Updates - Track info updates automatically
- Playback Controls - Previous, Play/Pause, Next buttons
- Volume Control - Volume up/down and mute (auto-hides during Spotify)
- Radio Browser - Dedicated button to access station library
- Responsive UI - Optimized for 5" touchscreen
- Album art with Gaussian blur background (Spotify)
- Progress bars with elapsed/total time
- Clean, modern dark theme
- Large touch-friendly buttons
- Professional layout optimized for 800ร480 displays
- Raspberry Pi 4B (2GB+ RAM recommended)
- 5" DSI Touchscreen - 800ร480 resolution (e.g., Waveshare 5" DSI LCD)
- Moode Audio installed and configured
- MicroSD Card - 16GB+ for Moode Audio
- DAC/Amplifier - IQaudio DigiAMP+, HiFiBerry, or similar
- Speakers - Powered speakers or passive speakers if using amp HAT
- Case - 3D printable case files included in
hardware/folder
- Raspberry Pi 4B (4GB)
- Waveshare 5" DSI LCD (800ร480)
- IQaudio DigiAMP+
- Moode Audio 9.x
- Moode Audio 9.x or later
- Python 3.7+
- Python Libraries:
- tkinter (usually pre-installed)
- Pillow (PIL Fork)
- sqlite3 (usually pre-installed)
- System:
- X11 (for GUI)
- MPD (included with Moode)
Follow the official Moode installation guide:
- Download Moode Audio image
- Flash to microSD card
- Boot Raspberry Pi
- Complete web-based setup
# Update system
sudo apt-get update
sudo apt-get upgrade -y
# Install required packages
sudo apt-get install -y python3-pil python3-pil.imagetk xinit openbox
# Install fonts (optional, for better text rendering)
sudo apt-get install -y fonts-dejavu fonts-liberation# Create directory
mkdir -p /home/moodepi/moode-display
cd /home/moodepi/moode-display
# Download the script
# (Replace with your actual download method)
wget https://raw.githubusercontent.com/YOUR_USERNAME/moode-display/main/moode_display.py
# Make executable
chmod +x moode_display.py
# Test run (optional)
python3 moode_display.py
# Press Escape to exitAdd to .bashrc for automatic startup:
# Edit .bashrc
nano ~/.bashrc
# Add at the end:
if [ -z "$DISPLAY" ] && [ -z "$SSH_CLIENT" ] && [ -z "$SSH_TTY" ]; then
if [ "$(tty)" = "/dev/tty1" ]; then
cd /home/moodepi/moode-display
startx
fi
fiCreate .xinitrc:
cat > ~/.xinitrc << 'EOF'
#!/bin/bash
xset -dpms
xset s off
xset s noblank
openbox &
sleep 2
python3 /home/moodepi/moode-display/moode_display.py
EOF
chmod +x ~/.xinitrcsudo rebootThe display should start automatically and show your Moode Audio interface!
- Shows currently playing track/station
- Album art background for Spotify tracks
- Progress bar with elapsed/total time
- Playback controls (Previous/Play/Pause/Next)
- Volume controls (only for MPD/Radio, hidden during Spotify)
- Tap ๐ป button (bottom left) to open radio browser
- Browse stations - 6 stations per page
- Navigate pages - Use Previous/Next buttons
- Play station - Tap any station button
- Close - Tap โ Close button (or browser auto-closes after selection)
- โฎ Previous - Previous track (MPD only)
- โถ/โธ Play/Pause - Toggle playback (MPD only)
- โญ Next - Next track (MPD only)
- ๐ป Radio - Open radio station browser
- โ Volume Down - Decrease volume by 5%
- + Volume Up - Increase volume by 5%
- ๐ Mute - Toggle mute
Note: Playback controls don't work for Spotify (use Spotify app). Volume controls auto-hide during Spotify playback.
Default: 800ร480. To change, edit constants in moode_display.py:
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 480Default: 6 (3ร2 grid). To change:
STATIONS_PER_PAGE = 6 # Options: 4, 6, 9, 12Customize the color scheme:
BG_COLOR = "#000000" # Background
TEXT_COLOR = "#FFFFFF" # Text
ACCENT_COLOR = "#00FF00" # Playing indicator
BUTTON_BG = "#222222" # Buttons
BUTTON_ACTIVE = "#444444" # Button pressedChange how often the display updates (milliseconds):
UPDATE_INTERVAL = 500 # 500ms = 2 updates per secondSee TROUBLESHOOTING.md for detailed solutions.
Display doesn't start on boot:
- Check
.bashrcand.xinitrcconfiguration - Verify X11 is installed:
dpkg -l | grep xinit - Check logs:
tail -f /home/moodepi/display_debug.log
Stations don't play:
- Verify Moode is working: test playback in web UI
- Check database:
ls /var/local/www/db/moode-sqlite3.db - Test MPD:
mpc ls RADIO
Display shows but controls don't work:
- Check MPD is running:
systemctl status mpd - Test commands:
mpc status - Check permissions
Touch not working:
- Calibrate touchscreen in Moode web UI
- Test touch:
evtest(install withapt-get install evtest)
See hardware/HARDWARE_GUIDE.md for:
- Complete parts list with links
- Wiring diagrams
- 3D printable case files
- Assembly instructions
- Speaker selection guide
Contributions welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
# Clone repo
git clone https://github.com/YOUR_USERNAME/moode-display.git
cd moode-display
# Make changes
nano moode_display.py
# Test
python3 moode_display.py
# Check syntax
python3 -m py_compile moode_display.pyThis project is licensed under the MIT License - see the LICENSE file for details.
- Moode Audio - Excellent audiophile music player for Raspberry Pi
- Moode Community - Inspiration and support
- Radio Station Providers - Thanks to all internet radio stations included in Moode's database
- UI development assisted by Claude (Anthropic)
This software is provided "as is" without warranty of any kind. Use at your own risk.
This project interfaces with Moode Audio but is not affiliated with or endorsed by the Moode Audio project. Moode Audio is a trademark of Moode Audio.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Moode Forum: Moode Audio Forum
Planned features:
- Favorites system (star favorite stations)
- Search bar for station filtering
- Genre/country filters
- Now playing indicator in browser
- Screensaver mode
- Multiple language support
- Customizable themes
- Lines of Code: ~950
- Stations Supported: 200+
- Python Version: 3.7+
- Display Resolution: 800ร480 (configurable)
Made with โค๏ธ for the Moode Audio community




