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

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

Full-Time 49500 - 60500 £ / year (est.) Working from home possible
Z

At a Glance

  • Tasks: Build a robust Linux daemon for audio streaming to USB devices.
  • Company: Join a forward-thinking tech company focused on innovative audio solutions.
  • Benefits: Flexible remote work, competitive pay, and opportunities for skill development.
  • Other info: Hands-on role with excellent growth potential in a collaborative team.
  • Why this job: Make an impact by integrating audio and USB technologies in a dynamic environment.
  • Qualifications: Strong C/C++ skills and experience with Linux audio systems required.

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 (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.

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

Zenovo is an exceptional employer located in the stunning Scottish Highlands, offering a vibrant work culture that fosters collaboration and innovation. As a Senior Hardware Engineer, you will not only lead exciting projects from concept to production but also have the opportunity to mentor junior engineers, enhancing your leadership skills. With a focus on employee growth and development, Zenovo provides a unique environment where creativity thrives and meaningful contributions are valued.

Z

Contact Details:

Zenovo Recruitment Team

StudySmarter Expert Advice🤫

We think this is how you could land Remote Linux Embedded / Systems Software Engineer - Audio & USB HID

Join Local Tech Meetups

Get out there and mingle with fellow developers by joining local tech meetups. It’s a fantastic way to meet people who might be working at Zenovo or know someone who does. Plus, you can pick up some trendy tech skills and trends while you're at it!

Contribute to Open Source Projects

Show off your coding chops by jumping into open-source projects. Not only does this give you practical experience, but it also gets you noticed in the dev community. You'll create a killer portfolio that speaks volumes about your skills to Zenovo.

Tap into Online Developer Communities

Don’t underestimate the power of online developer communities like GitHub, Stack Overflow, and even Reddit. Participate in discussions, share your projects, and build your visibility. We can often find opportunities through these channels that can lead to a full-time gig at companies like Zenovo.

Explore Job Boards Specifically for Tech Roles

Keep your eyes peeled on job boards that focus on tech roles. Sites like TechCareers or Stack Overflow Jobs can often have listings for companies like Zenovo that might not show up on broader job sites. Make it a habit to check these regularly, and don’t hesitate to apply directly through our website!

We think you need these skills to ace Remote Linux Embedded / Systems Software Engineer - Audio & USB HID

C/C++ Systems Programming
Linux/Debian Daemon Development
Systemd
Linux Audio (PipeWire, PulseAudio, ALSA)
USB Device Communication (USB HID, hidraw, libusb)
Real-time Audio/Data Streaming
Opus or Similar Low-latency Codecs

Some tips for your application 🫡

Show off your coding skills:When applying for a software engineering role, it's super important to showcase your coding skills. Make sure your CV includes your tech stack, any relevant programming languages you’re comfortable with, and examples of projects you've worked on. If you have a GitHub profile, link it up! We love to see code in action.

Tailor your portfolio:For a full-time role, we’d expect to see some solid examples of your work in your portfolio. Make sure to include at least two or three projects that highlight your problem-solving skills and your ability to work with different technologies. Focus on the projects that are most relevant to the position at Zenovo.

Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at Zenovo and how your skills align with the role. Show us your passion for software development. We dig enthusiastic candidates who understand the value of collaboration and continuous learning!

Be clear and concise:When it comes to writing your CV and cover letter, clarity is key. Avoid jargon that could confuse us and stick to simple, direct language. Highlight your achievements with quantifiable results where possible, and keep everything easy to read. A well-organised application goes a long way!

How to prepare for a job interview at Zenovo

Brush Up on Your Coding Skills

For a full-time software engineering role, it's crucial that we stay sharp with our coding abilities. Expect technical questions that might involve solving problems on the spot or discussing algorithms. Practise on platforms like LeetCode or HackerRank to get comfortable with the types of questions that often come up.

Know Your Tools and Frameworks

Make sure we’re well-acquainted with the tools and technologies listed in the job description. Familiarise ourselves with any specific frameworks or programming languages mentioned. If Zenovo uses React or Node.js, for instance, be ready to discuss how we’ve used them in previous projects or coursework.

Showcase Your Projects

Bring along a portfolio that highlights our best work. This could be code samples, GitHub repositories, or any side projects we’ve built. Make sure we can talk through our thought process for each project, especially the challenges we faced and how we solved them—this shows our problem-solving skills in action.

Prepare for Behavioural Questions

While technical skills are key, full-time positions also require cultural fit. Be ready to discuss our previous experiences and how we handle teamwork, conflict, and deadlines. Brush up on the STAR method—Situation, Task, Action, Result—to clearly articulate our past experiences when discussing how we've contributed to a team.