New ODrive Tools

I have been working with ODrive for quite some time now and have developed a few things for ODrive that might also be useful for others:

New Firmware for 3.5

  • Based on 0.5.1
  • Better oscilloscope functionality (data compression, multiple values, multiple axes, custom trigger, faster data retrieval)
  • More data exposed to debug Encoder Index issues (to detect encoder noise/slippage)
  • Optional error suppression with CUI encoders
  • ODrivetool works with ODrive via UART and custom UART options
  • Optional reading of incremental encoders via Fibre when ODrive uses SPI encoders
  • Some minor UART communication bugfixes in Firmware

C++ Library to communicate with ODrive via USB/UART

  • Can read and write any values
  • Can call any function
  • Works with any firmware because it automatically downloads the json interface
  • Not tested with ODrive S1 and Pro yet, but should work theoretically via USB
  • Quite robust error checking, works when there is data noise
  • Very small, should be easy to include in other projects

Native application to visualize ODrive data

  • Polls any data and displays it in a graphical user interface
  • Plotting over long time periods. Plots are done with GitHub - epezent/implot: Immediate Mode Plotting
  • Sets any ODrive values via UI
  • Displays oscilloscope data
  • Indirect communication with ODrive. One application polls the ODrive data and another connects via TCP and visualizes it. This way no direct USB/UART connection between ODrive and visualizer is required.
  • Also plots other values retrieved by the polling application. Or computed ones. This is useful when you have other sensors or want to debug control algorithms.
  • Plots are quite scalable: I monitor about 300 variables for my project and it’s still very fast and the UI is not overwhelming,
  • Easy to add graphical visualizations of the joint states or video streams and keep it all synchronized.
  • Also should work with ODrive S1 and Pro, but I havn’t tried it yet.
  • No JS;)

Is anyone interested in this stuff? If so, I can make it Open Source.


We started experimenting with ODrives (Pro), The application can run on what platform ?

Right now the application that connects to the ODrive runs on Linux and the visualizer on Windows. But I don’t use any platform dependent libraries, so both should work on Windows and Linux

Looking forward to your open-source release.