Skip to content

Add Logitech ASTRO A50 Gen 5 (046d:0b1c)#531

Open
lluiseduardo-silva wants to merge 3 commits into
Sapd:masterfrom
lluiseduardo-silva:add-logitech-astro-a50-gen5
Open

Add Logitech ASTRO A50 Gen 5 (046d:0b1c)#531
lluiseduardo-silva wants to merge 3 commits into
Sapd:masterfrom
lluiseduardo-silva:add-logitech-astro-a50-gen5

Conversation

@lluiseduardo-silva
Copy link
Copy Markdown

@lluiseduardo-silva lluiseduardo-silva commented Jun 6, 2026

Changes made

Adds support for the Logitech ASTRO A50 Gen 5 base station (USB 046d:0b1c).

The base station uses a vendor-specific HID protocol (report ID 0x02 on usage page 0xff32,
interface 8) — not HID++ and not the Centurion / report-0x51 protocol used by the A50 X.
It was reverse-engineered from USB captures.

Capabilities (all verified on real hardware):

  • Battery status (CMD 0x06)
  • Chatmix (CMD 0x0a)
  • Sidetone (CMD 0x09)
  • Lights / dock LED (CMD 0x0f)
  • Parametric equalizer (CMD 0x0d) — 10 bands, gain ±6 dB, Q 0.031–7.969
  • Microphone noise filter (CMD 0x14) — the A50 has 4 levels; HeadsetControl's 0/1/2
    (off/low/high) maps to A50 Off / Night / Tournament

New header-only device lib/devices/logitech_astro_a50.hpp, registered in
lib/device_registry.cpp, README device table updated. clang-format-18 clean, unit tests pass.

The A50 exposes further controls (master volume, mic EQ, broadcast/stream mix, device state) that
don't map to any existing HeadsetControl capability — documented in
docs/ASTRO_A50_EXTRA_FEATURES.md and intentionally left out of this PR (they'd need new core
capabilities; happy to contribute upstream if you're open to it). A companion GUI
(https://github.com/lluiseduardo-silva/HeadsetControlA50Gui) implements them meanwhile.

docs/ASTRO_A50_EXTRA_FEATURES.md and intentionally left out of this PR (they'd need new core
capabilities; happy to contribute upstream if you're open to it). A companion GUI
(https://github.com/lluiseduardo-silva/HeadsetControlA50Gui) implements them meanwhile.

Checklist

  • I adjusted the README (if needed)
  • For new features in HeadsetControl: discussed beforehand — N/A, this adds a device using
    existing capabilities, not a new app feature.

Tested on hardware

$ headsetcontrol -b -m
Found 1 supported device(s):
Logitech ASTRO A50 Gen 5 (A50) [0x046d:0x0b1c]
Battery:
Status: BATTERY_AVAILABLE
Level: 87%
Chatmix: 54

Lights, sidetone and parametric EQ also verified directly on the device
(a ±6 dB bass boost/cut via --parametric-equalizer was clearly audible).

lluiseduardo-silva and others added 3 commits June 6, 2026 13:52
Battery, chatmix, sidetone, lights and parametric EQ via the vendor HID protocol (report 0x02 on usage page 0xff32, interface 8). All capabilities verified on hardware.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Maps HeadsetControl noise filter 0/1/2 (off/low/high) to the A50 noise gate
Off/Night/Tournament. Verified on hardware. README updated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…on GUI

Lists A50 controls (master volume, mic EQ, broadcast mix, device state) that need
new core capabilities (maintainer approval) and links the companion GUI project.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant