awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
odriverobotics avatar

odriverobotics/ODrive

0
View on GitHub↗
3,668 stars·1,723 forks·C++·MIT·5 viewsodriverobotics.com↗

ODrive

ODrive is a hardware and software system for controlling brushless DC motors, providing firmware and control algorithms for precise position and velocity regulation. It implements a field-oriented control system to achieve efficient motion for permanent magnet synchronous motors and high-torque robotic actuators.

The project includes a robotics actuator interface consisting of command line and graphical toolsets. These utilities are used for configuring motor parameters and monitoring hardware state in real time.

The system covers high-performance motor control for robotics and automation, focusing on position, velocity, and torque. It incorporates real-time hardware monitoring and system status indicators that use colored light signals to communicate operational and error states.

Features

  • Field-Oriented Control - Implements a high-performance field-oriented control system for precise torque and energy-efficient motor operation.
  • BLDC Motor Controllers - Ships a high-performance hardware and software system for precise brushless DC motor control.
  • Motor Control - Provides high-performance control over position, velocity, and torque for robotics and automation applications.
  • Motor Control Hardware - Provides embedded firmware that manages current loops and motion profiles for high-torque robotic actuators.
  • Cascaded Control Loops - Implements cascaded PID loops to ensure high-speed current regulation within the slower velocity control loop.
  • Power Modulation - Uses PWM-based voltage modulation to drive power MOSFETs for precise control of motor winding currents.
  • Robotics and Control - Implements advanced control algorithms for smooth and accurate movement of robotic joints and actuators.
  • Real-Time Hardware Interrupts - Uses high-priority hardware interrupts to ensure consistent and deterministic sampling of motor phase currents.
  • Configuration Utilities - Provides graphical and command-line utilities for configuring motor parameters and hardware interfaces.
  • Brushless Motor Tuning - Enables setup and tuning of brushless motor hardware parameters through dedicated configuration interfaces.
  • Actuator Configuration Interfaces - Includes a command-line and graphical toolset for configuring motor parameters and monitoring hardware state.
  • Real-Time Target Monitoring - Streams live telemetry and hardware state data from the motor driver for real-time observation.
  • CAN Bus Interfaces - Provides CAN bus interfaces for transmitting control messages and telemetry between motor controllers.
  • State Machine Logic - Employs state-machine logic to manage transitions between idle, closed-loop, and error states.

Star history

Star history chart for odriverobotics/odriveStar history chart for odriverobotics/odrive

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to ODrive

Similar open-source projects, ranked by how many features they share with ODrive.
  • pcrnjak/parol6-desktop-robot-armPCrnjak avatar

    PCrnjak/PAROL6-Desktop-robot-arm

    2,577View on GitHub↗

    This project provides a complete set of design files and hardware specifications for a 3D-printable industrial-style robot arm. The system includes a CAN bus robot controller for managing stepper motors and sensors, a kinematics engine for calculating joint angles and poses, and a UDP-based Python API for sending motion commands and monitoring telemetry. The system features a force-controlled robotic gripper that utilizes field-oriented control on stepper motors to enable compliant grasping and precise force sensing. It also includes a 3D position visualization tool for real-time telemetry tr

    HTMLailerobotparol6
    View on GitHub↗2,577
  • hybridgroup/gobothybridgroup avatar

    hybridgroup/gobot

    9,425View on GitHub↗

    Gobot is a robotics framework for the Go programming language designed for developing robotics, drones, and IoT applications. It provides a hardware abstraction layer with standardized drivers to interact with GPIO, I2C, SPI, and PWM interfaces across various single-board computers and microcontrollers. The framework functions as an IoT device orchestrator and BLE device manager, enabling the coordination of multiple sensors, actuators, and Bluetooth Low Energy peripherals. It includes specialized interfaces for drone control, allowing for the management of flight maneuvers and video streams

    Goarduinobeaglebonebeaglebone-black
    View on GitHub↗9,425
  • rwaldron/johnny-fiverwaldron avatar

    rwaldron/johnny-five

    13,401View on GitHub↗

    Johnny-Five is a JavaScript robotics framework and microcontroller hardware interface designed for programming robots and IoT devices. It provides a standardized library for managing pins, motors, and displays across various microcontroller platforms, allowing developers to control sensors and actuators using a consistent JavaScript API. The framework is distinguished by its use of a plugin-based hardware abstraction system, which enables communication with diverse hardware platforms and protocols. It supports real-time hardware manipulation and debugging through a read-eval-print loop that a

    JavaScript1-wireadcarduino
    View on GitHub↗13,401
  • apache/nuttxapache avatar

    apache/nuttx

    3,912View on GitHub↗

    NuttX is a POSIX-compliant real-time operating system designed for microcontrollers ranging from 8-bit to 64-bit architectures. It provides a deterministic execution environment with a real-time task scheduler and a POSIX embedded kernel to ensure portable code execution across diverse hardware targets. The project distinguishes itself through a comprehensive hardware abstraction layer that provides standardized drivers for I2C, SPI, CAN, and USB across various semiconductor chipsets. It also features an embedded networking stack supporting TCP, UDP, IPv4, and IPv6, alongside industrial proto

    Cembeddedmcumicrocontroller
    View on GitHub↗3,912
See all 30 alternatives to ODrive→

Frequently asked questions

What does odriverobotics/odrive do?

ODrive is a hardware and software system for controlling brushless DC motors, providing firmware and control algorithms for precise position and velocity regulation. It implements a field-oriented control system to achieve efficient motion for permanent magnet synchronous motors and high-torque robotic actuators.

What are the main features of odriverobotics/odrive?

The main features of odriverobotics/odrive are: Field-Oriented Control, BLDC Motor Controllers, Motor Control, Motor Control Hardware, Cascaded Control Loops, Power Modulation, Robotics and Control, Real-Time Hardware Interrupts.

What are some open-source alternatives to odriverobotics/odrive?

Open-source alternatives to odriverobotics/odrive include: pcrnjak/parol6-desktop-robot-arm — This project provides a complete set of design files and hardware specifications for a 3D-printable industrial-style… hybridgroup/gobot — Gobot is a robotics framework for the Go programming language designed for developing robotics, drones, and IoT… rwaldron/johnny-five — Johnny-Five is a JavaScript robotics framework and microcontroller hardware interface designed for programming robots… apache/nuttx — NuttX is a POSIX-compliant real-time operating system designed for microcontrollers ranging from 8-bit to 64-bit… peng-zhihui/helloword-keyboard — HelloWord-Keyboard is a modular keyboard hardware framework and a system for integrating interchangeable interaction… peng-zhihui/dummy-robot — Dummy-Robot is a software platform designed for the real-time teleoperation of desktop robotic arms. It functions as a…