P

Proper Voltage

Develops rapid-charge Lithium Titanate batteries

Embedded Software Engineer

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

About the Job

Requirements

  • A B.S. in Computer Engineering, Electrical Engineering, Computer Science, or a related field, or equivalent practical experience.
  • At least 2 years developing production embedded firmware in C for Arm Cortex-M microcontrollers.
  • Hands-on experience configuring and using common microcontroller peripherals: ADC, SPI, I2C, UART, CAN, DMA, timers, and GPIO.
  • Working knowledge of CAN bus, including message framing, arbitration, bus-off handling, and recognizing misbehaving nodes.
  • Ability to read schematics, datasheets, and reference manuals, and reconcile discrepancies among them.
  • Practical debugging skill with SWD/JTAG debuggers, logic analyzers, and oscilloscopes.
  • Proficiency with Git and a structured branch, review, and release workflow.
  • Willingness to work to a written specification and accept review on safety-critical code paths.
  • Clear written communication and ability to document the work performed and rationale.
  • Must work onsite in Carlsbad, California; the role is lab-dependent and is not remote.

Responsibilities

  • Implement and maintain battery management system 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, including register configuration, fault decoding, and daisy-chained pack communication.
  • Implement protection features to specification, including overvoltage, undervoltage, overcurrent, overtemperature, and short-circuit response, and prove 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 by verifying power rails and sequencing, confirming peripheral communication, and resolving hardware/firmware integration issues with the hardware team.
  • Write and maintain unit tests and on-target tests covering nominal operation and fault paths, and keep them running as firmware changes.
  • Instrument and debug firmware on real hardware using SWD/JTAG, logic analyzers, and oscilloscopes, tracing symptoms to root causes.
  • Implement firmware requirements traced to FMEA and fault tree analysis in support of UL 1973, UL 1998, and UL 9540 certification, and produce evidence demonstrating compliance.
  • Write design descriptions, interface specifications, and test procedures for owned code.
  • Participate in code reviews by reviewing received feedback and carefully reviewing other contributors' changes.

Desired Qualifications

  • Experience with battery management system firmware, including cell monitoring, balancing, state-of-charge estimation, or pack protection.
  • Familiarity with STM32 development using STM32CubeIDE, STM32CubeMX, or equivalent ST toolchains.
  • RTOS-based development with FreeRTOS, Zephyr, or similar, including task priorities and inter-task communication.
  • Understanding of analog signal chains from the firmware side, including ADC sampling and settling, filtering, calibration, and noise management.
  • Exposure to safety-critical or certified product development, including UL 1973, UL 9540, IEC 62619, IEC 61508, or ISO 26262.
  • Experience with digital filtering applied to sensor data, such as moving average, low-pass IIR, or estimation filters.
  • Exposure to requirements traceability and formal verification evidence using any tooling.
  • Experience with isolated measurement and current sensing circuits, including AMC1301, shunt-based sensing, or Hall-effect sensors.
  • Python for scripting, log analysis, and test automation.
  • Experience with multiple battery chemistries and understanding how chemistry differences change firmware behavior.
  • Experience with CANopen and the CiA 301 object dictionary model.
  • Experience with bootloaders and firmware updates over an embedded bus.
  • Experience with hardware-in-the-loop test rigs or emulation frameworks such as Renode or QEMU.
  • Experience with MISRA C, static analysis, or on-target unit test frameworks.
  • Experience with Rust for embedded development, including Embassy, RTIC, or bare-metal.
  • Experience with high-voltage systems (100 V+) and associated lab safety practices.

About the Company

Proper Voltage

Develops rapid-charge Lithium Titanate batteries

ZapBatt develops and manufactures Lithium Titanate battery systems for fast charging, long life, and enhanced safety, with customizable battery packs sold directly or as tailored solutions. Its products use Lithium Titanate chemistry to charge in under 20 minutes and deliver up to 15,000 cycles (about 25 years), reducing waste and costs. Its Battery AI analyzes 26 performance factors to continually optimize battery behavior, differentiating it with AI-driven optimization and pack customization. Its goal is to provide reliable, efficient energy storage across multiple industries while lowering total cost of ownership and enabling sustainable energy use.

Company size
11-50
Company stage
Early VC
Total funding
$13.7M
Headquarters
Carlsbad, CA
Founded
2019

Recently Posted Jobs

Explore more opportunities at Proper Voltage

See more jobs