STM32F103 USB HID game device controller with flexible configuration
C
1,045
388 commits
updated Apr 19, 2026
FreeJoy is a widely configurable game device controller based on the cheap STM32F103C8 microcontroller board. It allows you to create your own HOTAS, pedals, steering wheel device, etc, or customize a purchased one.
See our wiki for instructions on how to flash firmware to your board and how to configure the device for your application.
FreeJoy supports the following external periphery:
FreeJoy supports up to 8 analog inputs at pins A0-A7 and digital sensors as axis sources. Every axis has its own settings, including:
FreeJoy allows you to connect up to 128 digital inputs as single inputs (tied to VCC or GND), button matrices, shift register inputs and axis-to-buttons inputs. Inputs can be configured as:
FreeJoy configuration is possible using an external utility.

683 followers · starred Dec 2024
125 followers · starred Nov 2023
71 followers · starred Sep 2022
STM32F103 USB HID game device controller with flexible configuration
C
1,045
388 commits
updated Apr 19, 2026
FreeJoy is a widely configurable game device controller based on the cheap STM32F103C8 microcontroller board. It allows you to create your own HOTAS, pedals, steering wheel device, etc, or customize a purchased one.
See our wiki for instructions on how to flash firmware to your board and how to configure the device for your application.
FreeJoy supports the following external periphery:
FreeJoy supports up to 8 analog inputs at pins A0-A7 and digital sensors as axis sources. Every axis has its own settings, including:
FreeJoy allows you to connect up to 128 digital inputs as single inputs (tied to VCC or GND), button matrices, shift register inputs and axis-to-buttons inputs. Inputs can be configured as:
FreeJoy configuration is possible using an external utility.

683 followers · starred Dec 2024
125 followers · starred Nov 2023
71 followers · starred Sep 2022