A

Agility Robotics

Humanoid robots and automation software platform

Staff Firmware Engineer

Embedded EngineeringConfirmed live in the last 24 hours
Full-timeFremont, CA, USA

About the Job

Requirements

  • A BS in computer science, electrical engineering, or a related field and 10+ years of industry experience.
  • Experience writing modern C++ (17, 20).
  • Experience using FreeRTOS or similar.
  • Experience with best practices for writing performant and maintainable software.
  • Proficiency with a Linux-based development environment.
  • Ability to read schematics, PCB layouts, and component datasheets.
  • Ability to verbally communicate technical information effectively.

Responsibilities

  • Contribute to the C++ firmware architecture that drives the robot’s low-level sensor network, controls, and power management systems.
  • Develop the firmware communication layer utilizing EtherCAT, Ethernet, CAN, and RS-485.
  • Write firmware for the hardware abstraction layer, peripheral drivers, and applications.
  • Perform real-time hardware testing and debugging using benchtop test equipment such as logic analyzers and oscilloscopes.
  • Work with cross-disciplinary teams to solve complex problems involving the integration of software and hardware in robot systems.
  • Write performant, well-tested, maintainable, and well-documented C++ code.
  • Plan robot firmware architecture, design subsystems, and develop robust and reliable firmware for the full line of robots.
  • Understand product requirements and help ensure robot designs are robust and production-ready.
  • Document interfaces between hardware and higher-level robot control algorithms and provide support to other engineers.

Desired Qualifications

  • Experience implementing automation fieldbuses such as EtherCAT and CAN; EtherCAT is highly desirable.
  • Experience writing embedded C++ for ARM systems.
  • Experience developing real-time or low-latency systems.
  • Experience designing and implementing hardware-in-the-loop (HIL) testing frameworks for embedded systems.
  • Experience with unit testing such as GTest and coverage analysis.
  • Familiarity with standard agile and software development processes, issue-tracking tools such as Jira, feature branching, version control such as Git, and continuous integration and deployment.

About the Company

Agility Robotics

Humanoid robots and automation software platform

Agility Robotics designs and sells humanoid robots and an accompanying software platform to automate labor-intensive tasks. Its flagship robot Digit works with the cloud-based Agility Arc platform to perform tasks in warehouses, manufacturing, retail, eCommerce, and distribution centers. The system combines Digit’s mobility and manipulation capabilities with software that coordinates tasks, scheduling, and data, enabling effective human–robot collaboration on labor tasks. What sets Agility Robotics apart is its humanoid form and emphasis on mobile manipulation, paired with a cloud automation platform and plans for an App Store for Labor to offer a range of labor-related applications. The company’s goal is to help humans be more productive by augmenting workers’ capabilities and allowing them to focus on more complex and creative tasks, while delivering reliable labor solutions through direct sales, service contracts, and a potential software ecosystem.

Company size
201-500
Company stage
IPO
Headquarters
Salem, OR
Founded
2015

Recently Posted Jobs

Explore more opportunities at Agility Robotics

See more jobs