Senior Embedded Software Engineer, RTOS Firmware

Intramotev•St. Louis, MO
•Onsite

About The Position

Intramotev is seeking a Senior Embedded Software Engineer to make its motor-controller interface vendor-neutral and integrate a second motor controller, taking the work from bench validation to vehicle deployment. The engineer will own named subsystems in the real-time supervisory firmware for self-propelled battery-electric railcars and vehicles. The firmware runs on FreeRTOS on an STM32H7 microcontroller and manages propulsion and brake control over CAN, as well as brake, propulsion, charging, and fault-handling state machines. First-year projects include building the fault state machine that links critical faults to propulsion and emergency-brake logic, shipping one firmware build for every vehicle configuration, and improving device communication to handle stale data robustly. This is a senior individual-contributor position with no direct reports. The engineer will share firmware code reviews and mentor associate engineers and interns. This is a full-time, in-office position based in St. Louis, Missouri. Work takes place at a hardware-in-the-loop (HIL) bench, in the lab, and on full-size rail vehicles. The engineer will work on a small embedded team, collaborate with controls, electrical, perception and autonomy, and on-vehicle Linux services teams, and travel domestically occasionally for vehicle testing, integration, and demonstrations.

Requirements

  • Bachelor's degree or higher in Computer Engineering, Electrical Engineering, Computer Science, or a related technical field.
  • Production embedded C experience on an RTOS such as FreeRTOS, Zephyr, or ThreadX on an Arm Cortex-M, including tasks, queues, mutexes, ISRs, and watchdogs.
  • Experience shipping firmware that runs in the field.
  • Experience integrating CAN or CAN-FD devices from datasheets or DBC files, including timeouts, stale-data handling, and fault recovery.
  • Experience designing safety-relevant state machines, such as interlocks, emergency-stop or brake logic, and fault handling.
  • Experience debugging on target with SWD/JTAG and an oscilloscope or logic analyzer, including hard faults and memory and heap issues.
  • Experience with host-based unit testing of embedded C using mocks and CMake builds.
  • Experience reviewing other engineers' code and mentoring less-experienced engineers.
  • Willingness to expand into technical areas beyond one's area of expertise and ability to develop innovative approaches to underspecified problems.
  • Open-mindedness and comfort working in a team environment as an individual contributor.
  • Fluency in written and spoken English.
  • Must be a U.S. Person; immigration or work visa sponsorship is not available.
  • Typically, five or more years of related work experience with advanced technical education, or an equivalent combination of education and experience; the employer states it weighs shipped work and experience bringing systems up and levels offers based on experience.

Nice To Haves

  • Working knowledge of STM32H7 or other dual-core microcontrollers.
  • Experience integrating commercial motor controllers, inverters, chargers, or battery management system (BMS) units over CAN.
  • Experience with PEAK PCAN tools such as PCAN-View or PCAN-Basic, or J1939.
  • Experience with HIL rigs, Python test harnesses, and firmware CI using Docker and GitHub Actions.
  • Experience with C code generated from MATLAB/Simulink models.
  • Knowledge of functional-safety practices such as ISO 26262, EN 50128, safety-certified RTOS, MISRA C, or static analysis.
  • Experience with Rust.
  • Hands-on use of AI coding or review tools on production embedded code and experience helping a team adopt them.
  • Experience in rail, EV, automotive, off-highway, or unmanned systems.

Responsibilities

  • Own named firmware subsystems end to end, from design and implementation through testing and field support, beginning with the vendor-neutral motor-controller interface, fault state machine, and single-binary vehicle configuration.
  • Develop C firmware on FreeRTOS, including tasks, queues, interrupt service routines, watchdogs, and memory and heap management.
  • Implement safety logic for braking and emergency braking, motion inhibit, rollaway protection, speed governing, and charging.
  • Build CAN and CAN-FD device drivers generated from DBC files, and support bare-metal Cortex-M4 auxiliary I/O controllers for lighting, pneumatics, and power distribution.
  • Bring up firmware on in-house carrier boards using SWD and JTAG with ST-Link, an oscilloscope, and a logic analyzer.
  • Write host-based unit tests with GoogleTest and mocks, using CMake and Docker toolchain images in GitHub Actions.
  • Extend the self-hosted HIL bench that flashes the target and runs Python integration tests on every change, and help build the desktop software-in-the-loop target.
  • Share the firmware pull-request review queue and mentor associate engineers and interns.
  • Help the team use AI coding and review tools for firmware test generation, code review, code generation from interface definitions, and documentation, and help establish guardrails for their use on safety-relevant code.
  • Collaborate with controls, electrical, perception and autonomy, and on-vehicle Linux services teams on interface definitions, integration testing, and field issues.
  • Travel occasionally within the United States for vehicle testing, integration, and demonstrations.

Benefits

  • Base salary of $120,000–$140,000 plus equity.
  • 100% of employee medical premiums covered, with low-cost dental and vision options.
  • Unlimited paid time off for full-time employees.
  • Equity for full-time employees.
  • Paid parental leave.
  • Competitive relocation package for qualified candidates.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service