Senior/Staff Firmware Engineer - Battery Charger
Confidential
Posted: March 4, 2026
Interested in this position?
Create a free account to apply with AI-powered matching
Quick Summary
We're looking for a Senior/Staff Firmware Engineer to join our team to build a truly abundant society through autonomous robots.
Required Skills
Job Description
About 1X
We’re an AI and robotics company based in Palo Alto, California, on a mission to build a truly
abundant society through general‑purpose robots capable of performing any kind of work
autonomously.
We believe that to truly understand the world and grow in intelligence, humanoid robots must live
and learn alongside us. That’s why we’re focused on developing friendly home robots designed to
integrate seamlessly into everyday life.
We’re looking for curious, driven, and passionate people who want to help shape the future of
robotics and AI. If this mission excites you, we’d be thrilled to hear from you and explore how you
might contribute to our journey.
Role Overview
We are looking for a cross-functional Firmware / Embedded Engineer to develop and maintain
the firmware for the battery charging system of a production humanoid robot. In this role, you
will own the embedded software that controls AC-DC power conversion, charge profile
management, and the interface between the charger and the battery management system.
You will work closely with hardware architects, electrical engineers, systems engineers, and test
engineers to ensure firmware reliably bridges hardware capabilities and higher-level system
requirements across prototype and production platforms.
The charger is a consumer-facing subsystem that must meet regulatory emissions
requirements, operate safely in household environments, and manage the charge cycle for a
high-energy lithium-ion pack that experiences demanding discharge profiles between charges.
Charging behavior directly affects battery longevity, system availability, and user safety. The
ideal candidate understands power conversion from magnetics and control loop fundamentals,
writes firmware that is robust under component variation and fault conditions, and can reason
about the interactions between charger behavior, battery chemistry, and EMC performance.
Responsibilities
• Develop and maintain charger firmware controlling AC-DC power conversion stages,
including power factor correction and isolated DC-DC conversion topologies
• Implement charge profile management for multi-series lithium-ion packs: constant-
current, constant-voltage, and taper phases with cell-chemistry-appropriate voltage and
current limits
• Architect the charger-to-BMS communication interface over CAN or similar embedded
bus, coordinating charge current requests, pack voltage feedback, temperature limits,
and fault signaling between the two subsystems
• Responsible for the testing, validation, and verification of initial firmware releases to
ensure functionality, reliability, and performance requirements are met
• Implement power converter control loops in firmware: voltage regulation, current
regulation, and soft-start sequencing with stability under varying line and load conditions
• Develop fault detection and protection firmware: input overvoltage/undervoltage, output
overcurrent, overtemperature, ground fault, and loss-of-communication with the BMS,
each with defined safe-state transitions
• Support EMC compliance by understanding how firmware-controlled switching
frequencies, gate drive timing, and measurement sampling interact with conducted and
radiated emissions performance
• Collaborate with hardware architects to define charger hardware requirements, converter
topology trade-offs, and the boundary between hardware protection and firmware
protection
• Implement production test modes and end-of-line validation routines for charger
acceptance, including efficiency measurement, regulation accuracy, and protection trip-
point verification
• Develop diagnostic logging and telemetry for charge cycle data, fault history, and
component health trending
• Document firmware architecture, interfaces, and assumptions; improve code structure,
readability, and maintainability