Low level firmware engineer

Bermondsey Electronics Ltd. is looking for a Low level firmware engineer

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.


This role is also open to motivated graduates or early-career engineers who have a good understanding of embedded C and are keen to develop their skills quickly. Candidates with limited professional experience are welcome, provided they are comfortable working hands-on with code and hardware, learning new platforms rapidly, and moving between different projects as required.

 

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 FreeRTOS

We brought up a new iMX8MP Linux platform using LVDS and a bespoke RFID driver

We rewrote an ESP32 bootloader for a client to update partition tables OTA

We tested and verified RW610 power modes in Zephyr

We rewrote the STM32 Eclipse ThreadX USB Audio Host driver to support USB MIDI

We debugged an Infineon WiFi driver low power mode on Android on iMX8MP

 

Typically 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.


This role requires a practical, hands-on approach. Candidates are expected to actively write, debug, and test code, work directly with hardware, and spend time investigating issues in depth. Applicants who are not prepared to engage directly with low-level code, testing, and debugging, or who rely primarily on automated tools without deeper understanding, are unlikely to find this role suitable.

 

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 already have unrestricted permission to work in the UK.

We CANNOT provide visa sponsorship, cannot extend visas, and cannot consider candidates whose right to work is time-limited or dependent on future sponsorship, including Graduate visas.

 

Please do not apply if you require visa sponsorship now or at any point in the future.

 

Candidates must know embedded C programming and any one of the following:

  • Embedded Linux e.g. Yocto or Buildroot build system
  • Python
  • Android build system
  • Networking and communication protocols
  • ISO13485 / IEC61508

The ideal candidate will also have some familiarity with:

  • Embedded OS use
  • Power optimisation
  • Makefiles / build configuration systems
  • Basic soldering
  • Unit testing

 

 

40 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.

 

 

Job Types: Full-time, Permanent

Pay (Based on experience): £40,00.00 - £55,000.00 per year


 

Benefits:

  • Flexitime
  • Sick pay
  • Work from home

 

Schedule:

  • 8 hour shift
  • Flexitime
  • Overtime

 

Education:

  • Diploma of Higher Education (preferred)

 

Experience:

  • C Programming: 1 year (preferred)
  • Software engineering: 1 year (required)

 

Right to work in the UK – important reminder:

  • Applications from candidates who do not already have unrestricted UK work authorisation will not be considered.

 

  • Work Location: Hybrid remote in London SE1 with 2 days per week on site near London Bridge.

Extra information

Status
Open
Education Level
Secondary School
Location
London
Type of Contract
Full-time jobs
Published at
04-02-2026
Full UK/EU driving license preferred
No
Car Preferred
No
Must be eligible to work in the EU
No
Cover Letter Required
No
Languages
English

London | Full-time jobs | Secondary School

Apply directly

Share this vacancy