Sim Racing Firmware Development
A company that designs and manufactures sim racing hardware products and develops software to improve driving skills.
The customer turned to us to develop and improve firmware for its range of sim racing equipment.
Our software engineers solved the following firmware development tasks for various products of our client:
- Button Plate. We developed firmware for a high-end steering wheel from scratch. The button plate utilized two MCUs, one general-purpose and one BLE, to allow USB and wireless connectivity to a PC. The firmware converted physical inputs, such as buttons and encoders, into logical outputs that the operating system could use. To ensure a low lag rate and efficient battery life, our team implemented low-power modes for both MCUs. The device could also save user configurations and statistics for analysis and improvement.
- Wheelbase. The wheelbase provides realistic force feedback to simulate the force real race cars generate. We worked with our client to fix critical bugs and improve and add new force feedback effects to enhance the user experience.
- Pedals. The pedals allow acceleration, braking, and clutch control. Our team improved the firmware stability and added configuration options, including a calibration feature, for a better user experience.
- SDK. Our client had a config tool for their devices, but it was difficult to maintain and add new features. We developed a new SDK from scratch to provide a flexible, easy-to-maintain solution.
Now, this upgraded SDK has the following advantages:
- it communicates with the devices and provides a generic API for interaction;
- it provides backward and forward compatibility by using a schema on the device side;
- it uses text parameters in the calling code, making it easier to add new features.
The technologies we used in this project:
- C, C++;
- CMake, make;
- ST HAL, ST CMSIS;
- HIDAPI, protobuf, zlib;
We helped our client in the sim racing industry to improve their firmware and enhance the user experience for a high-end range of products, thus boosting sales and consumer satisfaction.
We created firmware from scratch, fixed bugs and added quality force feedback to the wheelbase for better UX, improved stability and added configuration features.
Our client has appreciated our level of expertise, timely delivery, comfortable communication and proactive approach to designing tech solutions.
Thanks to our involvement, the client can now provide flexible connectivity via USB and BLE, boasting a high update rate while providing minimum lag, low power consumption, and longer battery life.
As a result, the customer is optimistic and aims to enter the mass market with a new range of products designed with our engineering support.