Embedded Firmware Engineer II
Sf Motors
United States
26 days ago
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Experienced
Experience required
3 years minimum
Working hours
Regular working hours
Job source
Tech stack
Board Bringup
Application Programming Interfaces (APIs)
C++ (Programming Language)
Code Review
Communications Protocols
Continuous Integration
Software Debugging
Electronic Data Interchange (EDI)
Middleware
Embedded Software
Ethernet
Firmware
+14 more
Joint Test Action (IEEE Standards)
Python (Programming Language)
Kinematics
Modbus
PID Controllers
Regression Testing
Robotic Automation Software
Universal Asynchronous Receiver/Transmitter
Scripting
Serial Peripheral Interface
Real Time Systems
Test Scripts
Information Technology
Hardware Debugging
Job description
- Develop and maintain firmware on STM32 / TI / Renesas MCU platforms
- Implement and debug low-level drivers (ADC, GPIO, PWM, SPI, I2C, UART, DMA, Timers)
- Support PCB bring-up, board validation, and hardware debugging
- Develop and optimize communication stacks (CAN, CANFD, Ethernet, Modbus, etc.)
- Write clean, maintainable C/C++ for real-time embedded systems
- Diagnose hardware and firmware integration issues
- Collaborate closely with hardware and controls engineers
- Develop internal tools and test scripts (Python preferred)
- Support firmware release cycles, regression testing, and documentation
- Contribute to code reviews and design discussions
- Design and implement firmware architectures that support scalable multi-actuator robotic systems
- Develop robust communication interfaces between embedded firmware and high-level SDK layers
- Define and maintain firmware-to-host communication protocols and command abstractions
- Support kinematics-related data exchange and synchronization across distributed nodes
- Ensure deterministic timing and low-latency communication across robotic joints
- Participate in system-level debugging across firmware, SDK, and control layers
- Optimize performance for multi-joint coordination and synchronized actuation
Requirements
- B.S. or M.S. in Computer Science, Electrical Engineering, or related field
- 3-5 years of embedded firmware experience
- Strong proficiency in C (C++ a plus)
- Hands-on experience with MCU peripherals and low-level driver development
- Experience with board bring-up and debugging tools (oscilloscope, logic analyzer, JTAG)
- Experience with real-time systems
- Basic understanding of industrial communication protocols
- Experience developing firmware for robotic systems, motor controllers, or multi-axis motion platforms
- Understanding of motor control fundamentals (FOC, PID control, current/velocity/position loops)
- Experience working with CAN-based multi-node robotic architectures
- Familiarity with ROS / ROS2 or robotics middleware is a plus
- Experience designing clean, stable SDK APIs for hardware abstraction
- Familiarity with CI/CD workflows for embedded systems
- Experience writing Python scripts for automation or testing preferred
- Comfortable working independently in a fast-paced environment, Candidates must be legally authorized to work in the United States and verification of employment authorization will be required at the time of hire.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Apply on www.dice.comGood distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
DC
Daniel Cranney
over 1 year ago
M
Maulik
Software Engineer Career: Things You Should Know
over 3 years ago
LM
Luis Minvielle
Is Software Engineering Hard?
about 2 years ago
EM
Eli McGarvie
Highest Paying Tech Companies for Developers
over 3 years ago
KD
Krissy Davis
What is Software Engineering?
almost 3 years ago
LM
Luis Minvielle
Where to Find Entry-Level Software Engineering Jobs
over 2 years ago