DashPiX is a free and open-source smart dashboard designed for the Raspberry Pi. It offers both a full-featured display (display.py
) and a simplified basic version (basic.py
) for different use cases.
- 🕰️ Fullscreen clock with live time updates (12/24h format)
- 🌤️ Weather data from OpenWeatherMap
- 📅 Current date and calendar display
- 🎉 Time-based greeting
- 💬 Custom message support
- 📊 System monitoring (RAM, Storage)
- 🎨 Dark/Light mode support
- ⌨️ Simple exit with Escape key
- 🕰️ Large centered clock display
- 📅 Centered date display
- 👋 Centered greeting
- 🌤️ Single-line weather with location
- 🎨 Clean, minimal interface
- Raspberry Pi with HDMI output
- Python 3
- Pygame, Requests, Pillow, psutil
-
Install Dependencies:
sudo apt update && sudo apt install python3-pip pip3 install pygame requests pillow psutil
-
Clone the Repository:
git clone https://github.com/ProgrammerNomad/DashPiX.git cd DashPiX
-
Set Up Configuration Files:
# Copy example files copy config.json.example config.json copy env.example.py env.py # Update configuration with new options python update_config.py
-
Configure Display Settings: Edit the
config.json
file:{ "show_time": true, "show_date": true, "show_greeting": true, "show_weather": true, "show_location": true, "show_system_info": true, "clock_style": "24h", "background_style": "dark", "weather_update_frequency": 600, "system_warnings": { "ram_warning": 90, "storage_warning": 90 } }
-
Run the Display: For full version:
python3 display.py
For basic version:
python3 basic.py
-
Create
message.txt
(optional):- You can create a file named
message.txt
in the same directory asdisplay.py
. - Write custom messages that you want to display. For example:
📢 Community Announcement! 🌟 Join us for the Village Festival this weekend! 🗓 Date: May 5, 2025 📍 Location: Village Square 🎉 Free Entry | Food, Music & Fun! For more details, visit www.villagefestival.com
- You can create a file named
-
Optional: Run on Boot: To run the display on boot, add the following line to your crontab:
crontab -e
Then add this line:
@reboot python3 /home/pi/DashPiX/display.py
Note: When running on boot, you can still exit using the
Esc
key.
Note:
- The
.example
files serve as templates and should not be modified directly- Your personal
config.json
andenv.py
files will be ignored by git- Keep the example files up to date with the latest configuration options
To update your local DashPiX installation while preserving your settings:
-
Initialize Git (if not already done):
git init git remote add origin https://github.com/ProgrammerNomad/DashPiX.git
-
Backup your configuration files:
# On Windows copy env.py env.backup.py copy config.json config.backup.json # On Raspberry Pi cp env.py env.backup.py cp config.json config.backup.json
-
Pull the latest changes:
git pull origin main
-
Restore your configuration:
# On Windows copy env.backup.py env.py copy config.backup.json config.json # On Raspberry Pi cp env.backup.py env.py cp config.backup.json config.json
-
Check for new configuration options:
# On Windows fc env.example.py env.py fc config.json.example config.json # On Raspberry Pi diff env.example.py env.py diff config.json.example config.json
If there are new options, manually add them to your configuration files.
Note:
- Always backup your configuration files before updating
- Check the changelog before updating
- Never commit your personal
env.py
andconfig.json
files
You can toggle or change the display settings at any time by editing the config.json
file. Here's a breakdown of the settings:
- show_time: Set to
true
to display the time. - show_date: Set to
true
to display the current date. - show_greeting: Set to
true
to display a greeting based on the time of day. - show_weather: Set to
true
to display weather information. - show_location: Set to
true
to display the current city and weather description. - show_system_info: Set to
true
to display system monitoring information (RAM, Storage). - clock_style: Choose between "12h" or "24h" format.
- weather_update_frequency: Set weather update interval in seconds (default: 600).
- system_warnings: Configure warning thresholds for RAM and storage.
- background_style: Set to
light
ordark
to choose the background style.
Note: OpenWeatherMap API key and city name are now configured in
env.py
for better security.
- RSS Feed-based news
- Local sensor integration (temperature, humidity)
- Calendar or prayer times
- Enhanced theming support
Made with ❤️ by @ProgrammerNomad
This project is licensed under the MIT License. You can use, modify, and distribute it freely.
- OpenWeatherMap API
- Raspberry Pi digital signage projects
Feel free to fork, contribute, or share your custom DashPiX setups!
- System monitoring and resource management
- RAM usage tracking
- Storage usage monitoring
- CPU temperature reading
- Process and system utilities
- Image processing and manipulation
- Format conversion for weather icons
- Image resizing and optimization
- Support for various image formats
To install these dependencies:
pip install psutil pillow
Let the world see more, with less. — DashPiX