Real-time PC connection to a Digifiz Next cluster. Streams live data over WebSocket and renders a desktop dashboard with smooth, high‑contrast gauges.
DigiNext-Utils is a small, focused toolkit that lets you:
- Connect a PC to a Digifiz Next unit over Wi‑Fi
- Read cluster telemetry in real time (RPM, speed, temperatures, fuel, etc.)
- Visualize data on your computer using a responsive Pygame dashboard
Under the hood, the app opens a WebSocket connection to the cluster (default ws://192.168.4.1/ws) and continuously draws the latest values on a pixel‑perfect layout.
- Real-time data streaming via WebSocket
- Clean dashboard UI rendered with Pygame
- Windowed or fullscreen display modes
- Simple, dependency‑light Python codebase
- Python 3.8+ (Windows, macOS, or Linux)
- Python packages:
pygame,websocket-client - A Digifiz Next unit reachable at
192.168.4.1(default AP) or a reachable IP of your choice
Optional (Linux): SDL libraries for Pygame. On Debian/Ubuntu, if you run into build issues:
sudo apt-get update
sudo apt-get install -y python3-dev libsdl2-dev libsdl2-image-dev \
libsdl2-ttf-dev libsdl2-mixer-dev libportmidi-dev libfreetype6-dev- Clone and enter the repo
git clone https://github.com/PHOL-LABS/diginext_utils
cd diginext_utils- Create a virtual environment and install deps
- Windows (PowerShell)
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txt- macOS/Linux (bash)
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt-
Connect your PC to the Digifiz Next Wi‑Fi AP (or ensure the device is reachable on your network) and verify you can ping
192.168.4.1. -
Run the dashboard
# Windowed mode (example width)
python main.py --width 1280
# Fullscreen mode
python main.py --fullscreenThe app will attempt to connect to ws://192.168.4.1/ws and begin rendering once data flows.
- WebSocket endpoint: To use a different IP or path, edit
main.py:101and replacews://192.168.4.1/wswith your endpoint. Example:
ws = websocket.WebSocketApp(
"ws://10.0.0.42/ws", # your device IP
on_open=on_open,
on_message=on_message,
on_error=on_error,
on_close=on_close
)- Display size: Use
--width <pixels>for a scaled window or--fullscreento fill the current display.
main.py— Application entry point, CLI, and WebSocket clientconstants.py— UI constants (colors, font sizes, image paths, layout positions)gauges.py,rpm/,aux_gauge/— Gauge rendering primitivesimages/,fonts/— Assets used by the dashboardvariables.py,draw.py— Auxiliary drawing and runtime values
Run the app from the repo root so asset relative paths resolve correctly.
-
WebSocket error / no data on screen
- Ensure your PC is connected to the Digifiz Next AP or the device is reachable on the network
- Confirm you can
ping 192.168.4.1(or your configured IP) - Check firewalls or antivirus that may block WebSocket connections
-
Missing fonts/images
- Run from the repository root (assets are loaded via relative paths in
constants.py)
- Run from the repository root (assets are loaded via relative paths in
-
Pygame installation issues
- Upgrade
pipand install system SDL packages (see Requirements) on Linux
- Upgrade
- Tested with Python 3.8+; other versions may work but are not guaranteed
- This project is not affiliated with Volkswagen or any other brand
- Use responsibly and at your own risk, especially while operating a vehicle
- Original project: Digifiz-Dash v.03 by GFunkbus76 (aka Gavin)
- Repository: https://github.com/gfunkbus76/Digifiz-Dash
- YouTube: http://www.youtube.com/GFunkbus76
This repository adapts the concept for Digifiz Next units, focusing on a streamlined PC dashboard and real-time data connection.