Embedded Software Engineer

6 months ago
£40 - £47/hourFarnboroughCarbon60

An excellent opportunity has arisen working for a Prestigious Manufacturing Organisation based in Farnborough.

This is a contract position, likely to last at least 12 months, and is to cover a current vacancy within the Engineering Department.

The requirement is for an Embedded Software Engineer to lead the development of the core firmware platform and specific tool firmware using a range of technologies including DSPIC, ARM M0+/M4 and Zync Ultrascale+.

The applicant will be a core member of a small team working closely with the electronic, mechanical and software engineers.

Candidates should have strong C and C++ Programming knowledge within an embedded environment, alongside an understanding of working with low level, real time operating systems (e.g RTX5 or Free RTOS). Interfacing with Hardware, and working with processor peripherals such as SPI, VART or ADC. Experience of ARM Cortex would be a distinct advantage.

Key responsibilities:

To develop and agree the embedded software specification for tool developments.

Implement object orientated embedded C++ 11 firmware for ARM Cortex M0/M4 devices.

Working with real-time operating system on embedded devices.

Implementation and bug fixing for firmware using C for a range of devices include dsPIC.

Development and debugging of FPGA code using VHDL.

Development of algorithms to acquire, process and transmit data down hole.

Documentation of Firmware (UML using Enterprise Architect, Doxygen)

Implementation and testing of drivers to interact directly with hardware.

Undertake testing and debugging of tools using a range of electrical test equipment including oscilloscopes, logic analysers etc.

Development of PC test software using C#.

Developing tests to validate and resolve issues when tools are operating at elevated temperatures, typically 177C.

Key Qualification/Experience required:

  • Educated to degree level i.e. BSc/BEng or equivalent qualification in a related discipline; such as Electronics, Physics or Computer Science with 2+ years relevant experience.
  • Candidates without formal qualifications but with 5+ years relevant experience will also be considered
  • Strong C and C++ skills in an embedded, multi-threaded environment.
  • Able to design, develop and document objected orientated code.
  • Strong analytical and debugging skills.
  • Experience of hardware/software interfacing, particularly analogue data conversion and digital electronics
  • Experience of Low-level communication interfaces, RS232, SPI
  • Strong communication skills, both written and verbal.
  • An ability to work in a multi-disciplined team.
  • Highly motivated self-starting approach.


  • FPGA design, interfacing and test using VHDL
  • Experience in using CMSIS/RTX real-time operating systems.
  • Exposure to different development methodologies
  • Familiarity with sensor physics and signal processing algorithms.
  • Experience of digital electronic design/interfacing.
  • Experience of implementing code in C# and Python.
  • Experience working with ARM M0+/M4.
  • Experience using the Vivado development environment with Zync Ultrascale+

The recruiter has stated that all applicants for this job should be able to prove they are legally entitled to work in the UK. Carbon60 is a trading name of Carbon60 Limited an Employment Business/Agency.