UK Embedded Software Engineer III
Listed on 2026-08-14
-
Software Development
Embedded Systems/ Firmware/ IoT, Embedded Software Engineer, Unix/Linux, C++ Developer
Embedded Software Engineer III - Dalgety Bay, Scotland
** The right to live and work in the UK is a must-have pre-requisite for this posting**
The Embedded Software Engineer III contributes to the development and optimization of firmware and embedded software for Kopin’s microdisplay-based systems, including AR/VR HUDs, wearable display platforms, and related embedded products. This role requires strong proficiency in embedded systems, real-time software implementation, and hands‑on experience with hardware/software integration on low‑power embedded devices.
The role develops software for custom hardware platforms including ARM processors, microcontrollers, and FPGA‑adjacent subsystems, and ensures robust, reliable operation across imaging, tracking, display‑pipeline, control, and sensor‑driven functions. This role works collaboratively across electrical, systems, optics, and mechanical engineering teams and participates throughout the full software development life cycle from design and implementation through testing, integration, and documentation.
JOB DUTIES AND RESPONSIBILITIES- Design, implement, and maintain firmware and low‑level embedded software for portable, wearable, and low‑power embedded devices.
- Develop device drivers, hardware abstraction layers, and board support package components for custom ARM‑and MCU‑based platforms.
- Implement and optimize embedded software for real‑time operation on resource‑constrained hardware, with consideration for performance, memory use, and power consumption.
- Implement and manage multithreading, interrupt handling, timers, DMA, and task scheduling in RTOS or bare‑metal environments.
- Work closely with hardware engineers to define firmware‑to‑hardware interface requirements, timing expectations, sequencing, and configuration.
- Support integration of embedded software with FPGA‑based or FPGA‑adjacent subsystems where applicable, including register/control interfaces, data movement, timing coordination, and system debug.
- Troubleshoot and debug system‑level issues involving display timing, sensor data alignment, peripheral communication, memory bandwidth, and hardware/software interactions.
- Apply best embedded software design practices to create modular, maintainable, and reusable code bases.
- Participate in full software lifecycle activities including design documentation, code reviews, unit tests, regression tests, and integration testing.
- Contribute to embedded applications, simple user interfaces, or engineering tools used for product configuration, validation, internal evaluation, or demonstrations.
- Collaborate with Systems Engineering to ensure embedded implementations satisfy system requirements, timing budgets, and performance margins.
- Maintain firmware architecture and ensure clarity, robustness, and long‑term maintainability across code bases.
** The right to live and work in the UK is a must-have pre‑requisite for this posting**
- Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related discipline with a focus on embedded systems.
- 5-8 years of professional experience in embedded software development.
- Strong proficiency in C/C++ for embedded systems.
- Experience with RTOS or bare‑metal development, including interrupt handlers, timers, DMA, context switching, and memory management.
- Demonstrated experience developing low‑level drivers and hardware interfaces (SPI, I²C, UART, GPIO, timers, DMA, display or sensor interfaces).
- Familiarity with image processing or digital signal processing concepts.
- Hands‑on experience debugging embedded systems using oscilloscopes, logic analyzers, JTAG/SWD, and in‑circuit debugging tools.
- Ability to contribute independently to embedded development while working within a cross‑disciplinary engineering team.
- Master’s degree in EE/CE/CS or related field.
- Experience developing software for portable, wearable, or imaging/display‑centric embedded systems.
- Experience working with FPGA‑based systems, including firmware interaction with FPGA logic, register/control interfaces, timing‑sensitive coordination, or board‑level integration/debug.
- Experience…
To Search, View & Apply for jobs on this site that accept applications from your location or country, tap here to make a Search: