Siddharth Purohit is a seasoned UAV software engineer with over a decade of experience and 4+ years focused on flight-stack development for projects like PX4 and ArduPilot. He blends low-level embedded work—sensor drivers, CAN/CANFD/UAVCAN, IMU/GPS handling—with estimator improvements (notably EKF refactors in PX4) and simulation/build automation, having contributed to prominent open-source autopilot codebases. At CubePilot and previously as Chief Software Engineer at HexAero and 3DR, he has driven platform ports, gimbal/quadcopter control, and cross-timezone team collaborations for production and research deployments. Comfortable both as a hands-on developer and consultant, he brings pragmatic systems thinking to hard real-time problems and often surfaces subtle estimator and timing fixes that improve reliability in flight.
12 years of coding experience
6 years of employment as a software developer
Bachelor of Technology (B.Tech.), Instrumentation and Control Engineering, Bachelor of Technology (B.Tech.), Instrumentation and Control Engineering at Nirma University, Ahmedabad, Gujarat, India
UAVCAN is a lightweight protocol designed for reliable communication in aerospace and robotic applications via CAN bus.
Role in this project:
Embedded Systems Engineer / IoT Developer
Contributions:12 commits, 8 PRs, 2 comments in 4 years
Contributions summary:Siddharth primarily focused on low-level driver and protocol implementation for the UAVCAN communication protocol within the STM32 microcontroller environment. Their contributions included adding APIs to support Ardupilot's usage of UAVCAN, enabling or disabling IRQs for CAN interfaces, and supporting CANFD frame transmission and reception. Furthermore, they addressed issues related to memory usage and included padding bytes in CRC calculations for CANFD frames, optimizing memory utilization and frame handling.
Contributions:489 reviews, 1154 commits, 381 PRs in 7 years 11 months
Contributions summary:Siddharth's contributions primarily focused on low-level modifications and optimizations within the ArduPilot autopilot codebase. They addressed issues related to data type conversions, particularly concerning time conversions, across various hardware abstraction layers (HALs) like PX4, VRBRAIN, and Linux. The user also implemented features to support the use of a GPS module in the drone by implementing a method for parsing and converting the gps data. Furthermore, they added and modified core functionality to support CANFD frames.
arducopterauvdronerovuas
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial
Siddharth Purohit - Software Engineer at CubePilot