{"id":724056,"url":"https://alion.io/job/propervoltage-embedded-software-engineer","title":"Embedded Software Engineer","company":{"id":687251,"name":"Proper Voltage","domain":"propervoltage.com","url":"https://alion.io/company/propervoltage","size_band":"51-200","is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"Rippling","truth_index":null},"role":"Hardware","role_family":"Hardware","seniority":"junior","employment_type":"full_time","work_mode":"on_site","remote_scope":null,"remote_scope_basis":null,"remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["Carlsbad, United States"],"countries":["US"],"hiring_countries":[],"hiring_countries_total":0,"salary":{"min":115000,"max":145000,"currency":"USD","period":"year","gross":null,"usd_annual":145000},"salary_estimate":null,"experience_years_min":2,"visa_sponsorship":true,"relocation_package":false,"has_equity":true,"technologies":[{"name":"CANopen","optional":false},{"name":"Cortex","optional":false},{"name":"Embedded C","optional":false},{"name":"Git","optional":false},{"name":"JTAG Debuggers","optional":false},{"name":"C","optional":true},{"name":"Embassy","optional":true},{"name":"FreeRTOS","optional":true},{"name":"Prometheus","optional":true},{"name":"Python","optional":true},{"name":"QEMU","optional":true},{"name":"RTOS","optional":true},{"name":"Rust","optional":true}],"status":"live","first_seen_at":"2026-08-31T23:19:34Z","employer_posted_date":"2026-08-31","last_verified_at":"2026-09-30T09:45:41Z","board_verified":true,"closed_at":null,"days_open":30,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":30},"description":"Please note that we are unable to provide visa sponsorship for this position.\nRecruiting 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.\nAbout Proper Voltage\nProper Voltage is unlocking the next generation of battery technology across robotics, data centers, and defense.\nWe'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.\nIf you want to work on hard engineering problems that matter this is the place.\nJob Overview\nWe 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.\nYou 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.\nThis 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.\nWhat you'll do\nImplement and maintain BMS firmware in C on STM32 Arm Cortex-M platforms for safety-critical battery applications.\nWrite and test peripheral drivers for ADC, SPI, I2C, UART, CAN, DMA, timers, and GPIO against defined interface specifications.\nIntegrate multi-cell battery monitoring front ends for cell voltage, temperature, and current measurement - register configuration, fault decode, and daisy-chained pack communication.\nImplement protection features to specification - overvoltage, undervoltage, overcurrent, overtemperature, and short-circuit response - and prove the trip behavior on the bench.\nImplement and tune passive cell balancing for multi-series pack configurations across sodium-ion, lithium-titanate, and lithium-ion chemistries.\nDevelop CAN and CANopen communication firmware for pack-to-host telemetry, status reporting, and command handling.\nSupport board bring-up: verify power rails and sequencing, confirm peripheral communication, and work through hardware/firmware integration issues alongside the hardware team.\nWrite and maintain unit tests and on-target tests that exercise both nominal operation and fault paths, and keep them running as the firmware changes.\nInstrument 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.\nImplement 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.\nWrite design descriptions, interface specifications, and test procedures for the code you own.\nParticipate in code reviews - both receiving them and reading other people's changes carefully.\nRequired Qualifications\nB.S. in Computer Engineering, Electrical Engineering, Computer Science, or a related field, or equivalent practical experience.\n2+ years developing production embedded firmware in C for Arm Cortex-M microcontrollers.\nHands-on experience configuring and using common MCU peripherals: ADC, SPI, I2C, UART, CAN, DMA, timers, and GPIO.\nWorking knowledge of CAN bus - message framing, arbitration, bus-off handling, and what a node looks like when it misbehaves.\nAbility to read a schematic, a datasheet, and a reference manual, and to reconcile the three when they disagree.\n•Practical debugging skill with SWD/JTAG debuggers, logic analyzers, and oscilloscopes - comfortable at a bench, not only in an IDE.\nProficiency with Git and a structured branch, review, and release workflow.\nWillingness to work to a written specification and to accept review on safety-critical code paths.\nClear written communication - you will be expected to document what you built and why.\nOnsite in Carlsbad, CA. This role is lab-dependent and is not remote.\nPreferred Qualifications\nExperience with battery management system firmware: cell monitoring, balancing, state-of-charge estimation, or pack protection.\nFamiliarity with STM32 development using STM32CubeIDE, STM32CubeMX, or equivalent ST toolchains.\nRTOS-based development (FreeRTOS, Zephyr, or similar), including task priorities and inter-task communication.\nUnderstanding of analog signal chains from the firmware side: ADC sampling and settling, filtering, calibration, and noise management.\nExposure to safety-critical or certified product development - UL 1973, UL 9540, IEC 62619, IEC 61508, or ISO 26262.\nExperience with digital filtering applied to sensor data (moving average, low-pass IIR, or estimation filters).\nExposure to requirements traceability and formal verification evidence, in any tooling.\nExperience with isolated measurement and current sensing circuits (AMC1301, shunt-based sensing, Hall-effect sensors).\nPython for scripting, log analysis, and test automation\nPrior Experience With\nMultiple battery chemistries, and an understanding of how chemistry differences change firmware behavior.\nCANopen and the CiA 301 object dictionary model.\nBootloaders and firmware update over an embedded bus.\nHardware-in-the-loop test rigs, or emulation frameworks such as Renode or QEMU.\nMISRA C, static analysis, or on-target unit test frameworks.\nRust for embedded development (Embassy, RTIC, or bare-metal).\nHigh-voltage systems (100 V+) and the lab safety practices that go with them.\nCompensation & Benefits\nSalary range: $115,000 - $145,000 depending on experience and qualifications.\nEquity options as part of the compensation package.\nComprehensive healthcare benefits (medical, dental, vision).\nGenerous paid time off and paid holidays (PTO) policy.\nReady to work on power systems that matter? Let's talk.","description_format":"text","description_chars":6535,"description_truncated":false,"requirements":{"experience_years_min":2,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":{"level":"bachelor","optional":false},"security_clearance":false,"languages":[]},"benefits":["Equity"],"hiring_locations":[],"hiring_excludes":[],"relocation_offered":false,"industries":["Electrical & Electronic Engineering","Musical Instruments"],"lifecycle":[{"event":"open","at":"2026-09-11T07:56:34Z"}],"liveness":{"score":49,"band":"ok","label":"Likely open","p_open":1,"p_active":0.659,"p_room":0.75,"age_days":29,"expected_fill_days":30,"reasons":["conf:25","win:late","comp:junior"],"computed_at":"2026-09-30T05:45:00Z"},"pay":{"stated_usd_annual":145000,"is_top_pay":true},"html_url":"https://alion.io/job/propervoltage-embedded-software-engineer","json_url":"https://alion.io/job/propervoltage-embedded-software-engineer.json","meta":{"generated_at":"2026-10-01T01:22:10Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","usage":{"tier":"crawler","counted_by":"address","units_charged":1,"used_today":905,"day_limit":5000,"remaining_today":4095,"minute_limit":60,"resets_at":"2026-10-02T00:00:00Z"}}}