OverviewPosition Summary:- Performs software development activities including design, implementation, and integration.
- Experience programming embedded systems using C/C++.
- Familiarity with microcontrollers and embedded development environments.
- Basic understanding of Real-Time Operating Systems (RTOS).
- Familiarity with embedded communication protocols such as SPI, I²C, UART, CAN, and PWM.
- Ability to read and interpret electrical schematics and component datasheets.
- Experience using debugging tools such as JTAG debuggers, oscilloscopes, or logic analyzers.
- Understanding of interrupt-driven software design and embedded system fundamentals.
- Strong troubleshooting, problem-solving, and debugging skills.
- Good written and verbal communication skills.
ResponsibilitiesKey Responsibilities- Develop and maintain embedded firmware for microcontroller-based motion control systems under the guidance of senior engineers.
- Implement software on bare-metal and RTOS-based embedded systems.
- Support the development of stepper motor control functions, sensor interfaces, and control algorithms.
- Develop and maintain low-level software components, including:
- GPIO, timer, and peripheral drivers
- Interrupt service routines (ISRs)
- Basic DMA implementations
- Assist with debugging embedded software and hardware integration issues.
- Work closely with hardware engineers to:
- Interpret schematics and datasheets
- Support board bring-up and hardware validation activities
- Develop and test interfaces for embedded peripherals and communication protocols such as SPI, I²C, UART, CAN, and PWM.
- Participate in firmware testing, troubleshooting, and root-cause analysis.
- Use debugging tools such as JTAG debuggers, oscilloscopes, and logic analyzers to investigate system issues.
- Contribute to firmware improvements for reliability, maintainability, and performance.
- Create and maintain technical documentation, including code comments, test procedures, and design documentation.
- Participate in code reviews and technical discussions.
Preferred Qualifications- Exposure to motion control systems, stepper motors, or sensor-based control applications.
- Experience with RTOS platforms such as ThreadX or FreeRTOS.
- Experience with hardware bring-up and board-level debugging.
- Familiarity with medical devices or other regulated product development environments.
- Understanding of software verification and validation practices.
- Knowledge of embedded software development lifecycle and version control tools (e.g., Git).
- Exposure to EMC/EMI considerations in embedded system design.
QualificationsMinimum Knowledge & Experience Required for the Position:- Associates Degree plus minimum 4 years of related experience or Bachelor's Degree plus a minimum 2 years of related experience or Master's Degree plus typically 1 year of related experience or waiver based on experience.
- Degree should be in a technical discipline such as Chemistry, Math, Physics, Engineering, or Computer Science.
- Proficiency in computer code (Assembly, C, C++, Java, C#, etc.) found in product development.
International Mobility Required:Travel Requirements: The annual base salary range for this role is currently $90K to $120K range. Individual employee compensation will ultimately depend on factors including education, relevant experience, skillset, knowledge, and particular business needs.
This role is eligible for medical, dental, and vision insurance, 401k plan retirement benefits with an employer match, as well as paid vacation and sick leave. Our sales roles are eligible for participation in a commission plan and our management, and select professional roles, are eligible for a performance-based bonus.