Electrical Engineer – Firmware
Arrive AI · Fishers, IN · 2 mo ago
On-siteEngineeringFull-time
About the role
Arrive AI is hiring a Electrical Engineer – Firmware to own the low-level software that brings our next-generation autonomous delivery hardware to life. This is a new-product role: you will write firmware for boards that are still on the bench, work directly alongside the electrical engineers designing them, and carry designs from first power-on through validated, repeatable operation.
Responsibilities
- Firmware Architecture & Development
- Design, implement, and maintain firmware for microcontroller-based subsystems across multiple concurrent hardware programs
- Author and own hardware abstraction layers that let application logic survive board revisions and silicon changes
- Write device drivers for sensors, actuators, motor controllers, power management, and communication peripherals
- Design and tune RTOS task structures, priorities, and IPC for deterministic, real-time behavior
- Make and defend architectural tradeoffs around memory footprint, power budget, latency, and fault tolerance
- Bring-Up & Prototyping
- Take new PCB designs from first power-on through peripheral validation, working from schematics, datasheets, and reference manuals
- Partner with electrical engineers during design reviews to catch firmware-hostile decisions before boards are fabricated
- Build the bench tooling, harnesses, and test fixtures that make prototype iteration fast
- Support hardware evaluations and component bake-offs with the instrumentation and measurements needed to decide on evidence rather than opinion
- Cross-Functional Collaboration
- Define clean interfaces between firmware and the network, platform, and edge compute layers so teams can move independently
- Work with platform software engineers on data flow between firmware, edge compute, and cloud services
- Shift low-level software work off the electrical engineering team so EE capacity stays on EE problems
- Mentor teammates on embedded practice, and help grow embedded Rust and firmware capability across the group
- Testing, Debugging & Reliability
- Develop firmware test plans spanning unit, integration, and hardware-in-the-loop testing
- Debug on real hardware with JTAG/SWD, logic analyzers, and oscilloscopes — including the intermittent, timing-dependent, and only-on-this-one-board failures
- Improve observability through structured logging, telemetry, and on-device diagnostics
- Design for graceful degradation: watchdogs, fault recovery, safe states, and brownout behavior
- Documentation & Best Practices
- Document firmware architecture, hardware interfaces, register maps, and bring-up procedures clearly enough for the next engineer
- Contribute to coding standards, code review culture, version control practice, and firmware release management
- Help establish repeatable build, flash, and provisioning processes as programs move from prototype toward production
Requirements
- Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or equivalent practical experience
- 5+ years of professional experience developing firmware for embedded systems
- Deep proficiency in C/C++ for resource-constrained targets — memory models, pointers and aliasing, interrupt handlers, concurrency hazards, and the failure modes that come with them
- Hands-on production experience with an RTOS (Zephyr, FreeRTOS, ThreadX, or similar) and/or bare-metal systems
- Demonstrated experience designing or maintaining hardware abstraction layers, not only consuming vendor-supplied ones
- Fluency with embedded communication protocols: UART, SPI, I²C, CAN, Ethernet
- Proven track record debugging firmware on real hardware with hardware debug tools
- Ability to work independently from datasheets and reference manuals, and to be productive on unproven hardware where the bug could be in your code, the board, or the part
- Demonstrated ability to perform advanced PCB/board design, in addition to writing low-level/base firmware for the boards they design
Preferred Qualifications
- Embedded Rust experience — no_std development, embedded-hal, and async or concurrency frameworks such as Embassy or RTIC
- Zephyr RTOS specifically, including devicetree and its driver model
- Electrical engineering background, or enough comfort with schematics and instrumentation to contribute in hardware design reviews
- Experience bridging Rust and C via FFI, or integrating firmware components written in different languages behind a defined interface
- Familiarity with ARM-based microcontrollers and SoCs, and with Linux-based embedded systems
- Exposure to robotics, IoT, motion control, or autonomous systems
- Understanding of secure boot, OTA firmware updates, and device lifecycle management
A Note on Rust
Our embedded software is written in Rust. Previous Rust development experience is not a hard requirement for this role, however, hands-on experience with and mastery of embedded C programming is. If you are willing to learn and have the background, we will provide the training and support you need.