Using the boards from the hoverboard in autopilot.

I want to share how you can use control boards from hoverboards.

The full description of the flashing is here(GitHub)

These boards can be configured to be controlled using a PWM signal. Each such board controls two motor wheels. The control takes place using two channels, one channel sets the direction (forward to backward), and the second controls the rotation. Previously I used Traxxas, at 16 scale, very small for such a device.
I also made the four-wheel control using the ESP-NOW protocol.

Example of operation from the control panel (video in Russian)
https://youtu.be/HOnlwuVZNUo&t=54s

4 Likes

Interesting, have you implemented with ArduPilot ( As the title suggest) or its just RC at the moment ?

I use the ArduRover firmware. Since the board is controlled by PWM, 2 channels as a normal ESC, and one channel as a servo(for turning). At the moment, there is no 4WD control option in Ardupilot, so that’s the only way.
In principle, you can connect both boards in parallel, it will be like a regular rover.

With this type of configuration we generally use SKID STEERING
https://ardupilot.org/rover/docs/rover-motor-and-servo-connections.html#skid-steering

It is possible and so in principle, the meaning is the same.It is possible and so in principle, the meaning is the same. Only in SKEED there is one channel for each motor and in this board there is one channel for two motors.

Oh, btw there is a problem with the video, it cannot be read on this site, I think you have to set the share to other sites

Apparently the default settings, I will change.

Yep , works now , thanks

you will need to enable tank steering in the controller firmware to get independant control of the motors in order to use with ardupilot or you will get strange mixing results using the motor controllers built in mixer.

just set the left 2 motors as left motor output and the right 2 motors as right motor output on ardupilot to run all 4 motors together.

Both boards are flashed and have had some basic testing to make sure they move, need to get some hardware tomorrow to bolt it all together.

to get it to work properly you need to enable tank mode and set steering coefficient to 0.

I have done some initial testing and reading, basically the stock controllers have some issues, primarily the PWM and PPM inputs are extremely unstable, As soon as the motors have any speed or load on them the inputs start jumping around and the motors start to get jerky. the way most are getting around it is to use a separate arduino to read the receiver then send the data in serial format to the controllers so its much more resilient to noise.

from what i can tell they support 2 types of serial data, one is the native serial interface that has its own API, the other is FLYSKY IBUS, IBUS is like SBUS in a lot of ways but its a much simpler interface running non inverted at 115200. unfortunatly the pixhawk doesnt support native IBUS output so im looking for a SBUS to IBUS converter so we can have a digital link from pixhawk to controller.

I have found a PPM to IBUS converter so I should be able to test using a SBUS>PPM converter plugged into the PPM>IBUS converter to see if it works as expected then il look at combining them to a single arduino SBUS>IBUS adapter.

in config.h of the motor controllers you can set what RC channels they are listening to, so if you set board 2 to channels 3 and 4 instead of 1 and 2 then you can drive all 4 motors independently over a single wire.

Have you completed the calibration, and most importantly have you made an RC filter? The most important thing about PWM is the filter at the input, otherwise there will be no stable operation, and the higher the pwm value, the more unstable it is.

That would be great, but there is no native support for four-wheel control in the autopilot settings (

I have some capacitors ordered that should be here in a couple of days so I can test pwm input again but I would still prefer an all digital link.

I added the pair of 100nf capacitors to the inputs and PWM input is working without stuttering now, I found some from an old project.

Maybe I’ll write a Wiki for these boards later. They are pretty good, and with motors you can buy for a little money.

P.S. Now I have projects on BLDC motors from cars and an inverter from Toyota Prius. Therefore , there is no time )

1 Like

Im going to change the tyres on mine at somepoint.

I have wheels with cameras, I will not change them, they are 10 inches. I ordered the connections for the motor, those that are not very convenient for them, I will leave those that are from the hall sensors

I usually use MT60 connectors on phase wires.

I went to take it out for a test and a wire broke loose and shorted out one of the mainboards unfortunately, but I have another board coming. I can pick up complete boards with dead batteries for £20, makes me want to get a couple more and make it 6WD.

first test is just one pair of motors, running off a 13s 20ah ebike battery.

3 Likes