Senior Embedded Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+11 more
Job description
You’ll join a multidisciplinary R&D team where software, electronics and mechanical engineers sit side by side and designs come together in the lab, not just on paper. Day to day, you will:
- Design, develop and maintain embedded software in C++ for ARM Cortex-M series microcontrollers - firmware that ships inside real instruments.
- Implement motor and actuator control across open-loop, closed-loop and hybrid schemes, working hand in hand with our electronics team on motor drives and robotic hardware.
- Integrate OEM and third-party modules, barcode readers, thermal units, pneumatics and similar - over CAN, Ethernet, UART, SPI, I²C and GPIO, writing the device drivers that connect them into the system.
- Shape the firmware and system architecture: module boundaries, interfaces and the communications that tie distributed microcontrollers together.
- Contribute to the lower-level, device-facing C# .NET code on the PC side that talks to the embedded layer.
- Implement signal acquisition and conditioning for the sensors and transducers fitted throughout each instrument.
- Design in reliability from the outset, fault detection, diagnostics, recovery, watchdogs and built-in self-test, because our instruments run unattended in labs where results matter.
- Troubleshoot and debug complex embedded software, hardware interfaces and robotics system issues, including on the CAN bus.
- Provide technical leadership and mentoring to junior engineers, and help raise the bar for software development practice across the team.
- Produce clear technical documentation: specifications, designs, architecture and user-facing material.
Requirements
You’re an embedded engineer who thinks at the system level, comfortable reasoning about how distributed microcontrollers, timing and communications interact, not just single-component behaviour. You’re a proactive self-starter and a sharp problem-solver with the persistence to chase an issue to its root cause, and you communicate clearly across software, electronics and mechanical disciplines. You take pride in firmware that is robust, diagnosable and built to run reliably for years in the field., * Solid commercial experience in embedded software or firmware development.
- Strong, hands-on C/C++ on ARM microcontrollers (Cortex-M series or similar).
- Demonstrable experience contributing to firmware and system architecture, defining module boundaries and interfaces between components, not just implementing to an existing design.
- Practical, hands-on experience implementing motor and actuator control in production hardware.
- A track record of integrating third-party or OEM hardware modules, including their bespoke controllers, into a larger system.
- Confidence working across CAN, Ethernet (TCP/UDP), UART, SPI, I²C and GPIO.
- Working knowledge of C# .NET, sufficient for device-facing PC-side code.
- Exposure to RTOS environments and standard embedded debugging tools such as oscilloscopes, logic analysers and protocol analysers.
- A disciplined approach to reliability: fault detection, diagnostics and recovery mechanisms.
- Comfortable with unit testing, continuous integration and version control (Git).
Desirable skills and experience
- Experience with JTAG/SWD debuggers and protocol analysers (CAN, Ethernet and similar) for hardware-level debugging.
- Field-oriented control (FOC) experience.
- Familiarity with gRPC or other distributed software architectures.
- Experience working in Agile teams.
- A degree in electronics, computer science or a related field, or equivalent experience.
Benefits & conditions
We offer a competitive salary package and comprehensive, valued benefits, including private medical insurance, a generous pension plan, and an annual discretionary bonus.
About the company
We are looking for a Senior Embedded Software Engineer - Robotics to write the code that brings our robots to life. Every instrument SPT Labtech ships from nanolitre-precision liquid handlers to fully automated sample management systems. This depends on firmware that drives motors with absolute precision, reads sensors in real time, and keeps complex robotic systems running reliably in labs around the world. In this role, your embedded C++ on ARM Cortex-M sits at the very heart of our products: you’ll design motor and actuator control, integrate robotic hardware over CAN and Ethernet, and shape the firmware architecture of our next generation of laboratory automation. Technology that directly accelerates scientific discovery and improves human health. This is an office and lab-based role at our Melbourn site, near Cambridge., Based in Cambridge, makes products that transform the way scientists work. For decades, our expert scientists, engineers and business innovators have provided scientists with world-leading, innovative solutions for liquid handling, sample preparation, and sample management that help accelerate research and make a real difference to human health. We work collaboratively with our customers, building trusted relationships that enable us to deliver exceptional, personalised experiences designed for real-world challenges in the lab.
Want to be part of a team that’s truly making a difference?
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Apply on www.adzuna.co.ukGood distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Is Software Engineering Hard?
Where To Find Software Engineering Jobs
Is Software Engineering Over-Saturated?
Where to Find Entry-Level Software Engineering Jobs