About Origin
Origin (previously 10xConstruction) is building general-purpose autonomous robots for US construction to tackle rising costs, safety risks, and labour shortages. Our modular, multi-trade platform combines purpose-built hardware with real-time site intelligence to navigate complex environments and execute tasks with precision. Trained in high-fidelity simulation and already deployed on live sites, our robots deliver 5x faster execution, 250%+ margin expansion, and significant cost savings. Join India's most talent-dense robotics team consisting of individuals from IITs, Stanford, UCLA, etc.
About The Role
As an Embedded Software and Controls Engineer, you are the core execution engine of the team. You will be responsible for converting control designs into production-grade software. You are expected to write clean, efficient, and real-time safe C++ code. You will own specific drivers and control modules, ensuring they meet strict timing and reliability requirements.
Requirements
Key Responsibilities
- Software Implementation:
- Develop and maintain ROS 2 nodes for robot control, state estimation, and sensor processing
- Write real-time safe C++ code, avoiding heap allocations in critical paths
- Implement communication bridges between the high-level planner and low-level hardware (CAN/Serial)
- Hardware-Software Integration:
- Bring up new PCB revisions and hardware peripherals, validating electrical and software interfaces
- Write drivers for IMUs, encoders, and motor controllers, handling endianness and data packing correctly
- Debug hardware integration issues using logic analyzers and oscilloscopes
- Testing & Validation:
- Design and execute unit tests (GTest) and integration tests to validate control logic
- Perform system identification experiments to tune control parameters
- Analyze logs (Rosbag/Foxglove) to diagnose tracking errors or latency spikes
Required Qualifications And Skills
- Bachelor's or Master's degree in Electrical Engineering, Robotics, or Computer Science
- 2-4 years of professional experience in C++ software development for hardware
- Strong grasp of Data Structures and Algorithms applied to constraints-based systems
- Proficiency with Linux Systems Programming (multithreading, sockets, IPC)
- Working knowledge of Control Theory (PID tuning, coordinate transforms)
- Experience with ROS/ROS 2 and version control (Git)
- Ability to read schematic diagrams and datasheet specifications
Preferred Experiences
- Experience with embedded microcontrollers (STM32, ARM Cortex-M)
- Knowledge of real-time Linux patches (PREEMPT_RT)
- Experience with Docker/Containerization for robotics