Firmware Development Engineer
Listed on 2026-05-18
-
Software Development
Software Engineer, Embedded Software Engineer
Putting the ‘i’ into British Innovation.
Putting the ‘i’ into Inventing the Future.
Putting the ‘i’ into Inspiring Change.
myenergi is a growing global clean‑tech manufacturer dedicated to removing the barriers to a greener future. Known for our award‑winning zappi EV charger and our intelligent home energy management ecosystem, we empower customers to control, store, and optimise their self‑generated energy.
With an expanding international presence and ambitious plans for continued global growth, we’re shaping the future of smart, flexible homes, leading innovation in solar, EV, and battery technology to create a cleaner, more sustainable future for all.
Role SummaryYou’ll be developing the embedded application firmware that runs on real‑time microcontrollers (ARM Cortex‑M, ESP
32, RL78 depending on the product) within these products, the logic that decides when and how to divert energy, control loads, read CT clamp data, manage battery state, schedule charging based on tariffs, and deliver a reliable, safe, and responsive product experience.
You are a developing firmware engineer with solid hands‑on experience writing embedded C for microcontrollers. You’re confident working close to the metal, comfortable with ARM Cortex‑M platforms and their peripherals, and ready to take ownership of features and modules within a collaborative team. You may have some exposure to RTOS environments and are growing your skills in testing, debugging, and writing production‑quality embedded code.
You’ll work within the HEMS firmware team, contributing to the development and maintenance of application firmware for myenergi’s product range, under the technical guidance of senior and lead engineers.
Key Responsibilities- Develop and maintain embedded C application firmware for real‑time microcontrollers (e.g., ARM Cortex‑M, RL78 and ESP
32 at the communications boundary). - Implement and maintain low‑level peripheral drivers (SPI, I2C, UART, CAN, ADC, PWM, timers).
- Write clean, readable, well‑structured firmware code adhering to MISRA‑C guidelines.
- Implement and debug state machines and control logic for product features.
- Write unit tests and contribute to test frameworks; participate in hardware‑in‑the‑loop (HIL) testing.
- Use Git for version control and Jira for task and sprint management.
- Participate in peer code reviews, giving and receiving constructive feedback.
- Work closely with hardware engineers to understand schematics and board‑level behaviour.
- Debug issues using JTAG/SWD, serial tracing, oscilloscopes, and logic analysers.
- Contribute to technical documentation (module descriptions, test plans, change notes).
- Engage in stand‑ups, sprint reviews, and team demos; communicate progress and blockers clearly.
- Embedded C: solid working proficiency; comfortable with pointers, memory layout, bit manipulation, volatile types.
- Real‑time microcontrollers: hands‑on experience developing and debugging on any embedded MCU platform (ARM Cortex‑M, ESP
32, RL78, PIC, STM
32, etc.). - Bare‑metal programming: direct register‑level peripheral configuration, interrupt handling, startup code.
- Peripheral protocols: practical use of SPI, I2C, UART in real embedded projects.
- Debugging: competent with JTAG/SWD debuggers (e.g., J‑Link, OpenOCD).
- Version control:
Git (branching, committing, reviewing PRs). - Unit testing: understanding of unit test principles; experience writing basic tests.
- Jira: comfortable using Jira (or equivalent) for task tracking and sprint management.
- Relevant engineering degree or equivalent demonstrable practical experience.
- Good communication skills; able to work collaboratively in a team.
- Exposure to energy metering, CT current sensing, or power measurement.
- Familiarity with load control concepts (demand side management, relay/contactor switching).
- Experience with CI pipelines and embedded build tool chains (CMake, Make, GCC ARM).
- Awareness of coding standards (MISRA‑C, BARR‑C).
- RTOS concepts (FreeRTOS or similar).
- Exposure to power electronics (switching power supplies, DC‑DC converters, AC rectification).
- Experience in an Agile/Scrum development team.
- Knowledge of energy tariff…
To Search, View & Apply for jobs on this site that accept applications from your location or country, tap here to make a Search: