OpenFFBoard is an open-source force feedback interface board designed for simulation devices like steering wheels and joysticks. The firmware provides force feedback effects via USB HID to gaming/simulation software while processing inputs from encoders, analog sources, buttons, and CAN bus. It features a modular architecture based on FreeRTOS with TinyUSB USB stack, supporting multiple motor drivers (PWM, TMC4671, ODrive, VESC, RMD) and a command interface for runtime configuration. Settings persist to flash/EEPROM via an abstraction layer with automatic registration. The project targets STM32 microcontrollers (F407VG, F407VG_DISCO, F411RE) and includes extensive hardware abstraction layers, plugin architecture for extensibility, and clean C++ wrappers for FreeRTOS primitives.
This repository is the mechanical and electronics design for a DIY sim racing force feedback pedal. It contains CAD models (Fusion 360, STEP, STL) for 3D-printed and machined parts, detailed soldering guides for several PCB revisions, wiring diagrams, bill of materials, and investigations into key components (ADC, loadcell, brake resistor). The repo does NOT contain any application software, firmware, or data pipelines; it is purely a hardware design and assembly guide. The project is well-documented with multiple design iterations and clear instructions for building a custom FFB pedal using a servo motor, linear rail, loadcell, and ESP32-based control electronics.
This repository provides a complete firmware solution for building a DIY force feedback (FFB) steering wheel for sim racing, targeting Arduino Leonardo/Micro/ProMicro (ATmega32U4). The firmware implements a custom USB HID joystick with full FFB support (constant, ramp, spring, damper, inertia, friction, periodic effects) and runs a 500 Hz control loop. It supports multiple hardware configurations: optical or magnetic encoders, PWM or DAC motor output, load cell pedals, button matrices, shift registers, and more. The codebase is a heavily modified fork of the BRWheel project, with custom Arduino core modifications to enable FFB HID descriptors. The repository includes precompiled HEX files for dozens of hardware variant combinations, wiring diagrams, and a serial configuration interface. While functionally complete and actively maintained, the code exhibits high technical drift due to reliance on Arduino IDE 1.8.5 and manual core patching, and the monolithic structure with extensive conditional compilation makes maintenance and reuse challenging.