Using the boards from the hoverboard in autopilot.

No its just pla plus, it should be ok offroad but it will probably come apart on road.

Cool, they are so cheap for what your getting. I was paying between £20-30 for them and your basically getting, 2 motors, 2 motor controllers, wheels, tyres and a chassis.

I wanted to go down the vesc route so i could link them all together with can for traction control but they are just too expensive now

1 Like

And a battery sometimes

Not very often i would say 90% of dead boards just have faulty batteries.

Yes, I bought the VESCs for 50€ on amazon or ebay. Now they are 80€+ on amazon and 100€+ on ebay. This gets really expensive if you want to build a 4wd or even a 6wd rover.

1 Like

exactly, i got 3 boards for the price on a single VESC.

I keep looking at the hall sensor example code to see if i can get the encoders working on the wheels, my understanding is that using the example code from Digikey to read the hall sensors we just need to then use some more code to output an emulated quadrature encoded signal.

this might work with modifications.

I have done the modifications, it compiles on a stm32f401 but i havent tested it yet.

I copy and pasted a dual motor version together, it compiles but i havent tested it further, I have ran out of stm boards.

1 Like

What are you guys looking for when you purchase them to make sure you get boards that will work with the code or is it just a guess? Are you purchasing these from ebay or off local sources?

you need a classic hoverboard that looks like this, avoid anything with flashing lights. generally any with the flower or star wheels are ok. best place to get them is local, they are really heavy so shipping is generally expensive.

Avoid it if there are any screws missing, it usually means someone has already been inside it.


these could be very interesting.

2 Likes

That is really cool.

Are mecanum wheels supported in Ardurover? I can see some applications for these in fine positioning.

Also, is hall sensor odometry insufficient for your needs?

I belive it does work, you use the X frame Omni configuration

I dont really need it, I am using the rover as a test bed for my boat but all the code is there to make it work,

I have been upgrading my rover, I finally got a Matek H743 slim to replace the omnibus f4 pro that was lacking in memory, IO and serial ports.

I also got a Matek 150A current and voltage sensor so i can finally get battery data from the 13s battery.

I have 4 wheels now and im just waiting for the last 2.


Its going to be tight.

3 Likes

The wheels just fit on with milimeters to spare.


This is really close. I would try it out very carefully at first. Any amount of flex and it will make an interesting sound…

I can move the front and rear boards out a little of i need to but it means drilling it all again. Il probably have to anyway since i suspect its going to make a nasty noise the first time a stone gets stuck in it.

I would like to try and get a rubber belt for down the center of the wheels for when i need to move it over pavement.

something like this but round rather than flat

Got all the wheels fitted, turns out one of the boards is slightly off so one pair of wheels are touching so im going to have to redrill, if im doing that then I might as well space both boards out more.

I cant wait to try it on sand.


3 Likes

I pushed both front and rear subframes out as far as i could so there is plenfy of clearance now and as an added bonus because of the larger wheels and getting pushed out they are now pushed out futher than the chassis

4 Likes

I have added a bank of relays for switching off the motor controllers, I tried connecting the buttons together but it didn’t work, so each controller has to get it’s own relay since the controller button had battery voltage running through it. Pressing the toggle relay button toggles the motors off of on, I can also switch if from my transmitter. I just set it to to have a 1 Second down delay to make sure to hold it long enough that there is no way one controller can get out of sync of the others.

im working on some kind of feed back so it can tell of they are off or on. I will probably just connect one of the voltage rails of one of the controllers to the button input so it’s activated when the motor controller is powered on.

I want to solar power it and turning off the controllers halved it’s idle power consumption.

3 Likes

With most of the work done by @Yuri_Rage as im crap with lua, I have a working motor control script for controlling the power to the controllers. By looking for voltage on the boards 3.3v rail using the ardupilot button input and using that to determine if the motor controller is in the state required, if not the power button to the board is switched for 2 seconds using ardupilots relay output.

im only connected to the first board for feedback but in all my testing the boards have never gotten out of sync. In theory you could run one script per controller to get feedback on all of them separately.

Currently, the script powers off the motors when in hold mode and back on when in any other mode.

local RUN_INTERVAL_MS     = 200
local TOGGLE_MS           = 2000
local RELAY_NUM           = 0
local BUTTON_ACTIVE_STATE = true -- the 'pressed' state of the button
local BUTTON_NUMBER       = 1 -- the button number we want to read, as defined in AP_Button
local ROVER_MODE_HOLD     = 4
local MAV_SEVERITY_INFO   = 6

local messages = { [true] = 'ON', [false] = 'OFF' }
local desired_motor_state = false

function wait_for_state_change()
    local motor_state = button:get_button_state(BUTTON_NUMBER) == BUTTON_ACTIVE_STATE
    if motor_state ~= desired_motor_state then return wait_for_state_change, RUN_INTERVAL_MS end
    return update, RUN_INTERVAL_MS
end

function turn_off()
    relay:off(RELAY_NUM)
    return wait_for_state_change, RUN_INTERVAL_MS
end

function update()
    local mode = vehicle:get_mode()
    local motor_state = button:get_button_state(BUTTON_NUMBER) == BUTTON_ACTIVE_STATE

    if motor_state == (mode == ROVER_MODE_HOLD) then
        desired_motor_state = not motor_state
        gcs:send_text(MAV_SEVERITY_INFO, ('Toggling motor %s'):format(messages[desired_motor_state]))
        relay:on(RELAY_NUM)
        return turn_off, TOGGLE_MS
    end

    return update, RUN_INTERVAL_MS
end

gcs:send_text(MAV_SEVERITY_INFO, 'Motor toggle script active')

return update()

motor controller - YouTube.

These look very interesting as a bolt on suspension setup for hoverboard motors. They are very tempting …

https://www.aliexpress.com/item/1005005288589269.html

1 Like

My rover just spend its first night outside. Its got 2x 100w solar panels on top of it and a mppt charge controller. The plan os to leave it in the garden for a few days to make sure the controls stay alive then its getting take to the beach to do laps if all goes well.

I have added one of the espeasy home automation controllers so i can get alerts to my phone of it detects someone messing with it. As its got an omni dorectional radar and pir.

its been out for 9 days now in the sun and rain, so far the little gps compass module has failed and the VL53l1x range finder has failed both due to rain ingress. other than those 2 failures and some video issues using Andruav, (thanks to @MHefny we narrowed it down to a problem with the video encoder in Samsung phones). all has been working well.

It’s setup so its all running over the onboard phones LTE connection, RC is sent by using mission planner joystick interface. To connect my taranis radio to mission planner i have been using one of these wireless trainer dongles. it gives channel 1-8 as analogue inputs and 9-16 as switches and supports failsafe so your not tethered to the computer. I have it programmed so i can switch between the frsky module or just change profile on opentx and connect over the backup UHF link.

Took it for its first drive, I had to drive it about 1/4 of a mile down a quiet road to the park do a lap of the park and come back. video was flawless the whole way there, It got some strange looks, A few people stopped and were taking photos and I had to pull over to the side of the road to let some cars pass. Unfortunately, the USB port I was using for charging just couldn’t supply enough power and the phone ran out just as I was leaving the park. so i had to walk to get it and drive it back LOS. but thats a minor fix.

I have replaced the compass and recalibrated everything so it should be ready for running in auto mode. Once I’m confident it can navigate im going to set it to do some laps of the park. The rover only uses around 40w when running on flat terrain according to the power sensor. so with 200w of solar onboard it should be able to run non stop as long as its daylight. The only thing i have to finish is a lua script that will check the battery voltage before restarting the mission. That way it will do a complete lap before stopping to charge rather than just stopping randomly.

I was given some information from someone but I cant find their post, They confirmed that you can just connect any 2 of the 3 hall sensor wires to ardupilot as a wheel encoder and it just works. The line is a little jaggy when you look at it on mission planner but the total count still works so it should work for navigation.

4 Likes