Embedded Software Engineer
Stockholm Sweden
Responsibilities
Location Stockholm, SE Job ID REQ-054105As a Senior Embedded System Engineer, the candidate will play a crucial role in designing, developing, and optimizing embedded systems and firmware for Perten instruments. The ideal candidate should possess a strong technical background in embedded systems. Proficiency in C and C++ is essential, while knowledge of Python and C# is a plus. Experience in Linux application development and low-level hardware interaction is highly desirable. As part of our team, you will contribute to challenging projects that leverage the latest technologies in the field. You will collaborate with electronic, mechanical, and design engineers to develop new products from concept to completion. The role demands independence, responsibility, and active participation in achieving shared team goals.
Responsibilities
- Design, develop, and debug firmware for embedded devices and systems.
- Write efficient and optimized low-level code in C, C++.
- Develop and maintain hardware drivers for peripherals like GPIO, UART, SPI, I2C, and ADC/DAC.
- Develop and maintain firmware for microcontrollers, SoCs, and other embedded platforms.
- Collaborate with hardware teams to define system architecture and hardware requirements.
- Expert-level knowledge of embedded Linux systems, application development on Linux.
- Software development: Write and debug low-level code for hardware drivers and system control.
- Implement and debug communication protocols (e.g., SPI, I2C, UART, CAN, Ethernet).
- Testing and validation: Perform system-level testing, debugging, and validation to ensure reliability and performance. Conduct root cause analysis of firmware-related issues and implement fixes.
- Create and execute test plans for firmware and hardware validation.
- Use tools like oscilloscopes, logic analyzers, and JTAG debuggers for troubleshooting.
- Document system designs, specifications, and processes for internal and external stakeholders.
- Support manufacturing and field teams in resolving technical issues.
- Strong problem-solving, debugging & Analytical skills.
Basic Qualifications
- Master’s degree in electrical engineering, Computer Engineering, or a related field.
- Experience: 5+ years of hands-on experience in embedded systems development
- Proficiency in programming languages such as C, C++, and Python
- Strong understanding of microcontrollers, microprocessors, and SoCs (e.g., ARM Cortex, Altera, PIC)
- Knowledge of communication protocols (SPI, I2C, UART, CAN, USB)
- Experience with Embedded Linux application development.
- Knowledge of power management, memory optimization, and real-time constraints.
- Experience in low-level driver development and board bring-up.
- Understanding of bootloaders, and memory management
Preferred Characteristics
- Experience with embedded application development on ARM microcontrollers.
- Excellent communication and interpersonal skills.
- Familiarity with the software development lifecycle (SDLC) and agile methodologies.
- Knowledge of secure firmware development, including cryptographic protocols and secure boot.
- Hands-on experience with Raspberry Pi Compute Module development.
- A creative mindset with a top-down approach to solution design.
- Strong problem-solving, debugging, and analytical skills.
PerkinElmer is committed to creating a diverse environment and is proud to be an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability status, age, or veteran status or any other characteristics protected by applicable law. PerkinElmer is committed to a culturally diverse workforce.