Skip to content
gilphilbert edited this page Oct 31, 2024 · 11 revisions

Welcome to the DIY-Sim-Racing-FFB-Pedal wiki!

Force Feedback Pedals

If you haven't used a Force Feedback Pedal before, you're in for a treat. It's very hard to explain the difference between other types of pedals and FFB pedals, but there are plenty of YouTube videos trying to explain it!

Building your own

You're probably reading this because you want to build your own Force Feedback Pedal. Building one is a very rewarding project and you'll probably learn a lot along the way. It may seem daunting at first, but when you break down the parts, each one is very achievable for the average tinkerer, even if the area is totally new to you.

Where to begin

The pedal is built from a few basic components that are readily available. The exact parts are determined by the pedal design you select, but generally these are the essentially parts required:

Component Purpose
Frame This houses everything and holds it all together
Servo The only currently supported one is the StepperOnline iSV57T
Linear rail Converts the rotation of the servo into a linear motion (back and forward)
Loadcell This measures pressure and is used to calculate how hard you are pressing the pedal
PCB This is the brains of the pedal, it talks to (and moves) the servo, reads the loadcell and talks to your computer
Power PCB This is a protection board to prevent any damage to the servo
Power supply Provides power to the servo and, in some cases, the control board

How does it work?

It's actually fairly simple (because the hard work has been done for you and you can just flash the firmware from this repo!). The core is the ESP32 microcontroller. It connects to the servo to control movement and increase/decrease the pressure you feel on the pedal. It also reads the loadcell to detect how much pressure you're putting on the pedal. This is used for two things, to affect what happens in the simulator you're using (increase throttle, increase braking, etc.) but also to determine the torque level for the servo, which affects how hard the pedal 'pushes back'. A plugin inside SimHub then determines the effects you feel through the pedal, such as ABS or wheelspin.

Choosing a pedal design

Note

This wiki does not cover hardware design and assembly. This is usually covered in the repo / document for the pedal design you decide to use when you start building your pedal

There are a number of hardware designs you can use, or even create your own! Most people start with one of the more simple designs, then change it if they feel it can be improved for their use-case. These will include the parts you need for that specific design as well as the CAD files needed. Many are documented in the hardware repo, but you will also find many more in the Discord server. We encourage you to join the community and ask questions and detail your build!

Choosing connectivity

How you select your PCB (coming up next...) will, at least partly, depend on what connectivity you want. There are a few different methods:

Wireless

Wireless-setup,This is the newest connectivity option and is currently in testing, but it has the potential to be the easiest to set up (especially for new devices) and only requires a single port, no matter how many pedals you have. The control board in every pedal is wireless-capable, meaning it doesn't matter which board you select, you will still be able to use wireless! The wireless connection is a point-to-point connection for the pedals to the PC via a pedal controller ("Bridge") which plugs into your PC. From there, the pedals are automatically detected and added to the plugin. The easiest board for this configuration is gilphilbert's PCBA design, which features pedal function switches (gas, brake, throttle).

USB from the pedal to your PC

A single cable sure sounds like the most simple option - and it can be, depending on your configuration. A single pedal connected via USB is a simple setup, especially if you're using either the V4 or gilphilbert's PCBA board. The same can be achieved with the V3 board, but you have to configure vJoy-output which is the highest latency solution and the most complex to configure.

Bluetooth

This is really a capability of the V3 board and, unless you want to use vJoy, is the "normal" way to connect to your pedal. It provides a simple Bluetooth game controller.

Choosing PCBs

Note

The project is in the middle of a change in control boards. The V3/V4 boards are historically the best way to implement your pedal but the project is moving towards fully assembled "PCBA" boards that you can order and will turn up fully soldered and ready to be connected.

There are three main PCB designs you can choose from. Some hardware designs will specify a specific PCB (although that can always be changed!) but you can usually choose freely between the different control boards. The three boards recommended today are:

V3

This board is part of ChrGri's repo and uses off-the-shelf development kits, such as the Espressif ESP32-DevKit-1-C, ADS1256 module and others and puts them all on a "shield" that joins the parts. This has the advantage of being cheaper for a single control board, but the trade-off is a larger, thicker board that requires careful assembly and soldering. Assembling two or more boards makes this a more expensive option. This board doesn't support a USB-based game controller output, so requires the use of either Bluetooth or vJoy. It also supports wireless.

V4

This board is also part of ChrGri's repo and is fundamentally the same as the V3 board but with one change - it features the ESP32-S3 instead of the ESP32 found on the V3. That might not sound significant, but the ESP32-S3 supports native USB connectivity that the ESP32 lacks. This allows a simple plug-and-play approach that doesn't require the configuration of vJoy (which isn't easy and adds some latency) or Bluetooth. Like the V3 board, it also supports wireless.

Gilphilbert Control board

Link
Unlike the V3 and V4 boards, the Control Board is a completely custom board designed specifically for the force feedback pedal. It doesn't leverage any devkits and requires little-to-no soldering which greatly reduces the chances of issues during assembly. Since the ADS1256 is connected directly to the PCB, it also provides a more consistent connection to the loadcell, which is very sensitive, improving the experience when using the pedal. It's also much smaller and, like the V4 board, can support both native USB connection and wireless. When used for wireless, this board features switches for pedal type (throttle, brake and clutch) which makes configuration much easier.

Pedal building steps

Now you've settled on a hardware design and you know which PCBs you're using, these are the steps to get everything assembled and working.

1. Hardware

Next, buy the parts, print the parts (or both!) and finish the mechanical build of your pedal. This will include the electro-mechanical components (the servo and loadcell).

2. Flash the firmware

Before you install the PCBs into the pedal, you will need to Flashing-firmware (and Wireless Bridge firmware, if required)

3. Electronics

Now make sure you test your electronics! Electronics setup and testing is covered in Electronics Setup and includes troubleshooting steps.

4. Software setup

Get your machine ready to connect to your new pedal(s) by following this guide.

5. Customize your pedal

Things you can customize are pedal effects, optionally calibrate your loadcell, configure rudder (for flight sims), configure the dashboard, or configure wheel slip notification.

6. Enjoy!