LMU Pitwall — Open Source Real-Time Dashboard for Your Second Monitor

Swizz

Member
Hey everyone,

I've been working on a dashboard for LMU that runs on a second monitor and shows live telemetry data. It's now at a point where I'd like to share it with the community.

What is it?

LMU Pitwall is a real-time telemetry dashboard that reads data from LMU's shared memory and REST API. It runs as a single .exe — just start it alongside LMU and it auto-connects. No configuration needed.

Widgets:
  • Fuel Manager — consumption per lap, laps remaining, fuel to add, pit lap planner
  • Standings — live positions, gaps, sector times, class filtering
  • Electronics — TC, ABS, ARB, Engine Map, Regen, Brake Migration — reads directly from LMU v1.3 shared memory, works in online sessions
  • Tires — temperatures (tread + carcass), pressures, wear, brake disc temps
  • Track Map — live vehicle positions on an SVG track map, colored by class
  • Flags — real-time flag display (green, blue, yellow, red, chequered)
  • Post Race Results — load any session XML log file for full classification, lap times, sector times, gaps, and pitstop data
  • Fuel Calculator - Calculate the required fuel or virtual energy consumption based on the sessions already completed
  • ...and more
All widgets are drag & drop — arrange and resize them however you like. Layout is saved automatically.

Requirements:

LMU Pitwall requires the rF2 Shared Memory Map Plugin by TheIronWolf. This is a free third-party plugin that many LMU tools depend on (SimHub, Crew Chief, etc.). If you already use one of those, you're all set.

If not, setup takes about a minute — full instructions are on the GitHub page.

Download:

GitHub: https://github.com/Swizzjack/lmu-pitwall/releases
Available as an installer or portable .exe.

Videos:


Screenshots:

Full.png
map.png
inputs.png
input_chart.png
fuel.png

Network access (bonus):

The dashboard runs as a local web server, so you can also open it on a tablet or phone in your local network — just navigate to http://<your-pc-ip>:9000 in a browser. PC is the primary target though.

Open source:

The entire project is open source (MIT license) on GitHub. Built with Rust and React, with the help of Claude (AI) for development. If you want to contribute or check out the code, feel free.

Feedback welcome!

This is the first public release. I'm sure there are edge cases and things to improve. Let me know what you think, what breaks, or what you'd like to see added.


> Updated 16 May 2026 — v1.1.20 released with Race Engineer voice callouts,
redesigned damage panel (thanks to first community contribution!), Strategy with Virtual Energy, and more.
 
Last edited:
Sure. I've included a clip right at the top of the first post (YouTube link).

I'm currently working on updating the Fuel Widget. An update will follow.
 
v1.0.48

What's New​

  • Fuel Manager: Virtual Energy & Battery display for hybrid cars
    (auto-hides for non-hybrid vehicles)
  • Fuel Tracker: 5-lap rolling average, pit detection, stint counter,
    recommended fuel per stint
  • Electronics: 500 Hz joystick polling via HID (better encoder support)
  • Garage API: Dynamic ranges and labels pulled live from LMU REST API
 
Last edited:
The GT3s use Virtual Energy as do the Hypercars, so VE shouldn't auto hide for those cars. Did you mean GTE?
 
Yes, of course, I've updated the text. The code automatically detects the vehicle and whether virtual energy is available. Thanks for the clarification.
 
Please give me a little more information. What kind of system do you have? Is the .exe running as an administrator? Are you using the latest version of LMU Pitwall (v.1.0.48)? Are you using any antivirus, security, or VPN software? Is another tool accessing shared memory at the same time? Is Pitwall being accessed locally or remotely?

The screenshot shows that the bridge is connected (i.e., the .exe is running and the WebSocket to the frontend is active), but the game is stuck on “Waiting” with 0 updates per second—meaning no shared-memory data is coming in from LMU.
 
Can u use this on a tablet instead of a fourth monitor, id assume it needs a hdmi connected etc?
Yes, absolutely! No HDMI or extra connection needed. Pitwall runs a local web server on your PC, so you can open it on any device that has a browser and is on the same network (WiFi is fine).

Just open your tablet's browser and go to http://<your-PC's-local-IP>:9000. You can find your PC's local IP by running ipconfig in a command prompt — it's usually something like 192.168.x.x.

That's one of the main advantages of the web-based approach — works on tablets, phones, laptops, basically anything with a browser.
 
I like the idea of your app,but i think it would be better if it was implemented in simhub like a dash so we dont have to run an extra program and it would be easier to trust.
I ran the .exe in virustotal and flagged this file as malicious,i dont know if you can clarify why.
 

Attachments

  • Screenshot 2026-03-30 222304.png
    Screenshot 2026-03-30 222304.png
    225.2 KB · Views: 27
I like the idea of your app,but i think it would be better if it was implemented in simhub like a dash so we dont have to run an extra program and it would be easier to trust.
I ran the .exe in virustotal and flagged this file as malicious,i dont know if you can clarify why.
Thanks for the interest and totally valid questions!
On SimHub: I get where you're coming from — SimHub is great and the plugin ecosystem is convenient. LMU Pitwall is intentionally built as a standalone app though, because it gives me full control over the architecture and features I want to build. It's also built in Rust + React, which wouldn't be possible as a SimHub dash. Think of it less as a replacement for SimHub dashes and more as a dedicated pitwall/strategy tool.

On the VirusTotal flag: This is actually super common with small indie tools and not specific to my app. The .exe is compiled with Rust using cargo-zigbuild and bundles an embedded web server + frontend into a single binary — that pattern (unknown publisher + embedded server + network activity) triggers heuristic false positives on some antivirus engines. The project is fully open source, so you can check every line of code on GitHub (github.com/Swizzjack/lmu-pitwall) and even build it yourself if you prefer. If you have any specific engine flags you'd like me to look at, happy to investigate.

Hope that clears things up — feel free to ask anything else
 
Thanks for the interest and totally valid questions!
On SimHub: I get where you're coming from — SimHub is great and the plugin ecosystem is convenient. LMU Pitwall is intentionally built as a standalone app though, because it gives me full control over the architecture and features I want to build. It's also built in Rust + React, which wouldn't be possible as a SimHub dash. Think of it less as a replacement for SimHub dashes and more as a dedicated pitwall/strategy tool.

On the VirusTotal flag: This is actually super common with small indie tools and not specific to my app. The .exe is compiled with Rust using cargo-zigbuild and bundles an embedded web server + frontend into a single binary — that pattern (unknown publisher + embedded server + network activity) triggers heuristic false positives on some antivirus engines. The project is fully open source, so you can check every line of code on GitHub (github.com/Swizzjack/lmu-pitwall) and even build it yourself if you prefer. If you have any specific engine flags you'd like me to look at, happy to investigate.

Hope that clears things up — feel free to ask anything else
thanks for the reply,i will give your app a try probaly at the weekend.
 
Please give me a little more information. What kind of system do you have? Is the .exe running as an administrator? Are you using the latest version of LMU Pitwall (v.1.0.48)? Are you using any antivirus, security, or VPN software? Is another tool accessing shared memory at the same time? Is Pitwall being accessed locally or remotely?

The screenshot shows that the bridge is connected (i.e., the .exe is running and the WebSocket to the frontend is active), but the game is stuck on “Waiting” with 0 updates per second—meaning no shared-memory data is coming in from LMU.
Windows 11, .exe is running as an admin, yep I'm using the last version, I only have windows antivirus, I don't have any vpn and I don't use any tool for LMU. Maybe some anticheat of others games are doing some trouble

yep, I did not get why zero data is coming from LMU

And sorry for didn't give you more info

Maybe I have to put some file into the LMU files?
 
Last edited:
Windows 11, .exe is running as an admin, yep I'm using the last version, I only have windows antivirus, I don't have any vpn and I don't use any tool for LMU. Maybe some anticheat of others games are doing some trouble

yep, I did not get why zero data is coming from LMU

And sorry for didn't give you more info

Maybe I have to put some file into the LMU files?
Please try the following:
1) Were you on the track when you took the screenshot? If you're not in an active session, Pitwall won't receive data from LMU.

2) The Shared Memory plugin may have been disabled. LMU (based on rF2) has a plugin that provides the shared memory data. This should be enabled by default, but check: Le Mans Ultimate\UserData\player\CustomPluginVariables.JSON
There, the “Shared Memory Map” plugin must be set to “Enabled”:1. If the file doesn’t exist or the plugin is set to 0, the bridge won’t receive any data.

3) Anti-cheat software from other games: Vanguard (Valorant), EasyAntiCheat, or FACEIT AC can block memory access between processes. If something like that is running in the background, it could be the cause of the block.
 
Hi, Swizz,
like your app, really good work, especially on the result page :) But I noticed that brake temps in app are +- 300 C deg higher than in the game and on the other hand, tyre temps are lower (15-20 C maybe, I'm not sure about the exact number). I did nothing special, just run the app and run the game.

If you want some tips for future development, It would be great to see in standings that car is in a pit and also if it's yellow somewhere in a circuit, it would be useful to see it somewhere in some block.
 
Hi, Swizz,
like your app, really good work, especially on the result page :) But I noticed that brake temps in app are +- 300 C deg higher than in the game and on the other hand, tyre temps are lower (15-20 C maybe, I'm not sure about the exact number). I did nothing special, just run the app and run the game.

If you want some tips for future development, It would be great to see in standings that car is in a pit and also if it's yellow somewhere in a circuit, it would be useful to see it somewhere in some block.
Thanks for your feedback. I'll look into it; it's possible that an error slipped in during the last update. As for improvements: sounds good. I'll look into the possibilities.
 
Hi, Swizz,
like your app, really good work, especially on the result page :) But I noticed that brake temps in app are +- 300 C deg higher than in the game and on the other hand, tyre temps are lower (15-20 C maybe, I'm not sure about the exact number). I did nothing special, just run the app and run the game.

If you want some tips for future development, It would be great to see in standings that car is in a pit and also if it's yellow somewhere in a circuit, it would be useful to see it somewhere in some block.
Good news: I've created a new flags widget that displays the flags for you as the driver, broken down by sector. The pit info is built right into the standings widget.

Additionally, I was able to read the new telemetry fields from LMU v1.3. This means that telemetry outputs like TC, ARB, etc., are now available natively. No more button counting.

I found the error with the brake temperatures: Simple: Kelvin instead of Celsius. It’s been corrected.

Tire temps: I had been displaying the average surface temperature. I’ve now changed that to the average tire core temperature. I’m still getting slightly different values; maybe you have an idea of how LMU calculates this? In any case, the average tire core temperature is now displayed.

As soon as I’ve validated and verified everything, I’ll upload the update
Screenshot 2026-04-01 153756.png
Screenshot 2026-04-01 143721.png
 
Hey everyone,
New Pitwall update is out — this one's a big step forward, especially for the Electronics widget.

What's new:

With LMU v1.3 now exposing driver aid values directly in shared memory, the Electronics widget has been completely reworked. No more button counting, no more keybind setup — TC, ABS, Engine Map, ARB, Brake Migration and Virtual Energy are all read natively now. It just works out of the box, including in online sessions. On top of that, the widget now shows live max values per setting (e.g. TC 8/12), active TC/ABS indicators.

Two new widgets in this release as well: a Flags widget that shows real-time race flags (green, blue, yellow) with session-phase awareness, and a Time widget for session time, time remaining, and computer time.

Other improvements:

The Standings widget now shows a pit status indicator per car, and the Tires widget has corrected tire and brake temperature readings.

Cleanup:

The old button binding setup for Electronics is gone — no longer needed. The portable version also no longer requires a config.json file.

Note: This release requires LMU v1.3 or later.

Download: https://github.com/Swizzjack/lmu-pitwall/releases/tag/v1.0.58

As always, feedback and bug reports are welcome. Enjoy!
 
Back
Top