Skip to content
Atoms

Senior Firmware Engineer

Pittsburgh, PA; U.S.United States
Senior · Engineering R&D
POSTED 5 NOVVERIFIED 1D AGO
Apply Ask
Pay · Atoms
$153k–$183k
p25–p75 · n=6
Open for
1d
closes ~29d here
Hiring · 30d
337
−11 net · open roles
PythonC++

Who we are

Lab37 Robotics, is a technology company focused on the development and deployment of robots designed specifically for direct-to-customer food production. Our mission is to revolutionize the food industry by creating innovative robotic solutions that enhance efficiency, quality, and customer satisfaction. We are passionate about pushing the boundaries of technology to deliver cutting-edge products that meet the evolving needs of our clients.

About the role

Build the firmware that brings our custom robot electronics to life. We’re looking for a Firmware Engineer to own embedded software for the boards that connect our robots’ sensors, actuators, and higher-level software—from early hardware bring-up through production deployment and field support.

You’ll strengthen our firmware architecture and engineering practices while shipping practical improvements to real machines. Working closely with electrical, motor-controls, robotics software, and manufacturing engineers, you’ll help define hardware/software interfaces, diagnose difficult failures, and make our boards easier to test, deploy, and service.

This is a hands-on individual contributor role with substantial technical ownership. You should be comfortable turning an ambiguous problem into a plan, working at the bench, and leaving behind reliable software and tools that others can use.

What you’ll do

  • Design and maintain embedded C firmware for custom microcontroller boards, including device drivers, board support, communication protocols, and application state machines. Build reusable components across board revisions and robot platforms.
  • Partner with electrical engineers on component selection, schematic reviews, debug access, and testability. Bring up new boards and investigate failures using datasheets, measurements, and targeted experiments.
  • Implement predictable real-time behavior across interrupts, DMA, peripheral interfaces, and bare-metal or RTOS tasks. Measure timing and resource use, and address concurrency, latency, and memory constraints.
  • Define clear contracts between boards and robot software: commands, state reporting, timeouts, fault handling, and version compatibility. Integrate sensors and actuator interfaces with the robotics and motor-controls teams.
  • Design robust startup, watchdog, brownout, communication-loss, and recovery behavior. Implement and verify agreed safe states with hardware and system owners, and expose diagnostics that make intermittent failures actionable.
  • Own firmware delivery and serviceability: bootloaders, validated updates and recovery paths, board identification, versioned configuration and calibration, and compatibility checks that help prevent incorrect deployment.
  • Build automated unit, integration, and hardware-in-the-loop tests, including fault injection and long-duration testing. Develop tools for production bring-up, calibration, manufacturing tests, and diagnostics, and integrate them into shared CI and release workflows.
  • Follow production issues through root cause and prevention. Document design decisions, interfaces, and troubleshooting procedures; participate in reviews and help teammates build confidence working with embedded systems.

What we are looking for

  • A track record of shipping microcontroller firmware on custom hardware and supporting it beyond the prototype stage. You can explain your own architecture decisions, debugging work, and lessons from deployed products.
  • Strong C or C++ skills for resource-constrained systems, with a solid understanding of memory, interrupts, concurrency, peripheral registers, and real-time execution. Practical bare-metal and RTOS experience.
  • Hands-on board bring-up and debugging skills. You can read schematics and datasheets, use oscilloscopes and logic analyzers, and debug firmware through SWD/JTAG or equivalent tools.
  • Experience implementing and troubleshooting embedded interfaces such as CAN, SPI, I2C, and UART, with the ability to reason about timing, corrupted or missing data, and recovery.
  • A disciplined approach to reliability: maintainable designs, meaningful automated tests, reproducible builds, version control, code review, and useful diagnostics. Python or comparable scripting skills for test and development tools.
Source · AtomsFirst seen 5 NovOriginal ↗