All Projects → FreeJoy-Team → Freejoy

FreeJoy-Team / Freejoy

Licence: gpl-3.0
STM32F103 USB HID game device controller with flexible configuration

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Freejoy

input-event
🎹 Read and parse input device(like mouse, keyboard, joystick and IR-Remote)'s event data.
Stars: ✭ 45 (-78.26%)
Mutual labels:  joystick
Unijoystick
It is a powerful joystick component for UGUI.
Stars: ✭ 75 (-63.77%)
Mutual labels:  joystick
Retropie Joystick Selection
A script to let the user choose the controllers for RetroArch players 1-4
Stars: ✭ 106 (-48.79%)
Mutual labels:  joystick
Ucr
Universal Control Remapper [Alpha]
Stars: ✭ 399 (+92.75%)
Mutual labels:  joystick
Wireless Rc Adapter
🎮 Arduino USB-Joystick adapter for RC receivers with PWM and PPM modulations up to 8 channels.
Stars: ✭ 62 (-70.05%)
Mutual labels:  joystick
Rc transmitter
An Arduino 2.4GHz and IR remote controller
Stars: ✭ 83 (-59.9%)
Mutual labels:  joystick
arduino-snake
Snake game for Arduino
Stars: ✭ 25 (-87.92%)
Mutual labels:  joystick
Cocos Creator Joystick
🕹 Cocos Creator Joystick Demo 虚拟摇杆
Stars: ✭ 148 (-28.5%)
Mutual labels:  joystick
Nintendoextensionctrl
Arduino library for communicating with Nintendo extension controllers
Stars: ✭ 67 (-67.63%)
Mutual labels:  joystick
Udev Joystick Blacklist
Fix for keyboard/mouse/tablet being detected as joystick in Linux
Stars: ✭ 97 (-53.14%)
Mutual labels:  joystick
Unswitch
🕹 A tiny event handler for Switch controllers!
Stars: ✭ 574 (+177.29%)
Mutual labels:  joystick
Segacontroller
Arduino library to read Sega Genesis (Mega Drive) and Master System (Mark III) controllers.
Stars: ✭ 55 (-73.43%)
Mutual labels:  joystick
Bugstick
Joystick widget for Android.
Stars: ✭ 85 (-58.94%)
Mutual labels:  joystick
Vjoy
Virtual Joystick
Stars: ✭ 284 (+37.2%)
Mutual labels:  joystick
Sliders Swiftui
Collection of unique fully customizable SwiftUI sliders, joysticks, trackpads and more!
Stars: ✭ 132 (-36.23%)
Mutual labels:  joystick
kurinji
Kurinji Input Map aims to decouple game play code from device specific input api. This is achieved by providing apis that allows you to map game actions to device input events instead of directly handling device inputs.
Stars: ✭ 47 (-77.29%)
Mutual labels:  joystick
Gilrs
Game Input Library for Rust - Mirror of https://gitlab.com/gilrs-project/gilrs
Stars: ✭ 81 (-60.87%)
Mutual labels:  joystick
Unitypausemenu
This is an open source Unity pause menu created for the game New Horizons, and it's completely free because of how a pause menu is a core component of a game, while the unity asset store was lacking in such an asset (until this was released on the asset store).
Stars: ✭ 160 (-22.71%)
Mutual labels:  joystick
Vjoyserialfeeder
Feed Virtual Joystick driver with data from a serial port
Stars: ✭ 133 (-35.75%)
Mutual labels:  joystick
Nipplejs
🎮 A virtual joystick for touch capable interfaces.
Stars: ✭ 1,313 (+534.3%)
Mutual labels:  joystick

FreeJoy

FreeJoy is widely configurable game device controller based on cheap STM32F103C8 microcontroller board. It allows you to create your own HOTAS, pedals, steering wheel device or customize a purchased one.

Getting started

Welcome to our wiki pages to get instuctions how to flash firmware to your board and how to configure device for your application.

Features

FreeJoy supports the following external periphery:

  • 8 analog inputs (12 bit output resolution)
  • axis to buttons function (up to 12 buttons per axis)
  • buttons/encoders to axis functions
  • 128 digital inputs (buttons, toggle switches, hat povs, encoders)
  • 5 shift modificators
  • 4 hat povs
  • 16 incremental encoders
  • shift registers 74HC165 and CD4021
  • digital sensors TLE5010/5011, TLE5012B, AS5048A, AS5600, MLX90393 (SPI interface only)
  • external ADCs ADS1115 and MCP3201/02/04/08
  • 4 PWM channels for lighting
  • 24 LEDs (single or matrix) bindable to button's states
  • device name and other USB settings

Axes

FreeJoy supports up to 8 analog inputs at pins A0-A7 and digital sensors as axes sources. Every axis has its own settings as:

  • Source/destination (X, Y, Z, Rx, Ry, Rz, Slider1, Slider2)
  • Output enabling/disabling
  • Resolution
  • Calibration (manual or auto)
  • Smoothing (7 levels of filtration)
  • Inversion
  • Deadband (dynamic or center)
  • Axis offset option (magnet offset)
  • Curve shaping
  • Functions for combined axes
  • Buttons from axes
  • Axes from buttons/encoders

Buttons

FreeJoy allows you to connect up to 128 digital inputs as single inputs (tied to VCC or GND), matrix of buttons, shift register inputs and axes to buttons inputs. Inputs can be configured as:

  • Regular push button
  • Inverted push button
  • Toggle switch ON/OFF
  • Toggle switch ON
  • Toggle switch OFF
  • POV hat button
  • Incremental encoder input
  • Radio buttons
  • Sequential buttons
  • 5 shifts

FreeJoy Configurator utility

FreeJoy configuration is possible using external utility.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].