Skip to comments
This is the setup for my Tarot 6S 4108 KV:380 BLDC motor to be used like any other servo in ARC...
It is just MY PERSONAL setup and meant to get you started, please READ THE manual over at the official Odrive website!
https://docs.odriverobotics.com/
First you will need to install and configure your Odrive Software...
I am running Linux, please check the installation guide for Windows found at the official Odrive website if you are running Windows!
This will just be needed for the first time setup. After the setup you will use an Arduino connected to a Windows PC running ARC!
https://github.com/SwannSchilling/ODrive-for-ARC/blob/main/setup
You should see your BLDC motor moving, after being put to closed loop and receiving the odrv0.axis0.controller.pos_setpoint command...
Next you will have to upload this code to your Arduino Uno
https://github.com/SwannSchilling/ODrive-for-ARC/blob/main/ODriveArcArduinoTest.ino
In ARC just add a servo control to your project, and connect to the Arduino!
https://synthiam.com/Community/Tutorials/Connecting-Arduino-to-ARC-17526
The Arduino sketch will receive those servo positions and send them to the ODrive...
All non-power I/O is 3.3V output and 5V tolerant on input, on ODrive v3.3 and newer.
This tutorial is just meant to be a starting point, please mess around with my settings and share your experience, so we will get a better understanding on how this whole setup can be utilized!!

This is the setup for my Tarot 6S 4108 KV:380 BLDC motor to be used like any other servo in ARC...
It is just MY PERSONAL setup and meant to get you started, please READ THE manual over at the official Odrive website!
https://docs.odriverobotics.com/
First you will need to install and configure your Odrive Software...
I am running Linux, please check the installation guide for Windows found at the official Odrive website if you are running Windows!
This will just be needed for the first time setup. After the setup you will use an Arduino connected to a Windows PC running ARC!
https://github.com/SwannSchilling/ODrive-for-ARC/blob/main/setup
You should see your BLDC motor moving, after being put to closed loop and receiving the odrv0.axis0.controller.pos_setpoint command...
Next you will have to upload this code to your Arduino Uno
https://github.com/SwannSchilling/ODrive-for-ARC/blob/main/ODriveArcArduinoTest.ino
In ARC just add a servo control to your project, and connect to the Arduino!
https://synthiam.com/Community/Tutorials/Connecting-Arduino-to-ARC-17526
The Arduino sketch will receive those servo positions and send them to the ODrive...
All non-power I/O is 3.3V output and 5V tolerant on input, on ODrive v3.3 and newer.
This tutorial is just meant to be a starting point, please mess around with my settings and share your experience, so we will get a better understanding on how this whole setup can be utilized!!

By Mickey666Maus
— Last update
Other robots from Synthiam community

Jstarne1's Ladybug Lawn Mower 3D Designing The First 3D...
Hello All, I am sharing early images of one of my current projects that is actually meant to be released as a kit. This...

DJ's Jd Connects To Nest Thermostat
I put this little tutorial and robot together to show how you can connect your JD to a Nest Thermostat. It's neat...

DJ's Irobot Roomba Hack
DJ modifies an iRobot Roomba to be wirelessly controlled with the EZ-B. He also adds a webcam and voice recognition!...
I am about to do an assembly video of the gearbox and will make all those files available, if you are interested in building one for yourself!
Here that assembly video one more time...I will upload all those files asap, if you guys want to give it a try!!!
This is very very good and also understandable video of PID control, if you are setting up your ODrive the
.controller.config.pos_gain = 20.0 [(turn/s) / turn]
.controller.config.vel_gain = 0.16 [Nm/(turn/s)]
.controller.config.vel_integrator_gain = 0.32 [Nm/((turn/s) * s)]
are the values that you would want to tweak, when setting up your motor...the above video explains what they mean, and how they are used.
Good you are having the MJBots dev kit, I will definetely also get one, to see the differences!
James B has so much stuff out there that I might have missed a few, but his and Skyentifics are really awesome channels...
This is the MJ Dev Kit.
https://www.prusaprinters.org/prints/53681-cycloidal-drive-3d-printed-gearbox-401
Did you ever make a video of the gearbox in action? I am curious what the vibrations are like at higher speeds.
Code:
Should be...
Code:
also, that code will only move one osdrive and no pwm servos. If you simply add an IF condition to make d0 the o drive, the rest could still be pwm servos.
@Perry_S this is a clip of the gearbox being controlled with ARC! I will make a torque, speed and precision test soon...
But since the firmware update of the Drive, the whole code would need to be updated anyways...
So I guess if there are a bunch of people being interested, we could think about doing so?
I think at the moment there are a few options for BLDC control being discussed here in the forum...
I think @DJSures would take a look in case there are a few requests?
These are the changes
https://docs.odriverobotics.com/migration
But you might want to go ahead and setup your motors once again so everything runs as smooth as possible...
I revisited my settings too and started from scratch!
Oh also I found that GUI now, that a nice thing to have...
Thanks for pointing it out to me, I guess they are not advertising it too much since it is still in beta!
https://discourse.odriverobotics.com/t/useful-cad-resources/257/14