
Productive Robotics
Robotics Software Engineer
578 commits and ~260,000 lines of code across 14 major projects in 8 months. Built the full software stack of a collaborative welding robot — from raw CAN bus motor control at 500Hz in C++ to the Vue.js tablet UI that welding operators use on the factory floor. Same engineer wrote the EtherCAT drivers, the computer vision pipelines, and the touch interfaces.
Productive Robotics manufactures the OB7 — a 7-axis collaborative robot (cobot) used in industrial welding, material handling, and custom automation. As the sole software engineer on new platform development, I owned the entire stack: C++ real-time motor control running in a 1kHz EtherCAT loop, CAN bus communication at 500Hz via raw Linux sockets, EtherNet/IP integration with Miller welding power sources, Python executive interpreters for trajectory planning, and Vue.js touch UIs running on Android tablets in factory environments.
Introduced CAN bus motor control to a company whose entire codebase was EtherCAT-only — built the complete CAN control stack from scratch for GIM6010 pancake motors on ODrive controllers, integrating a new fieldbus protocol into the existing robot platform for the custom 7-DOF FryBot gantry robot. Other key deliverables include a full EtherNet/IP CIP driver for Miller AutoContinuum and DeltaWeld welders with P-code parameter read/write, a Vue 3 tablet application with Pinia state management and 40+ pages, Nonius encoder calibration for absolute position sensing, live weld speed control with step-based trajectory filtering, and dual OpenCV + Open3D weld seam detection pipelines using Intel RealSense depth cameras.
Diagnosed and fixed multiple safety-critical production bugs: a 4-layer cascading failure where a JavaScript memory leak caused Android WebView OOM crashes that killed the deadman heartbeat and faulted the robot during active welding; a weld speed revert bug that dropped speed to 10% after pause/resume, melting nozzle guards; and an EtherNet/IP simultaneous field write bug that silently corrupted welder parameters with zero error messages. Every bug in robotics has physical consequences — these aren't web apps that return a 500 error.
Technology stack: C++ (EtherCAT at 1kHz, CAN at 500Hz, std::mutex/condition_variable concurrency), industrial fieldbus protocols (EtherNet/IP CIP, Miller P-code, Modbus TCP, RS-485), ROS (topics, services, parameters, rosbridge, URDF/XACRO, KDL kinematics), Python (executive interpreter, trajectory planning, Flask), Vue.js 2.6 and Vue 3 with Pinia, computer vision (OpenCV, Open3D, PCL, Intel RealSense, RANSAC, DBSCAN, PCA/SVD), Android WebView (Chromium 90), and Linux. This is the same breadth of work done at companies like Boston Dynamics, Tesla Optimus, and Agility Robotics.