Hoverboard wheels + ODrive board + Arduino/Pi for ROBOT

i am working on something very close.
you can order 48v odrive boards. at least that’s what i did and should receive them soon.
one key question is: will i need some extra encoders or will the support of hall effect sensor (already available in the hoverboard motors) provide enough precision for my usecase of an avg…

we’ll see

1 Like

I am in the same position as you guys. I just need a confirmation that a hall effect sensor will work?

you running pi or arduino ?

Hi Trash pilot, You and I are in the same boat. I have. A few projects that would work great on this board. I just need to confirm it was tested on hallsensore commutation.

@trashpilot and @alexisdal and @mac_patel which hoverboard motors are you using? I got this one: https://gotrax.com/shop/hoverboards/hoverfly-eco/

no clue. It says “gyroboard” on the – now disassembled – product. I bought it in france in a nearby store.
I can tell the wheel’s diameter is about 168mm diameter (6.5 inches?). All I know is that it’s exactly like oskar discribed in his excellent overboard motor teardown post (hoverarm project).
For the same price of delivered hoverboard motors, i had an entire hoverboard with a battery in it. For that money i was just happy to take the risk of ending up with a useless brick :slight_smile:

From Oskar:

[oDrive] can [read hull effect sensors], but that firmware isn’t generally released yet, I have to clean it up and document it. But yes it does work and we used it for the shopping cart demo.

Excellent… anyone want some cash to help me get something coded up ?

1 Like

Let’s definitely collaborate. See my DM

1 Like

how did you go ? I have 2 boards on backorder.

There is now a writeup describing how to get halls working. The feature will be available in the next release, and you can try it on devel if you are really keen.

Great, I looked for this firmware devel but I could not find it, could you put the link here?

OK guys, i have my 2 new whiz bang 48v ODrives and have connected two hoverboard wheels as per photos. I managed to get through software install on mac and can recognise the ODRive.

Wheels turn about 1mm then stop , both odrv0 and odrv1. once they have moved once they dont move again until i disconnect usb port and reconnect.

results here

In [16]: odrv0.vbus_voltage
Out[16]: 40.68764877319336

In [10]: hex(odrv0.axis1.error)
Out[10]: ‘0x41’

In [11]: hex(odrv0.axis0.error)
Out[11]: ‘0x41’

i have not connected hall sensors and am just connected with the three wires on both motors. Yellow cable in middle as seen on all your demos. i assume this is all required for test to complete ? i dont know how many magnets there are in the wheels so i have not changed any settings during setup. any advice really appreciated.

Hi Trashpilot, are you using the Sensorless mode? Hall effect sensors or encoders are required otherwise. You will definitely need to know the pole count of the motors also.

Check out https://docs.odriverobotics.com/troubleshooting

Just wanna give an update: we released a new version of the firmware, and with that comes support for hall effect feedback, hoverboard motors, and pwm input: they were not officially supported before.
You can check the hoverboard guide in the documentation.
You will need to upgrade your firmware to fw-v0.4.2, instructions here.


excellent these updates to the firmware will be really helpful for us all. Excited about these features once i recover device access and am up an running…

1 Like

I have modified by connecting hall sensors… im guessing i have to open the motors to count the poles?

You can just look at the hall sensors. If they each do N complete cycles per revolution, then you have N pole pairs.

Excellent i will give this a go when i can get wheels to do a full revolution on their own… havent seen them do more than about half a rotation… Assume this is because i muffed the setup. I get stuck in the setup process you have documented on shopping trolley on this line.


it fails with
AttributeError Traceback (most recent call last)
/usr/local/lib/python3.7/site-packages/fibre/shell.py in ()
----> 1 odrv0.axis0.encoder.config.bandwidth = 100

/usr/local/lib/python3.7/site-packages/fibre/remote_object.py in setattr(self, name, value)
218 object.getattribute(self, “dict”)[name] = value
219 else:
–> 220 raise AttributeError(“Attribute {} not found”.format(name))
222 def _tear_down(self):

AttributeError: Attribute bandwidth not found

So i bought two odrives, i went to upgrade firmware on the first one but it failed and I can’t access it until i do the firmware update - have to buy ST link for that so hesitant to try it on this one… :slight_smile: