iRacingAutoPit

iRacingAutoPit is a free Windows app that extracts real-time telemetry data from iRacing to automatically calculate and set pit stop fuel. It calculates pit stop strategy options, number of stops, pit stop window, average fuel usage and average lap time. It allows you to simulate full race distances in offline testing and logs all lap data. It provides a dashboard for desktop monitors and in-game messages for VR headsets. It has been designed as a portable app with no dependencies and minimal impact on system resources.

Features

  • Free and portable app with no installation or software dependencies.
  • Simple setup so you can be up and running with a few clicks.
  • In-car and on screen info for full compatibility with VR.
  • Automatically calculates and sets fuel required for every pit stop in a race.
  • Simulate a full race with pit stops in an offline test session.
  • Displays pre-race fuel strategy options.
  • Saves fuel and lap data from every session to improve accuracy of future calculations.
  • Desktop dashboard showing all lap, fuel and pit stop information.
  • Message info includes laps until pit stop, laps until pit stop window opens, fuel saving info and more.
  • Assign a controller button to toggle automatic fuelling at pit stop.
  • Assign a controller button to toggle tire change at pit stop.
  • Assign a controller button to get the latest fuel and pit stop information at any time.
  • Log every lap showing session info, lap time, fuel usage per lap etc.
  • Log all data to a database and run default or custom SQL reports.
  • Automatically start any exe when iRacing starts.
  • Alert when fuel saving is possible to reach the end of the race.
  • Supports fuel in litres, gallons, kilograms, pounds and imperial gallons.
  • Designed to use minimal system resources.

Why another iRacing fuel calculator app?

After playing around with iRacing telemetry data for a while one thing lead to another and in the end I wanted to create an iRacing fuel calculator app that was simple, portable, VR friendly, quick to setup, with no app dependencies and that used minimal system resources.

Download

Requirements:

Windows 11
Windows 10
Windows 8
Windows 7
iRacing Sim
32-bit and 64-bit versions are supported.
Microsoft .NET 4.0 if on Windows 7.


iRacingAutoPit Version 1.2.0.117 (17 Jan 2022)
Checksum SHA-256: 0dcd90e0214a41228fbb9ebcf3632c60fceaec32b22d96fe54fa4e83e4d96e09

iRacingAutoPit Version 1.1.0 (6 Jan 2021)
Checksum SHA-256: bac6868533bb3fee8ca43932fdb231a29f411379fa7deed25c67f1cf2ab13e3c

How to get a files checksum in Windows 10

Release notes

If you wish to keep your existing log data when upgrading to newer version you will need to copy the following files from your existing installation folder into the new installation folder:

  • iRacingAutoPit-sessions.log
  • iRacingAutoPit-data.log
  • iRacingAutoPit-DB-xxx.sqlite3

Controller bindings will need to be set again.

Version 1.2.0.117 Beta

  • Added extra lap, fuel and stop data to second press of ‘show last message’ button mapping.
  • Updated the tool tip help info on many GUI elements with the latest info. Also increased the length of time the popups remain visible.
  • Fixed bug where ‘Automatically fuel car’ was off but iRacingAutoPit was still stopping fuelling during pitstop if the required fuel was reached.
  • Fixed bug where final race position was not always set to the latest value in the logs and DB.
  • Fixed bug in the sound options not being saved on exit.

Version 1.2.0.102 Beta

  • Added an SQLite database. All data is now saved in a simple database each time you exit the car. You can then view some default reports or create your own.
  • Added top speed, average speed, full throttle % and more for each lap logged.
  • Added support for multiple races in one session such as heat and feature races. Fuel calculation will be for the current race.
  • Added fuel required message on session screen for qualifying limited by laps.
  • Added more detail to fuel pitstop strategy suggestions.
  • Added option to automatically run a list of other exes to run when iRacingAutoPit connects to iRacing. eg. Trading Paints etc.
  • Added option to disable all sounds and change the default beep sound for lap messages.
  • Added option to log data only.
  • Added detection of any real life driver names in a sessions based on some of the current major series. (Test feature – will just list the names detected in the lap logs)
  • Temperature is now displayed in either Celsius or Fahrenheit based on iRacing display units settings. Metric = Celsius, English = Fahrenheit
  • Added some slight variations to “box box” audio message.
  • Added some colouring to the logs to make them easier to read.
  • Added decimal increments to the fuel safety margin as 1 lap could sometimes be too little and 2 laps seems to be always safe.
  • Added warning sound when you stop the car outside your pit box in a race.
  • Added temporary increase to telemetry updates per sec whilst in pitlane to ensure fuelling is stopped asap when fuel required is reached. Returns to normal on pit exit.
  • Changed the way qualifying sessions are handled so that race distance simulations are not run. Lap and fuel data will still be saved for race strategy calculations.
  • Changed TimeRemain in messages to reflect the very latest value rather then what it was when you completed the last lap.
  • Changed the way controllers are polled to remove the slow response time.
  • Fixed issue where chat messages could end up in another app like Discord if you switched focus away from iRacing. Message will now not be sent unless iRacing is confirmed active and has desktop focus.
  • Fixed issue where chat window would remain active after iRacingAutoPit sent message whilst on main session screen.
  • Fixed issue where existing partial message was being typed and was not cleared before iRacingAutoPit sent a message.
  • Fixed some issues around delayed lap messages not always working as expected when you set each laps message to be displayed some time after the start finish.
  • Fixed issue where race distance laps or mins was not automatically set when entering a session that contains a race.
  • Fixed issue where fuel figures were incorrect if display units were set to metric and the car used imperial gallons. Only affected Lotus 49,79.
  • Fixed issue where iRacingAutoPit process would not always close properly after iRacing closed.
  • Fixed bug in TireTemp reading during pitstop where sometimes would get temp of new tires instead of old.
  • Fixed a few label size issues in the main dashboard if your desktop is set to use slightly higher text size. ie > 100%.
  • Fixed a lot of other minor bugs and generally optimised many little things to further reduce CPU usage.

Version 1.1.0

  • Fueling is now automatically stopped once fuel required is reached rather than waiting for full fuel interval/increment required by some cars. This could save up to a second or so of time for the stop depending on the car and the amount of fuel required.  This also means you no longer have to worry about turning off fuelling for unplanned stops as it will be unchecked automatically if you’ve enough fuel to finish.
  • Fuel strategy will now always fill the tank if there are 2 or more pit stops remaining. This way the driver can choose their own strategy for the last stop based on fuel window info.
  • Added new settings page to turn off lap notification beeps.
  • Added the fuel used last lap in parentheses after “AveLapFuel” so that you can see any fuel saving efforts each lap compared to the average eg. “AveLapFuel 3.5 (3.1)”
  • Added new telemetry values to log for each lap and pit stops: DeltaToBestLap, Pit stop Tire temps and wear, Pit stop time, Incidents, Repair times if any.
  • Added fuel add adjustments for a bunch of cars that have large fuel increments to avoid short filling of fuel when the required add amount will cause iRacing to round down. Fuelling will still be stopped automatically if its enough and its the last stop.
  • Added option to specify the maximum percentage of fuel saving possible per tank so that fuel saving is only mentioned if its within the specified percentage.
  • Changed fuel saving notifications to show you how much you need to save to extend current stint by one lap as well as overall fuel saving required for the whole race based on the specified max saving percent mentioned above.
  • Fixed bug where logs didn’t always show the correct fuel added during pit stops.
  • Fixed a bug were occasionally you may have seen the “PitWindowOpens” being 1 lap higher than “LapsUntilStop”.
  • Fixed bug were “pit this lap” message didn’t show the correct state regarding whether the tires were set to be changed or not.
  • Fixed bugs that prevented iRacingAutoPit from working properly with PCs in countries that use number formats with “,” instead of “.”
  • Increased volume of “Box Box” notification sound.
  • Add the ability to maximise the LOGS window.

 

 

Screenshots

iRacingAutoPit screenshot 1
iRacingAutoPit Dashboard compact
iRacingAutoPit logs 1.2.0
iRacingAutoPit logs 1.2.0
Database

How to use iRacingAutoPit

1. Installation

Simply extract the downloaded iRacingAutoPit zip file to a folder and then run the iRacingAutoPit.exe file. There is no installation required. It is completely portable and all files are in a single root folder. It can be run from any folder provided you have read/write permissions to that folder. It requires .net 4.0 to run if running on Windows 7.

2. Run iRacing and iRacingAutoPit

iRacingAutoPit can be started at any time. If the event has a race session in it, race type and distance will be automatically detected and set. You will only need to set these if its a test session and you wish to simulate a race.

3. Set Race type and distance

This will be set automatically if a race session is detected. If the race is limited by both laps and time iRacingAutoPit will determine which will occur first based on your historical data or other drivers lap times in the session if available. You will always need to set this manually if you are in a test session and you want to simulate a certain race type and distance.

4. Set Fuel tank maximum (optional)

This is only required in a non race session if you do not want to use the cars actual fuel tank maximum. For example if you want to simulate a race distance in a test session for a hosted race where you know the cars maximum fuel percentage will be set to 50%. In this case, select the checkbox adjacent to fuel tank maximum and then set it to 50%.

5. Set Fuel saving maximum per tank (optional)

This will set the maximum amount of fuel saving that iRacingAutoPit will consider possible when calculating pitstop strategy. The main aim of fuel saving is to avoid an extra stop and extend the number of laps possible on a given tank of fuel. For example, if this is set to 10% and your cars fuel tank holds 100L then you’re stating that saving 10L of fuel is possible per tank. If iRacingAutoPit calculates that 108L of fuel is required for the race then it will suggest a 1 stop strategy or a no stop strategy with fuel saving of 8L. If iRacingAutoPit were to instead calculate that 114L were required it would not suggest any fuel saving, rather just 1 stop. If however you increase this setting to 15% believing that you could fuel save that amount per tank then fuel saving options will again be suggested. 15-18% is recommended. Higher fuel saving may be possible but at some point the amount of lap time lost fuel saving will be greater that the time taken for an extra pitstop.

5. Start Race or stint.

That’s all you need to get started. You can now drive out of pit lane or start your race and iRacingAutoPit will start displaying all the data on the dashboard and send you status messages via text chat. Full details on all the apps options can be found below.

Options

Race distance

For a test session you must set the race distance type to laps or minutes and then set the number of minutes or laps. This will be set automatically during any session in an event that has a race session at the end. If the race is limited by both time and laps the app will automatically predict which will occur first based on your current and historical lap times or other drivers lap times in the session.

Automatically fuel car (Auto-Fuel)

Turn this option on to automatically set the fuel add amount every lap based on the calculated required stops for the race. If turned off, the fuel add amount will still be calculated and shown in messages each lap but will not be set and you will need to set it manually using the iRacing black box controls.

Note that it will take 2 laps before fuel calculations can be determined. If you have completed 3 or more clean laps previously at the track, fuel usage data is saved and remembered for the initial calculations until enough new and current stint data is available. If you have to pit early before your pit window is open and this option is on, the fuel add amount will be set but the fuel tank will be too full to add the required amount. In this case it would just top up the tank to its maximum. You could toggle it off before pitting to not add fuel resulting in the pit stop strategy remaining the same. Alternatively, you could leave it on, let it fill the tank and the app will calculate a new strategy based on the new fuel level and remaining laps etc.

VR headset mode

Turn on this option if your are using a VR headset and will not be looking at the main dashboard whilst driving. This option will cause the dashboard to only be updated once every lap instead of once every couple seconds. This helps further minimise CPU usage for VR only drivers.

Controller bindings

Turn this option on to allow you to optionally bind buttons on your controller to toggle fuel car at pitstop , change tires and repeat messages while driving. Turn this option off to disable all controller bindings. With controller bindings off you will need to turn on the fuel car at pitstop option if you want your fuel add amount automatically set each lap without using a controller button. If you have no controller bindings and fuel car at pitstop is set to off you will only be shown messages each lap stating the required pit stops and fuel add amount that you will then need to manually set yourself while driving using the traditional iRacing black box controls.

The numeric value adjacent to this option sets the number of times per second that your controller is polled for input. Once per second should be enough but if you want it to be a little more responsive you can increase this to 2. A little more CPU is wasted polling twice instead once per second.

Select Controller

Simply select you controller from the list and then complete the button bindings listed below. Unfortunately you cannot use button bindings across multiple controllers. All button bindings can only be assigned to one controller. Once you have completed your button bindings click the save button. If you plug in our controller after starting the app you will need to click the refresh button for it to appear in the list of controllers.

Select button – Toggle automatically fuel car

Click in the textbox and press the joystick button to set.
Click the save button when all button bindings are set. When pressed in car during a session it will toggle the “Automatically fuel car” option. Also, ff you are back on the session screen after getting out of the car and have just completed a few laps this will show some data for the last few laps in the chat window.

Select button – Toggle change all tires

Click in textbox and then press joystick button to set.
Click the save button when all button bindings are set. When pressed in car during a session it will toggle change all tires. Also, if you are back on the session screen after getting out of the car and have just completed a few laps this will show some data for the last few laps in the chat window.

Select button – Show last message again

Click in textbox and then press joystick button to set.
Click the save button when all button bindings are set. When pressed in car during a session it will repeat the message from the lap just completed. This can be useful if you are busy racing another car and missed the message.

If pressed while out of the car and in the main session screen this will display the pit stop strategy option for the race if you have 2 or more clean laps of data for the track and car. It will also suggest the amount of fuel you will need for qualifying if the qualifying session is limited by laps.

Settings

In version 1.2 there is a new settings icon next to the logs button on the main toolbar. Here you can turn all beep sounds off or just the beep sound for lap messages. You can also select the default beep sound from drop down menu. There is also an option to start external programs such trading paints when iRacingAutoPit first connects to iRacing. You can add as many programs to the list as you like on a new line in the text box.

Logs

The logs panel accessible from the top toolbar shows all the logs for all the sessions and races you have run with iRacingAutoPit. For each race or stint it will log the session info , session stats , lap numbers, lap times, fuel usage, required fuel and more. It will show fuel estimates for preset lap or minute intervals. These estimates are useful if you’ve just jumped into a session for a quick race and need a rough guide as to how much starting fuel you’ll need. It will also suggest a pit stop strategy for the current race distance type you have set if you have completed at least 3 clean laps in this session or in the past. Each time you get out of the car after running a few laps you will find a full log of your laps and session here. You can also search, delete and refresh the log.

iRacingAutoPit has 4 log files:

  • iRacingAutoPit-data.log – stores fuel usage data for each car and track. Dont delete this log unless you want all you fuel usage history to be reset.
  • iRacingAutoPit-sessions.log – stores all session lap data.
  • iRacingAutoPit.log – general log for errors and events. This log gets deleted automatically if it grows > 15MB.
  • iRacingAutoPit-DB.log – stores all SQL commands run against the database.

Note any log can be deleted as it will be recreated, just be aware of the data that will be lost above.

Database

In versions 1.2 all data collected during a session will be saved to an SQLite database. All updates and queries to the database are performed when you are out of the car so there is no impact to performance while you are racing. There are a set of default reports that are available in the drop down menu. Select any one of these reports to see the data. You can click on column headings to sort the whole table on that column in ascending or descending order. If you know how to write SQL queries you can also add your own reports by clicking the add button. Once added you will see a custom report has been added to the bottom of the list. Simply click in the cell to change the report name and the report query. Default reports cannot be deleted or modified but if you want to create a variation of one then simply highlight the cell containing the original query and press ctrl+c to copy the contents. Then click in the cell of your new custom report and press ctrl+v to paste the query. You can then modify the query and add/remove report fields in the SQL statement as required. There are only 4 tables in the database as shown below:

  • Sessions (PK = SessionDateTime)
  • Tracks (PK = TrackID)
  • Cars (PK = CarID)
  • Laps (FK = SessionDateTime, TrackID, CarID)

When writing you own queries, errors are written to the main iRacingAutoPit.log. Backups of the database are made every day iRacingAutoPit is started and they are deleted after 30 days if you have more than 30 backup files.

General tips, info and troubleshooting.

  • If you find the chat messages a little too small in VR you can increase the text size via the Graphics option in iRacing under UI Zoom. For a 1440 x 1600 or above HMD I would recommend a setting of 150%.
  • If for any reason iRacingAutoPit is playing up, you can reset all settings to their default by closing it and deleting the settings folders located in the following directory. This settings folder will be automatically recreated the next time you start iRacingAutoPit. C:\Users\[username]\AppData\Local\Bazwise\iRacingAutoPit.exe_Url….
  • Uninstalling. iRacingAutoPit is a portable app and doesn’t install anything. It runs from the folder you extract it to. To uninstall it simply delete this folder and the config folders it creates under your user profile mentioned above.
  • If you are driving cars that measure fuel in pounds (lbs) or imperial gallons (imp. gals) note that iRacing only allows adding of fuel in litres (L), gallons (g) or kilograms (k). iRacingAutoPit handles this by converting the fuel add amount for imperial gallons to gallons and pounds to kilograms. This means for these units only you will see the fuel add amount displayed with both equivalent units as shown below.

    Fuel add 10 k = 22 lbs
    Fuel add 10 g = 8.3 ip

    This will only be the case when driving cars like the Lotus 49/79 or when you have your units in iRacing set to English and you are driving cars that measure their fuel in weight like the HPDARX. Note that iRacingAutoPit will only add the unit of measure suffix when showing the Fuel Add amount in the message shown while driving. At all other times it will not show any suffix and fuel will be displayed in the default unit of measure for the car and your iRacing setting. ie the same unit of measure shown in the iRacing fuel black box window.
  • The logs show Off track count for each lap. They are not always detected so it may show less than really occurred.
  • The Fanatec DD controllers are not working with iRacingAutoPit button bindings. I’ve been unable to determine why its not working but other Fanatec wheels seem to work fine such as the Clubsport and CSL.
  • Bug in iRacing manual ignition and chat messages. There is a known bug in iRacing where you have manual ignition configured and sending chat messages while in the car. The issue being that iRacing chat momentarily disabled all controller input when you enter chat messages. This manifests itself as a brief ignition cut out when a message is sent via chat. As iRacingAutoPit relies on chat messages to function the only way around this is to assign the ignition to a momentary button or switch rather than an always on button. More information is available in the forums here: https://members.iracing.com/jforum/posts/list/3644298.page#11486888

Feedback

If you come across bugs, have suggestions or would like a feature please feel free to use the anonymous feedback form located here. Most of the testing and development was done with VR road racing and while it should work fine with other formats there could be some issues that Ive not come across. Note that this app was created in my spare time so while I’ll try to fix bugs quickly, common feature requests could take some time to get implemented if at all.