A Prometheus dashboard for the Pimoroni Presto display, rendering MeshCore network metrics from a Prometheus-compatible endpoint.
The dashboard shows three metric groups:
| Section | Metrics | Color |
|---|---|---|
| Nodes | Total connected nodes | Blue |
| Advertisements | 1h / 24h / 7d windows | Pink |
| Messages | 1h / 24h / 7d windows | Teal |
Metrics are refreshed from the Prometheus API every 60 seconds.
- Pimoroni Presto (RP2350-based display)
- Presto MicroPython firmware with
picovectorsupport - Wi-Fi connectivity
- A Prometheus server exposing
meshcore_*metrics
-
Clone or copy the project files onto the Presto:
main.py roboto-medium-symbols.af -
Create a
secrets.pyin the project root with your Wi-Fi credentials:WIFI_SSID = "your-ssid" WIFI_PASSWORD = "your-password"
-
Configure the Prometheus endpoint in
main.pyif needed:PROMETHEUS_URL = "https://metrics.example.com"
-
Power on the Presto — the script runs automatically via
main.py.
| Constant | Default | Description |
|---|---|---|
PROMETHEUS_URL |
https://metrics.ipnt.uk |
Prometheus server base URL |
QUERY |
meshcore_* regex |
PromQL query string |
REFRESH_INTERVAL |
60 |
Seconds between metric fetches |
The dashboard queries the following Prometheus metric names:
meshcore_nodes_total— current node countmeshcore_advertisements_received— withwindowlabel (1h,24h,7d)meshcore_messages_received— withwindowlabel (1h,24h,7d)
presto-prometheus/
├── main.py # Application entry point
├── secrets.py # Wi-Fi credentials (gitignored)
├── roboto-medium-symbols.af # Vector font file
├── docs/
│ └── graphics.md # Presto graphics API reference
└── LICENSE # GPL-3.0
