The remote-controlled ‘wijkbot’/‘hoodbot’ cart – DIY recipe
Ingredients:
One “1st generation” hoverboard, 6,5 inch, 36V. (30-60€ used, ~200€ new)
Hoverboards can be found second-hand for around 30-60€. For this project you’ll need a 1st generation hoverboard. It’s very difficult to tell from the outside if you have the right device, because hoverboards are sold by different names and brands. Even hoverboards with the same model name have been found to have different internals! When disassembled, the 1st generation hoverboards have one large control printed circuit board (PCB) with tapered edges (see the photo above), and two small rectangular sensor PCBs on the sides. If your hoverboard doesn’t have such a large PCB inside, you can still use this hoverboard for this project, but you’ll have to buy the 1st generation control PCB separately (for example from: https://www.aliexpress.com/item/1005004617673725.html )
RC controller and receiver
We’ve been using Flysky FS i6s or FS i6 controllers and FS ia6b receivers (a set ca. 60€ new, AliExpress), which are very reliable. A much cheaper option, such as Hotrc DS-600 (a set ca. 20€ new AliExpress) might work well as well (we’ll test it soon).
2x swivel wheels, 120mm diameter, 150mm total height
18mm plywood
- One board 60cm x 60cm
- Two small plates matching the size of the plates of the swivel wheels (typically 8cm x 10cm)
4x blocks of wood 8cm x 6cm x 4,5cm, can be cut from standard 6cm x 4,5cm beams
Screws:
- 20x ~4cm screws and matching washers
- 12x ~0,6cm screws
ST-link v2 USB programmer
Female jumper wires
4-pin male pin header 2.54 mm
Optionally 3mm perspex or plywood for a laser-cut enclosure for the electronics
Tools:
- Electric drill/driver
- Glue gun
- Soldering iron and -tin
- Heat shrink tubes or electrical tape
- Stanley knife and/or wire stripper
- A windows PC
- Optional: access to a laser cutter
Skills:
- Soldering
- Basic familiarity with electronics
- Basic familiarity with programming
- All-round basic hands-on skills
Steps:
Phase I – hacking the hoverboard
- Make sure you have sufficient space to work on this project, work in an organized way, be careful when working with electronics, and avoid any risk of making a short circuit. The Li-Ion battery of a hoverboard may catch fire if short-circuited. Phase I. of this recipe is based on source materials provided on https://github.com/EFeru/hoverboard-firmware-hack-FOC. For further reference seek additional information there.
- Before you start, fully charge the hoverboard and disconnect the charger.
- The following steps 3-11 are shown in this video .
- Remove the top and bottom shell of the hoverboard (take out all the screws at the bottom)
- Disconnect the battery (yellow plug).
- Make a note/photo of the places on the PCB where the power button and charging port are connected.
- Disconnect and remove sensor boards, lights, power- and charging switches and any other cables attached to the shell.
- Remove the large PCB by removing all screws that hold it in place.
- Solder the jumper cables to the PCB.
- Install the ST-Link software (it only works on a Windows PC) https://www.st.com/en/development-tools/stm32cubeprog.html .
You can also use https://www.st.com/en/development-tools/stsw-link004.html for which you need to follow slightly different steps than in the above video, described in detail here: https://github.com/EFeru/hoverboard-firmware-hack-FOC/wiki/How-to-Unlock-MCU-Flash . - Connect the ST-Link programmer to the PCB.
- Unlock the PCB using the ST-Link software.
- Solder a jumper cable to the wire labelled PB11/RX/SDA in the below image (typically green). Make sure you isolate the connection with electrical tape or heat shrink tube
- Assemble the PCB back on the hoverboard chassis.
- Install VSCode from https://code.visualstudio.com/download and Platformio from https://platformio.org (both work on PCs and Macs).
- Download the hacked hoverboard firmware from https://github.com/EFeru/hoverboard-firmware-hack-FOC .
- open the downloaded folder in Vscode.
- Uncomment VARIANT_IBUS if you’re using a Flysky RC controller, or variant VARIANT_PWM if you’re using Hotrc DS-600 or a similar controller not supporting IBUS.
- Before uploading the hacked firmware, make sure that the hoverboard is firmly placed on an elevated object in such a way that the wheels can freely spin, and that the hoverboard can’t easily fall off.
- Connect the battery and power button to the PCB. Connect the ST-Link programmer as before, but DO NOT connect the 3V3 cable to the programmer this time (and never when the battery is connected to the PCB).
- Press and hold the power button of the hoverboard, and press the ‘PlatformIO:Upload’ button (bottom left in vscode) to build and upload the firmware.
- Connect the RC receiver to the PCB by using the GND and 3v3 cables from the programming port (jumper cables that were earlier connected to the ST-link programmer), and the PB11 cable. In the image below PB11 is the white cable, 3v3 red, GND black.
- Turn on the RC remote.
- Turn on the Hoverboard. With luck, the RC remote stick should now control the wheels of the hoverboard. Move the stick gently to check if it works.
- If you hear repeating beeping, the hoverboard doesn’t receive the signal from the remote. Check if the cables are well connected, check if the light on the RC transmitter is on, make sure that RC receiver and controller are paired (consult the RC controller manual), you can also try to use the PB10 connection instead of the PB11 (on some PCBs they are swapped).
- If the RC control works, you can proceed to assemble the entire cart.
Phase II – cart assembly
- Disconnect the battery.
- Secure all the jumper cable connections with hot glue, bundle cables together (e.g. using tie-wraps or electrical tape).
- Attach the four wooden blocks to the round openings in the aluminium chassis, as indicated in the picture below. Use the 4cm screws with washers to screw the blocks to the chassis from below. Pre-drill the holes before screwing.
- Optionally laser cut elements from the attached file from 3mm perspex or plywood, and assemble an enclosure as in the image above. Fix the elements to the wooden blocks using the small screws. Optionally glue the edges of the elements together using hot glue or material-specific glue. Different hoverboard models may have slightly different dimensions and some small adjustments may be required for the enclosure to fit on your model.
- Attach the power button and charging plug to the enclosure and connect it to the PCB (to ports noted down in step 5.). Glue the RC receiver and antennas to the enclosure. If you don’t use an enclosure you can attach the elements to the hoverboard chassis with hot glue.
- Connect the battery as last, and check again if the RC control works before finalizing the assembly.
- Attach the swivel wheels using large screws and washers to the two corners of the large plywood plate, with small plywood plates in between (see photo below).
- Position the hoverboard unit on the large board as shown below, consider hot-glueing small wooden blocks, Lego blocks etc. around the corners of the enclosure to make it easier to hold it in this position, and to put it in the exact same place if reopening and reassembling the cart in the future.
- Turn the cart and put it on its wheels, measure the approximate center of the wooden blocks, and drill holes from the top for the four large screws to attach the hoverboard unit.
- Your ‘Hoodbot’ should be ready to go!
* Important note, when turning the device on or off, don’t hold the power button pressed. If you do so for 8 seconds, the device will enter calibration mode. After the beep you’re expected then to repeatedly move the RC stick to its extreme positions (left, right, up, down, in any order), and long-press the power button again. When calibrating, make sure the wheels of the device don’t touch the ground or other objects. If you don’t follow the calibration steps properly the device may become unresponsive or even worse, it may start spinning its wheels at full speed.
** Important disclaimer: We can accept no liability or responsibility for any problems due to any errors or omissions in the content of this recipe. If you are unsure of anything please research it further and do not do anything unless you are sure it is safe.