Firmware Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+16 more
Job description
develop and implement firmware for embedded systems. Test and debug to meet product specifications. Collaborate with hardware engineers to develop top-notch firmware. Use programming languages and microcontrollers for this purpose. Designing, developing, and testing embedded software, applying industry standards and best practices.
Primary Responsabilities:
- Develop and maintain firmware running on Novanta products.
- Implement new features for existing products, including additional feedback interfaces, communication protocols, and state-of-the-art motion control algorithms.
- Participate in the development of new products.
- Develop and maintain continuous integration/development libraries.
- Review and improve external documentation (product manuals, datasheets, etc.).
- Improve internal documentation (covering architecture, continuous integration/development, detailed design, etc.).
Requirements
- Degree, MS or PhD in Computer Science, Electrical Engineering, or a related technical discipline.
- Minimum of 4 years of experience.
- Proficiency in C, including C in resource-constrained embedded environments.
- Knowledge of software fundamentals, including software design and maintainability.
- Experience in microprocessor bare-metal development with real-time constraints.
- Experience with MCU peripherals: I2C, SPI, CAN, USB, UART, GPIO.
- Understanding of schematics, datasheets, and application notes.
- Experience in the use of laboratory instruments.
- Experience with version control software.
- Fluent written and spoken English and Spanish
Nice-to-have Requirements
- Knowledge of C++ and/or Python.
- Experience with object-oriented programming (OOP).
- Hands-on experience in new hardware board bring-up, system debugging, and code optimization.
- Experience in software testing procedures.
- Experience using RTOS.
- Experience in FSoE (Functional Safety over EtherCAT).
- Knowledge of software quality principles and coding standards (e.g., MISRA).
- Knowledge of motion control (motor types, feedbacks, control loops, etc.).
- Knowledge of the CANopen communication protocol.
About the company
Build a career powered by innovations that matter! At Novanta, our innovations power technology products that are transforming healthcare and advanced manufacturing-improving productivity, enhancing people’s lives and redefining what’s possible. We create for our global customers engineered components and sub-systems that deliver extreme precision and performance for a range of mission-critical applications-from minimally invasive surgery to robotics to 3D metal printing.
Novanta is one global team with over 26 offices located in The Americas, Europe and Asia-Pacific. Looking for a great place to work? You have found it with a culture that embraces teamwork, collaboration and empowerment. Come explore Novanta.
We are looking for a talented, and highly motivated engineer who will
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Where to Find Entry-Level Software Engineering Jobs
The Netherlands – Europe’s powerhouse for software development?
Fully Remote Software Engineer Jobs
How software is steering vehicle technology