ePropelled Retail & E-commerce

Firmware Engineer (IPS)

Coventry, United Kingdom In person Full-time
  • 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