1. Develop firmware on microprocessors (ARM) to control real-time devices such as motors and sensors that complies to international safety standards.
2. Implement and verify microprocessor level and system level communication interfaces (UART, SPI, I2C, USB).
3. Work with systems analysts to develop and run test suites to characterize performance of system components.
4. Maintain software versions, upgrades and document solutions.
5. Provides planning and status information to project manager.
1. MS or BS with equivalent experience in electrical engineering, mechanical engineering, computer science or other relevant fields.
2. 3+ years of practical and/or theoretical knowledge of at least two of the following concepts: Linear control theory, b) Embedded systems, c) Real-time operating systems, d) Brushless motor control.
3. Must have 3+ years of experience in software development in C/C++ and MATLAB.
4. Strong understanding of HW/SW integration, in particular, electromechanical servo systems.
5. Motivated to continually improve best practices.
1. Experience with industrial communication protocols such as EtherCAT, Profinet, Modbus TCP/RTU.
2. Experience with software version control tools (Git).
3. Knowledge of ARM microprocessors and corresponding development platforms.
4. Understanding of requirements in certification standards such as IEC 61508 and ISO 13849.