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

ZENOVO LTD
London, UK
2 months ago
Apply on uk.indeed.com
Prepare application

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

Good distractions

Loading talks and stories from around this role…