← Back to Jobs
Remote
Temporary/Casual
Technology
Remote Linux Embedded / Systems Software Engineer - Audio & USB HID
ZenovoUnited Kingdom🇬🇧United KingdomPosted 10 Aug 2026
Quick Overview
Work Type
Remote
Schedule
Temporary/Casual
Level
Mid Senior
Job Description
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
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.
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.
- 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
- Embedded Linux
- BLE / DA14531 or similar
- Custom USB HID protocols
- Kiosk / unattended system experience
- Windows-to-Linux ports
- Audio latency and codec pipeline debugging
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.
Skills
C++
Android
Similar jobs
Senior Embedded Software Engineer
YT Technologies · Worcester, United Kingdom
1 hour agoSenior Software Developer
Spectrum IT Recruitment · City, United Kingdom
1 hour agoEW Systems Engineer
MASS Consultants · Salisbury, United Kingdom
1 hour ago£50k - £65k/yrSoftware Developer Team Lead - 12 Month FTC
IMServ Europe Ltd · Great Linford, United Kingdom
1 hour agoC++ Software Engineer
Gold Group · United Kingdom
1 hour agoSenior Software Developer
Ford & Stanley Select · United Kingdom
1 hour ago