Yet another hoverboard to onewheel project

@Vfear here’s the github of the bipropellant firmware, updated to work as a onewheel, the pushback needs to be changed to be fully safe, it oscillates now.

github → svenhaitjema/bipropellant_onewheel

@Zuen VESC 5.3 New Balance Tuning Features for DIY Onewheels - YouTube interesting
GitHub - surfdado/bldc at dev_atr_littlefocer

@Vfear that looks good, checking it out now.

Since my forum status is upgraded i can now finally post a picture of my onewheel :slight_smile:

7 Likes

@Zuen Cool

I’ve updated te code to disable pushback, and fix the cruise control.

For some reason, it still does not want to maintain speed fully, but the effect is quite apparent, especially when carving.

@Zuen how it is going? Any news ?

We’ll i’ve been occupied a bit shredding :stuck_out_tongue:

But, @Vfear has managed to run the firmware on his setup :slight_smile: We’ve been shortly discussing an arduino script that can detect sideboard baudrate and packet length.

Up next for me is fixing the cruisecontrol to be more like a onewheel :slight_smile:

1 Like

Hey @rimvis91, I was reading back on the original conversation again. If you have the hoverboard parts ready, then you could flash my repo and it will work with the original sideboard firmware. This code needs to be merged with the FOC repo, in order to get the balance control + FOC. Currently the control is sinewave 3rd harmonic (with the option to enable phase advance).

You will be able to tweak things like speed response to angle etc, no need to flash the original sideboard for those features :wink:

Hello been following this since reddit post back in September. Is there a link you can share to the github? The code you guys have been working on

1 Like

Hi @condorrob,

Yes there are a couple of repositories that could work for you depending on what your hardware setup is. If you have an original sideboard and the non split hoverboard motherboard (so 2 esc on 1 pcb) you could try the changes i made to the bipropellant repo, you can find them here:

If you have flashed sideboards, you could take the FOC code and take the changes i made to the bipropellant branch to add in the onewheel logic.

If you are proficient with coding, it would really help if the FOC repo code gets updated to also support the original sideboards :wink: Since not all sideboards can be flashed with new code, this option would allow most people to use the FOC repo with minimal risk and effort ( i only figured out my sideboards werent flashable until cleared the flash, so now they are 2 pcb bricks)

Nice, Yes I have my hoverboard parts ready and now I am trying to somehow cope with the overwhelming capacity of information. I don’t know where to start… I see that you posted your repo, Thank you for that, now I have to understand how to flash the mainboard. I can’t post the photo of my onewheel here directly, but here it is Album — Postimages

1 Like

Hi @rimvis91, nice build! I’ll update the readme of the repo. Do you have an st-linkv2 or Jlink programmer?

If so, a good start is installing vscode + platformIO plugin, then clone the repo and open in platformio.

Then depending on the sideboard you have, you might need to update the baudrate and packet length in config.h. Then build hoverboard_6word and use either platformIO or stm32 st-link utility to flash the firmware.bin file. I can also post mine, but depending on how everything is wired up this might not work.

The wiki of the original repo has some useful pages:

The pinout of the mainboard can also be found in the original repo:

1 Like

I wish I could help with the coding but Unfortunately, I know Zero about coding. I think I am going to have to wait for detailed instructions. I have a one-wheel hoverboard now and it is running I traded someone for this board so I did not construct it. here is a video going over my board About My HoverWheel - YouTube Idk if you can tell what I need based on my like do I have to get an ST link and a J link? Even though I am unable to help with code I can make things I have a CNC, Co2 laser and a good size filament printer. I would love to make this board operate more like a one-wheel then I will design a plywood case for it like this https://www.youtube.
com/watch?v=691zY2msFBs. If someone wants to hold my hand through this I will make them footpads or something like custom plugs for the power ports.

Thank you very much for such concentrated information, I have STlink-V2 and I will try to flash the mainboard :slight_smile:

Nice onewheel :slight_smile: Looking at your video, you have two options:

  • If you only want to flash the main board, and not the gyroboard (some cannot be flashed, does your one have an stm32 or GD32?), you would need an st-link v2 programmer, and my version of the bipropellant repo.

  • If you are willing to flash the sideboards you could wait for a bit to use my FOC version (not on github yet).

Currently the bipropellant one, works really well at lower speed, the board feels quite comparable to a onewheel pint when turning/carving. The big downside is that cruise control will not work neatly for some reason, so the nose sits a bit down when riding ‘fast’. Fast is quoted here, because my top speed was 17 km/h, and then the board suddenly fell like a plank on a ball, and I nose-dived badly. Considering that feeling, I assume that was the max speed motor could run at, so it lost all balancing capabilities.

The FOC firmware in torque mode make the motors run very silent. But here the top speed seems to be limited also, and getting the PID under control is a bit more complicated, so that is not finished yet.

With the FOC firmware, the motor(s) make exactly the same sound as a onewheel XR, it’s very noticable when changing driving direction, I can’t really describe the sound other than small current clicks that go through the motor. But i’m confident that this is the control mode used in the XR. I will need to experiment with the field weakening, to see if the motor can be sped up while maintaining balance capabilities.

So long story short: the bipropellant_onewheel repo on my github is best for now, and you can always switch to the FOC code later (under the assumption that your sideboard is flashable). The limited max speed issue, is not really an issue considering it’s still faster than the original hoverboard firmware :wink:

Thank you I now completely understand. I can not wait until the FOC code is available but until then I will be going with just the motherboard which sounds like a big improvement. Do you notice more range after flashing the motherboard? Also, I was serious about making parts if there is a need/want

Thank you for the parts offer :wink: I would like to know how those nice footpads are made, mine are way less nice :stuck_out_tongue:

There was no increase in range, but I think that is partially because the firmware uses the commutation drive method at lower speeds. I use a 6 Ah battery, that gives about 10 km range, with an 11 inch tyre on 1.4 bar.

Am I right to assume your setup has split the sideboard TX cable to both the motherboard sideboard RX inputs? And also crossed the phase and hall wires on 1 of the motors? If so, if you undo the phase & hall wire crossing. I can just send you the firmware.bin file, so you don’t have to setup a development environment.

In that case you really only need a st-link v2 programmer and the st-link utility :wink:

I have GD32 sideboard. My wiring is exactly as you described and I am ready to undo the changes :smiley: … So, maybe you could send me your firmware.bin aswell ?

Hi Rimvis,

Yes, given that your sideboard communication protocol is the same as mine (6 word length, 26315 baud) that should work :slight_smile:

I’ll post the firmware.bin here this evening.

Here’s the firmware, let me know if it works out :wink:
firmware.bin (49.9 KB)

Also something very interresting from surfdado: