Embedded Software Engineer
Overall purpose
We’re looking for an Embedded Software Engineer to work within the Engineering team and support the Engineering Design Manager with new product development for rechargeable battery solutions. The chosen candidate will be skilled in embedded software or have an electronics engineer background with a strong firmware focus.
Responsibilities
- Design and development of firmware related to custom battery packs:
- Control of battery management and protection circuits;
- Display/LED controls, communications with host device, and other ‘smart’ battery features;
- Closed-loop control of charging circuitry, and management of smart charger communications features;
- Automatic test equipment for the production line, and features in the battery/charger products to facilitate automated testing.
- Meeting requirements of the product development process – delivering to deadlines.
- Supporting Electronics Design Engineers in development of the product designs.
- Supporting Engineering Design Manager in developing the skills of the design and test team, and liaising with customers to define specifications.
Knowledge, Skills and Experience
- Experience of developing bare-metal embedded systems on resource-constrained microcontrollers. Must be able to design firmware systems from the ground up, as well as modifying existing codebases.
- Careful and methodical attitude to creating reliable, safety-critical firmware.
- Degree in Electronics Engineering, or equivalent electronics knowledge gained through professional experience.
- Strong C programming skills are required (C99 and vendor-specific extensions).
- Ability to troubleshoot, debug and improve firmware and electronics, working closely with Electronics Engineers.
- Ability to write drivers for new peripherals and communications methods when required.
- Familiarity with PIC16 and PIC18 series microcontrollers is desirable.
- Familiarity with bootloaders is desirable.
- Experience with unit testing and other software testing is desirable.
- Applications software programming (in C++, C# or other high-level language) is desirable. This would be applied to helper programs and internal product-testing software.
- Must be self-motivated with a high degree of creativity and initiative.
JOB TYPE – On-site (Peterlee, UK), full-time, office hours
RESPONSIBLE TO – Engineering Design Manager
LIAISE WITH – Internally – All departments as required
– Externally – Customers
– Regulatory bodies