In engineering we help people lead creative lives that by creating cool products that enable and expand peoples creativity.
We are looking for a Senior Firmware Engineer who is passionate about mechatronics and associated control systems. This individual will develop and implement precision motion control and path planning algorithms for our products which are essentially multi-axis robots while integrating with the electronics and mechanical systems that make up the complete system.
Work Location: Be advised this is an in-office role located in South Jordan (South Salt Lake City) Utah. All candidates will need to either be local or relocate to the Salt Lake City Utah area and be willing to work in the office 5 days a week.
Duties/Activities:
- Develop precision motion control systems including modeling of dynamic and kinematic systems and implementation of control theory in FW including PID control PID tuning path planning servo motor integration etc.
- Integrate various sensors (heat vision reflective through beam) into the system.
- Analyze sensor output over time applying noise reduction and transformations as needed to improve the signal to noise ratio and improve detection and reliability.
- Develop embedded firmware code test and optimize
- Provide tools and support for engineering development testing debugging of electro-mechanical systems and prototyping efforts
- Support firmware update testing and deployment
- Debugging low level hardware interfaces (USB UART PWM GPIO etc).
- Development of internal software tools to support testing
- Develop system interfaces with software team to enable FW features and smooth system integration
- Provide customer technical support as needed
- Multi-platform code development
- Creation and review of documentation related to system requirements testing and validation.
- Manage firmware revision control
Qualifications :
Required Education & Experience:
- Bachelors or Masters Degree (preferred) in Mechanical Electrical Computer Engineering Computer Science degrees with an emphasis on robotics or control theory related to dynamic systems
- At least 3 years experience with embedded software development
- Ability to work independently and within a team environment
- Ability to read and interpret circuit schematic diagrams
- Experience with mechanical actuators (motors solenoids etc.)
- Must have knowledge and understanding of different types of motors including their advantages and disadvantages including but not limited to: Servo motors brushed motors brushless coreless etc.
- Strong hardware and software/firmware development skills must be able to understand the integration and function of the complete electro-mechanical system
- Experience with Device Drivers (Linux Windows Mac OS)
- Proficient in C/C
- Knowledge of techniques required to produce robust fast and secure code.
- Experience with SW security and encryption techniques
- Proficiency at solving problems in a timely manner
- Ability to design electrical control circuits a plus.
- Ability to work in our South Jordan office each weekday.
Additional Information :
What to Do Next: Please attach your resume including links to your portfolio where applicable. If you want to show your super powers in other ways include that information too. You can be sure that Cricut is an employer who values individuality equality and diversity so tell us what youre all about. If you are a Maker or a DIY enthusiast whether you think you are a good one or not we would love to hear about it when you send us your information!
At Cricut we celebrate inclusion and diversity. Cricut is an equal opportunity employer and makes employment decisions based on merit. Cricut prohibits discrimination based on race color religion sex sexual identity gender identity marital status veteran status nationality citizenship age disability medical condition pregnancy or any other unlawful consideration. All your information will be kept confidential according to EEO guidelines. Cricut participates in E-Verify.
Remote Work :
No
Employment Type :
Full-time