Embedded Software Engineer | Bare Metal & Bootloader Development | C/C++ | UK
We’re working with a growing portfolio of clients across the UK’s most exciting embedded engineering sectors spanning electric mobility, defence, industrial IoT, wearables, and autonomous systems. This is an open market search for engineers with rare low-level embedded experience that our clients consistently struggle to find.
If you live below the HAL layer, this one’s for you.
The Profile We’re Building a Pipeline For
You’re the engineer who gets called in when the hardware arrives with no software and someone needs to make it boot. You understand what happens before main(). You’ve written bootloaders from scratch, dealt with memory map conflicts at 2am, and you know the difference between a linker script problem and a hardware problem because you’ve debugged both.
Core Skills We’re Seeing Demand For
- Bare metal C/C++ no RTOS, no HAL safety net, register-level programming on ARM Cortex-M (M0/M3/M4/M7/M33)
- Custom bootloader development primary and secondary bootloaders, boot sequencing, memory layout, vector table relocation
- OTA firmware update secure OTA pipelines, dual-bank flash, rollback and recovery mechanisms
- Linker scripts and startup code .ld files, scatter files, stack/heap configuration, section placement
- Low-level peripheral bring-up — GPIO, UART, SPI, I2C, CAN, DMA from datasheet to working driver, no vendor library
- Memory architecture Flash, SRAM, EEPROM, external NOR/NAND, MPU configuration
- Clock and power management PLL configuration, low-power modes, sleep/wake sequencing
- Debugging at depth JTAG/SWD, Segger J-Link, OpenOCD, GDB, logic analyser, oscilloscope
- Communication protocols BLE, CAN bus, LIN, UART, Ethernet — at the driver layer, not middleware
Highly Valued Additions
- Secure boot implementation (TrustZone, code signing, crypto engines)
- Experience with STM32, NRF52, RP2040, TI, or Renesas microcontrollers
- Zephyr, FreeRTOS, or ThreadX — used alongside bare metal, not instead of it
- Functional safety awareness — ISO 26262, IEC 61508, MISRA C
- Python or scripting for test automation and firmware tooling
- CI/CD for embedded — Jenkins, GitHub Actions, hardware-in-the-loop testing
Sectors Our Clients Operate In
Electric vehicles & e-mobility · Defence & autonomous systems · Industrial IoT & smart sensors · Medical devices · Wearable technology · Aerospace & UAV
…
