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
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.
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.
· 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.
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.
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.
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.
RequirementsEssential 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.


