Proper Voltage

Embedded Software Engineer

Please note that we are unable to provide visa sponsorship for this position.


Recruiting agencies: Proper Voltage does not accept unsolicited candidate submissions. Please do not contact any employees directly unless you have an existing engagement with the company.


About Proper Voltage

Proper Voltage is unlocking the next generation of battery technology across robotics, data centers, and defense.


We're building intelligent battery systems that make advanced chemistries (sodium-ion, lithium-titanate, lithium-silicon) work in products that were never designed for them. Humanoid robots can upgrade power systems without redesigning their entire platform. Data centers get safer, cheaper backup power. Drones and autonomous vehicles get higher energy density without lengthy integration cycles.


If you want to work on hard engineering problems that matter this is the place.



Job Overview

We are looking for an Embedded Software Engineer to write and validate firmware for the battery management systems inside our energy storage and critical power products. This is a hands-on individual contributor role on the Firmware & Embedded Software team.

You will own features, not subsystems. Requirements and architecture come to you already defined; your job is to implement them correctly, test them on real hardware, and defend your work in code review. Our firmware ships into UL-certified safety-critical products, so the bar for correctness is higher than most embedded work, and you will be reviewed against it. In exchange, you get direct mentorship from senior firmware engineers, a lab bench a few steps from your desk, and exposure to the full path from schematic to certification.

This is the right seat for an engineer with a couple of years of production embedded C behind them who wants to go deep on battery systems and safety-critical development rather than broad on application software.


What you'll do

  • Implement and maintain BMS firmware in C on STM32 Arm Cortex-M platforms for safety-critical battery applications.
  • Write and test peripheral drivers for ADC, SPI, I2C, UART, CAN, DMA, timers, and GPIO against defined interface specifications.
  • Integrate multi-cell battery monitoring front ends for cell voltage, temperature, and current measurement — register configuration, fault decode, and daisy-chained pack communication.
  • Implement protection features to specification — overvoltage, undervoltage, overcurrent, overtemperature, and short-circuit response — and prove the trip behavior on the bench.
  • Implement and tune passive cell balancing for multi-series pack configurations across sodium-ion, lithium-titanate, and lithium-ion chemistries.
  • Develop CAN and CANopen communication firmware for pack-to-host telemetry, status reporting, and command handling.
  • Support board bring-up: verify power rails and sequencing, confirm peripheral communication, and work through hardware/firmware integration issues alongside the hardware team.
  • Write and maintain unit tests and on-target tests that exercise both nominal operation and fault paths, and keep them running as the firmware changes.
  • Instrument and debug firmware on real hardware using SWD/JTAG, logic analyzers, and oscilloscopes, and trace a symptom to its root cause rather than to a workaround.
  • Implement firmware requirements traced to FMEA and fault tree analysis in support of UL 1973, UL 1998, and UL 9540 certification, and produce the evidence that shows they were met.
  • Write design descriptions, interface specifications, and test procedures for the code you own.
  • Participate in code reviews — both receiving them and reading other people's changes carefully.


Required Qualifications

  • B.S. in Computer Engineering, Electrical Engineering, Computer Science, or a related field, or equivalent practical experience.
  • 2+ years developing production embedded firmware in C for Arm Cortex-M microcontrollers.
  • Hands-on experience configuring and using common MCU peripherals: ADC, SPI, I2C, UART, CAN, DMA, timers, and GPIO.
  • Working knowledge of CAN bus — message framing, arbitration, bus-off handling, and what a node looks like when it misbehaves.
  • Ability to read a schematic, a datasheet, and a reference manual, and to reconcile the three when they disagree.
  • Practical debugging skill with SWD/JTAG debuggers, logic analyzers, and oscilloscopes — comfortable at a bench, not only in an IDE.
  • Proficiency with Git and a structured branch, review, and release workflow.
  • Willingness to work to a written specification and to accept review on safety-critical code paths.
  • Clear written communication — you will be expected to document what you built and why.
  • Onsite in Carlsbad, CA. This role is lab-dependent and is not remote.


Preferred Qualifications

  • Experience with battery management system firmware: cell monitoring, balancing, state-of-charge estimation, or pack protection.
  • Familiarity with STM32 development using STM32CubeIDE, STM32CubeMX, or equivalent ST toolchains.
  • RTOS-based development (FreeRTOS, Zephyr, or similar), including task priorities and inter-task communication.
  • Understanding of analog signal chains from the firmware side: ADC sampling and settling, filtering, calibration, and noise management.
  • Exposure to safety-critical or certified product development — UL 1973, UL 9540, IEC 62619, IEC 61508, or ISO 26262.
  • Experience with digital filtering applied to sensor data (moving average, low-pass IIR, or estimation filters).
  • Exposure to requirements traceability and formal verification evidence, in any tooling.
  • Experience with isolated measurement and current sensing circuits (AMC1301, shunt-based sensing, Hall-effect sensors).
  • Python for scripting, log analysis, and test automation


Prior Experience With

  • Multiple battery chemistries, and an understanding of how chemistry differences change firmware behavior.
  • CANopen and the CiA 301 object dictionary model.
  • Bootloaders and firmware update over an embedded bus.
  • Hardware-in-the-loop test rigs, or emulation frameworks such as Renode or QEMU.
  • MISRA C, static analysis, or on-target unit test frameworks.
  • Rust for embedded development (Embassy, RTIC, or bare-metal).
  • High-voltage systems (100 V+) and the lab safety practices that go with them.

Compensation & Benefits

  • Salary range: $115,000 – $145,000 depending on experience and qualifications.
  • Equity options as part of the compensation package.
  • Comprehensive healthcare benefits (medical, dental, vision).
  • Generous paid time off and paid holidays (PTO) policy.


Ready to work on power systems that matter? Let's talk.

Engineering

Carlsbad, CA

Partager sur :

Conditions générales d’utilisationConfidentialitéCookiesPropulsé par Rippling