PI Dashboard: A Lightweight Terminal System Monitor for Raspberry Pi (and Linux!)
April 27, 2025
If you're like me and run headless systems like Raspberry Pis for various tasks (home automation, media server, Docker p...
Creative hobbyist — coding, 3D printing & experiments
If you're like me and run headless systems like Raspberry Pis for various tasks (home automation, media server, Docker playground, etc.), you often need a quick way to check system resources without firing up a heavy graphical interface or SSH-ing in and running multiple commands. That's why I decided to build PI Dashboard, a simple yet informative Text-based User Interface (TUI) dashboard using Python.
While web dashboards are great, sometimes you just want something fast, lightweight, and accessible directly from your terminal, especially over an SSH connection. TUIs built with libraries like curses
fit the bill perfectly:
PI Dashboard aims to provide a comprehensive overview of your system's health directly in your terminal. It uses the excellent psutil
library to gather system information and curses
to create the interactive text interface. While built with the Raspberry Pi in mind (including specific features like GPU monitoring), it should work on most Linux systems.
Here's what PI Dashboard currently offers:
vcgencmd
).Space
to pause/resume live updates.Want to try it out?
Clone the Repository:
git clone https://github.com/emphyri0/pi_dashboard
cd pi-dashboard
Install Dependencies: You mainly need Python 3 and the psutil
library.
pip3 install psutil
(You might need sudo apt install python3-pip
first if pip isn't installed).
Run the Dashboard:
python3 dashboard.py
Make sure your terminal supports colors and UTF-8 encoding for the best visual experience.
The controls are straightforward:
q
: Quit1
, 2
, 3
, 4
: Go directly to a tabTab
/ →
: Next Tab←
: Previous Tab↑
/ ↓
/ PgUp
/ PgDn
: Scroll the process listSpace
: Pause / Resume updatesvcgencmd
utility being present and executable.psutil
couldn't find a recognized sensor value.■
) or graph points (•
) look strange, ensure your terminal locale is set to UTF-8 (e.g., en_US.UTF-8
).This was a fun project to build, and there's always room for improvement! Some ideas include more configuration options, different sorting/filtering for processes, or even more detailed hardware sensor information.
You can find the complete source code on GitHub: https://github.com/emphyri0/pi_dashboard
April 27, 2025
If you're like me and run headless systems like Raspberry Pis for various tasks (home automation, media server, Docker p...
April 21, 2025
🔍 Terminal Network Scanner Ever wondered what devices are lurking on your local network? Whether you're a curious Raspbe...
April 14, 2025
Ever wished for a clean, distraction-free overview of all the latest science news in one place? No ads, no tracking, jus...