Junior Embedded Engineer
Summary
Develops and maintains embedded firmware for STM32 microcontrollers using C and C#/.NET, working with ARM Cortex-M and communication protocols.
Salary: £30,000 - 40,000 per year
Requirements:- Degree, or equivalent experience, in Embedded Systems, Electronics, Computer Science, Software Engineering, or a related discipline.
- Good programming skills in C.
- Experience or a strong understanding of C# and .NET.
- Understanding of microcontrollers and embedded systems.
- Familiarity with ARM Cortex-M architecture.
- Experience or academic/project experience with STM32 microcontrollers.
- Understanding of common embedded communication protocols such as USB, SPI, and I²C.
- Familiarity with Git or another version control system.
- Strong problem-solving and analytical skills.
- A willingness to learn and develop new technical skills.
- Desirable: experience with STM32CubeIDE and/or STM32CubeMX.
- Desirable: experience developing desktop applications using Avalonia UI.
- Desirable: knowledge of FreeRTOS or another real-time operating system.
- Desirable: understanding of interrupts, timers, DMA, and memory management.
- Desirable: experience with embedded debugging using JTAG or SWD.
- Desirable: knowledge of electronics and the ability to read circuit schematics.
- Desirable: experience with serial communication and device protocols.
- Desirable: familiarity with unit testing or automated software and firmware testing.
- Desirable: experience developing applications that communicate with hardware via USB, serial, or other interfaces.
- Desirable: experience with embedded Linux or other microcontroller platforms.
- Desirable: knowledge of asynchronous programming and multithreading in C#.
- Develop and maintain embedded firmware for STM32 ARM Cortex-M based products.
- Write clean, efficient, and maintainable code primarily in C.
- Develop Windows and cross-platform desktop applications using C# and Avalonia UI.
- Create software tools and user interfaces for configuring, controlling, testing, and monitoring embedded systems.
- Configure and use STM32 peripherals, including GPIO, timers, ADC, USB, SPI, and I²C.
- Develop and maintain communication interfaces between embedded devices and PC applications.
- Assist with firmware and application debugging, testing, and troubleshooting.
- Use tools such as debuggers, oscilloscopes, logic analysers, and multimeters to investigate hardware and software issues.
- Support the development of firmware drivers and low-level software.
- Work with version control systems such as Git.
- Contribute to code reviews, technical documentation, and software development processes.
- Collaborate with hardware, electronics, and systems engineers throughout the product development lifecycle.
- Help develop automated testing and diagnostic tools to improve product reliability and development efficiency.
- ARM
- C#
- Embedded
- Firmware
- FreeRTOS
- Git
- Hardware
- Support
- Linux
- STM32CubeIDE
- Windows
- UX UI Design
- ASP.NET
- C++
More:
We are a growing engineering team offering an exciting opportunity for an early-career Junior Embedded Software Engineer to develop skills across both embedded firmware and desktop application development. Based in Littleport, Ely, Cambridgeshire, we work on real products from concept through to production and provide hands-on experience across the full software development lifecycle. We offer a competitive salary of £30,000–£40,000 per annum, a supportive environment with mentoring from experienced engineers, technical training and professional development, and a collaborative engineering culture where ideas and contributions are valued. The role is full-time, in person, and includes benefits such as casual dress, flexitime, free parking, and on-site parking.
last updated 32 week of 2026