Firmware Engineer
Cricut® makes smart cutting machines that work with an easy-to-use app, an ever-growing collection of materials, and crafting essentials to help you design and personalize almost anything — custom cards, unique apparel, everyday items, and so much more. We believe everyone is born creative. We’re a diverse tapestry of thinkers, dreamers, givers, DIYers, handi-workers, artisans, and forever and always architects of things. At Cricut, we place the power of handmade into the hands of all. We give you beautiful, easy-to-master tools so you can make something unique, remarkable, perfect. We surround you with ideas, community, inspiration, and encouragement to take your creativity further than you ever imagined. And as a community, we celebrate the exhilarating act of making every single day. So, make that handcrafted card that feels like a hug. Design a shirt for fun, for family, or for a full-blown business. Craft with a passion or for a purpose. Make something big and bold, itsy-bitsy, amazingly ambitious, or just plain silly. Whatever you make, just make your heart out. Because here’s the remarkable truth: When we all make together, we make all things possible. Let’s make.
Responsibilities
- Develop and debug embedded firmware for bare-metal microcontroller systems
- Work closely with hardware engineers to bring up new boards and support new product development
- Write control system code for actuators (motors, solenoids), including PID tuning and dynamic control
- Integrate and analyze sensor data (optical, thermal, reflective, etc.), focusing on signal processing and noise reduction
- Troubleshoot and debug low-level hardware interfaces such as USB, UART, SPI, I2C, PWM, and GPIO
- Develop internal tools (in C or C++) to aid testing, automation, and manufacturing processes
- Participate in code reviews, documentation, and revision control to ensure high firmware quality
- Collaborate across engineering teams to support full product lifecycle and contribute to design reviews
Qualifications
- Bachelor’s or Master’s degree in Electrical, Mechanical, Computer Engineering, or Computer Science (robotics/control emphasis preferred)
- 1–3 years of embedded firmware experience OR strong project/internship experience for new grads
- Strong C programming skills; C++ and/or Assembly exposure a plus
- Experience with bare-metal microcontroller development
- Familiarity with electromechanical systems including actuators and precision control
- Strong troubleshooting and debugging skills for low-level embedded systems
- Excellent communication, documentation, and teamwork skills
- Comfortable working both independently and in a collaborative, hands-on environment
Benefits
- competitive Medical, Dental, and Vision coverage
- a 401(k) match
- generous PTO
- tuition reimbursement
- a yearly lifestyle stipend to support your wellness and passions
- exclusive employee discounts
- surrounded by some of