Introduction: Self Balancing Scooter Ver 1.0

Picture of 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!

Step 1: Details About the Build

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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.


SteampunkWarlord (author)2016-05-20

cool! iv'e always wanted a segway.

JustoB (author)2015-05-20

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

E1024d (author)2015-04-08

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?


theja.samarathunga (author)2014-12-02


Can I use 6DOF accelerometer instead of 5DOF accelerometer, because 5DOF accelerometer is rare to find..

Thank you!

Sure you can.
If it is identical spec eg analog.
Otherwise you would need to rewrite the software.

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.

CUSTOMIZER (author)2013-10-10


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

ScitechWA (author)CUSTOMIZER2013-10-10

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!

CUSTOMIZER (author)ScitechWA2013-10-10

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?

ScitechWA (author)CUSTOMIZER2013-10-10

Yes a smaller wheel will work.
But not as good as putting a bigger sprocket on.

steve-lane (author)2013-02-25

Is this the motor you used in your project?

ScitechWA (author)steve-lane2013-02-25

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.

bnur cahyono (author)2013-02-04

can it self balancing when no people above it?

ScitechWA (author)2012-12-02

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

baot (author)2012-11-30

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

peraz91 (author)2012-09-27

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

ScitechWA (author)peraz912012-09-27

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.

peraz91 (author)ScitechWA2012-09-29

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.

ScitechWA (author)peraz912012-10-01

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.


peraz91 (author)ScitechWA2012-10-02

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

ScitechWA (author)peraz912012-10-02

That's right. That is how the deadman switch works.
If you release it the unit will stop. Usually it is on the foot platform.
So if you fall off it will stop.

peraz91 (author)ScitechWA2012-10-21

Today I finished my balance scooter, but it seems crazy when grounded. The IMU is near a motor, it is possible that there are disorders of the engines and the IMU does its job well? thanks

ScitechWA (author)peraz912012-10-21

Best to keep them away from the motors, just to be sure.
So what exactly is the issue your having?

peraz91 (author)ScitechWA2012-10-22

My balance when placed off the ground works very well, the problem is when you put it on the ground and turn it on, it becomes unstable and it seems crazy.
I use:
Sabertooth Dual 25A;
180W 24V motors;
12V batteries.

ScitechWA (author)peraz912012-10-22

Check the orientation of the IMU.
It should be mounted upright and tighly fixed.
The screw holes should be down the bottom and the back of the circuit board towards the front.
Check the driving when off ground.
If you tilt forward then it should drive forward.

Also are you having it tilted forward when you turn it on and not moving it for about 4 seconds.
The motors shouldn't be driving at all during this startup procedure.
Then you slowly tilt it forward until the motors turn on.
At this time the IMU should be upright.
When you tilt forward it should drive forward.
If it drives backwards then the motors are connect around the wrong way.

peraz91 (author)ScitechWA2012-10-23

is amazing but to be functioning my IMU must be placed approximately at an angle of 45 degrees. I do not understand the reason for this behavior.

ScitechWA (author)peraz912012-10-26

It should be held at 45 degrees then the unit turned on! don't move for 4-5 seconds then turn on the kill switch and bring the unit/imu upto a vertical position.
Once vertical the motors should turn on and the unit starts balancing.
Is it the same IMU as I recommended?

peraz91 (author)ScitechWA2012-10-29

The balance works well only if lifted from the ground, if the support with the wheels on the ground becomes unstable and seems to shake the whole.

ScitechWA (author)peraz912012-10-29

Have you tried standing on it?
You will find it it tuned to suit the 18Volts we used.
It will settle down once stood on.
If you want to adjust this there is a power and torque setting at the start of the code.
Adjust this by small amounts.

peraz91 (author)ScitechWA2012-10-29

I use 24Volts, it can work???

ScitechWA (author)peraz912012-10-29

24volts is fine. We used only 18volts so we had to turn up the power and torque.
Stand on the scooter and see if it works!
If it is still shakey then change the values of power and torque at the start of the code until you are happy.

Let me know if it is not as shakey when you stand on it!!!!!!

peraz91 (author)ScitechWA2012-10-30

ok I'll try, values, power and torque have to lower it or increase it?

ScitechWA (author)peraz912012-10-30

Ok change the torque to 4.5 and the power to 0.5
that should get it working ok.

peraz91 (author)ScitechWA2012-11-03

WORKS WELL!!!!!!!!!!!!!!!

ScitechWA (author)peraz912012-11-03

Great to hear!
Remember there is no speed control so when you get to full speed the motors can't keep up and you will fall off the end.
Have fun and be safe!

ScitechWA (author)ScitechWA2012-11-08

Have you got a video of it running yet?

peraz91 (author)ScitechWA2012-11-20

ScitechWA (author)peraz912012-11-20

Nice job!

peraz91 (author)ScitechWA2012-11-21

Thanks :) now I'll have to make it more beautiful, add stickers, light and hide the wires.

ScitechWA (author)peraz912012-11-21

Yes some glowing blue LED's underneath. lol.

peraz91 (author)ScitechWA2012-11-22

great idea! When it's finished I'll send you a video :)

peraz91 (author)ScitechWA2012-11-03


peraz91 (author)ScitechWA2012-10-31

Ok I'll try and let you know! Thank you :)

peraz91 (author)peraz912012-10-27

works, but if I support all the engines on the ground tremble and does not work as it should. only works well if suspended from the ground.

peraz91 (author)ScitechWA2012-10-03

Perfect! As soon as I complete it will send you a photo :) I hope I do not have other problems :)

peraz91 (author)ScitechWA2012-09-28

OK! The problem of compilation is solved!
As soon as the circuit I'll let you know if it works properly :)
Thanks for your interest!

fvandier (author)2012-11-01

Hi Guys, quick question.
I've noticed that in your wiring diagram the killswitch, the L/R steering and tilt adjust are connected between the digital I/O and GND, whereas in XenonJohn's diagram they are wired between digital I/O and +5V (with the digital I/O connected to GND over pull-down resistors).

If I do the wiring according to XenonJohn's schema, then the killswitch actually kills when pressed. With your wiring it does not work at all.

Kind regards,


ScitechWA (author)fvandier2012-11-01

The sabertooth actually supplys 5V to the Arduino no the other way around.
This is required.

You need to make a decision on who's project you are basing your scooter on.
The circuit is different because the code is different.
They are not interchangable. Use Johns code/circuit or ours.

We don't use resistors because we use the internal resistor built into the Arduino.
They are pullup resistors so you switch to ground to turn on.
We use the 5Volt regulator built into the saber tooth to power the circuit.

We have tried to make the wiring as easy as possible.

Hope this helps.

fvandier (author)2012-11-01

Also, in your schema you supply 5V to the Sabertooth whereas that is not the case in XenonJohn's build.

Is it required or not?

Anyway thanks for such a great project. Can't wait to get it to work

Kind regards,


dazer_r (author)2012-10-06

Im using 250 Watt, 24 volt DC motors. As per my calculations total current thru each motor would be ~10.8A.

So will the 2x 12 Sabertooth be ok, as it is rated for upto 12 Amps and 25 Amps peak current?

About This Instructable




More by ScitechWA:Multi Sega Case Retopie sega case mark 1Sweeping Ultrasonic RangefinderBuild a Paint Spinner
Add instructable to: