Embedded Firmware Engineer

KP Labs is looking for an Embedded Firmware Engineer to develop flight software in modern C++ for its on-board data processing units.
Responsibilities
- Develop flight software for our on-board data processing units: firmware running on microcontrollers under a real-time operating system, written in modern C++
- Implement and maintain device drivers and hardware abstraction layers for the buses and components on the board, such as serial interfaces, memories and sensors
- Implement on-board services, for example telemetry acquisition, time keeping, persistent storage or fault handling
- Implement communication stacks and interfaces between the processing unit and the satellite platform
- Write unit tests and run them on the host and on emulated targets
- Develop Python tooling used to configure, flash and test the firmware on the bench
- Work with the CMake and Conan build system and CI pipelines
- Take part in code reviews, design discussions and verification activities with other teams
- Prepare and maintain software design documentation and test evidence
Requirements
- Bachelor’s degree or higher in Computer Science, Electronics, Automatic Control, Telecommunications or a related technical field
- Commercial experience with firmware for microcontrollers, bare metal or under an RTOS, developed against real hardware
- Practical knowledge of C++14 or newer, including the standard library
- Knowledge of real-time operating systems: tasks and scheduling, synchronisation primitives, interrupt handling, stack and priority assignment
- Python for test and bench tooling
- Understanding of microcontroller peripherals and data buses (SPI, I2C, UART, CAN) and the ability to read a schematic and a component datasheet
- Debugging skills on real hardware: JTAG debugger, logic analyzer, oscilloscope
- Experience with a build system and version control: CMake, Git
- Ability to write unit tests for embedded code
- English sufficient to read documentation and standards, write technical documentation and take part in technical discussions with customers
- Availability to work from our Gliwice office every Tuesday
Nice to have
- Low-level work on any 32-bit microcontroller architecture: startup code, linker scripts, interrupt controllers, MPU and cache handling
- Familiarity with ECSS, CCSDS or other space industry standards, or with functional safety standards from another regulated industry
- Experience with bootloaders, firmware update mechanisms and image integrity checking
- Conan or another C++ package manager, and Jenkins or another CI system
- Target emulation with QEMU, or hardware-in-the-loop test setups
- Static analysis, MISRA or another coding standard applied in a real project
What KP Labs offers
- Work with world-class companies and institutions at the forefront of the global space industry
- Take part in challenging and innovative projects that have a real impact on the development of the space industry
- Gain valuable experience and grow professionally with the support of leading specialists in their fields
- Work in a friendly and supportive environment that encourages collaboration, knowledge sharing, and continuous learning
- Opportunity to attend major international events related to the space industry
- Flexible working hours and remote or hybrid work options, depending on the position
- A wide range of benefits, including private healthcare, nursery and kindergarten subsidies and a benefits platform
- Stable employment in a growing technology company delivering international projects
- Company sports team
- Cafeteria plan
- Meal subsidies
- No dress code
- Employee parking
Why KP Labs
We believe in a “human” approach to work and care about work-life balance. Additionally, one of our biggest assets is our attention to mutual support and exchange of knowledge at work.
Contract type and salary are not stated in the original posting.
Interested in this role?
Apply for this role →Originally posted at https://www.kplabs.space/jobs/embedded-firmware-engineer
More roles at KP Labs
All roles →TODAY
TODAY
TODAY
TODAY