Self Balancing Scooter Ver 1.0




After seeing the balancing skateboard, we thought we would built a Balancing Platform to test out the technology. We bought some rear ends of kids scooter for the drive wheel/motor and the electronics that XenonJohn suggested.

Making a stand-on balancing unit is the same as a skateboard but the wheels are wider apart and the board is turned 90deg so the rear end of kids scooters were used. They were quite small but were quick and easy for testing.

Just don't hit any big bumps! We only had a few bit of skin missing from our shins and one hole in the wall!

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Details About the Build

Some rear ends of kids scooter were purchased for the drive wheel/motor as were the electronics that XenonJohn suggested.

Angle steel, flat plate and some tube were welded together to make an area to stand on and a handle out the front. The motors bolted on the sides and the electronics was fitted to the front. A torch was cut in half to use as a battery holder which fitted to the top of one of the motors. Now, the electrician needs a new torch! An old piece of plywood was used for the standing platform.

Now it looks like a real prototype!

It took a couple of attempts to get the polarity to the motors correct but it worked pretty much first go. The torque and power values were adjusted as we were using a 18Volt battery instead of 24volts that the motors are rated at.

It worked quite well.

Step 2: Parts

Parts Needed: (remember you can try eBay for the parts)

•Arduino UNO - Check your local suppliers or eBay.
•Sabertooth 2x25 Motor Controller ( or a local supplier)
•5 DOF accelometer
•2 rear end off kids scooters or buy motors and wheels separately  ( or eBay) Have a look around your area.
•Batteries - SLA batteries are good and cheap, Power drills can be quite inexpensive too or LiPo's if your game!
•Shielded multi-core cable for the accelerometer and heavy power cable for the motors
•Deadman switch
•Toggle switch for turning.
•Toggle switch for adjusting balance position.
•DC connector for Arduino.
•DIL pins to suit Arduino
•Double sides tape
•Screws etc

Step 3: Tools

Basic tools are needed

Also, someone with the skills and equipment to weld the frame.

And additional tools:

•Drill and drill bits
•Soldering iron and solder
•Wire cutter and wire strippers
•Heat shrink and hot air gun to shrink it

Step 4: Frame/Motors

For the frame, a couple of pieces of angle steel and two plates were attached either side to bolt the rear end scooter motors onto.
Cut the 2 pieces of angle steel to the width needed for your feet. Holes were drilled in the plates to match the bolt holes on the rear-end scooter wheels. These plates were welded to the angle steel plates.

A post  was added out the front and a T-Bar handle welded onto this.

A piece of angled reinforcing from the upright handle to the second angle steel piece was added. Now, the wheels can be bolted on.

Step 5: Electronics

The electronics are quite simple.... just an Arduino, IMU, Motor drive and a bunch of switches.

All cabling for the switches and IMU should be shielded cable except if the IMU is right next to the Arduino.

The IMU needs to be mounted under the centre of the platform or in front if possible. We mounted ours in a box out the front.

Everything fitted in the box and the kill-switch, L/R steer and tilt adjust were run up to the handle. The battery was mounted on top of one of the motors.

Step 6: Code

The code is basically the same as XenonJohns code but some of the power/torques values needed to be adjusted because we were running 24Volt motors with an 18Volt battery.

At the start of the code there are 2 varables to alter in order to adjust the power and torque.

Code bug updated on the 24th Feb 2012.
Issue with timing routine.

Be the First to Share


    • Furniture Contest

      Furniture Contest
    • Reuse Contest

      Reuse Contest
    • Hot Glue Speed Challenge

      Hot Glue Speed Challenge

    68 Discussions


    4 years ago on Introduction

    I can not find a 5DOF IMU what else can I use please help me


    4 years ago on Introduction

    good! I want it for a long time.I wanna ride it to you know how fast it can go?

    or Can I use a more powerful motor to increase its speed?


    when I compile your code, it shows an error,

    ''sketch_dec21a.ino: In function 'void initSabertooth()':
    sketch_dec21a.ino:58:22: error: 'BYTE' was not declared in this scope
    sketch_dec21a.ino: In function 'void set_motor()':
    sketch_dec21a.ino:513:39: error: 'BYTE' was not declared in this scope''

    what should I do for that??

    thank you.


    6 years ago on Introduction


    now my scooter balances perfectly but i cant stand on it. there is not enough power to keep me balanced on it.

    i did played with the values 9 and 0.95 but still cant stand on it.
    do you have any idea how to fix that ?

    Im using 2x24V 250w scooter motors

    and scooter sprockets on 16" bicycle tires

    and the new Ebay Sensor

    3 replies

    Reply 6 years ago on Introduction

    I'd say your gear ratio is too low or high. Which ever way you look at it!
    We have a unicycle that runs a 300W one of those motors.
    It is 2750rpm with an 11 tooth sprocket.
    It has a 12" wheel with an 80 tooth sprocket.
    So approx an 8:1 ratio.

    I'd say yours is about 5:1 and a bigger wheel.
    You need to put a bigger spocket on it.
    Probably bigger ratio than we have as you have a bigger wheel!


    Reply 6 years ago on Introduction

    It's very hard to find a bigger sprocket over here.
    Is there any way to solve this issue without changing the sprocket?
    Will changing the wheels to a smaller ones will solve the problem?


    6 years ago on Introduction

    Is this the motor you used in your project?

    1 reply

    Reply 6 years ago on Introduction

    No It was this one. Under wheels and brakes.

    But if you have the ability for welding etc. get the large wheels and 200w or 300w motors

    put a spot of weld on the ratchet mechansm.


    6 years ago on Step 2

    About $300-350 AUD but that matters where you live.


    6 years ago on Step 2

    how much $$$$$$$$$$$$$$


    7 years ago on Introduction

    I forgot that when compiling arduino tells me:
    the keyword "BYTE" is not supported, instead use "Serial.write ()". How do I change it?

    4 replies

    Reply 7 years ago on Introduction

    You need to download the older 0023 version of Arduino software.
    The software won't compile with version 1.0 or later.
    They changed the serial commands.

    This should work fine.
    You have seen this one too?
    Same unit just more plastic.


    Reply 7 years ago on Introduction

    perfect! Now the circuit works, the only problem now is that the engines are stopped only if the IMU is on a strange angle, if the IMU is on a table engines do not stand still.


    Reply 7 years ago on Introduction

    The IMU should be on an angle to start, Then you bring it upright for them to turn on the motors.
    But when you first turn on the circuit you must not move the IMU for at least 4 seconds for it to calibrate.
    If you do then you will get strange angles etc.



    Reply 7 years ago on Introduction

    Okay, so I'll try this way. To make my self balance the Deadmen is always pressed, otherwise the engines are not running.