Senior Embedded Software Engineer, RTOS Firmware in St. Louis, Missouri at Intramotev
Job Description
At Intramotev, we are dedicated to revolutionizing the freight industry by liberating tons of freight from congested highways, reducing carbon emissions, and enhancing transportation efficiency. We are deploying self-propelled battery-electric railcars and vehicles to transform freight logistics and bring innovation to our rail network. Based in St. Louis, MO, we are committed to promoting industrial revitalization, saving lives, and minimizing the environmental impact of trucking.
We actively foster a work environment for every teammate that's welcoming, respectful and inclusive, with great opportunities for professional growth. Find your future with us.
Role OverviewWe are seeking a Senior Embedded Software Engineer, RTOS Firmware, to make our motor-controller interface vendor-neutral and then bring up a second motor controller behind it. You'll take that work from bench validation to the vehicle. The successful candidate will become the technical owner of named subsystems in the real-time supervisory firmware of our self-propelled battery-electric railcars and vehicles. That firmware runs on FreeRTOS, a real-time operating system (RTOS), on an STM32H7 microcontroller. It is the vehicle's brain: it handles propulsion and brake control over Controller Area Network (CAN) and runs the brake, propulsion, charging, and fault-handling state machines. Other first-year work includes building the fault state machine that ties critical faults to propulsion and emergency-brake logic, shipping one firmware build for every vehicle configuration, and making device communication robust to stale data. This is a senior individual-contributor role with no direct reports. You'll share code review across the firmware and mentor associate engineers and interns.
This is a full-time, in-office role based in St. Louis, MO. The work happens at our hardware-in-the-loop (HIL) bench, in the lab, and on full-size rail vehicles. You'll work within a small embedded team and engage in occasional domestic travel for vehicle testing, integration, and demonstrations.
Key ResponsibilitiesSubsystem Ownership: Own named firmware subsystems end to end, from design and implementation through test and field support, starting with the vendor-neutral motor-controller interface, the fault state machine, and single-binary vehicle configuration.
Firmware Development: Write C on FreeRTOS, covering tasks, queues, interrupt service routines (ISRs), watchdog, and memory and heap management, for safety logic: brake and emergency-brake logic, motion inhibit, rollaway protection, speed governing, and charging. Build CAN and CAN with Flexible Data-Rate (CAN-FD) device drivers generated from DBC (CAN database) files, and support the bare-metal Cortex-M4 auxiliary I/O controllers for lighting, pneumatics, and power distribution.
Hardware Bring-Up: Bring up firmware on in-house carrier boards, which get a new revision about every quarter, using Serial Wire Debug (SWD) and JTAG with ST-Link, an oscilloscope, and a logic analyzer.
Testing & Validation: Write host-based unit tests with GoogleTest and mocks, built with 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.
Code Review & Mentoring: Share the pull-request review queue across the firmware, and mentor associate engineers and interns.
AI-Assisted Development: Help the team use AI coding and review tools (e.g., Claude Code, GitHub Copilot) for firmware test generation, code review, code generation from interface definitions, and documentation, and help set the guardrails for using them on safety-relevant code.
Cross-Functional Collaboration: Work with controls, electrical, perception and autonomy, and the on-vehicle Linux services team on interface definitions, integration testing, and field issues.
Base salary: $120,000 - $140,000 plus equity.
Intramotev offers a comprehensive benefits package for all team members, including:
Medical coverage: We cover 100% of employee medical premiums, plus low-cost dental and vision options.
Vacation: Full-time employees enjoy unlimited paid time off.
Equity: Full-time employees receive equity in the company.
Parental leave: New parents receive paid time off to spend quality time with their family.
At least a Bachelor's Degree in Computer Engineering, Electrical Engineering, Computer Science, or a related technical field.
Production embedded C on an RTOS (FreeRTOS, Zephyr, ThreadX, or similar) on an Arm Cortex-M, including tasks, queues, mutexes, ISRs, and watchdogs. You have shipped firmware that runs in the field.
CAN or CAN-FD device integration from datasheets or DBC files, including timeouts, stale-data handling, and fault recovery.
Design of safety-relevant state machines, such as interlocks, emergency-stop or brake logic, and fault handling.
On-target debugging with SWD/JTAG and a scope or logic analyzer, including hard faults and memory and heap issues.
Host-based unit testing of embedded C with mocks, and CMake builds.
Experience reviewing other engineers' code and mentoring less-experienced engineers.
Willingness to expand into technical areas beyond your area of expertise; ability to develop innovative and novel approaches to underspecified problems.
Open-minded and comfortable working in a teaming environment as an individual contributor.
Fluent in both written and verbal English.
U.S. Person (immigration or work visa sponsorship will not be provided). F-1 (student) visas are not supported for this role.
Candidate should have a working knowledge of one or (ideally) multiple areas listed below:
STM32H7 or other dual-core microcontrollers.
Integrating commercial motor controllers, inverters, chargers, or battery management system (BMS) units over CAN.
PEAK PCAN tools (PCAN-View, PCAN-Basic); J1939.
HIL rigs and Python test harnesses, and firmware CI with Docker and GitHub Actions.
C code generated from MATLAB/Simulink models.
Functional safety practices we are adopting: ISO 26262, EN 50128, a safety-certified RTOS, MISRA C, or static analysis.
Rust.
Hands-on use of AI coding or review tools on production embedded code, and helping a team adopt them.
Rail, EV, automotive, off-highway, or unmanned-systems experience.
Education/experience typically acquired through advanced technical education (e.g. Bachelor and/or Master) and typically 5 or more years' related work experience or an equivalent combination of technical education and experience (e.g. Master + 3 years' related work experience). We weigh what you've shipped and brought up over a year count, and because we build roles around strong candidates, we level offers by experience.
RelocationThis position offers a competitive relocation package for qualified candidates.
Equal Opportunity EmployerIntramotev is an Equal Opportunity Employer. Employment decisions are made without regard to race, color, religion, national origin, gender, sexual orientation, gender identity, age, physical or mental disability, genetic factors, military/veteran status or other characteristics protected by law.
ClosingIf you're passionate about embedded software and eager to lead the charge in autonomous rail technology, we'd love to hear from you!
Scan to Apply
Just scan this QR code to apply from your phone.
- Fast
- Easy
- Apply on the go