Complete Controller Software for Sim (Racing) Rigs

Hello all,

I have a little Xmas present for you. In the past few months I've been working on a software as an integrated solution to control every aspect of our beloved sim rigs. The basic idea is to put your button box in total control of every aspect of the simulation, including tactile and motion feedback, if available. But you can also control your ingame chat system, launch telemtry software, and so on. The possibilities are endless. But since every button box has only a restriced set of controls, I introduced a layer concept, which allow the button box to implement context-sensitive bindings of control functions to actions.

Button Box 5.JPG

Beside that, the software can control all your favorite applications and simulation games and combine them into one seamless user experience. But take a look at the main features:

* Connect all your external controller, like Button Boxes, to one single center of control
* An unlimited number of layers of functions and actions, called modes, can be defined for your controller. Switch between modes simply by pushing a button or switch a toggle on your controller.
* Modes are defined and handled by plugins, which can be implemented on your own using an objecct oriented scripting language.
* Configurable, visual feedback for your controller actions
* Define your own Button Box visual and integrate it with the Simulator Controller using the simple plugin support. Depending on configuration, this window will popup whenever an action is triggered from your controller, even during active simulation.
* Code your own functions to be called by the controller buttons and switches using the simple, object-oriented scripting language
* Configure all additional applications to your taste, including the simulation games used for your virtual races
* Start and stop applications from your controller hardware or automatically upon configurable events
* Add splash screens and title melodies using a themes editor for a more emotional startup experience
* Full support for sophisticated application automation - for example, start your favorite voice chat software like TeamSpeak and automatically switch to your standard channel
* Several plugins are supplied out of the box:
* Support for Assetto Corsa and Assetto Corsa Competizione already builtin
* Fully customizable plugins supplied for total control of SimHub and SimFeedback - change your settings while racing using the dials and switches on your favorite Button Box
* Send your predefined kudos and rants to the ingame chat without touching the keyboard
* Additional support to trigger every function and action from external sources like a voice or gesture recognition software to always keep your hands on the wheel
* Builtin support for visual head tracking to control ingame viewing angle

Every aspect of the Controller software can be configured using graphical tools:

Setup Tab 4.JPG

Themes Editor.JPG

The software is free for anyone for non-commercial use. You can download the latest build at GitHub. Also take a look at the very extensive documentation, including lots of stuff for developers.

And now - have fun. Happy Xmas, a good start into the next year and stay healthy...

Version 1.3 is online. Most important new features:

1. Photorealistic visualisation of Button Boxes, and the Button Box window can now be positioned freely on any screen.

2. The functional controls of the Button Box window are clickable. Therefore you can use Simulator Controller, even if you do not own a Button Box or any type of other hardware controller. Or you can sell your controller on eBay - not.

Button Box 4.JPG

Here is the link to the GitHub repository, where you can find the latest download as well.
Last edited:
Upvote 0
Happy new year to all of you. And since the last release is almost a year ago (ok, I know, that's an old one), I released a new version yesterday. Biggest news:
  1. Much better support for SimFeedback - you can see all the current values on the Button Box display, while tweaking your settings.
  2. A multibyte translation system for all texts and user interface elements. It can handle every language possible and is supported by a graphical translation tool.
Have fun...

P.S. Next big thing coming: Voice control for all the pit stop settings in Assetto Corsa Competizione...
Upvote 0
Hi all,

the next version is online and, as promised, it supports full voice control for the Pitstop MFD in Assetto Corsa Competizione. It really helps to stay on the track while tweaking the settings for the next pitstop.

Happy racing...
Upvote 0
Next version is online, which now includes also driver selection for team races using voice control. Beside that, the hybrid rule engine has been developed and included under the hood. This will be used in the next major release to implement an AI-based Race Engineer which can decide on pitstop strategy, tire pressures and compound, and so on based on real race data.
  • Like
Reactions: Sil
Upvote 0
I have been very busy in the last weeks and the first version of AI-based Race Engineer is online. Below, you find a transcript of a real voice dialog with this cute little bot. The current version is integrated with the ACC plugin, but adopting it to a different simulation game will take about 200 lines of code for a plugin for this game and a telemtry provider. All that is fully documented, so if there is anybody out there to build a RaceRoom integration, for example, I will be very happy.

The integration for ACC allows the Bot to even setup the complete pitstop by automating the Pitstop MFD. You will be amazed...


Jona: "Hi, here is Jona, your race engineer today. You can call me anytime if you have questions. Good luck."

(You hear this or a similar phrase, whenever Jona is ready to interact with you. Typically this is at the beginning of the second lap in a race. From now on Jona might call you, when important information are available, or you can call her/him anytime using one of the key phrases - see the section about [phrase grammars]( on that.)

Driver: "Tell me the tyre temperatures."

Jona: "We have a blue screen here. Windows XP is crap. Give me a minute."

(This answer, or a similar one, means, that Jona does not have enough data at the moment to answer your question. Typically, Jona needs to laps at the beginning of the race or after a pitstop, to be completely up and running)

(A lap later...)

Driver: "Tell me the tyre temperatures."

Jona: "We have the following temperatures: Front left 87. 85 Degrees in the front right tyre. Rear left 93. 91 rear right."

(You can ask for other information as well. See the section about [phrase grammars]( for more information.)

(A few laps later...)

Jona: "Warning. Only 3 laps before you will run out of fuel. Should I update the pitstop strategy now?"

(With this question, Jona asks, if you want to start the preparation process for the upcoming pitstop.)

Driver: "No thank you."

(We are brave and will take another lap.)

Jona: "Okay. Call me when you are ready."

(As you can see, Jona always acjknowledges what you said. This helps you to check, whether Jona did understood you correctly.)

(A lap later...)

Jona: "What are you doing? You are running out of fuel. We should prepare for a pitstop, Okay?"

Driver: "Yes go on."

Jona: "Okay, give me a second."

(A few moments later...)

Jona: "Jona here. I recommend this for pitstop number one: ..."

(Jona gives you a complete overview over all the settings, that were derived for the upcoming pitstop, refueling, tyre compound, pressures, repairs, and so on.)

(Maybe you have some corrections...)

Driver: "Can we decrease front right by zero point two?"

Jona: "The pressure of the front right tyre shall be decreased by 0.2 PSI, is that correct?"

Driver: "Yes please"

(A moment later...)

Jona: "I updated the pitstop plan like you said. Anything else?"

Driver: "No thank you"

Jona: "Understood. I am here."

(The pitstop is now planned, but still not locked in. We are brave and stay out for the last lap...)

Jona: "Warning. You will run out of fuel in one lap. You should come in immediately. Shall I instruct the pit crew?"

(With the last question, Jona aks, whether the pitstop plan shall be locked in.)

Driver: "Ok, let's go on."

Jona: "Okay, I will let the crew prepare everything immediately."

(A few moments later...)

Jona: "We are ready for the pitstop. You can come in."

(The Pitstop MFD window of *Assetto Corsa Competizione* comes to life and all the data is input automatically. See the section about the [pitstop handling]( for more information.)

(You enter the pit and bring the car to a stop.)

Jona: "Okay, let the crew do their job. Check ignition, relax and prepare for engine restart."

(And now you are ready for your next stint...)
Last edited:
Upvote 0
Release 2.2 is online. New features:
  1. UI for the configuration of all Race Engineer Settings (see below)
  2. Possibly a first version of the weather trend detection system (not quite sure, if it will make it in the release)
  3. Direct support for Voice Recognition in the Hotkey Configuration => for example say: "Next page" and your Button Box will switch to the next layer of functions.
Coming in the next release:
  • Big upgrade of Jonas AI kernel
  • Initial support for multiple Button Boxes

Race Engineer Settings 1.JPG

Race Engineer Settings 2.JPG
Last edited:
Upvote 0
Hi there, I have been looking through this (and by the way, thanks for your efforts in producing it and letting us use it!) and have wondered if this can potentially solve an issue I have just asked about in a separate post (waiting approval).

I'm looking at a way of using two position toggle switches or rotary multiple position switches as a way of physically replicating the retro style dashboards used on a load of the old racers. Essentially it would map separate on and off functions to the discrete positions of a real switch, where in game it would stipulate one command to turn on and off a function by cycling through the states.

Is this software able to do that?

Upvote 0
I'm looking at a way of using two position toggle switches or rotary multiple position switches as a way of physically replicating the retro style dashboards used on a load of the old racers. Essentially it would map separate on and off functions to the discrete positions of a real switch, where in game it would stipulate one command to turn on and off a function by cycling through the states.

Is this software able to do that?


Yes, it can do this and a lot more. But if this is the only function you need, it would be much better (and in the end also a lot easier) to write a small AutoHotkey script and just use that.
Upvote 0
Thanks, and yes it would be just for this. Mind you, I will be taking a closer look at what you are offering above, as it may be that there is a lot more functionality in there that is of use to me.


Upvote 0
Version 2.3 is Online. Lots of new stuff, incl. new statistical rule sets for Jona. Jona now observes your la times after a collision and determines, whether an early pitstop might be worthwhile for the current stint and the overall race. Other statistical models for tyre temperature development, weather trend analysis are also implemented, but not activated yet.

Also in this release is an initial plugin for rFactor 2. More to come here, incl. an integration with Jona.
Upvote 0
It is Friday and therefore Release-Day. Version 2.4 comes with the following new features:
  1. Support for multiple Button Boxes
  2. Pedal calibration curves (for Heusinkveld) can now be changed even during an active race. Very helpful, when rain drops in, to make brakes and throttle react more sensitive
  3. Initial support for RaceRoom Racing Experience
  4. Jona learned something new:

    Jona says: "Since the temperatures are falling, we will increase the tyre pressures for the next stint by 0.2 PSI."

    Backed up by a full statistical analysis of track, air and tyre temperatures, this might give better overall tyre pressures an evening or morning sessions...
Upvote 0
Release 2.5 as of today:

  1. Push To Talk for voice recognition for Joan, but also for Button Box control.
  2. Custom Button Box layouts can now be created based on a configuration file - no more programming needed. A future version will even bring a graphical editor for this task.
  3. ACC shared memory weather information has been adopted and Jona now can react to upcoming weather changes. Most of the rules still run in shadow mode, so full functionality including tyre compound changes on upcomig pitstops will come in V2.6 and V2.7.
Upvote 0
Release 2.5.4 is online:

With this release, the first cycle of Jona, the virtual race engineer, is now complete and Jona is no longer in the alpha state. I've already had several races in which Jona planned and carried out the pitstop, and the set values were spot on. The analyzes regarding time loss after an accident or the recommendation to change tires when the weather changes are already working convincingly.

Jona's AI kernel currently consists of almost 500 rules. But that's not the end of it, because beginning with the next release I will build up a big data collection to which every user will contribute (with their consent, of course) with their racing data. On the basis of this data and reinforced learning algorithms, Jona will be able to act even more sensitively, and the first steps in the direction of active pit strategy will be possible.

In this release there are also improvements for the other parts of Simulator Controller. Among other things, the configuration-based layouting for button boxes has been improved and the voice can now be adjusted for voice output.
Upvote 0
Release 2.6.1 brings extensive innovations again:

1. After the first Jona cycle has been completed with Release 2.5, Simulator Controller starts with the creation of the setup database beginning with Release 2.6. For this purpose, a whole range of data from all races is collected and, if consent has been given, consolidated in a central database in the cloud. In return, each user will receive the consolidated data and can thus access an ever-growing pool of setup information for all vehicles, tracks and weather conditions. From Release 3.0 on, Jona will use all this information in order to be able to react to unforeseen changes in conditions in a race. In order to make all this possible, the collection of data begins with this Release.

2. There are also a number of other improvements. The handling of the ACC Pitstop MFD for different screen sizes and language settings has been comprehensively revised and made more robust, and the configuration dialog has "grown" and now allows context-sensitive help information and documentation to be called up.

3. Jona has learned to accept a different tyre choice than the one suggested for a pitstop and to preselect the air pressures correctly.

4. The current setup information can now be easily transferred from ACC to Jona.

As always, there is a link to the corresponding documentation for all the innovations in the Release Notes in the Wiki. And now have fun with it: Simulator Controller on GitHub
Upvote 0
The Easter Egg release

It was a 2 week sprint so there are a lot of new features.

1. A graphical editor for Button Box layouts and configuration brings a lot of comfort when setting up your own environment.
2. If there are several hardware controllers connected, each one can now be configured with its own mode carousel.
3. Jona is now able to handle a pitstop during a race where refueling is not allowed
4. At the end of the race, Jona asks whether the setup database should be updated. This prevents incorrect data from ending up in the database if the initial setup data was incorrect.

Furthermore, the declaration of consent for the setup database was revised because there was probably a misunderstanding and not many of you wanted to provide their setup data. To be precise, it is NOT about the setup of the car (aero, dampers, geometry, etc.), but only about the tire pressures and tire choice under different conditions. The text has been changed and consent is requested again.

And last but not least, this release hides an Easter Egg with a valuable first prize. This can only be found on the next 4 public holidays and only if a race is being carried out with Jona. Have fun searching ...

IMPORTANT: This time an explicit update step is necessary so that the new version works properly. Please read the documentation for the update carefully: Update 2.7 Documentation
Upvote 0
Release 2.8 is online and brings many new features again:

  1. Support for rFactor 2 and RaceRoom Racing Experience has been expanded and the virtual race engineer is now also available in these simulations.
  2. A new plugin "Race Engineer" takes over the control of Jona for the individual simulations.
  3. Jona now also supports Practice and Qualification sessions, but a pit stop is only controlled in the race.
  4. The settings (=> "Race Engineer Settings") for Jona can now be changed during a running session and Jona reacts to them.
  5. For dry tyres, different compounds are now recognized according to color coding (red, white, blue).
  6. This time there are also some new features for developers:
  • The documentation for the plugin interface of the configuration tool is ready.
  • The build pipeline in "Simulator Tools" now also integrates the build process of Visual Studio.
  • A new class "JSON" allows working with JSON files.

Addendum: The Easter Egg in the last Release was found. Congratulations to the winners.
Last edited:
Upvote 0
This week it is only a small release due to time constraints, but there are still some new functions:

1. The selected modes of the connected button boxes can now be selected automatically depending on the current simulator and the current session. There is a graphical configuration dialog for formulating the rules.
2. Jona now masters an automatic pitstop in the rFactor 2 simulation.

This time the underground was cleaned up a little:

1. The implementation of a plugin for a further simulation, including support for the virtual race engineer, has been greatly simplified. This is, among other things, a preparation for the upcoming iRacing integration.
2. A localization function has been created for the "Controller Plugin Labels" file, which contains the identifiers of the actions on the button box window.
3. The version management and the automated update mechanism have been improved.
Upvote 0
Another week has passed. This time the following is included:

1. The virtual race engineer can be instructed not to change the tires.
2. Building on the previous change, Jona decides independently not to change tires in a Splash n Dash pit stop.
3. The treatment and analysis of accident damage very late in a race or before an upcoming pitstop has been improved.
4. In RaceRoom Racing Experience, Jona can now plan, prepare and carry out the pitstop completely on its own.
5. A controller mode is now available for rFactor 2 and RaceRoom Racing Experience, with which all pit stop settings can be controlled via a button box or another controller, but also via voice commands. As in Assetto Corsa Competizione, this can be used in conjunction with or without the help of Jona.
6. A first integration is available for iRacing, which allows you to start and stop iRacing via the button box. In the next releases the whole "rest" will come :)
7. (For developers): Again extensive generalizations for the development of simulator plugins.

And now, happy racing and a successful pitstop ...
Upvote 0