Skip to Main Content

Job Title


Low level firmware engineer


Company : Bermondsey Electronics Ltd.


Location : London, London


Created : 2026-01-08


Job Type : Full Time


Job Description

Bermondsey Electronics is a contract electronics development company looking for an embedded software developer to expand the team. The successful applicant will work on a wide variety of systems, with different targets and design goals, based from the office in Bermondsey.Ensure all your application information is up to date and in order before applying for this opportunity.We need a new engineer to be involved in peripheral and board bring-up. This means testing PCBs coming in from clients. Clients have occasionally tested boards but not always, and usually not fully. They might not have the skills or might not know how a specific peripheral works. Our job is to prove the board fundamentally works, and develop or debug drivers as necessary. Higher level application code is usually done by those specialists and is not expected to be a fundamental part of this role. It's a useful skill if you have it, though.In the last year, this has meant working with STM32, DA1453x, NXP iMX RT and RW6xx platforms, iMX 8M Plus and Nano. Software platforms range from bare metal to FreeRTOS to Zephyr, through Linux and all the way up to Android. At each stage, clients have either not been able to supply drivers, or a delivery from a supplier has had to be debugged or modified. With that done, the PCB is handed off to application developers, or the client will issue us another board to repeat the cycle. Suppliers usually deliver drivers in C. These are often of unknown quality. They may need configuration, and sometimes a device tree.As examples:We ported TI's CC3351 driver to STM32 and brought up lwIP on FreeRTOSWe brought up a new iMX8MP Linux platform using LVDS and a bespoke RFID driverWe rewrote an ESP32 bootloader for a client to update partition tables OTAWe tested and verified RW610 power modes in ZephyrWe rewrote the STM32 Eclipse ThreadX USB Audio Host driver to support USB MIDIWe debugged an Infineon WiFi driver low power mode on Android on iMX8MPTypically LLMs do not have enough training data to help. They usually cannot work out schematic errors, or spot placement issues on a board. If you use LLMs heavily, you are unlikely to find them as useful in this role.It can mean writing and/or debugging drivers like SPI, DAC or LVDS. Typically test and measurement gear is needed, e.g. logic analyser, scope, bench power supply etc. There can be a lot of time configuring demo code to run in the mode the client requires, perhaps on a different target. When the code is running, we may need to capture signal traces to diagnose the fault. When we have the fault, we might need to change the code or the hardware, or both, for the client feature to work.Please note this role is not to develop hardware. Clients supply us boards to bring up. If you want to design PCBs from scratch, this is not the job for you. If you enjoy bringing up software stacks on new hardware, this is the job for you!Any knowledge of embedded OS is an advantage (FreeRTOS, Zephyr, Linux/Android, ThreadX).Ability with a soldering iron is useful.Familiarity with automated testing is useful but not required (e.g. hardware-in-the-loop).If you thrive in responsive, hands-on work and enjoy solving difficult problems efficiently, this could be the right role for you!Candidates must be eligible to work in the UK. No exceptions. We cannot sponsor a visa at this time. We cannot sponsor a candidate whose graduate visa will expire.Candidates must know embedded C programming and any one of the following:Embedded Linux e.g. Yocto or Buildroot build systemPythonAndroid build systemNetworking and communication protocolsISO13485 / IEC61508The ideal candidate will also have some familiarity with:Embedded OS usePower optimisationMakefiles / build configuration systemsBasic solderingUnit testing36 hours of full time effort are expected every week. Remote working is offered, although 2 days per week on site are required. Flexitime is offered as standard, although all hours must be accountable. 25 days' vacation are offered, growing with tenure. xjdpvnf Job Types: Full-time, PermanentPay: 55,000.00 per yearBenefits:FlexitimeSick payWork from homeSchedule:8 hour shiftFlexitimeOvertimeEducation:Diploma of Higher Education (preferred)Experience:C Programming: 1 year (preferred)Software engineering: 1 year (required)Work authorisation:United Kingdom (required)Work Location: Hybrid remote in London SE1 with 2 days per week on site near London Bridge.