FreeJoy firmware for joystick controller, by WG_Magners - similar to MMjoy2 and EasyJoy32One Hardware required: ARM STM32, example > $10 - STM32F103C876
FreeJoy firmware supports following features:
Up to 8 analog axes (12 bit resolution - 4096 points) Up to 128 buttons (Wired though Matrix or Shift Register) Incremental encoders TLE5010/5011 sensors (digital bus instead analog like potentiometer and conventional Hall sensor) Shift Registers 74HC165 and CD4021 Axes to buttons (12 buttons per axis) 4 POV hats Push buttons, toggle switches, inverted buttons, etc.
All this options can be configured by user-friendly configurator tool - FreeJoy Configurator:
Note: FreeJoy Configurator require MS NET Framework 4.5.1 installed.
Instructions on how use FreeJoy Configurator:
For flashing firmware to ARF STM32 device an ST-LINK v2 programmer is required (or USB-UART converter). Example.
Now support external ADC's and new tipe of contactless sensor, like AS5600 (programable working angle) and MLX90333, and features like "radio button sequential".
Quote
8 analog inputs (12 bit output resolution) axis configuration options: calibration (manual or auto), filtering, offset, deadband (center or dynamic), curve shapes axis to buttons function (up to 12 buttons per axis) buttons/encoders to axis functions 128 digital inputs (buttons, toggle switches, hat povs, encoders) digital inputs configuration options: normal/inverted button, 3 types of toggle switches, radiobutton sequential button 5 shift modificators 4 hat povs 16 incremental encoders shift registers 74HC165 and CD4021 digital sensors TLE5010/5011, AS5600, MLX90393 (SPI interface only) external ADCs ADS1115 and MCP3201/02/04/08 3 PWM channels for lighting 24 LEDs (single or matrix) bindable to button's states device name and other USB settings user-friendly configuration utility updating firmware on USB saving and loading configuration from file