Live gauge clusters, telemetry and car control for BeamNG.drive, on your phone, tablet or second screen.
Quick start · Features · Screenshots · Designs · Documentation · How it works · Changelog
Note
Alpha 0.04-2. The mod changed in 0.04, so reinstall BeamDash-mod.zip. Everything was tested with the built-in demo car; the new in-game data (engine and motor power, battery, damage, watching other cars) and the reworked cruise control still need confirming in BeamNG across many cars. Missing data is shown as "not available" instead of breaking anything. Please report what works on your cars.
- 🎛️ 35 gauge-cluster designs from the 1960s to 2026: US, Euro, Japanese and Korean styles, EV and hybrid displays, a race display and a Custom Builder. Every one is customizable: colours, needles, units, redline, shift light, brightness.
- 🚗 Works with every car, stock or modded. Spawn a car and its details load automatically.
- 🔁 Info pages like a real car, flipped with ◀ OK ▶, swipes, keys or macros: trip computer, economy, now playing, nav, assist, digital speed, tires, G-force, engine, vehicle & service.
- 🧮 Trip computer: Trip A, Trip B, Since start and a resettable fuel economy, kept on the server so every screen agrees. Hold OK to reset.
- 🎚️ Deck: a Stream Deck-style button pad for a second phone, plus a URL for every function for Elgato Stream Deck, Companion, Touch Portal or keyboard shortcuts.
- 🎵 Now playing from your PC (Linux, via playerctl), with album art and controls.
- ⚡ EV & hybrid: motor power and regeneration, battery %, kWh used and recovered, and a power-flow page (engine / motor / battery / wheels).
- ⏱️ Performance & lap timer: 0-60 mph, 0-100 / 100-200 km/h, ⅛ and ¼ mile with trap speed, braking distance, plus a lap timer with sectors and a live gap-to-best bar. Best results are saved.
- 🌀 Drift meter, virtual dyno, crash log and 15 achievements.
- 🖥️ Portrait side screens, a mirrored windscreen HUD and a transparent OBS overlay.
- 🔔 Chimes and alerts: speed warning, over-the-limit, low fuel, shift beep, automatic night dimming, and spoken turn-by-turn navigation.
- 🧾 Records page, a damage screen, an eco score, 10 Hz CSV drive recording, and watch any other car's live data.
- 📷 Connect page with QR codes, so a phone joins with one scan.
- 🔗 Link straight to a look:
/?design=bav86&page=trip&clean=1opens a design and page with all controls hidden, for OBS or a wall-mounted tablet. - 📊 Live telemetry: tire and brake temperatures, pressures, slip and load per wheel, engine and drivetrain, G-force, live charts, and every one of the ~200 values the game's UI apps can read.
- 🗺️ Live map: the level's real road network with every vehicle and your GPS route. Tap to navigate and the route appears in the game too.
- 🛡️ Drive assist: cruise control, adaptive cruise with 4 following distances, forward collision warning, emergency braking, blind-spot monitor, speed-limit signs, ESC and drive modes.
- 🔧 Garage: car specs, the car's tuning sliders, repair, refuel, engine start/stop, time of day, pause.
- 📱 Phone, iPad or desktop, installable as an app. A built-in demo car lets you try everything without the game.
- 📦 Tiny and self-contained: a Node.js server with zero dependencies, no build step, OutGauge fallback without the mod.
![]() Cluster with controls (iPad) | ![]() Records: timers, laps, dyno, achievements |
![]() Telemetry with power, energy and damage | ![]() Map & navigation |
![]() Windscreen HUD | ![]() Portrait side screen |
- Download
BeamDash-alpha-0.04-2.zipfrom the Releases page and unzip it anywhere. - Install the mod: put
BeamDash-mod.zipin your BeamNGmodsfolder, or runbash install-mod.sh(Linux) /install-mod.ps1(Windows). Don't put the whole download inmods. - Start the server:
bash start-server.sh(Linux) orstart-server.bat(Windows). You need Node.js 18 or newer. - Open the address it prints (e.g.
http://192.168.1.20:8080) on your phone, iPad or PC, and spawn a car in BeamNG.
No game running? The server shows a demo car so you can explore every screen first.
BeamNG.drive --UDP--> BeamDash server (Node) --live stream--> phone / iPad / PC browsers
(mod) <--UDP-- <--commands----
Only two pieces need installing:
- The mod goes on the machine that runs BeamNG.drive (Windows, native Linux, or Linux with Steam Proton).
- The server runs on any machine on your network: the game PC itself, another Linux / Windows PC, or a VM. It only needs Node.js 18+.
Phones, iPads and other PCs just open the website. Until a game is connected, the server runs a demo car so you can explore everything.
sudo pacman -S nodejs playerctl # CachyOS/Arch. Debian/Ubuntu: sudo apt install nodejs playerctl
node -v # must be 18 or newer, otherwise install the LTS from https://nodejs.org
cd ~/BeamDash # wherever you copied the folder
bash start-server.sh # add --game-host <game PC IP> if BeamNG runs on another machineplayerctl is optional: it powers the Now playing page. Run the server as your normal user (not root / sudo), or it can't see your music player.
It prints the addresses to open on your phone, e.g. http://my-pc:8080 or http://192.168.x.x:8080.
Firewall (only if one is active). With ufw:
sudo ufw allow 8080/tcp # website
sudo ufw allow 4445/udp # telemetry from the game (needed when the game is on another machine)
sudo ufw allow 4444/udp # optional OutGauge fallbackWith firewalld: sudo firewall-cmd --permanent --add-port=8080/tcp --add-port=4445/udp && sudo firewall-cmd --reload.
Start automatically when you log in (optional): change the two /home/YOU/BeamDash paths in beamdash.service, then:
mkdir -p ~/.config/systemd/user
cp beamdash.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now beamdash
journalctl --user -u beamdash -f # live log; stop: systemctl --user stop beamdashIt's a user service (no sudo) so Now playing works.
Settings that must be shared (ADAS choices, trip counters, the Deck layout) are saved in the data/ folder next to server/.
- Linux (native or Proton):
bash install-mod.sh. It finds the BeamNG user folder (native, Steam Proton, or Flatpak Steam) and copies inBeamDash-mod.zip. If it can't find the folder, pass it yourself:bash install-mod.sh "<user folder>/mods". - Windows: right-click
install-mod.ps1→ Run with PowerShell. - Manual (any OS): copy
BeamDash-mod.zipinto BeamNG's user folder →mods(BeamNG → Options → Other → Open user folder).
Then start BeamNG.drive, make sure BeamDash is enabled in the Mod Manager, and spawn a car. The status dot in the top-right turns green: BeamNG live.
Start the server with the game machine's LAN IP:
bash start-server.sh --game-host 192.168.1.60 # Linux
start-server.bat --game-host 192.168.1.60 # WindowsThe server keeps saying "hello" to the game on UDP port 4446. The mod then sends all telemetry back to whoever said hello, so nothing has to be configured inside BeamNG.
Firewall rules needed:
- Server machine: inbound TCP 8080 (web) and UDP 4445 (telemetry).
- Game machine: inbound UDP 4446 for BeamNG. On Windows, allow it when asked the first time. On Linux with ufw:
sudo ufw allow 4446/udp. - VMs need a bridged network adapter so your phone can reach them.
On Windows, if the firewall prompt for Node.js was missed, run this in an admin PowerShell:
New-NetFirewallRule -DisplayName "BeamDash web" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow -Profile PrivateOptional: the mod also reads settings/beamDash.json in the BeamNG user folder (serverHost, serverPort, listenPort) if you prefer to point it at the server yourself.
- iPhone / iPad: open the site in Safari → Share → Add to Home Screen. It then opens full-screen like an app.
- Android (Chrome): menu → Install app / Add to Home screen.
- Desktop (Chrome / Edge): the install icon in the address bar.
Tips: use landscape on phones. Tap the cluster to hide or show the controls.
| Control | What it does |
|---|---|
| ◀ / ▶ (right edge), swipe left/right, or ← → keys | Flip through the info pages |
| OK (or Enter) | The page's main function: switch Trip A/B/Since start, play/pause, zoom the map, change ACC distance, reset G peak, set the lap line at your car (lap page) |
| Hold OK (0.7 s) | Reset: the trip you're looking at, the fuel-economy average, performance bests, laps, best drift or the dyno |
| ⟲ (or Backspace) | Back to the first page |
| Swipe up/down, or Page Up / Page Down | Change design |
H / A |
Hide the controls / open Drive Assist |
Designs with a screen (most 2010s/2020s ones, Skyline, Porsche-style, truck, GT-R, Maranello) show the pages on it. Classic designs show a pop-up for a few seconds, like a real trip computer. The E46-style "Bavaria M" shows them in its check-control LCD. You can set these buttons off in Customize.
- Portrait (e.g. a 1080×1920 side monitor or a phone held upright): the cluster sits on top at full width, with two big info pages below. The top one flips with ◀ ▶; pick the bottom one in Customize → Info pages. Customize also lets you switch pages off.
- HUD (
/hud): big speed, gear, revs, speed limit, cruise, next turn, lap gap and warnings. Mirror flips it for a windscreen reflection; 4 colours. - OBS overlay (
/hud?obs=1): add it in OBS as a Browser source, 1920×1080. The background is transparent; it shows speed, gear, revs, pedals and G, plus lap / drift / launch chips when they're active. - Chimes & alerts (Customize): speed warning at a speed you set, over-the-limit alert with a tolerance, low fuel / battery chime, shift beep, automatic night dimming from the in-game clock, and spoken navigation. Browsers only allow sound and speech after you've tapped the page once.
- Connect (
/connect): QR codes for the server's addresses. Choose whether the code opens the cluster, the Deck, the HUD…
- Launch timer: come to a complete stop (the page shows READY), then launch. Times are taken until you lift off, brake or slow down. Brake hard from above 100 km/h (60 mph) to a stop for braking distance.
- Lap timer: set the start/finish line with Set start/finish at my car (Records, Deck, or OK on the lap page), or tap a road on Map & Nav → 🏁. Drive through it to start. Sectors use thirds of your best lap, and the gap bar compares you with your best lap at the same distance. Lines and best laps are saved per level.
- Virtual dyno: hold full throttle through the rev range (a high gear works best); the best power and torque at each rpm are kept per car.
- Drive recorder: start / stop on Records or the Deck. Files are saved in
data/recordings/as CSV, ready for Excel or Google Sheets. - Watch another car: 👁 next to a car on Map & Nav (or Watch next car on the Deck). Every screen then shows that car's live data until you press Back to my car. The demo car's records stay separate from your real ones.
- Deck (
/deck): open it on a second phone. 3 pages of buttons by default (Drive, Car & media, Track & tools: signals, hazard, lights, cruise, ACC, horn, park brake, page flip, media, assists, trip resets, lap line, resets, recorder, watch, voice nav…). Buttons light up live. Tap Edit to change actions, labels, colours, columns or pages; the layout is shared by every device. - Macros (
/macros): every action's URL, e.g.http://192.168.1.20:8080/api/action/signal-left. Use it from:- KDE (works while BeamNG has focus): System Settings → Keyboard → Shortcuts → Add New → Command:
curl -s http://localhost:8080/api/action/hazard - Elgato Stream Deck: free API Ninja or Web Requests plugin, GET the URL. Linux StreamController: Run command with curl.
- Bitfocus Companion / Touch Portal: HTTP GET.
- Hold actions (horn): call the URL to press, add
?state=upto release. Cruise ± take?step=5&unit=mph. - The Macros page also sets keyboard shortcuts for when a BeamDash tab is focused.
- KDE (works while BeamNG has focus): System Settings → Keyboard → Shortcuts → Add New → Command:
The action URLs have no password. Anyone on your home network who can open the site can use them, so don't expose port 8080 to the internet.
| Era | Design | Inspired by |
|---|---|---|
| 1970s | Detroit '70 | American muscle (GM / Ford): chrome pods, rolling odometer, idiot lights |
| 1970s | Bavaria '72 | BMW 2002-era: twin dials, centre fuel/temp, analog clock (in-game time) |
| 1980s | Bavaria '86 | BMW E30: orange glow, econometer, service-interval LEDs, P-R-N-D-3-2-1 |
| 1980s | Digital '84 | Corvette C4 LCD: segment bar graphs, 7-segment digits |
| 1990s | Bavaria M '98 | BMW E36/E46 M3: warm-up redline LEDs, oil temp, check-control text |
| 1990s | Pleiades Rally '98 | Subaru WRX STI (GC8): white faces, centre tach, turbo gauge, shift light |
| 2000s | Optitron '04 | Electroluminescent (Lexus / 2004 STI): glowing rings, digital speed |
| 2000s | Bavaria '06 | BMW E90: orange LCDs, cruise set-speed marker, econometer |
| 2000s | Retro Pony '05 | Ford Mustang S197: pick any backlight colour |
| 2010s | Stingray '14 | Corvette C7 TFT: Tour / Sport / Track modes, G-meter, tire temps |
| 2010s | Euro Virtual '16 | Audi Virtual Cockpit: live map, assist or car view in the middle |
| 2020s | Bavaria Live '22 | BMW Live Cockpit (G20): follows drive mode colours, map or traffic view |
| 2020s | Bavaria Curved '26 | Latest BMW curved display: 3-D surround traffic, ACC, nav, vitals |
| 2020s | Pleiades '22 | Subaru WRX (VB): EyeSight, boost, G or tire screens |
| 1990s | Neo Skyline '99 | Nissan Skyline GT-R (R34): centre tach, boost pod, blue multi-function display |
| 2010s | Bavaria Black Panel '12 | BMW F10/F30: white-on-black dials, orange screen between them, sport mode |
| 2010s | Stuttgart Five-Dial '19 | Porsche 911 (992): big analog tach between two screens |
| 2010s | Heartland Pickup '19 | US full-size pickup: 6 gauges, centre screen, PRNDL |
| 1960s | Super Sport '69 | US muscle car: ribbon speedometer, woodgrain or brushed panel |
| 1980s | Tokyo VFD '86 | Japanese digital (Soarer / 300ZX): stair-step tach, 7-segment speed |
| 1980s | Sindelfingen '89 | Mercedes W124: big centre speedo, combination gauge, clock |
| 1990s | Rotary '92 | Mazda RX-7 FD: centre tach + boost / water / fuel stack |
| 2000s | Maranello '05 | Italian supercar: yellow centre tach, info screen |
| 2000s | Godzilla '09 | Nissan GT-R R35: big tach with gear, multi-function meter |
| 2010s | Synergy '16 | Toyota Prius-style hybrid display: CHG / ECO / PWR, EV mode, READY |
| 2020s | Pony S650 '24 | Ford Mustang S650 digital, plus a retro Fox-body '87 theme |
| 2020s | Mid-Engine '20 | Corvette C8: wide curved tach band, vitals, screen |
| 2020s | Volt Ridge EV '24 | Electric pickup (Rivian / Lightning): power & regen meter, battery |
| 2020s | Lux Digital '21 | Cadillac / Lincoln luxury digital: power ring, copper accents |
| 2020s | Neue Klasse '26 | BMW Panoramic iDrive: info strip across the windscreen base |
| 2020s | Bavaria M Track '24 | BMW M track view: converging shift lights, big gear, lap strip |
| 2020s | Zuffen EV '20 | Porsche Taycan-style EV power meter between screens |
| 2020s | Seoul EV '22 | Hyundai Ioniq 5 / Kia EV6 EV display, dark or light |
| Custom | Motorsport Pro | Race display: shift lights, tire/brake temps, alarms |
| Custom | Custom Builder | Choose layout, dial style, centre widget, fonts and every colour |
Customize (on the cluster): per-design colours and options, mph/km/h, °C/°F, psi/bar/kPa, redline and shift-light overrides, brightness, 30/60 fps, sounds.
- Vehicle side (
beamDashVeh.lua, inside every car): electrics at 30 Hz (speed, rpm, gear, pedals, temps, boost, lights, assists, cruise…), every electrics value at 4 Hz, wheels at 15 Hz (speed, slip, load, brake temps, pressure, deflated/broken), powertrain devices and fuel/battery tanks at 4 Hz, G-forces, position and heading. - Game side (
beamDash.lua): all vehicles, your GPS route, the road network for the map, car model/config info and tuning variables on spawn, and the ADAS logic. - No mod? Turn on OutGauge in BeamNG (Options → Other → OutGauge, IP 127.0.0.1, port 4444). The cluster then works with basic data (no tires, map, ADAS or car control).
The assists run in the mod, using the positions of all vehicles in the game:
- ACC holds your set speed, then slows down to keep the chosen time gap (4 settings) to the car ahead. It drives the car's own cruise control, so the car must have cruise control (most do).
- FCW warns from time-to-collision (Late / Normal / Early). AEB (off by default) applies full brakes below ~0.9 s.
- Blind spot lights up for cars in the next lane beside or just behind you.
- Speed limit comes from the level's road data, when the map has it.
- Status stays "waiting for game" or "demo car": check that the mod is enabled. In BeamNG press
~for the console and look forBeamDash bridge loadedor errors that mentionbeamDash. - Phone can't open the page: same Wi-Fi? Try the IP address instead of the PC's name (on Linux the name often only works as
<name>.local, through Avahi), and check the firewall rules above. - OutGauge with the server on another machine: set the OutGauge IP in BeamNG to the server's IP instead of 127.0.0.1.
- Map is empty: Map & Nav → Reload map (large levels take a few seconds).
- A button does nothing on a certain car: that car lacks the controller (e.g. no drive modes). The page shows a short error message.
BeamDash/
start-server.sh start the server (Linux)
start-server.bat start the server (Windows)
beamdash.service systemd unit to run the server at boot (Linux)
install-mod.sh install the BeamNG mod (Linux: native or Proton)
install-mod.ps1 build + install the BeamNG mod (Windows)
BeamDash-mod.zip the mod, ready to drop into BeamNG's mods folder
server/server.js web server, UDP bridge, OutGauge fallback (no npm install needed)
server/actions.js every named action (macros, Deck)
server/trips.js trip computer
server/media.js now playing (playerctl)
server/perf.js launch / braking timer and lap timer
server/fun.js virtual dyno, drift meter, crash detector, achievements
server/recorder.js CSV drive recorder
data/ saved trips, performance & laps, achievements, ADAS settings, Deck layout, recordings/ (created on first run)
CHANGELOG.md what changed in each version
docs/MOD_DESCRIPTION.md mod page text for the BeamNG repository / forum (plain + BBCode)
docs/MOD_DOCUMENTATION.md full guide to the mod: install, network, data, commands, assists, troubleshooting
docs/TECHNICAL.md technical write-up: architecture, protocols, algorithms, extending
media/ stock images: banner, designs collage, screenshots/ (+ promo.html source)
server/demo.js demo car used when the game isn't connected
public/ the web app (cluster, telemetry, map, garage)
js/designs.js all cluster designs; add your own with reg({...})
beamng-mod/BeamDash/ mod source (Lua)
This is an early alpha. It has been tested live on native Linux (BeamNG.drive with LuaSocket): car data, telemetry, the road map and car info all stream correctly. Tuning, navigation, lights and drive-mode commands, the new cruise-control code, the power / battery / damage data, watching other cars, and Windows in-game, still need wider testing. Bug reports are very welcome: please open an issue with your BeamNG version, OS and any console (~) lines that mention beamDash.
MIT. Use it, change it, share it; keep the copyright notice.
Cluster designs are original artwork inspired by the look of real cars of each era. BeamDash is not affiliated with or endorsed by BeamNG GmbH or any car maker.







