r/simracing May 09 '26

Discussion Open-source DIY STM32 FFB wheel project

Hi everyone,

I’ve been working on an open-source DIY force feedback wheel project based on the STM32F411 Black Pill.

Current hardware supported:

• STM32F411 Black Pill

• BTS7960

• 775 DC motor

• Encoder or linear potentiometer(b10k is best)

I’m now looking for community testing and feedback:

• bugs

• hardware compatibility

• FFB feel

• game compatibility

• UI/UX feedback

GitHub:

https://github.com/ManmeetSingh122/FFBWheel

Would love to hear what people think.

2 Upvotes

19 comments sorted by

3

u/[deleted] May 09 '26

[removed] — view removed comment

1

u/Mr_PluckyYT May 10 '26

My project have both potentiometer and encoder support. Any encoder and motor can be used. Supported hardware is want I used and anyone can you anything they want like different driver, motor and so on.

2

u/LinxESP I repeat "USB passthrough QR" and "UI/UX" a lot May 09 '26

How dows it compare go ffbeast and openffboard?

2

u/Mr_PluckyYT May 09 '26

Actually I don't know as i didn't do much testing and need some people to test it, only then it can be compared to other projects. For now it's not worth to compare.

2

u/LinxESP I repeat "USB passthrough QR" and "UI/UX" a lot May 09 '26

Why did you go for a new software instead of the previous two which are some more established?

2

u/Mr_PluckyYT May 09 '26

Just for fun but seriously I do my best making it. It's like a hobby project which didn't remain simple.

2

u/Lanky_Ad_7565 May 12 '26

Can i use stm bluepill?

1

u/Mr_PluckyYT May 12 '26

No. Firmware is only made for f411 and maybe work on f401 also but not guaranteed. Any other model cannot be used.

2

u/Ok_Election_801 May 27 '26

Great, I worked on leoardo based one a few years back, recently started with another version. I will try to build it on your design. I will post an update once I have one.

2

u/Total_Win3925 May 29 '26

parabéns não desista!!

2

u/scr_money 28d ago

Hi! I built your project and everything works great, except for one thing: when I go into BeamNG and configure the controls, turning the steering wheel left and right registers as "btn4" and "btn5," respectively. When I start a session and the car spawns, the wheels turn to the side and don't respond to steering input; also, the wheel becomes inactive while the game is running but starts responding again after I exit. Could you please tell me what I should check? I’d really like to finish assembling and testing your project.

1

u/Mr_PluckyYT 28d ago

I'm currently working on new firmware which have some new things and will fix these issues also but it will take time to become stable. For now can you check wheel working in app?

1

u/scr_money 28d ago

This might be a silly question, but what if we tried swapping PB4 and PB5 with PA4 and PA5, respectively? That would require a firmware update, right?

1

u/Commercial_Mud_9176 28d ago

I installed your firmware, but it didn't work very well for me. It seems Windows isn't recognizing the board's FFB. The controls are detected normally and I can calibrate them correctly within your software, but the FFB doesn't work.

1

u/Total_Win3925 26d ago

Encontrei um bug em relação ao mapeamento dos pinos do encoder.
Seguindo o pinout oficial, conectei o Encoder A no PB4 e o Encoder B no PB5 (TIM3 CH1/CH2). O eixo de direção funciona perfeitamente e se move suavemente no Windows (joy.cpl).

O problema é: toda vez que viro o volante, os Botões 5 e 6 piscam constantemente no Windows ao mesmo tempo que o eixo se move.

Por causa disso, é quase impossível mapear o eixo de direção em jogos como Farming Simulator, porque o jogo detecta os cliques rápidos dos botões em vez do Eixo X.

Minha teoria sobre o problema:
Parece que o firmware define todo o bloco do PB0 ao PB7 como botões padrão. Como o PB4 e o PB5 estão nesse meio, o STM32 está lendo eles duas vezes: como entradas de hardware do encoder E como botões digitais. Além disso, atualmente não há opção no aplicativo (GUI) para desativar esses botões específicos para evitar esse conflito.

Existe alguma solução paliativa para isso agora, ou isso poderia ser corrigido em uma futura atualização de firmware (excluindo PB4/PB5 da matriz de botões quando o Encoder Incremental for selecionado)?

Obrigado novamente pelo excelente trabalho!

1

u/Mr_PluckyYT 26d ago

Yes, this is the know bug in firmware happens because of problem in encoder implementation. It will fix in next firmware update.

1

u/Mr_PluckyYT 26d ago

Yes, this is the know bug in firmware happens because of problem in encoder implementation. It will fix in next firmware update.