At a Glance
- Tasks: Build a robust kiosk daemon for audio streaming and USB communication.
- Company: Join a forward-thinking tech company focused on innovative audio solutions.
- Benefits: Flexible remote work, competitive salary, and opportunities for professional growth.
- Other info: Dynamic team environment with exciting projects and career advancement potential.
- Why this job: Make an impact by integrating audio and USB technologies in a hands-on role.
- Qualifications: Strong C/C++ skills and experience with Linux systems and audio streaming.
The predicted salary is between 49500 - 60500 Β£ per year.
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, 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.
Remote Linux Embedded / Systems Software Engineer - Audio & USB HID employer: ZENOVO LTD
Join a forward-thinking company that values innovation and collaboration, offering a hybrid work environment in Coventry. As a Senior Electronics Engineer, you'll benefit from a supportive culture that encourages professional growth and development, alongside competitive salaries and the opportunity to work on exciting projects that shape the future of technology. With a focus on teamwork and mentorship, this role provides a unique chance to make a meaningful impact while advancing your career in a dynamic industry.