- Company: ePropelled
- Location: Coventry, UK
- Level: Engineer or Senior Engineer,
- depending on experience and demonstrated capability
- Reports to: UK Firmware Engineering
Manager
- Working arrangements: On Site at
- ePropelled’s Coventry office.
- Status: Ready
About ePropelled
- ePropelled develops intelligent
- propulsion and power management systems for uncrewed vehicles operating in the
- air, on land and at sea. Its products combine electrical machines, power
- electronics and embedded control to deliver integrated propulsion and onboard
- power solutions.
The role
- We are looking for a Firmware Engineer to
- develop embedded firmware across ePropelled’s product lines. You will
- contribute to the successor to our Intelligent Power System (IPS), also
- referred to as a Power Management Unit (PMU), alongside work on motor controllers,
- peripheral devices and other embedded products as priorities require.
- You will work closely with electronics,
- controls, software and systems engineers to turn requirements into reliable
- firmware. The work spans low-level drivers, real-time behaviour, hardware
- integration, communications, diagnostics, testing and support through product
- release. Your initial responsibilities will reflect your existing strengths and
- the needs of the projects.
- Motor control is an important area for this
- role, and experience developing motor controller firmware would be particularly
- valuable. We also welcome candidates whose strongest experience is in sensors,
- peripherals, communications or other embedded control applications. You do not
- need to arrive with both specialisms. You should be willing to work across them
- and develop the knowledge needed to contribute beyond your current expertise.
- Above all, we value a learning attitude
- supported by practical evidence: understanding unfamiliar hardware, asking
- useful questions, testing assumptions, responding to review and applying what
- you learn. This sits alongside a sound foundation in embedded firmware
- engineering. We will consider candidates at Engineer and Senior Engineer
- levels, with technical ownership matched to demonstrated capability.
Key responsibilities
·Develop
- or extend motor controller firmware as assigned, working with controls and
- hardware colleagues on feedback, control execution, tuning and verification.
- The initial scope will reflect your experience and available technical support.[AJ1][R2]
·Work
- with electronics engineers on board bring-up and hardware–firmware integration;
- investigate issues using embedded debuggers, oscilloscopes, logic analysers and
- recorded data.[AJ3][R4]
·Develop
and maintain embedded firmware in C including drivers, hardware abstraction
layers and application logic.
·Translate
product and system requirements into firmware behaviour, interfaces and tests,
working with colleagues to resolve ambiguities and technical trade-offs.
·Implement
real-time behaviour using interrupts, timers, and peripheral hardware with
attention to timing, concurrency and resource constraints.
·Contribute
- firmware for IPS power management, including sensing, operating states,
- communications, diagnostics and fault handling, according to the agreed system
- architecture.
·Integrate
sensors and peripheral devices, implement communications interfaces and support
telemetry and real-time data acquisition across relevant products.
·Implement
appropriate protection responses, watchdogs, diagnostics and recovery
behaviour, and verify operation under normal and fault conditions.[AJ5][R6]
·Develop
proportionate automated tests and regression checks; contribute to
software-in-the-loop and hardware-in-the-loop testing where relevant.
·Participate
- in code and design reviews, maintain clear technical documentation, and
- contribute to version control, automated builds and controlled firmware
- releases.
·Investigate
- integration, production and field issues, and share findings and reusable
- improvements across the engineering team.
- Level of responsibility
Engineer
You
- will take responsibility for defined firmware features, drivers or integration
- activities within an agreed architecture. You should be able to progress
- routine development and debugging independently, explain your work in reviews
- and recognise when to seek support. Technical guidance will be needed when
- moving into unfamiliar areas, particularly motor control algorithms or complex
- power management behaviour. You will be supported by a team of fellow firmware
- engineers including Senior Engineers and Engineering Managers.
Senior Engineer[TD1][R2]
- You will independently own substantial firmware functionality or a
- defined embedded subsystem from requirements through verification and release.
- You should have evidence of delivering firmware into production or operational
- use, resolving difficult integration issues and making justified decisions
- about timing, reliability, maintainability and hardware interfaces.
- You will help shape the architecture for your scope, lead technical
- reviews and support other engineers through review and knowledge sharing. You
- will also help shape the team’s processes and practices. Seniority does not
- require prior expertise in every product domain, but it does require sound
- judgement about the limits of your knowledge and when specialist input is
- needed. This is a hands-on technical role; line management is not assumed.
- Useful additional
- experience
- The following would be advantageous.
- Motor control experience is particularly relevant, but candidates are not
- expected to have all of these skills.
- ·Motor control[TD3][R4]:BLDC [TD5]or PMSM [TD6][R7]drives,
- field-oriented control (FOC), trapezoidal control, PWM generation, synchronised
- current sampling, encoder or other feedback systems, and practical tuning and
- diagnostics.
- ·Power management: Firmware for power converters, battery
- charging, power-source management or generator interfaces, including sensing,
- operating states and protection.
- ·Sensors and peripherals: Drivers and integration for devices such as
- IMUs, GPS/GNSS receivers, range sensors or other measurement and peripheral
- hardware.
- ·Platforms and real-time systems: STM32, Texas Instruments, NXP or comparable
- MCUs; RTOS task design, synchronisation and timing analysis; embedded C++.
- ·Communications: CAN/CAN FD, UART, SPI, I²C or Ethernet,
- including protocol implementation, telemetry and integration between devices.
- ·Quality and automation: MISRA C or comparable coding guidelines,
- static analysis, Python or similar scripting, automated build and test
- pipelines, and software-in-the-loop or hardware-in-the-loop testing.
- ·Product delivery: Bootloaders, firmware update and recovery
- mechanisms, release management, production test or investigation of field
- issues.
- ·Application context: Uncrewed vehicles, robotics or other products
- combining embedded control, electronics and demanding operating conditions.
- ·C++: Experience in embedded C++ would be useful but
- not essential.
- If you are interested, please mail your updated resume to [email protected]
Requirements
Essential skills
and experience
You should be able to demonstrate
·Practical
- experience developing and debugging firmware in C for microcontroller-based
- systems, with an understanding of memory, data representation and resource
- constraints.
·Experience
- working close to hardware, such as developing drivers, configuring MCU
- peripherals or bringing up an embedded board. You should be able to use
- datasheets and schematics to investigate behaviour.
·Understanding
of real-time firmware, including interrupts, timing and shared data. Experience
may come from bare-metal systems, RTOS-based systems or both.
·Hands-on
- experience in at least one relevant area: motor control or another timing-critical
- embedded[TD1][R2] control application; or sensor, peripheral, communications and data acquisition
- firmware. You should be able to explain your contribution, design decisions and
- how you verified the result.
·Experience
- implementing and debugging embedded communications interfaces, with depth in
- interfaces relevant to your previous work rather than every protocol listed
- below.
·A
- systematic approach to troubleshooting, including forming and testing
- explanations, using measurements and distinguishing hardware, firmware and
- integration issues.
·An
approach to firmware quality that includes readable code, version control,
review and testing appropriate to the product and your level of responsibility.
·Evidence
- of learning unfamiliar technologies or domains and applying that learning in
- working firmware. Be prepared to discuss what you needed to learn, how you
- approached it and what changed as a result.
·Clear
- technical communication, willingness to seek and use feedback, and the ability
- to work constructively across engineering disciplines.
- A relevant degree in electronic
- engineering, embedded systems, computer engineering, mechatronics, robotics,
- physical or mathematical sciences, or equivalent practical experience, is
- appropriate. Assessment will focus on capability, engineering judgement and
- ability to learn rather than a fixed number of years or a particular
- qualification route.
Job description provided by ePropelled.
View the original posting