Remote Linux Embedded / Systems Software Engineer - Audio & USB HID

Role Overview We need an experienced Linux Systems / Embedded Software Engineer to build a robust kiosk daemon that captures system audio, encodes it (Opus), packetises it into 64-byte HID packets, and streams it to a custom USB HID device.
The work involves porting an existing Windows implementation to Debian Linux while achieving full functional, audio-quality, latency and protocol parity.
Key Responsibilities
  • Set up the Debian build/test environment and create a production-ready systemd service that starts at boot and recovers from failures.
  • Analyse the existing Windows listener, extract portable C/C++ logic, and replace Windows-specific APIs with Linux equivalents.
  • Capture system audio from the default output using PipeWire or PulseAudio (WASAPI loopback equivalent), handle device hot-swap and idle/silent states with low CPU usage.
  • Encode audio (Opus), chunk into 64-byte HID packets, and implement the required notification/header protocol.
  • Enumerate the composite USB device, locate the correct HID interface, and communicate via hidraw or libusb.
  • Handle USB attach/detach, reconnect, write failures and buffer overruns robustly.
  • Implement the shared command protocol (no API changes) and provide matching stub handlers.
  • Deliver diagnostic logging with parity to the Windows tool (audio level, VID/PID, connection status, errors, etc.).
  • Perform side-by-side validation against the Windows version and Android reference app for audio quality, latency, framing and stability.
Essential Skills
  • Strong C/C++ systems programming
  • Proven Linux/Debian daemon or service development
  • Practical experience with systemd
  • Linux audio (PipeWire, PulseAudio or ALSA)
  • USB device communication (USB HID, hidraw, libusb, composite devices, hot-plug handling)
  • Real-time or near-real-time audio/data streaming
  • Familiarity with Opus or similar low-latency codecs
  • Ability to debug across application, OS, audio and USB boundaries
  • Experience analysing and porting Windows code to Linux
Desirable
  • Embedded Linux
  • BLE / DA14531 or similar
  • Custom USB HID protocols
  • Kiosk / unattended system experience
  • Windows-to-Linux ports
  • Audio latency and codec pipeline debugging
Deliverables A production-ready Linux daemon that builds on the target Debian platform, captures and encodes audio, streams correctly framed HID packets, handles device reconnects, runs as a reliable systemd service, and matches the Windows implementation on quality, latency and behaviour.
Client Dependencies Target hardware, Debian version, Windows source, USB descriptors, protocol docs, Android sample app and reference devices will be supplied before the relevant work begins.
This is a hands-on systems role for an engineer who thrives on integrating audio, USB and Linux services into a reliable unattended solution.

Job Details

Company
Zenovo
Location
United Kingdom, United Kingdom
Hybrid / Remote Options
Employment Type
Contract
Posted