
Firmware Engineer
Novanta Inc.2 hours ago
Barcelona, SpainMid Level
Responsibilities
- Develop and maintain firmware running on Novanta products.
- Implement new features, feedback interfaces, communication protocols, and motion-control algorithms.
- Design, develop, test, and debug embedded software to meet product specifications.
- Collaborate with hardware engineers and participate in new product development.
- Develop and maintain continuous integration and development libraries.
- Support hardware board bring-up, system debugging, code optimization, and software testing.
- Create and improve internal and external technical documentation.
- Provide occasional customer support and assist with domestic and international installations.
Requirements
- Degree in Computer Science, Electrical Engineering, or a related technical discipline.
- Minimum of 4 years of experience.
- Proficiency in C for resource-constrained embedded environments.
- Experience with bare-metal microprocessor development under real-time constraints.
- Experience with MCU peripherals including I2C, SPI, CAN, USB, UART, and GPIO.
- Understanding of schematics, datasheets, and application notes.
- Experience using laboratory instruments and version control software.
- Fluent written and spoken English and Spanish.
- Preferred qualifications include C++ or Python, object-oriented programming, hardware board bring-up, system debugging, code optimization, software testing, RTOS, FSoE, MISRA, motion control, and CANopen experience.
Benefits
- Occasional domestic and international travel is expected for customer support and installations.