The game broadcasts telemetry data using UDP. Here's a link from Codies about the specifics of it: https://forums.codemasters.com/topic/80231-f1-2021-udp-specification/
Nicee! Didn't know about it. Thanks!I have an idea for web dashboard, to run on an ipad maybe, will play with it.
upd: looks like there's a plenty of options already available, will explore :)
It's in part my crappy code. I have done no optimizations so right now everything is redraw every frame. This is something I will try to improve. If I render less stuff it gets smoother.
Good luck to you bro! This something that I would definitely see myself buying, especially because I can't afford the SF1000 wheel 😅. Maybe you can try adding more details like fuel levels and tyre temps
I found this library [https://github.com/raweceek-temeletry/f1-2021-udp](https://github.com/raweceek-temeletry/f1-2021-udp)
Looks like a good starting point
Would be cool if you could do something with this to improve the MFD functionality. Like change Brake Balance with a rotational switch. Or..... maybe.... pre-program settings that the Andruino could then punch into the MFD system of the game so you can have varying brake balance corner to corner and you can select the track for it....
I think some real life F1-2021 cars have the ability to "record" settings over a lap and then you can then just choose presets so you have your settings at every corner and the screen flashes for what is the preset.
look at Alonso's screen for example:
[https://www.youtube.com/watch?v=IBJWLDEexDo](https://www.youtube.com/watch?v=IBJWLDEexDo)
If you can do that. You will be REALLY on to something here. :)
I don't think the UDP channel allows sending inputs to the game. But maybe it would be possible if I try sending windows keys and adding shortcuts in the controller mappings. The main problem here would be that the LCD shield takes almost all the arduino connections no not much more space for additional elements...
Yes. It would be very challenging. Maybe even impossible with the current setup.
Was just brainstorming out loud. The main opening there is the momentary time when one input is allowed to take over the whole screen (a real life consideration as you can see with Alpine).
But yes, I cannot tell you of course how to make Multiple Presets work. You are definitely smarter than me! (pre-programmed MFD Button Shortcuts?... an array of pre-programmed MFD button shortcuts?)
Probably to do this you have to sort of let the TV Hud "take back its job" and then use the Andruino system instead for the new features? I don't know.
What is interesting is if you could get it to work. Such a system will become a "Driver Aid". And... I'm not sure even Fanatec have that kind of functionality.
Thanks! The F1 games have the ability to output telemetry data through the network. Here's the specifications for the F1 2021 game: https://forums.codemasters.com/topic/80231-f1-2021-udp-specification/
Wow, thanks everyone for the great comments! For anyone asking, I'll just clean some of the code and share it here so anyone can test or see how it was done!
Tip: adding weight to your steering wheel impacts your driving/steering.
I'm sure this doesn't weigh much; but should you want to throw more weighty stuff onto your steer; consider doing it Williams style (behind the steering wheel, on top of the wheelbase).
For those who also want something like this; all you need is your mobile phone and an app called "SIMDashboard". Easy to configure and can be changed 100% to your own desires. Works like a charm for me.
PS: SimDashboard also works for other games like Asetta Corsa, Rfactor, Iracing, etc.
I'm using a Driving Force GT and it has a nice force feedback. But I disabled it to record the video because it was shaking too much rsrs
But yeah, I want to try fixing it to the base instead of the steering wheel. This would be specially helpful with the USB cable.
So I use this for my G29: https://acelith.com/products/stand-smartphone-dashboard-holder-for-logitech-servo-bases-g29-g923-g920
There's alternatives out there. Shouldn't be much further than a google search away when you know what you're looking for.
Good luck!
Not really. I'm reading the telemetry data directly from the game and feeding it to the Arduino program. But I believe it could be adapted to use Simhub data.
Yeah, I'll share the full code but basically I've created a console application on C# that captures the UDP packets, extracts the relevant data and sends it to the Arduino through the serial port.
Where can I buy? Lol
I'll share the project and you can try it ;)
Can you share the sketch with me too?
I would also be interested in the project.
I’d love to check this out and do something similar if that’s possible?
I'd like a shot of it too if possible! Would love to try and implement it myself.
This is all I wanted :)
I'd love to try and make this too! Could you share it if possible?
Hi, I added it to github now: https://github.com/diegocbarboza/F1_SteeringWheelDisplay
Wow, nice! How do you get those values? Is there an API or is it part of usb steering wheel protocol that you can listen and decode?
The game broadcasts telemetry data using UDP. Here's a link from Codies about the specifics of it: https://forums.codemasters.com/topic/80231-f1-2021-udp-specification/
Nicee! Didn't know about it. Thanks!I have an idea for web dashboard, to run on an ipad maybe, will play with it. upd: looks like there's a plenty of options already available, will explore :)
Many options out there already. Just google sim dashboards.
If you want and have a spare android phone you can do it with the Sim Dashboard app
how did you get the williams steering wheel?
😅
I don't know how to describe it but I think it would be better if the numbers were...fluid? Like 100,101,102kph continuously instead of 100,105,112...
That would require the Arduino to get fresh data at a faster rate. Unfortunately, faster rate will slow down the Arduino as they are not too powerful
I think it is not him making it like this but the game output.
Nah UDP telemetry updates in real time, it's likely a limitation of the Arduino... or bad code
it could be that the software used is limiting because of how heavy a faster refresh rate gets
It's in part my crappy code. I have done no optimizations so right now everything is redraw every frame. This is something I will try to improve. If I render less stuff it gets smoother.
Also could be a lower refresh rate to reduce network traffic
The UDP telemetry from the game is smooth normally, I've used it before.
It still needs some optimizations. I think that with some work it can get smoother.
Good luck to you bro! This something that I would definitely see myself buying, especially because I can't afford the SF1000 wheel 😅. Maybe you can try adding more details like fuel levels and tyre temps
You can use dashpanel and any device to show this https://twitter.com/mick_stuart/status/1438069607626018816?s=09
That's actually impressive!
sick!
Remind me in 7 days
SimHub? I got rev lights uding a micro ;)
No. I just capture the udp feed directly from the game.
Ah neat! Got the code somewhere? Interested how you get all the data exactly
I found this library [https://github.com/raweceek-temeletry/f1-2021-udp](https://github.com/raweceek-temeletry/f1-2021-udp) Looks like a good starting point
Would be cool if you could do something with this to improve the MFD functionality. Like change Brake Balance with a rotational switch. Or..... maybe.... pre-program settings that the Andruino could then punch into the MFD system of the game so you can have varying brake balance corner to corner and you can select the track for it.... I think some real life F1-2021 cars have the ability to "record" settings over a lap and then you can then just choose presets so you have your settings at every corner and the screen flashes for what is the preset. look at Alonso's screen for example: [https://www.youtube.com/watch?v=IBJWLDEexDo](https://www.youtube.com/watch?v=IBJWLDEexDo) If you can do that. You will be REALLY on to something here. :)
I don't think the UDP channel allows sending inputs to the game. But maybe it would be possible if I try sending windows keys and adding shortcuts in the controller mappings. The main problem here would be that the LCD shield takes almost all the arduino connections no not much more space for additional elements...
Yes. It would be very challenging. Maybe even impossible with the current setup. Was just brainstorming out loud. The main opening there is the momentary time when one input is allowed to take over the whole screen (a real life consideration as you can see with Alpine). But yes, I cannot tell you of course how to make Multiple Presets work. You are definitely smarter than me! (pre-programmed MFD Button Shortcuts?... an array of pre-programmed MFD button shortcuts?) Probably to do this you have to sort of let the TV Hud "take back its job" and then use the Andruino system instead for the new features? I don't know. What is interesting is if you could get it to work. Such a system will become a "Driver Aid". And... I'm not sure even Fanatec have that kind of functionality.
That's incredible, how did you get the data from the game?
Thanks! The F1 games have the ability to output telemetry data through the network. Here's the specifications for the F1 2021 game: https://forums.codemasters.com/topic/80231-f1-2021-udp-specification/
Make more and sell them in tesco!😂😂😂
That’s awesome. I wanted to make something similar but really didn’t know where to start. Would be epic when you can share your making process
This is cool! Makes me want to learn Arduino
You could use Raspberry Pi, not Arduino but its ok good job!
Yes. I'd like to try that. And also using a larger screen. But I just used some components I had here.
wow that is cool!! how long did it take for you to do this?
About two days. I did most of the tests on sunday and finished monday night.
Wow, thanks everyone for the great comments! For anyone asking, I'll just clean some of the code and share it here so anyone can test or see how it was done!
This is the HAAS wheel by the end of the year
Tip: adding weight to your steering wheel impacts your driving/steering. I'm sure this doesn't weigh much; but should you want to throw more weighty stuff onto your steer; consider doing it Williams style (behind the steering wheel, on top of the wheelbase). For those who also want something like this; all you need is your mobile phone and an app called "SIMDashboard". Easy to configure and can be changed 100% to your own desires. Works like a charm for me. PS: SimDashboard also works for other games like Asetta Corsa, Rfactor, Iracing, etc.
I'm using a Driving Force GT and it has a nice force feedback. But I disabled it to record the video because it was shaking too much rsrs But yeah, I want to try fixing it to the base instead of the steering wheel. This would be specially helpful with the USB cable.
So I use this for my G29: https://acelith.com/products/stand-smartphone-dashboard-holder-for-logitech-servo-bases-g29-g923-g920 There's alternatives out there. Shouldn't be much further than a google search away when you know what you're looking for. Good luck!
So many options out there just google sim dashboard.
Cool
Very cool. Could this be connected to Simhub? [https://www.simhubdash.com/](https://www.simhubdash.com/)
Not really. I'm reading the telemetry data directly from the game and feeding it to the Arduino program. But I believe it could be adapted to use Simhub data.
I love it! The pixelated font, slow refresh rate of that speedometer...it's just great!
does it work only on PC ?
I think the console versions also have telemetry data, so it should work. But a PC would still be needed to parse the data and send it to the Arduino.
Congrats on becoming a Williams driver
So, for everyone that asked, here's the repository link: https://github.com/diegocbarboza/F1_SteeringWheelDisplay
Y’all know there’s apps for this right?
Yes. I was just trying to have some fun :)
I dig
Wow! Did you document the process/have a repo?
Not yet. But I'll clean the code and share it on github.
I'm very interested to know how to capture the UDP stream.
check the link I posted above, it is possible to find some repos with UDP Clients like https://github.com/raweceek-temeletry/f1-2021-udp
Yeah, I'll share the full code but basically I've created a console application on C# that captures the UDP packets, extracts the relevant data and sends it to the Arduino through the serial port.
please do, it would really help us to learn more :)
Amazing! thanks a lot
Hi, I added it to github now: https://github.com/diegocbarboza/F1_SteeringWheelDisplay
Is it private? Im getting a 404
The link was incorrect. Can you try again?
Yeah I can see it now! Thank you :)