Embedded Software Engineer III - Dalgety Bay, Scotland

JOB PURPOSE:

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.

MINIMUM JOB REQUIREMENTS:

**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, I2C, 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.

PREFERRED JOB REQUIREMENTS:

• 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 with GUI frameworks (Qt, LVGL, embedded UIs) and integration with display pipelines.

• Python experience for scripting, automation, test tooling, or data analysis.

• Linux familiarity—including user space, device interfaces, kernel modules, or embedded distributions.

• Working knowledge of video and display interfaces (MIPI-DSI/CSI, LVDS, HDMI, DisplayPort, or custom microdisplay timing).

• Familiarity with image formats and compression (YUV/RGB, JPEG/PNG, H.264/H.265).

• Exposure to wireless communication protocols (BLE, Wi-Fi, or proprietary RF).

• Understanding of local file systems, storage interfaces, and data-persistence mechanisms on embedded devices.

• Strong modular software design and object-oriented development practices.

• Experience with revision control tools (Git preferred), including branching strategies and code review workflows.

• Excellent teamwork and communication skills.

PHYSICAL REQUIREMENTS:

• Able to rotate from sitting to standing, lift up to 20 pounds, and gown according to clean room protocol

GENERAL:

Hours of work: 39-hour week, Monday to Friday, 8:30am to 5:00pm (4:00pm on Friday) with 30 minutes for lunch; the company offers certain flexibility/change of the core working hours in line with the Flexible Working Policy, however; flexibility regarding working hours is also expected from the employee.

LOCATION:

The right to live and work in the UK is a pre-requisite for this position. The role is based in the Company's facility in St. David's Business Park, Dalgety Bay, Fife but flexibility around a combination of on and off-site working (work from home) is supported where practicable; a small amount of travel may be required.

BENEFITS PACKAGE:

30 days annual leave (plus 5 statutory days), competitive personal pension scheme with company contribution, life assurance scheme.

Job Details

Company
Kopin Corporation
Location
Dalgety Bay, Scotland, United Kingdom
Hybrid / Remote Options
Posted