A comprehensive Raspberry Pi-based display system with weather information, Spotify integration, and web-based control interface. For 3.5" TFT, Display Hat Mini, and Waveshare 2.13" e-ink screens.
- Weather Display: Current weather conditions with forecasts
- Spotify Integration: Now playing display with progress bars
- Clock Display: Digital and analog clocks with customizable backgrounds
- Waveshare_epd has a different design with all three at once
- Spotify Control: Play, pause, skip tracks, and control volume
- Music Statistics: Track play counts and artist statistics
- Search & Queue: Search Spotify and manage playback queue
- Current Track Display: Real-time now playing information
- Responsive Design: Works on desktop and mobile devices
- Dark/Light Theme: Toggle between themes
- Real-time Updates: Live track information and system status
- Configuration Management: Web-based configuration interface
- Supported Display Types:
- Framebuffer (TFT 3.5")
- ST7789 (DisplayHatMini)
- Waveshare E-Paper
- GPIO Button Control: Configurable physical buttons for st7789
- Touch Control: Touch support for 3.5" tft
- GPS Integration: Location services with GPSD support
- Raspberry Pi
- Supported display (3.5" TFT, ST7789, or E-Paper)(optional)
- Internet connection (WiFi or Ethernet)
- Optional: GPS module for location services
# Clone the repository
https://github.com/NeonLightning/NeonDisplay.git
cd Hud35
# Run complete installation (excluding display drivers)
sudo make-
System Dependencies
make system-deps
-
Python Environment & Packages
make python-packages
-
Display Setup (
β οΈ Will reboot system)make setup-display
-
System Service Setup
make setup-service
-
Configuration
make config
You'll need to configure the following API keys:
- OpenWeatherMap: Free weather API key
- Spotify: Client ID and Secret for music integration
- Google Geolocation: Optional, for precise location
Web Interface (Recommended and needed to authenticate):
- Access the web UI after installation
- Navigate to "Advanced Configuration"
- Fill in API keys and settings
Command Line:
# Interactive configuration walk-through
make config
# Individual configuration sections
make config-api
make config-display
make config-fonts
make config-buttons
make config-wifi
make config-settings- API Configuration: Weather and Spotify API keys
- Display Settings: Screen type, rotation, timeout
- Font Configuration: Custom fonts for different display elements
- Button Mapping: GPIO pins for physical buttons
- WiFi Settings: Access point configuration
- Clock Appearance: Digital/analog with background options
# Start the service
make start
# Check status
make status
# View logs
make logsAfter starting, access the web interface at:
http://[raspberry-pi-ip]:5000
# Start/stop/restart service
make start
make stop
make restart
# View real-time logs
make tail- Create a Spotify Developer application
- Set redirect URI to
http://127.0.0.1:5000 - Enter Client ID and Secret in configuration
- Authenticate through the web interface
- Now playing display with progress bars
- Playback controls (play, pause, skip, volume)
- Search and add to queue
- Music statistics and play history
Access detailed music statistics at:
http://[raspberry-pi-ip]:5000/music_stats
Features:
- Most played songs and artists
- Total play counts
- Interactive bar charts
- Framebuffer: Standard TFT displays
- ST7789: For DisplayHatMini with SPI configuration
- Waveshare E-Paper 2.13": E-ink displays
- Dummy Display: No screen enabled
- GPSD: Hardware GPS with gpsd service
- Google Geolocation: Network-based location
- Fallback City: Manual location setting
make update-packagesmake view-configmake reset-configmake cleanDisplay Not Working:
- Run
make setup-displayfor driver installation - Check display type in configuration
- Verify framebuffer device path
Spotify Authentication Fails:
- Verify Client ID and Secret
- Check redirect URI matches exactly
- Ensure proper scopes are requested
Service Won't Start:
- Check logs:
make logsormake tail - Verify Python dependencies:
make venv-info - Check configuration:
make view-config
No Internet Connection:
- WiFi manager will start access point
- Connect to "Neonwifi-Manager" to configure WiFi
# Service logs (systemd)
make logs
# Application logs
make tail
# Service status
make statusNote: The display driver installation (make setup-display) will reboot your system. Ensure you save any work before proceeding.