# MHeironimus/ArduinoJoystickLibrary

An Arduino library that adds one or more joysticks to the list of HID devices an Arduino Leonardo or Arduino Micro can support.

Repository: https://github.com/MHeironimus/ArduinoJoystickLibrary
Canonical: https://ross.abutalabs.com/products/arduinojoysticklibrary
Language: C++
License: LGPL-3.0
License Family: copyleft
Topics: gamepad, arduino-micro, arduino-library, joystick-library, arduino-leonardo
Last push: 2025-01-21T02:14:50+00:00

## Health v2 (maintenance only)
Score: 24/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 2, release rhythm 8, longevity 100
- inputs: {"age_days": 3940, "days_push": 590, "days_rel": 590, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2405, forks 441 (observed 2026-08-28T04:06:44.054926+00:00)

## What it is
An Arduino library that lets an Arduino Leonardo, Micro, or other ATmega32u4-based board appear as one or more USB HID joysticks or gamepads. It supports buttons, hat switches, and multiple axes with up to 16-bit precision.

## Use cases
- turn an Arduino Leonardo into a USB gamepad
- build a custom flight simulator throttle and rudder controller
- map physical buttons and potentiometers to joystick axes
- create a DIY steering wheel or racing pedal HID device
- emulate multiple joysticks from one Arduino board
- build custom HID controllers for flight sims

## When to choose
- you need a custom physical controller that Windows/macOS/Linux sees as a standard joystick
- you are using a 32u4-based board like Leonardo or Micro
- you want configurable buttons, hat switches, and high-precision axes

## When to avoid
- you are using an Arduino UNO, MEGA, or other non-32u4 board
- you need keyboard or mouse emulation only (the built-in Arduino Keyboard/Mouse libraries suffice)
- you need Bluetooth wireless gamepad output

## Facets
- artifact type: library
- maturity: stable
- function: sdk, embedded
- domain: hardware, gaming-tools, embedded-systems
- platform: embedded, cpp
- tags: arduino, hid, joystick, gamepad, atmega32u4, usb-hid

## Member repositories
- MHeironimus/ArduinoJoystickLibrary (main) score 24

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:44.054926+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:34:07.307225+00:00, confidence not recorded.
  - readme: https://github.com/MHeironimus/ArduinoJoystickLibrary (fetched 2026-08-28T04:06:44.054926+00:00, sha db505508c16f)
- Data as of 2026-08-30T08:39:29.467469+00:00.
