
Embedded Software Engineer
- Penicuik, Midlothian
- Permanent
- Full-time
- To design, implement and test embedded software across a range of microcontrollers, microprocessors and linux-based systems – C/C++
- Developing software for microcontrollers, microprocessors and embedded Linux systems
- Working with Linux Kernel, bootloaders, device drivers and boaod support packages & User Interface engines such as QT and Crank
- To build systems such as Yocto to create custom Linux distributions
- Implement and troubleshoot hardware communication protocols :
- Degree in Computer Science, Electrical/Electronic Engineering, or a related field.
- 5+ years experience in embedded software development
- Strong proficiency in C/C++ for embedded systems.
- Hands-on experience with embedded software development on microcontrollers/microprocessors.
- Expertise in embedded Linux systems, including kernel, bootloaders, device drivers, and BSPs and user interface engines.
- Familiarity with Linux build systems such as Yocto.
- Solid understanding of hardware principles, including digital and analogue circuits.
- Experience working with hardware debugging tools (oscilloscopes, logic analysers, etc.).
- Experience with standard communication protocols (UART, SPI, I2C, ETHERNET).
- Understanding of network protocols (TCP/IP, UDP) and awareness of network security concepts.