★ Version 1.0 · Free · 100% local · for Windows 11

SAWAS Dashboard

A modular desktop widget that lives permanently on your desktop – with clock, live CPU/RAM, network, internet speed test, LAN scanner, notes, Chrome/Edge favorites and configurable support links. Pure Python + Qt. Local. No account. No cloud.

What it does

A modular widget,
as compact or rich as you want

Each module is its own Python file. Toggle it on or off with a click. Drop new modules into the modules\ folder.

🕒

Clock & Date

Second-accurate display with weekday names.

📊

System monitor

Live bars for CPU and RAM with a color gradient – read directly from the system via psutil.

🌐

Network rate

Real-time download/upload. Bars rescale rolling against the maximum of the last 60 seconds.

📝

Notes

Simple notes field, stored in notes.txt right next to the program.

Chrome & Edge favorites

Reads your bookmarks from all profiles, with search field, pin function and a "most used" indicator.

📈

History (CPU/RAM/network)

Collects one data point every 15 s in the background into a local SQLite file. Viewable as a day/week/month chart.

🎨

Animated border

Rotating cyan/magenta/green gradient. Colors and speed are freely configurable in settings.json.

📌

Sits in the background

Always stays below normal windows, never appears in the taskbar – yet remains permanently visible on the desktop.

🔒

100% local

No telemetry, no cloud, no sign-in. All data stays on your PC.

📡

Network scanner

Finds every active device on your LAN, automatically every 30 min (only while the PC is idle). Online pulses green, offline shows "gone for X". Web servers are detected – even cameras that don't reply to ICMP. Left-click on a card opens the device's web page, right-click opens the full menu (open web page, ping, note/login, label, remove). Custom names + credentials per device, popup for new devices, active Wi-Fi connection plus connecting to other networks straight from the dashboard.

🚀

Internet speed test NEW

Button at the top left of the title bar. A click opens a centered window with live values for ping, download and upload. While the test runs, the button pulses. After the test, the result stays in the button (e.g. 12 ms · 250↓ · 30↑). Runs automatically every 30 min in the background – but only while the PC is idle (CPU < 30%, RAM < 80%). Engine: speedtest-cli.

🔗

Support links NEW

Configurable list of help links. Empty by default – pick from a menu (Dell, HP, Lenovo, ASUS, Acer, Apple, Microsoft Windows/Office/Account/Outlook/OneDrive, A1, Magenta …) or add your own. Right-click: edit, reorder, remove.

📝

Note & login per favorite NEW

Right-click a Chrome/Edge favorite → Edit note / login. Three optional fields: display name, user, free-form note. Entries with data get a 📝 badge. User name copies to the clipboard on click. Passwords are deliberately not stored – use the browser's password manager for that.

👥

Set up for all users NEW

Via ☰ → "Set up for all users…" the dashboard creates an autostart entry in HKLM, so it launches for every user on the PC (one-time UAC). Each individual user can opt out for their account: extra menu item "Do NOT start on this account". Per-user opt-out lives in HKCU.

💾

Backup & restore

Save all your settings, notes, favorite counters, support links and known network devices as a ZIP to any location – and restore them just as easily. Before any overwrite, a .bak backup is created.

Built-in modules

Everything included – nothing forced

You can toggle every module in the dashboard via the + button.

Clock

Time, weekday, date.

System

CPU/RAM with live bars and color gradient.

Network

Download and upload rate, plus totals since start.

Notes

Notes field, saved locally as notes.txt.

Chrome favorites

Browser bookmarks with search, pin, top 10 by clicks, note/login per entry (right-click).

Edge favorites

Like Chrome, but for Microsoft Edge.

Network scanner

Find LAN devices (ping + ARP + DNS), auto-scan every 30 min only on idle PC, pulse effect during the scan, popup for new devices, Wi-Fi status & switching.

Support links

Configurable list with presets (Dell, HP, Lenovo, Microsoft …) and your own links.

💡 You can write your own modules — a Python class, two lines at the end, done. The exact guide is in the bundled PROJEKTINFO.md.
Current version · for Windows 11

Download for free

No sign-up, no ads. Grab the ZIP, unpack it, run start.bat. Done.

sawas-dashboard.zip

approx. 40 KB · ZIP archive with source code and start scripts

Prefer individual modules? → go to module overview

visitors · downloads

1

Install Python

If not already installed, get Python 3.10 or newer from python.org. During installation, tick "Add Python to PATH".

2

Install libraries

Open a command prompt and run:

pip install PyQt5 psutil speedtest-cli
3

Unpack the ZIP

Extract the contents to C:\Ball\Dashboard (or any other folder of your choice).

4

Run it

Double-click start.bat. The dashboard appears on your desktop. From the ☰ menu you can add it to Windows autostart.

FAQ

Frequently asked questions

Answers to the questions that come up most often.

What is the SAWAS Dashboard exactly?

A small program for Windows that pins a window permanently to your desktop (always behind normal windows). It runs so-called modules – clock, CPU/RAM, network, notes, browser favorites – which you can freely combine.

What are the system requirements?

Windows 11 (often works on Windows 10 too), Python 3.10 or newer, the packages PyQt5 and psutil. Less than 100 MB of disk space in total.

How do I enable autostart so it launches on every login?

In the dashboard, click the ☰ menu and select "Start with Windows". An entry is then created in the registry under HKCU\Software\Microsoft\Windows\CurrentVersion\Run. You can disable it the same way.

How do I add or remove modules?

Click the + button in the title bar. A list of all available modules appears with checkboxes. Tick or untick, done. To add your own modules, drop a .py file into the modules\ folder and pick it up via ☰ → "Reload modules".

Where is my data stored? Does anything go online?

Nothing goes online. All data lives strictly locally in the program folder: settings.json for position/size/modules, notes.txt for notes, bookmark_stats.json for your pin/click counters, stats.db for the history.

How do I reopen the dashboard if I closed it?

Just double-click start.bat again. If autostart is on, it will come back automatically at the next login anyway.

It's suddenly running twice – what should I do?

The dashboard has single-instance protection: a second launch shuts itself down automatically. If two windows are still open, close one via the ☰ menu → "Quit".

Can I change the border colors and speed?

Yes. In settings.json you'll find border_color_a, border_color_b, border_color_c and border_speed_ms. Set hex colors, save, restart the dashboard.

How do I move it or resize it?

Grab the left side of the title bar and drag to move the window. Resize from the bottom-right corner (resize grip) or via the two small +/ buttons on the right edge.

Where do I find the CPU, RAM and network history?

In the ☰ menu → "View history…". You can switch between day, week and month and use / to scroll through time. Use the "Today" button to jump back to today.

How do I uninstall it?

Disable autostart in the ☰ menu, then close the dashboard and delete the folder (e.g. C:\Ball\Dashboard). No files are written outside this folder – except for the registry entry mentioned above, which is removed from the same menu.

Is it really free and ad-free?

Yes. Free for private and commercial use. No ads, no telemetry, no subscription. If something doesn't fit your needs: just edit the code – it's plain Python.

I get "pip is not recognized as an internal or external command…"

Python was installed without ticking "Add Python to PATH". Either reinstall Python with that option enabled, or call pip with its full path, e.g. C:\Users\<YOUR-NAME>\AppData\Local\Programs\Python\Python312\Scripts\pip.exe install PyQt5 psutil.

Help, I'm getting an error on startup.

For troubleshooting, run start_debug.bat once – it opens a console window with the full message. Send me the output by email and we'll find the cause.

What exactly does the network scanner do and how do I enable it?

The network scanner pings every address in your local subnet in parallel, reads the ARP table for MAC addresses and does reverse DNS for the hostnames. The result is a list of your devices. Enable it via + → tick Network scanner. An automatic scan then runs every 30 minutes; you can trigger a manual scan with the ⟳ Scan button at the top right of the module.

What happens when a new device appears?

As soon as the scanner finds a device it has never seen (and it's not the very first scan), a popup opens in the middle of the desktop with IP, MAC and hostname. You can immediately give it a custom name – e.g. "Printer Living Room" – or click "Later" and set the name afterwards via right-click on the card.

How do I switch Wi-Fi networks from the dashboard?

In the network scanner module you'll see your active Wi-Fi at the bottom. Click "Available ▾" and the networks in range appear (sorted by signal strength). For known Wi-Fi profiles, a click connects directly; for unknown ones, a password dialog (WPA2-Personal) appears. As a fallback, the button opens the Windows-native Wi-Fi list in the taskbar.

How do I create a backup of my settings?

Click "Create backup…". A save dialog opens (suggested location: Documents) and a ZIP is created with all settings, notes, favorite counters, known network devices and the CPU/RAM/network history. To restore: "Restore backup…", pick the ZIP, confirm. Existing files are saved in parallel as .bak before being overwritten.

Can I transfer my backup to another PC?

Yes. Create a backup on the old PC, copy the ZIP to the new PC, install the dashboard there, and restore the backup via "Restore backup…". All settings, custom device names, notes and favorite counters carry over. Restart the dashboard once afterwards.

How do I open the web UI of a device (router, camera, printer)?

Left-click directly on the device's card opens the browser at its address. If the scanner detected a web server (port 80, 443, 8080 or 8443), exactly that URL is opened – otherwise http://IP/ is tried. Via right-click"🌐 Open web page" it's available from the menu as well.

Some devices (cameras) show up as "offline" even though they are running.

Some cameras/IoT devices ignore ICMP ping. After each sweep the scanner therefore additionally checks for all already known IPs whether a web server responds. If one is found, the device is marked as online – even without a ping reply. This only works for devices that have already been registered; new ICMP-silent devices don't show up by themselves.

Can I store a username and password per device?

Yes. Right-click a card → "📝 Edit note / login". There you can save username, password (with show/hide toggle) and free-form notes. When you then open the device's web UI, a small overlay appears at the top right of the desktop with user + password and copy buttons – perfect for quickly pasting them into the browser. The overlay can be collapsed/expanded (▾/▸) and closes automatically after 90 seconds (or via ×).

Where are the credentials stored?

In network_devices.json right in the dashboard folder. The values are stored in plain text – the dashboard is a local tool that doesn't send anything online. The file should therefore not be shared publicly. Via "Create backup…" it is automatically included in the backup ZIP and travels to another PC with it.

How does the internet speed test work?

At the top left of the title bar sits the 🚀 Speedtest button. A click opens a centered window with live values (ping, download, upload). While the test runs, the button pulses. When done, the result stays in the button (e.g. 12 ms · 250↓ · 30↑) until you click again. In addition, a silent background test runs every 30 minutes – but only while the PC is idle (CPU < 30%, RAM < 80%). Engine: speedtest-cli – install once via pip install speedtest-cli.

How do I add my own support links?

Enable the Support links module (title bar + → tick). In the module, click "➕ Add ▾": a list of ready-made presets appears (Dell, HP, Lenovo, ASUS, Acer, Apple, Microsoft Windows/Office/Account/Outlook/OneDrive, A1, Magenta, HP printer drivers). At the very bottom, "✏️ Custom link…" for a free name + URL. Right-click on a link opens: Open, Edit, Move up/down, Remove. Stored in support_links.json.

How do I set up the dashboard for ALL users of the PC?

☰ → "Set up for all users…". Windows asks once via UAC for admin rights and creates an HKLM\…\Run entry. With that, the dashboard starts for every user signing in on the PC. Each individual user can opt out for themselves via ☰ → "Do NOT start on this account" (sets an opt-out flag in HKCU). Important: for this to truly work for everyone, Python must be installed for all users (e.g. with the official installer and the "Install for all users" option) – otherwise the launch only succeeds for the user whose profile holds Python.

Why does a device sometimes show up as online and sometimes as offline?

This happened in an earlier version: if a device returned no MAC address on the first scan (some IoT hosts don't reply to ARP), it was stored under ip:<address>. As soon as a MAC became known later, a second entry mac:<x> was added – and the old one remained visible as "offline". The current version merges both entries automatically; on load, a one-time cleanup routine also runs across the entire file.

Legal

Legal Notice & Disclaimer