Remote Linux Embedded / Systems Software Engineer - Audio & USB HID
ZENOVO LTD
London, UK
2 months ago
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Apply on uk.indeed.com
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Job source
Tech stack
Microsoft Windows
Application Programming Interfaces (APIs)
Advanced Linux Sound Architecture
Data Analysis
C++ (Programming Language)
Encodings
Codecs
Debian Linux
Software Debugging
Linux
Linux on Embedded Systems
Service Development Studio
+7 more
Software Engineering
Software Systems
Data Streaming
System Programming
Data Logging
Low Latency
OPUS (Software)
Job description
- 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.
Requirements
- 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
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Apply on uk.indeed.com
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Loading talks and stories from around this role…