Senior Embedded Software Engineer

SPT Labtech
Cambridge, UK
6 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Compensation
£55,727.0
Working hours
Regular working hours

Tech stack

Agile Methodology ARM Architecture Unit Testing C Sharp (Programming Language) C++ (Programming Language) CAN Bus Continuous Integration Software Debugging Device Drivers Embedded Software Ethernet Firmware
+11 more
Hardware Interface Design Joint Test Action (IEEE Standards) Software Architecture Real-Time Operating Systems Software Engineering Systems Architecture Universal Asynchronous Receiver/Transmitter Serial Peripheral Interface Git Information Technology Software Version Control

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

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

1:29 min

Managing queues using Azure Service Bus Explorer

Radu Vunvulea Radu Vunvulea · WWC 2022

2:19 min

Orchestrating over-the-air firmware updates for vehicle modules

Denis Grahovac · WWC 2021

3:51 min

Technical skills and collaborative mindsets for mobility engineering roles

Georg Kühberger +1 · LIVE

56 sec

Favorite git commands and the importance of patch commits

Eileen Uchitelle Eileen Uchitelle +1 · Coffee With Developers

Videos

See all

Related articles

See all