01. Requirements
Hardware
- ›One or more VU1 dials by Streacom
- ›VU1 USB hub (connects dials to your PC via I2C)
- ›A free USB port on your PC
Software
- ›Windows 10 or 11 (x64)
- ›.NET Framework 4.7.2+ or .NET 6+ Desktop Runtime
- ›Visual C++ Redistributable 2015+ (x64)
- ›FTDI USB drivers (usually auto-installed by Windows)
Recommended: Run as Administrator
For full functionality (CPU/GPU temperatures, fan speeds, voltages, FPS monitoring), the app needs Administrator privileges. Without admin, it falls back to less accurate methods for some metrics.
Right-click the app → Properties → Compatibility → tick "Run this program as an administrator" to make this permanent.
Hardware Driver Choice
During installation, you can choose between two hardware access drivers:
- ›PawnIO (Recommended): a signed kernel driver. Should not trigger Windows Defender warnings.
- ›WinRing0 (Legacy): an unsigned driver that may trigger Windows Defender or SmartScreen warnings.
⚠ Standalone App: Do NOT Run With VU1 Server
The VU1 Dial Controller is a standalone replacement for the original VU1 Server (VUServer.exe) by Karanovic Research. Do not run both applications at the same time. They communicate over the same COM port and running them simultaneously will cause dial provisioning corruption: dials may all display the same data or stop responding entirely.
If this has already happened, see the Troubleshooting section below. Uninstalling the original VU Server is the easiest way to prevent accidental conflicts.
You do NOT need
- ›The Streacom VU1 Server application (this app communicates directly with the hub over USB serial)
- ›Any API keys or online accounts
02. First Launch
What happens on first run
- 01Splash screen: displays "Connecting to VU1 hub..." while the app scans your COM ports for the VU1 hub.
- 02Configuration created: a config file is generated at
%APPDATA%\VU1Controller\config.json - 03Default profiles: three starter profiles are created automatically: Normal (CPU/GPU temp & load, orange), Work (weather, CPU, RAM, white), and Gaming (FPS, GPU/CPU temps, green).
- 04Dashboard opens: your connected dials appear as cards on the main dashboard.
First launch may be slow
Hardware sensors, the audio engine and weather all initialise in the background. Some monitors may show "initializing..." for up to 30 seconds on first launch. This is normal.
03. Connecting Your Dials
Step by step
- ›Connect the VU1 hub to your PC via USB.
- ›Ensure your dials are connected to the hub via their cables.
- ›Launch the VU1 Dial Controller.
- ›The app scans for the FTDI device (VID 0x0403, PID 0x6015) and connects at 115,200 baud.
- ›Once the hub is found, it performs an I2C bus scan to discover all connected dials.
- ›Each dial appears as a card on the Dashboard with its UID.
Naming & reordering dials
Click a dial card to open its detail page and give it a custom name (e.g. "CPU", "GPU", "Audio"). Names are saved locally and restored on every launch. Drag and drop dial cards on the Dashboard to rearrange them to match your physical dial layout.
04. Assigning Monitors
Each dial can be assigned a monitor, a live data source that drives the needle position. Open a dial's detail page and select from:
System
- CPU Load: usage 0–100%
- CPU Load (HW): via LibreHardwareMonitor*
- CPU Temperature: requires admin*
- RAM Usage: memory consumption
- Disk Usage: storage capacity
GPU
- GPU Load: graphics usage
- GPU Temperature: requires admin*
- GPU Memory: VRAM consumption
Network
- Download Speed: Mbps
- Upload Speed: Mbps
Audio
- Volume: overall level
- Bass: 60–250 Hz
- Mid: 250–2,000 Hz
- Treble: 4,000–8,000 Hz
Weather
- Temperature: °C or °F
- Humidity: relative %
- Wind Speed: km/h or mph
Hardware Sensors
- Fan Speeds: CPU/case/pump RPM*
- Voltages: rail voltages*
- Power: CPU/GPU power*
- Clock Speeds: CPU/GPU freq*
- Storage/Mobo Temps: M.2, VRM*
Other
- FPS: foreground app framerate (admin*)
* Requires running the app as Administrator and a hardware driver (PawnIO or WinRing0) for accurate sensor access. Hardware sensors are dynamically discovered based on your system.
05. Customisation
Dial faces
Each dial has a small e-ink screen (200 × 144 pixels) that displays a face image. You can:
- ›Choose from built-in pixel art faces (11 designs) or original faces (6 designs)
- ›Upload your own custom image (PNG or JPG, max 20 MB, resized to 200 × 144)
RGB backlighting
Set a custom backlight colour for each dial independently. Each channel (Red, Green, Blue) ranges from 0–100%. Quick presets available: red, green, blue, white, purple, orange, cyan, and off.
Easing & smoothing
Control how the needle and backlight animate:
- ›Dial step: how far the needle moves per update (1–15)
- ›Dial period: animation duration in ms (5–150)
- ›Backlight step / period: colour transition amount and fade duration
Three presets are available: Responsive (fast, snappy), Balanced (smooth but reactive), and Smooth (gentle transitions).
06. Profiles & Rules
Profiles
Profiles save a complete snapshot of your dial configuration: monitor assignments, backlight colours, dial faces, and easing settings. Switch between them instantly from the profile bar.
- ›Create named profiles for different use cases (e.g. "Gaming", "Music Production")
- ›Three default profiles are created on first run; the active profile is restored on launch
Rules
Rules let you automate dial behaviour based on conditions, evaluated in the background every 500ms.
Triggers
- ›Monitor threshold: fires when a sensor value goes above or below a set level
- ›Process running: fires when a specific application is running (or not)
- ›Window title: fires when the active window title matches a pattern (supports regex)
- ›Time window: fires during a set start/end time range
Actions
- ›Apply a specific profile
- ›Set backlight colour
- ›Pulse effect (backlight blink at configurable speed)
Rules have a priority system: when multiple rules match at the same time, the higher priority one wins.
07. Settings
Application
- ›Start with Windows: launches on login (minimised to tray)
- ›Start minimised / Close to tray: keep the app running in the system tray
- ›Theme: choose between CLU (dark) and VU1 (light) interface themes
- ›Backlight glow overlay: ambient gradient reflecting your dials' backlight colours
- ›Refresh images on startup: re-sends dial face images when the app starts
Monitoring, Weather & Audio
- ›Poll interval: how often monitors update (default 300ms, range 50–10,000ms)
- ›Ignore integrated GPU and set a Disk path to monitor (default C:/)
- ›Weather: unit (C/F), auto or manual location, fetch interval (default 15 min)
- ›Audio: opt-in toggle for Bass/Mid/Treble/Volume, plus per-band sensitivity tuning (off by default)
08. Troubleshooting
Hub not found
App stays on "Connecting to VU1 hub..." or shows no dials.
- ›Check the USB cable is firmly connected to both the hub and your PC
- ›Try a different USB port (USB 2.0 ports can be more reliable than 3.0)
- ›Open Device Manager → "Ports (COM & LPT)" for an FTDI device. Reinstall drivers from ftdichip.com if you see a warning icon
- ›Power-cycle the hub: unplug USB, wait 5 seconds, reconnect. Close any other software using the same COM port, then restart the app
CPU/GPU temperature shows 0 °C or is missing
Temperature monitors report zero or show a question mark.
- ›Run the app as Administrator: temperature sensors require a kernel driver (PawnIO or WinRing0) which needs elevated privileges
- ›If using WinRing0, check Windows Defender is not blocking the driver. Consider switching to PawnIO (signed)
- ›Without admin, the app falls back to Windows thermal zones (WMI), which are less accurate. Check antivirus isn't blocking the hardware monitor library
Audio / weather / FPS monitors not responding
A monitor stays at zero or never finishes loading.
- ›Audio: enable audio monitoring in Settings → Audio; the app uses WASAPI loopback, so set your playback device as default in Windows Sound settings
- ›Weather: requires an internet connection and may fail behind a VPN; set your location manually in Settings → Weather if it does. Data updates every 15 min via Open-Meteo (no API key)
- ›FPS: run as Administrator (uses ETW), close other overlays, and note FPS is only tracked for the foreground application
Dials all showing the same data / Only HUB dial working
All dials display identical values, or only the HUB dial responds after reconnecting.
This is caused by running both the VU1 Dial Controller and the original VU1 Server (VUServer.exe) at the same time. Both apps compete for the same COM port, which corrupts dial provisioning. To re-provision and fix the dials:
- 01Disconnect ALL dials and the HUB
- 02End
VUServer.exeand the VU1 Dial Controller in Task Manager - 03Connect ONLY the HUB; run the KaranovicResearch/VUDials Server (not the Controller)
- 04Open
http://localhost:5340, verify only HUB is listed - 05Connect dials one at a time, clicking search for new dials after each, until all four appear
End the VU Server process, then reopen the VU1 Dial Controller. That should clear it. Uninstall the VU Server so it can't happen again.
App freezes, high CPU, or settings keep reverting
- ›Increase the poll interval (default 300ms → try 1000–2000ms) and disable unused monitors (especially audio and FPS)
- ›Check the config folder is writable:
%APPDATA%\VU1Controller\ - ›If the config is corrupted, delete it and let the app regenerate (see Reset & Recovery below)
09. Hardware Compatibility
GPU & CPU monitoring
- ›NVIDIA GPUs: fully supported (load, temp, VRAM)
- ›AMD GPUs: supported; temp readings may require admin and be less reliable by driver version
- ›Integrated GPUs (Intel UHD, AMD APU): limited or no temperature/load support
- ›Intel & AMD CPUs: usage always works; temperature requires admin (LibreHardwareMonitor + PawnIO/WinRing0)
USB & audio hardware
- ›The VU1 hub uses an FTDI FT-X USB-to-serial chip; works on USB 2.0 and 3.0
- ›If not detected, try a USB 2.0 port or different cable; connect directly to a motherboard port rather than a splitter
- ›Audio requires a Windows playback device with WASAPI loopback; Bluetooth devices may have higher latency
10. Reset & Recovery
Reset all settings
- ›Close the VU1 Dial Controller completely (check system tray)
- ›Navigate to
%APPDATA%\VU1Controller\and deleteconfig.json - ›Relaunch the app; it regenerates fresh defaults and profiles
Config folder contents
%APPDATA%\VU1Controller\ config.json ← main settings & profiles app.log ← application log (rotating, 5 backups) crash.log ← crash dump (if a fatal error occurs) profile_images\ ← cached dial face images per profile