Senior Firmware Engineer - Real-Time Embedded for Energy Tech
Role details
Job location
Tech stack
Job description
Develop low-level firmware and drivers for microcontrollers and embedded peripherals (SPI, I2C, UART, DMA, ADC, etc.) Design and implement real-time control software and embedded algorithms for energy devices Write, test, and debug embedded C/C++ firmware running on bare-metal or RTOS-based systems Collaborate with hardware, systems and controls teams to define firmware requirements and test plans Participate in code reviews, write documentation and contribute to the continuous improvement of firmware practices Assist in board bring-up, profiling and debugging using tools like oscilloscopes, JTAG/SWD, and logic analysers Implement and maintain bootloaders, linker scripts and firmware deployment pipelines
Requirements
5+ years of experience in embedded systems or firmware engineering Strong proficiency in C, with experience writing firmware for microcontrollers Hands-on experience with common MCU peripherals: SPI, I2C, UART, DMA, timers, ADCs, Flash, CAN, etc. Experience working with real-time systems and embedded development toolchains (e.g., GNU, IAR) Familiarity with version control and tooling (e.g., Git, Docker, CI pipelines) Ability to work with hardware debugging tools (oscilloscopes, logic analysers, JTAG/SWD)
Bonus
Experience with power electronics or grid-connected converter controls Knowledge of control systems and digital signal processing (FIR, IIR, FFT) Familiarity with embedded bootloaders, memory maps and linker scripts Experience with board bring-up and low-level hardware/software integration
Benefits & conditions
Competitive salary and an equity sign-on bonus Biannual bonus scheme Fully expensed tech to match your needs Paid annual leave Breakfast and dinner allowance for office based employees
#J-18808-Ljbffr