×
Register Here to Apply for Jobs or Post Jobs. X

Embedded Software Engineer

Job in Carlsbad, San Diego County, California, 92002, USA
Listing for: Proper Voltage Inc.
Full Time position
Listed on 2026-09-05
Job specializations:
  • Software Development
    Embedded Systems/ Firmware/ IoT
Salary/Wage Range or Industry Benchmark: 115000 - 145000 USD Yearly USD 115000.00 145000.00 YEAR
Job Description & How to Apply Below

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

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 STM
    32 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, under voltage, overcurrent, over temperature, 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.
  • Profic…
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
 
 
 
Search for further Jobs Here:
(Try combinations for better Results! Or enter less keywords for broader Results)
Location
Increase/decrease your Search Radius (miles)
0
200
Filters
Education Level
Experience Level (years)
Posted in last:
Salary