winterchill jobs
← all jobs
indeed

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

ZENOVO· London, United Kingdom· £60/hr
Posted 10 Aug 2026 · Added 11 Aug 2026, 08:12
ZENOVO0.0Management consultancyfounded 2021
AI summary

Work with C/C++, systemd, PipeWire, PulseAudio, Opus, hidraw, and libusb to build a production-ready Linux daemon that captures system audio, encodes it as Opus, and streams 64-byte HID packets to a custom USB HID device. The role requires porting an existing Windows listener to Debian Linux while achieving full functional, audio-quality, latency, and protocol parity.

View original on indeed
See how well this job fits your CV.

Free Tailor for ATS: 10/10 runs left

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.