Embedded Software Engineer (Microcontrollers)
Location: Poole, BH12 4QT
Salary: Dependent on experience
Our client is an established SME business with an international customer base, the company is a fast-moving, forward-thinking software organisation that has a dynamic team that provide bespoke software and product applications to its clients. Having recently moved to larger premises as part of their growth plan they are seeking to appoint a new role of Embedded Software Engineer at their offices in Poole. You will be a key member of the software team and will contribute to the development of the next generation of connected industrial and marine products.
The Role
In this role, you can expect to be developing both system level libraries and end user applications on high end microcontrollers for use in display, monitoring and control applications.  Their displays are used in a wide range of applications from luxury superyachts to race car steering wheels and fuelling rigs. They are looking to double the size of their engineering team and are currently seeking new embedded software engineers to work on the development of a new range of efficient microcontroller displays based on i.MXRT crossover MCUs.
- Design, development and support of embedded software in a predominantly microcontroller environment.
- Development of tools to support embedded software product development.
- Development of testing and validation strategies.
- Maintenance and improvement of software for existing products.
- Administration and maintenance of supporting infrastructure for software development.
- Integration of software with hardware and new board bring up.
Skills and Qualifications
- Minimum of 3 years’ experience of developing embedded products in C / C++ in a microcontroller environment ideally for higher end MCUs (Cortex M7, M33 etc)
- Experienced with small executives like FreeRTOS, Zephyr as well as bare metal coding.
- Thorough understanding of microcontroller hardware and interfaces, including DDR memory, QSPI / OSPI, CAN and Ethernet.
- A good understanding of CAN bus, including CANOpen or J1939.
- Familiarity with TCP/IP networking on constrained platforms.
- Demonstrable experience of developing complex protocol stacks with clear layer separation and well defined interfaces.
- Competent in the use of debugging tools at the hardware interface, e.g. JTAG emulators, logic analysers, protocol analysers and oscilloscopes during new board bring up.
- Ability to read schematics and understand hardware datasheets and reference manuals.
- Familiar with secure boot technologies and techniques.
- Experience of the use of CODESYS for PLC or industrial control applications is of interest, but this is not a CODESYS application developer role.
To Apply
If you feel you are a suitable candidate and would like to work for this reputable company, please do not hesitate to apply.