ONE FREE FIRMWARE FLASH TURNS AN OLD HOVERBOARD INTO A GO-KART DRIVE

An old hoverboard has two strong brushless hub motors and a mainboard - this free firmware flash turns them into a proper drive you can steer with anything.

by Emanuel Feru

FULL CAD BOM FIRMWARE DOCS

RoboticsOpen-hardware

Built withArduinoSTM32

difficulty
●●●●○
time
a weekend
license
GPL-3.0
repo
repo ACTIVE1,799 stars
1
Jump to section

COMPAREE VERDICT

This is the go-to open firmware for turning a hoverboard's mainboard and two hub motors into a general-purpose drive. It replaces the stock balancing firmware with Field Oriented Control - smoother, quieter and more efficient - and lets you drive the motors from potentiometers, pedals, an RC receiver (PWM, PPM, iBUS), a Wii Nunchuk or serial commands from an Arduino. Creator Emanuel Feru built his own pedal-driven kids' kart (the HOVERCAR variant) with it, and the wiki covers compatible boards, flashing, calibration and troubleshooting. You need a supported mainboard (STM32F103 or GD32F103), an ST-Link programmer and some patience with compiling and configuring your variant. Note that the conversion is one-way: unlocking the MCU erases the stock firmware, and the wiki is clear it cannot be restored. GPL-3.0, actively maintained, and a cheap way to get two strong brushless motors moving.

GOOD TO KNOW

  • —The repository provides the replacement firmware, flashing instructions, and a detailed wiki covering variants of the hoverboard mainboard.
  • —There is no bill of materials — you bring your own broken or second-hand hoverboard, and the firmware assumes you already own an ST-Link programmer.
  • —The demo build (go-kart frame) is documented in community tutorials, not in the repository itself.
  • —The licence is GPL-3.0 and permits commercial use.
  • —Flashing requires unlocking the MCU, which permanently erases the factory firmware — there is no way back to stock.
  • —Last push was July 2026 and the project remains active.

Parts to buy

3 items

From our check of the build. Exact quantities and part numbers are in the creator’s BOM.

  • Broken or second-hand hoverboardFind
  • ST-Link V2 programmer (clone is fine)Find
  • Wire for control signal connectionsFind

BUILDS OF THE WEEK

Five open-source builds worth your weekend, every week.

Checked like this one: what’s really in the repo, what it costs, how hard it is. One email, unsubscribe anytime.

Can I build this?

Printnothing required
Buya broken or second-hand hoverboard, an ST-Link V2 programmer (clone is fine), and wire for control signal connections
Toolssoldering iron, ST-Link Utility or STM32CubeProgrammer, and a power supply or the hoverboard's original battery pack
Skillsintermediate — you must solder signal wires, read datasheets to identify your mainboard variant, and debug serial or PWM control inputs if they do not work first try
Timea weekend — one afternoon to disassemble the hoverboard and flash the firmware, another to wire and test the control input you plan to use
Costmostly the donor hoverboard if you do not already have one, plus an inexpensive ST-Link programmer and optionally an Arduino or RC receiver for control. The firmware is free.
SafetyHoverboard battery packs are 36 V lithium packs (42 V charged) - do not short the terminals, do not puncture cells during disassembly, and keep the pack disconnected while soldering. The battery has to be connected while flashing, so work carefully around the live board, and never power the board from the programmer's 3.3 V. Brushless hub motors deliver high torque - secure the board or frame and lift the wheels before testing, and take extra care if you enable field weakening, as the motors can spin very fast.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

Videos

How to Convert a Hoverboard into an Electric Go Kart (Cheap and Easy)

The creator's own video: a pedal-driven kids' kart (Hovercar) built from a hoverboard running this firmware.

More builds like this

All projects

Gallery

content.instructables.com
img.youtube.com
img.youtube.com

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Read the repository Wiki to confirm your hoverboard mainboard is a supported variant (The Wiki lists known board types and their pad assignments — if yours is not listed, the firmware may not work or may require different signal wiring.)
  2. 2.Acquire an SWD programmer - an ST-Link V2 clone is the usual choice(An inexpensive ST-Link V2 clone works; the ST-Link built into many STM32 dev boards does too.)
  3. 3.Open the hoverboard, take out the mainboard and locate the SWD debug header (GND, 3V3, SWDIO, SWCLK) next to the STM32/GD32 chip. Connect only GND, SWDIO and SWCLK to the programmer - never power the board from the programmer's 3.3 V.(The Wiki provides photos of pad locations for common boards.)
  4. 4.Flash the firmware using ST-Link Utility or STM32CubeProgrammer (Unlock the MCU first, pick your control variant in the config, then build and flash (PlatformIO is the recommended route). Keep the battery connected and hold the power button while flashing, or the board switches itself off - the wiki walks through every step.)
  5. 5.Wire your chosen control input (PWM, UART, or I2C) and test motor response before final assembly(Start with the motors elevated or secured so they cannot move the frame during initial testing.)

Resources

Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.

KNOWN ISSUES

  • Not all hoverboard mainboards are the same — some have different microcontrollers or require different pad connections, and if you buy one second-hand without checking the variant first, the firmware may not flash or the motors may not respond.
  • The repository assumes you already know how to use an ST-Link programmer and can identify the correct pads on the mainboard — if this is your first STM32 flash, budget extra time to learn the toolchain.
  • The control input (PWM, UART, or I2C) must be configured in the firmware before flashing — the default may not match your intended input device, and reflashing to change it adds another round-trip.
  • The hoverboard's original battery is a 36 V lithium pack (42 V charged) and it has to stay connected while you flash - handle it carefully during disassembly, because a shorted or punctured cell can catch fire.
  • The motors deliver high torque and will move the frame violently if power is applied while it is unsecured — test with the wheels off the ground or the frame clamped down.
  • Unlocking the chip erases the stock firmware irreversibly — once you flash, the board will never be a factory hoverboard controller again, so only use a board you are happy to convert.

Can I use this firmware on any hoverboard?

No - it targets hoverboards with a single mainboard plus two sideboards, using an STM32F103RCT6/RET6 or GD32F103RCT6 chip. Split-board hoverboards are not supported, and some mainboards use a different pin mapping. The wiki's Firmware Compatibility page shows how to check yours.

Do I need to build a go-kart, or can I use the firmware for something else?

The go-kart is the reference demo, not a requirement — the firmware simply gives you smooth control of two brushless motors, and people have used it for wheelchairs, cargo platforms, robots, and other custom builds. You provide the control input and the mechanical frame.

Is the modification reversible?

No. Unlocking the MCU erases the stock hoverboard firmware for good — the wiki warns it cannot be dumped and flashed back. Treat the board as permanently converted.

What control input does the firmware support?

UART, PWM, PPM, iBUS, analog (ADC potentiometers/pedals) and I2C are supported, but you must pick the matching variant in the firmware config before flashing.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

Nearly 1,800 people have starred this, and the last push was July 2026 - the project is still moving. If you have flashed one of these boards, which mainboard did you use, and did the control input work first try or did you have to reflash?

CompareeTEAM2mo agoedited

Practical notes from our verification: the repository provides the firmware and a detailed Wiki, but no bill of materials or go-kart build guide — those come from community projects linked from the README. There are no pre-built releases; the Wiki explains how to pick your variant, compile and flash. The single biggest decision point is whether your donor hoverboard has a supported mainboard — if you are buying second-hand, ask the seller for a photo of the mainboard before committing. Know this before you start: unlocking the microcontroller erases the stock firmware, and the Wiki warns it cannot be dumped or restored, so there is no going back to the original hoverboard behaviour. Control inputs include UART, PWM, PPM, iBUS, ADC and I2C variants. The project is GPL-3.0, which permits commercial use as long as you meet its source-sharing terms. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.

Emanuel Feru

Emanuel Feru wrote this Field Oriented Control firmware for stock hoverboard mainboards, based on his own open FOC controller design (bldc-motor-control-FOC), and built a pedal-driven Hovercar for his daughter with it. With around 1,800 GitHub stars it has become one of the most widely used references for repurposing hoverboard hub motors.

GitHub

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.