Firmware Engineer
Role details
Job location
Tech stack
Job description
- Develop firmware for our core technology, from concept through to implementation, test and support in production.
- Write high-quality C for ARM microcontrollers (STM32), focusing on robust, maintainable and testable code.
- Work closely with electronics, mechanical and software engineers, plus biologists, to understand system needs and turn them into clear firmware requirements.
- Collaborate in a fast-moving, cross-discipline environment where you can influence design decisions at every stage.
- Support and occasionally develop custom test equipment for internal use, helping the wider team move faster.
- Debug embedded systems using tools such as debug probes, oscilloscopes, multimeters and logic analysers, getting to the root cause of tricky issues.
- Bring a pragmatic, can do mindset, choosing the right level of engineering rigour for the stage of development we are in.
Depending on your experience, you may also:
- Apply good software engineering practices, such as test-driven development and continuous integration to embedded systems.
- Use higher level languages such as Python, C# or Java to build supporting tools and simple GUIs for debugging, test or internal users.
- Contribute to electronics design, working closely with hardware engineers to shape interfaces and overall system architecture.
- Develop and optimise hard real time algorithms for motion control, sensing or safety critical functions.
- Use Docker and containers to create reliable, repeatable development and test environments.
- Work with Linux as a development environment and as part of the wider system.
Requirements
Do you have experience in Test-driven development?, You enjoy seeing firmware come to life in real hardware, and you like being close to the bench, motors and sensors rather than hidden away from the physical system. You are comfortable owning a design end to end, from first requirements through to code that ships, and you get energy from working with people from different backgrounds., * Strong experience with embedded systems and the firmware that makes them work.
- Extensive professional experience developing firmware in C and/or C++ on ARM microcontrollers, ideally STM32.
- Confidence working directly with hardware, including prototype electronics, motors and sensors.
- The ability to independently debug embedded systems using tools such as debug probes, oscilloscopes, multimeters and logic analysers.
- Strong skills in interpreting component datasheets and electronics schematics; using them to inform your designs and debugging.
- You'll enjoy working in an environment that is both entrepreneurial and collaborative, where you can influence how things are built and see the impact of your work in a mission with real meaning for patients.
Benefits & conditions
Cellular Origins is based on the TTP Campus, within purpose-built sustainable offices, labs and green surroundings, 10 miles south of Cambridge. Our working culture encourages entrepreneurship, shared ideas and collaboration, while providing you the freedom to do your best work.
Our employee benefits include:
- Annual bonus
- 25 days holiday
- Employer pension contribution of 10% of salary
- Free lunch and all-day refreshments
- Private medical insurance for employees and dependants
- Enhanced family friendly leave
- Life insurance worth 6x salary
- Electric car leasing scheme
- Cycle to work scheme
- Season ticket loan
- Activities and community that supports healthy activities that bring colleagues together; whether it's lunchtime squash or football, Zumba or our own rock band. Colleagues initiate new clubs and outings whenever they feel there's something missing!
- Local sports facilities and theatre discounts and memberships.