You are on page 1of 45

instructables

Rideable Segway Clone - Low Cost and Easy Build

by ihart

This Instructable will show you how to build a ride-able Segway clone. Here are its features:

Easy to build with no welding, no complicated steering linkage and minimal soldering.
Uses a readily available $3 digital MPU6050 accelerometer/gyro IMU board.
Total parts cost is under $400 (including shipping). A real Segway is $5000!
No salvage, dumpster diving or Craigslist parts.
A detailed parts list and ALL purchasable sources are included.
Well documented with over 50 minutes of HD how-to video, pictures and a detailed plan.
Uses the very common Arduino UNO processor board.
All Arduino processor code is included. NO additional Arduino libraries need to be installed.

This is a great learning project. It involves:

wood working
metal working
plumbing techniques
wiring from schematics
micro controller (Arduino) C like coding
accelerometer/gyro basics

I would say that a motivated middle schooler (12+ year old) with a parental figure could tackle this project. If the
motivation isn't in the technical learning and assembly, it will be in the riding fun!

----------------------------------------------------------------------------------------------------------------------------

UPDATE 12/24/2014: There is a separate Instructable here to strengthen the Segway Clone PVC to Wood junctio
n.

Rideable Segway Clone - Low Cost and Easy Build: Page 1


Step 1: Introduction Video

This video shows some action shots of the Segway clone!

//www.youtube.com/embed/pSHOa9Gl2eM

Step 2: How to Ride the Segway Clone

With the Segway clone leaning forward, it's front edge touching the ground, toggle the power switch
on.
The LED will glow red. Wait about 8 seconds for the MPU6050 Accelerometer/gyro to calibrate.
Lift up the board so it is parallel to the ground.
Hold in the deadman switch. The LED will turn green.
Step on the board.
Lean forward to go forward and lean back to go backward.
While you are moving, you can press the steering rocker switch to go left or right.
You can press the tilt rocker switch to adjust the neutral balancing position of the board.

Rideable Segway Clone - Low Cost and Easy Build: Page 2


Step 3: How to Build the Segway Clone Video

This video is over 50 minutes long and includes detailed instructions on how to build this Segway clone:

//www.youtube.com/embed/S5lF9k65758?rel=0

Step 4: Electrical Schematics

This is the electrical wiring schematic. It was drawn in MS Visio and saved as a .PDF here.

Rideable Segway Clone - Low Cost and Easy Build: Page 3


Download
https://www.instructables.com/ORIG/FBC/PNPU/HWC4L9SQ/FBCPNPUHWC4L9SQ.pdf

Step 5: Parts List, Cost and Tools Needed

Parts List and Cost Breakdown


The parts cost is under $400. The attached .PDF file below includes the sources, cost and HTML links.

Rideable Segway Clone - Low Cost and Easy Build: Page 4


Rideable Segway Clone - Low Cost and Easy Build: Page 5
Download
https://www.instructables.com/ORIG/FIM/Z8VW/HSE93N15/FIMZ8VWHSE93N15.pdf

Step 6: Tools Needed

Tools Needed:
Wood saw, hack saw, drill, drill bits, hammer, screwdrivers, wrenches, wire strippers, soldering iron, files, metal
punch

Optional tools:
table saw, drill press, Dremel tool, VOM (Voltage Ohm Meter), WD40 (for drilling)

Rideable Segway Clone - Low Cost and Easy Build: Page 6


Step 7: Plans and Dimensions

These are the mechanical plans. I designed this in MS Visio and saved off the .PDF here.

Download
https://www.instructables.com/ORIG/FP1/MXSL/HT7P5RRL/FP1MXSLHT7P5RRL.pdf

Step 8: The Arduino Code

The Segway Clone Arduino code is below:

The Arduino code development took the longest amount of time to get right in this Instructable. It could still be
improved. Any ideas would be appreciated. It was influenced by the following authors of self balancing device
projects and MPU6050 development:

Jeff Rowberg: https://github.com/jrowberg/i2cdevlib


XenonJohn: https://www.instructables.com/id/Self-balancing-skateboardsegwy-project-Arduino-S/
ScitechWA: https://www.instructables.com/id/Self-Balancing-Scooter-Ver-20/
Geekmom: http://www.geekmomprojects.com/mpu-6050-dmp-data-from-i2cdevlib/
Julian Arnott: https://www.youtube.com/watch?v=q29MMfLRFYM
and Eric Wang

Installation:

Install the Arduino software (http://arduino.cc/en/Main/Software#.UxiP2BCmZU0)


Download the .zip file BELOW with all the code (note that Instructables MAY corrupt the name)
Unzip the file (this is a good freeware unzip program: http://www.7-zip.org/download.html)
Open the Arduino software
Connect a USB cable to the Arduino board

Rideable Segway Clone - Low Cost and Easy Build: Page 7


To ensure your Arduino is working, get your Arduino to "load" the "blink" program (file->examples-
>basics->blink)
Open the file hartway_digital.ino
Compile and "load" to the Arduino board

You can search on YouTube to learn about the Arduino. This guy does a good job explaining everything about
Arduinos:
http://www.youtube.com/watch?v=fCxzA9_kg6s

notes:

1) Instructable user fgastald posted the following note. This library code change seemed to help him and some
others with stability issues. Most people do not experience these issues but you may want to make the following
changes if you have vibration in your final design:

"For those who are experiencing some MPU6050 issues (weird behavior.....motor that suddenly goes to 100%.....)
i suggest this : Go to the library file MPU6050_6Axis_MotionApps20.h find the line 0x02, 0x16, 0x02, 0x00, 0x01 //
D_0_22 inv_set_fifo_rate Modify the last number (0x01) to something higher, i'm using 0x02 right now and it works
fine."

2) There is a bug in the code that will show up if you hit and release the deadman switch about 250 times. User
rtreffkorn reported this and suggested the following solution. I have not tested it but it sounds reasonable.

"The fix is to change set_motor() from void to int.


In the normal case return 0. When the deadman button was released return 1;
Then in loop() do: "if (set_motor()) break;" "

The Segway Clone Arduino code is below:

Download
https://www.instructables.com/ORIG/FP1/2OGZ/HSJAQD5L/FP12OGZHSJAQD5L.zip

Step 9: Step by Step Instructions Start Here

The following are step by step instructions of how I built this Segway clone. You may decide to copy this exactly or
just use this for inspiration in your own variation.

Rideable Segway Clone - Low Cost and Easy Build: Page 8


Step 10: Lawyer Stuff and Safety

This project includes cutting, drilling and soldering. Please wear safety gear and be careful.
Riding on a 2 wheel device that is inherently unstable is dangerous. You will fall off it and crash into
things. You are responsible for your own safety. Wear protective gear.
The real Segway device can be dangerous even though it has safety shutoffs and error detection.
This Segway clone has NO safety detection or elegant shutdown. Ride at your own risk.
This Segway corporation video clip shows some of the dangers riding the real Segway device may
have. I found it useful to watch before riding this Segway clone: http://www.segway.com/flash/video/
safetyvideo.php
Putting your fingers inside a chain and gear drive while the motor is running will remove your
fingers.
Lead Acid batteries should be recycled and not thrown in the trash.

Step 11: Cut and Prepare Wood Riding Platform

We'll start this by cutting our plywood base. I used Optional: Use a coffee can or something with around
birch plywood. Any 3/4" plywood piece that can finish a 3" radius to mark curves on the corners. See video.
to 29" by 17 1/4" will do. I cut the piece on a table- A compass set to 3" will work as well. Cut the corners
saw. If you do this, use eye protection and watch your with a jigsaw or a coping hand saw.
hands.
Optional: Sand and then apply iron on edge tape to
You can use a hand saw as well. Accuracy in cutting the edges.
is not critical but if you applying plywood edge tape, it
needs to be smooth. Optional: Sand top and bottom of board.

Rideable Segway Clone - Low Cost and Easy Build: Page 9


1

1. Do not put your hands here!

Rideable Segway Clone - Low Cost and Easy Build: Page 10


Step 12: Cut and Drill Brackets

NOTE: this step is not shown in the how to make video clip. Sorry. See plans and read this text.

Get the four 8" x 8" x 2" angle brackets. Two of them will be outside brackets. Two of them will be inside
brackets. See the .pdf file of the plans for a drawing of the brackets.

To make the 2 outside brackets, do this twice:


Use a hacksaw to cut off 1.5" from the end of a bracket arm. Length should be 6.5" when done.
Clean up with a flat file.
Use a hacksaw to cut off 2 1/4" off the end of the other bracket arm. Length should be 5 3/4" when
done. Clean up with a flat file.
Use a metal punch to make a mark centered between the end 2 holes of the 6.5" bracket arm.
Drill this hole out with a 3/8" or .375" drill bit. This will hold the wheel axle. Use a drill lubricant when
drilling metal.
Widen this drilled hole with a Dremel or round file to make it 0.40" and test that it will fit the wheel
axle.
Punch and drill four 1/4" holes in the bottom of the 5 3/4" bracket arm. See drawing for position. It is
not critical.

To make the 2 inside brackets, do this twice:


Use a hacksaw to cut off 1.5" from the end of a bracket arm. Length should be 6.5" when done.
Clean up with a flat file.
Use a metal punch to make a mark centered between the end 2 holes of the 6.5" bracket arm.
Drill this hole out with a 3/8" or .375" drill bit. This will hold the wheel axle. Use a drill lubricant when
drilling metal.
Widen this drilled hole with a Dremel or file to make it 0.40" and test that it will fit the wheel axle.
Punch and drill four 1/4" holes in the bottom of the 8" bracket arm. See drawing for position. It is not
critical.

tips:
When drilling into metal, it's better to use a drill press if you have access to one. It goes faster and
the hole will be straighter.
When drilling into metal, it helps to use a lubricant between the metal and the drill bit. The lubricant
takes the heat away from the hole. WD-40 is a great lubricant. Don't run the drill bit too fast. Stop
and let the hole cool off occasionally.

Rideable Segway Clone - Low Cost and Easy Build: Page 11


2
2 2
4
1 1
3

1. Drill 1/4" holes here 1. drill these 1/4" holes.


2. drill 1/4" holes here 2. Drill this 3/8" hole and then widen to 0.40" with a file or dremel.
1. Drill 1/4" holes here 3. Cut bracket for wheel clearance.
2. drill 1/4" holes here 4. Cut bracket here for wheel axle spacing.

Step 13: Mount Brackets Under Platform

Grab the 8x8x8 brackets, wheels, chain, 1/4-20 x 1-1/4 in. Zinc-Plated Hex Flange Bolts, nuts and washers.
Measure 4.5" in from an edge and mark a line. This will be the outer line that the bracket will rest on.
See drawing.
Place brackets on board bottom as shown in drawing, pictures and video.
Mark 4 1/4" holes per bracket with a pencil. See video.
Remove brackets and punch center of each hole lightly. This is to center the drill bit.
Drill holes with a 1/4" drill bit.
Remove brake assemblies from the wheels if they are on still. See picture above.
Attach brackets with wheels and chain to board with (16) 1/4-20 x 1-1/4 in. Zinc-Plated Hex Flange
Bolts, nuts and washers.

Rideable Segway Clone - Low Cost and Easy Build: Page 12


1

1. Remove this brake assembly.

Step 14: Mount Motors to Platform

The motor has a bracket attached to it with 4 pre-threaded metric screw holes.
Set motor up so chain is straight and motor gear is perpendicular to the wheel brackets.
Pull gently on motor away from the wheels and mark the 4 holes.
Note that you may want to use a short piece of pencil lead to mark the motor holes.
Repeat for the other motor.
Punch the 8 holes and drill with a 7/32" drill bit.
Insert a washer and an M6 1.0x30mm bolt into each hole and tighten it.

Rideable Segway Clone - Low Cost and Easy Build: Page 13


Step 15: Crimp on Battery Wires

Find an extension cord to cannibalize or use speaker wire for this step.

Cut 2 lengths per the drawing.


Mark the bumpy ridged side of all ends of the cords with a black Sharpie pen. This will indicate our
negative side.
Separate the end of one side on each wire and strip it 1/4".
Crimp on a Battery Terminal connectors (16-14 AWG, .250 Series) to each wire.
Use 4 Battery Terminal connectors total.

Rideable Segway Clone - Low Cost and Easy Build: Page 14


1 1

1. Crimp these on the ends of these wires.


1. Crimp these on the ends of these wires.

Step 16: Connect Motor Wires

Find an extension cord to cannibalize or use speaker wire for this step.

Cut 2 lengths per the drawing.


Mark the bumpy ridged side of all ends of the cords. This will indicate our negative side.
Separate the end of one side on each wire and strip it 1/4".
optional: slide small pieces of heat shrink tubing to each extension cord wire.
Twist on the black motor wire to the bumpy ridged marked extension cord wire. Do the same with
the red wire to the other extension cord wire.
Heat shrink tubing OR cover with electrical tape.

1. Seal wire connections with heat shrink tubing or electrical tape.

Rideable Segway Clone - Low Cost and Easy Build: Page 15


Step 17: Install Galvanized Floor Flange

----------------------------------------------------------------------------------------------------------------------------
UPDATE 12/24/2014: There is a separate Instructable here to strengthen the Segway Clone PVC to Wood junctio
n. You may want to reference that to modify your design. A few of the parts will change.

----------------------------------------------------------------------------------------------------------------------------

The 1-1/2 in. Galvanized Floor Flange is used to connect the PVC handle bar assembly.

Mark the center line of the 29" long side of the board.
Center the Floor Flange in this line about 1/4" away from the edge of the board. see pics, drawing
and video.
Mark all 5 holes.
Drill 4 1/4" holes for the screws.
Drill 1 1 1/8" hole (using a spade bit) for the wires to pass through this 1-1/2 in. Galvanized Floor
Flange.
Install Four 1/4" 20 x 1-1/2 in. Flat Head Phillips Machine Screws with washers and nuts.

Rideable Segway Clone - Low Cost and Easy Build: Page 16


Step 18: Cut the PVC Pipe

Get your 10' section of 1 1/4" schedule 40 PVC pipe.


Measure 31.5" and cut. This is the main vertical pipe.
Measure 10.25" and cut. This is for the right horizontal hand hold pipe.
Measure 10.25" and cut. This is for the left horizontal hand hold pipe.
Take all the parts and "dry-fit" assemble them per drawing and video.

Rideable Segway Clone - Low Cost and Easy Build: Page 17


Step 19: Cut PVC for Switches

Get the circular "deadman" switch and the 2 rocker type switches. You should hold these switches on the dry fit to
see where you want them. The measurements I give here are for what I did. Get switches to fit in this step. We'll
add the wires later.

Deadman circular switch


Mark a hole on one of the 10.25" PVC pieces 4" from the end.
Drill a hole in the center with a 3/8" drill bit. Reverse the bit for a while to start the hole if need be.
File the hole or use a dremel tool to widen the hole to about 0.45" to allow switch to fit in the hole. It
should be snug and NOT use glue.

You may want to practice the following rocker switch hole cutting on scrap PVC first. Also, watch the vid.

Steering Rocker switch


Mark a hole on one of the 10.25" PVC pieces 6" from the end.
around the center of the hole, mark a rectangle that is 1 1/16" by 9/16".
Using a small 1/16" drill bit, drill many holes INSIDE the rectangle EDGE. Use the drill bit to "cut"
through the PVC, connecting the holes you drilled to cut out the rectangle. An alternative method is
to use a Dremel tool for this with a cutter bit.
File the hole or use a Dremel tool to widen the hole to allow the switch to fit in the hole. It should be
snug and NOT use glue.

Steering Tilt switch


Mark a hole on one of the 31.5" PVC piece 4.5" from the end.
around the center of the hole, mark a rectangle that is 1 1/16" by 9/16".
Using a small 1/16" drill bit, drill many holes INSIDE the rectangle EDGE. Use the drill bit to "cut"
through the PVC, connecting the holes you drilled to cut out the rectangle. An alternative method is
to use a Dremel tool for this with a cutter bit.
File the hole or use a Dremel tool to widen the hole to allow the switch to fit in the hole. It should be
snug and NOT use glue.

Rideable Segway Clone - Low Cost and Easy Build: Page 18


Step 20: Harvest the Wire

If you are using Cat5 cable, you can "harvest" or remove the wire pairs like this.
Strip the end of the cable to remove the outer plastic insulation.
Put the 8 wires in a vice.
Go to the other end and pull on the insulation.
Go back to the beginning of the cable near the vice and slowly pull the insulation down.
It will come off a little at a time. See video.

Better way from another Instructables user!:


Mar 19, 2014. 1:59 PM rmelchiori says:
There is an easier way to strip the outer jacket of cat5 cable. If you pull down on the thin nylon floss, it will cut the
jacket and open it up like pulling a zipper.

Step 21: Prepare PVC Switch Wires

Measure out the switch wires.


Use electrical phone type wire that is about 6' long. I used CAT5 Ethernet cable which has 4 twisted
pairs of conductors.
One pair is for the deadman switch.
To make the 3 conductor tilt and steer cables, separate out one pair into 2 individual wires:
A fast way to do this is to put one end in a in a drill chuck, attach the other end to a vice or have a
buddy hold it. Spin the drill to loosen the wires so you get 2 non-twisted individual wires.
Now, take one individual wire and add it to a twisted pair. You will have 3 wires. Put one end in a in
a drill chuck, attach the other end to a vice or have a buddy hold it. Spin the drill to tighten the spin
of the wires together.
Repeat for the other 3 wire cable.

Rideable Segway Clone - Low Cost and Easy Build: Page 19


Step 22: Optional: Epoxy PVC Reducer Into Floor Flange

This step is optional but recommended so the handle bars don't twist while you are riding.
Take the epoxy tubes. Squeeze out about 3/4" of each the resin and hardener on a piece of scrap
paper.
Mix the 2 gels together until its a consistent dark grey color.
Apply the mixture to the white PVC threads of the PVC 1.5" to 1.25" reducing male adapter.
Screw this PVC 1.5" to 1.25" reducing male adapter into the Floor Flange on the board. Hand
tighten.
Wait 10 minutes for the epoxy to dry.

Rideable Segway Clone - Low Cost and Easy Build: Page 20


Step 23: Install Switches in PVC

Get the 2 rocker switches and deadman switch.


Solder the 2 wire cable to the deadman switch.
Solder a 3 wire cable to the steer rocker switch.
Solder a 3 wire cable to the tilt rocker switch.
Write down all the colors of the switches for reference later when you connect them to the Arduino.
Snake in the switch wires through the switch holes. See picture and video.
Push in switch to friction fit.

Rideable Segway Clone - Low Cost and Easy Build: Page 21


Step 24: Glue PVC Parts Together

Get the PVC Cleaner and Glue. An alternative to PVC glue is to use epoxy. You are working around the snaked
wires so lay it out on a table.

Do it in this order:
End caps
Handles to Tee. (watch the switch positions!)
Tee to main pipe.
Main pipe to Reducer PVC (floor flange) For this last step. Make sure the Segway board is lying flat
on the table. Quickly step back and look at the handle bar assembly to make sure you twist them
parallel to the table while the glue has not dried.

How to Glue PVC:


Use the PVC cleaner wand (purple) to wipe cleaner on both parts to be bonded.
Apply glue (clear color) to both sides.
Push pieces together and twist to spread the glue. The working time for the PVC glue is about 10
seconds. Make sure the switch is where you want it!

1. This part is weak and can snap.

Step 25: Mount Electronics Box to Platform

Use the 1/2" #4 wood screws:


Line up the box as shown in the picture.
Mark the holes with a punch (or screw) by tapping with a hammer.
Drill holes with a 1/16" drill bit.
Using a hand held screwdriver, attach box with #4 1/2" screws.

Rideable Segway Clone - Low Cost and Easy Build: Page 22


Step 26: Install Batteries

Mark Battery lines at 3/4" in from long edge of board.


Mark battery line 1" in from short end of board.
Trace rectangle around each battery.
Mark 4 holes outside battery rectangle for zip ties to go through. See pictures and video.
Drill a hole for each battery power wire to go through.
Make sure the batteries will fit but dont lock the zip ties now!

Rideable Segway Clone - Low Cost and Easy Build: Page 23


Step 27: Install the Bi-Color LED

Grab the bi-color LED and the 300ohm resistor. Watch the video.
Trim the LED center conductor.
Trim and solder on the resistor to the LED center conductor.
Solder an 8" long piece of 3 conductor wire cable to the LED assembly.
Insulate all wires with electrical tape.
Drill a 3/32" hole in the project box.
Insert the LED into the hole.
Hot glue or epoxy it in.

Step 28: Install the Charging Connector and Power Switch

Get the 3pin charging connector and circular rocker power switch. see video.
Drill a 5/8" hole with a spade bit in the end of the project box.
Insert the 3 pin charge connector and put on lock nut.
Drill a 13/16" hole with a spade bit centered in the top of the project box for the power switch.
Press fit switch in.

Optional: Add a hole for USB access to the Arduino. You can see white electrical tape covering mine in the pic
above.
Place the Arduino with shield in the box aligned with the side away from the connector.
Mark the USB connector position on the inside of the box.
Transfer the center of the marks to the outside of the box.
Use a large drill bit to make a hole for the USB.
Try to connect a USB cable to the Arduino.
Trim to fit using a Dremel tool or file.

Rideable Segway Clone - Low Cost and Easy Build: Page 24


Step 29: Drill Project Box Holes and Pass Through Wires.

I didn't shoot video of this step so look at this picture.


Get your Arduino and your Dimension Engineering Motor Driver boards.
Place both boards in box for test fit. Mark edges of board to ease hole placement.
Mark and drill 1/4" holes for power wires on side closest to batteries. Be sure not to hit the rubber
wheels below!
Use a Dremel tool or files to widen holes. An alternative is to use a bigger drill bit so wires will fit
through more easily.
Drill a 1/4" hole 2.5" from these power wires hole. This hole is for the control wires.
Push through all available wires now. Make sure that the boards still fit in with wires in place.

1. This is towards the Front of the Board!

Rideable Segway Clone - Low Cost and Easy Build: Page 25


Step 30: Tack Down Wires and Connect Battery Wires

Get the 1/4" wire tacks and a short piece of extension cord.
Flip over the segway on a few 2x4's or a small bucket so you can work on the bottom.
Tack down wires that are loose by hammering in the small tacks.
Snake the previously crimped battery cables through the battery holes.
Measure and tack the battery cables to arrive under the Project box. Strip ends.
Make a small (8") piece of extension cord cable to pass through hole into project enclosure. Strip all
ends.
Twist together the batteries in "series" per the schematic under the Project box location.
Twist in the connector cable per schematic.
Add in short 8" cable per schematic.
Secure with 3 wire nuts or just solder and electrical tape.

Rideable Segway Clone - Low Cost and Easy Build: Page 26


Step 31: Get Wires Ready

With all the wires sticking up from the project box:


Solder a short extension cord wire to the power switch as shown in the schematic and pictures.
Put electrical tape over the power switch to avoid any shorting.
Place the motor controller and Arduino boards in the enclosure temporarily.
Find a good final length for the wires and cut them.
Strip the wire ends.
Using a soldering iron, "tin" all the wires

Optional: Attach small terminals to the control wires.


You can use the straight terminals that came with the MPU6050.
Break them apart.
Use a hemostat or cardboard to hold them while soldering.

IMPORTANT NOTE:
This is from the Dimension Engineering web .pdf for the Saber controller :
"Warning! Be very careful to wire and plug in the battery and connector correctly.
Connecting the battery backwards will destroy the Sabertooth and will void the warranty."

Rideable Segway Clone - Low Cost and Easy Build: Page 27


Step 32: Install Batteries and Quick Meter Check

Get the batteries and zip-ties.


Put the batteries on the board.
Thread the zip ties through the holes and around the batteries.
Pull tight on the zip ties so the batteries are secure.
Trim off the ends of the zip ties with wore cutters.

IMPORTANT NOTE:
This is from the Dimension Engineering web .pdf for the Saber controller :
"Warning! Be very careful to wire and plug in the battery and connector correctly.
Connecting the battery backwards will destroy the Sabertooth and will void the warranty."

Rideable Segway Clone - Low Cost and Easy Build: Page 28


Step 33: Install Electronics

Get the motor driver board, the Arduino and the Arduino shield.

Place each board into the box as shown in the picture.


Secure each board with screws through the plastic and into the wood.
Connect the battery wires.
Connect the power wires to the motor controller as shown in the schematic.
BE SURE THE BATTERY WIRE POLARITY IS CORRECT. If the + and - are swapped, you will
burn out the expensive motor driver board.
Install the Arduino shield board
Connect the control wires to the Arduino shield as shown in the schematic. ALL WIRES MUST BE
TWISTED AND KEPT VERY SHORT!!
Solder on the MPU6050 GY521 accelerometer/gyro board right angle pins that came with the board.
Insert the accelerometer/gyro right angle pins as shown in picture. Make sure that the component
side faces the back of the board.
Wire up the pull up resistors, Vcc, GND, and I2C lines as shown in the schematic. Use twisted pair
wiring for the I2C wires and keep them very short. ALL WIRES MUST BE TWISTED AND KEPT
VERY SHORT!!
Connect the wires from the saber to the Arduino. Use twisted pair wiring and keep them very short.
ALL WIRES MUST BE TWISTED AND KEPT VERY SHORT!!

Check Saber dip switches match the picture for 9600 baud. This is to match the serial
communication rate set in the Arduino code for communication between the Arduino and the Saber.
This is the Saber 2x12 Data sheet for your reference: http://www.dimensionengineering.com/product
s/sabertooth2x12

Rideable Segway Clone - Low Cost and Easy Build: Page 29


Step 34: Test!

At this point, you should be ready to test out your Segway Clone!

I would recommend setting the board up on a bucket so the wheels CAN'T touch the ground.
Turn on the power switch. Wait 8 seconds.
Hold the deadman switch down and move the board forward and backwards.
You should see the wheels spin in each direction.
If you see the red Error LED on the Saber flashing and the motors start to shake, you have low
battery voltage. You either need to charge your batteries OR replace them because they cant hold a
full charge anymore.

When this works:

Try out the board on the ground.


If forward and backward tilt are reversed, flip the pins in the Arduino code.
Try out the steering and tilt.
Pop out and flip the steering and tilt switches if they are reversed.
If you see the red Error LED on the Saber flashing and the motors start to shake, you have low
battery voltage. You either need to charge your batteries OR replace them because they cant hold a
full charge anymore.

CONGRATS!

Rideable Segway Clone - Low Cost and Easy Build: Page 30


Step 35: Optional: Debug

Before you start to debug, check the following:

All wiring is as short as possibleas shown in this Instructable. Long wires will get noise on them
from the motors and the serial communication will fail. ALL WIRES MUST BE TWISTED AND
KEPT VERY SHORT!!
The I2C wires should be twisted and the power/ground wire should be in the twist.
The resistors shown in the schematic have been added.
The MPU6050 Accel/Gyro is installed and oriented as shown in the Instructable.
The tilt switch is for minor comfort adjustments. Don't use it for the tuning. Just try tilting the board
back and forth while the board is balanced on a bucket or stool.
Make sure to wait at least 5 seconds after power up for the MPU6050 to internally calibrate.
Make sure your batteries are fresh. Each battery should measure at least 12V when not under load.
If not, replace your batteries.

Rideable Segway Clone - Low Cost and Easy Build: Page 31


This is optional for debug

Arduino Serial Monitor

Open the Arduino Serial Monitor. Set it for 115,200 baud

The code has this line in it:

Serial.begin(115200); // initialize I2C and serial monitor to 115,200 baud

To enable printing to the serial monitor, set this to a 1:

#define DEBUG_ENABLE_PRINTING 0 //normal

If you are up on a bucket, to avoid holding the deadman switch, set this to a 1:

#define DEBUG_FORCE_DEADMAN_SWITCH 0 //normal

To just look at the serial monitor and not have the motors running, set this to a 1:

#define DEBUG_DISABLE_MOTORS 0 //normal

recompile.

The serial monitor screen should output something like this:

Initializing I2C devices...

Testing device connections...

MPU6050 connection successfulI

initializing DMP...

Enabling DMP...

Enabling interrupt detection (Arduino external interrupt 0)...

DMP ready! Waiting for first interrupt...

NOTE:

If you turn on DEBUG_ENABLE_PRINTING and see a message that says: "1024 mpuIntStatus: 19FIFO
overflow!", don't worry about it. It is caused by the fact that printing out messages is a relatively slow task for the
Arduino processor. While this printing is occurring, the control loop which is trying to pull accell/gyro data from the
MPU6050 cant keep up. Eventually, the FIFO holding this data in the MPU6050 has too much data or overflows.
The FIFO will recover. When you are done with debug, disable DEBUG_ENABLE_PRINTING flag.

Oscilloscope:

if you want to observe the "loop time" of the Arduino code, you can use an oscilloscope to do this. It should be
Rideable Segway Clone - Low Cost and Easy Build: Page 32
around 10Hz or 10 times per second.

Hook a scope probe to Arduino pin 3. Connect the ground as well.


Un-comment this lines in the code: // digitalWrite(oscopePin, HIGH);
recompile.

To adjust the base tilt angle in the code:

If the board powers up and wants to sit at a strange angle, you can use the tilt switch to tweak it OR, you can
make a code change to permanently tweak it:

Look for this line in the code and modify the 80 number to whatever you want:

// Sensor tilt number below is Determined experimentally. Bigger is more tilted forward. It needs to change if you
adjust ANGLE_GAIN. x_accdeg = (float)((SG_filter_result - (80 + balancetrim)) * (1.0));

Rideable Segway Clone - Low Cost and Easy Build: Page 33


Step 36: Optional: Chain Tensioning Block

If your chain is coming off or it's loosened up, you can add chain tensioning blocks as shown in the above pics.
Cut out a pice of 2" x 4" plywood.
Drill a 1/4" hole 1 1/8" from one end.
Drill a 13/16" hole 1 3/8" from the other end.
Press fit a 2 1/4" piece of 1/2" PVC into the larger hole.
Secure the other hole with a 1/4" nut, washer and bolt to each bracket as shown in the picture.

Rideable Segway Clone - Low Cost and Easy Build: Page 34


Rideable Segway Clone - Low Cost and Easy Build: Page 35
Step 37: Final Notes:

Low Cost Goal:


My main goal in this project was to make it low cost and easy to build. A number of design decisions would have
been different if the goal was long term reliability, range, power etc.

Batteries:
The 12V sealed lead acid batteries used in this project were ONLY chosen because they are very low cost. They
are really made for starting gas motors. They are not the best choice for a long life, deep discharge, rechargeable
battery. They are prone to failure if they are discharged below 20% capacity. They must be charged after use to
keep them from failing. I went through 2 sets of batteries before I learned this.
Some reading on batteries:
http://batteryuniversity.com/learn/article/can_the_lead_acid_battery_compete_in_modern_times
Deep discharge batteries will work better but cost more.
http://auto.howstuffworks.com/question219.htm

Weak Point:
I have found that one weak point of the design is at the interface between the PVC and the board. If you push too
hard on the PVC handle bars let's say in a crash, the PVC at that fulcrum may crack. A design improvement would
be to use a threaded metal pipe coming up from the board. The top threaded metal pipe would join the PVC at the
handlebars. The PVC would have the switches in it.

Motor Controller:
The Dimension Engineering Saber motor controller was one of the most expensive parts of this project. I tried two
cheaper ebay motor controllers using PWM driven by the Arduino. They both failed to work well and so we needed
to use the Saber part. It would be great to find a lower cost alternative to the Saber which is very well designed.

Future Enhancements (as of 3/2014):


Here are some future enhancement ideas I would like to see made to this Segway clone:

1. Voltage monitor circuit. This would be a pair of resistors set up as a voltage divider. They would
bring the 24V range down to a 5V range and be monitored by an ADC input on the Arduino. If the
voltage dropped below a preset threshold for a certain period of time, the LED would flash at a 2Hz
rate to let you know to recharge the battery.
2. More work to smooth the control algorithm. This Segway clone control is just OK. I think there could
be more refinement to the gain adjustment and steering.
3. Battery research to replace the $32 lead acid batteries with cheap LIPO or LiFePO4.
4. Find cheap encoders and add them to the wheels.

----------------------------------------------------------------------------------------------------------------------------
UPDATE 12/24/2014: There is a separate Instructable here to strengthen the Segway Clone PVC to Wood junctio
n.

Rideable Segway Clone - Low Cost and Easy Build: Page 36


Step 38: Conclusion

I hope you enjoyed this Instructable. This Segway clone could not have been done without the work of others in
the Instructable community.

If you make one of these Segway clones, please add a picture or video clip to the comments!

I will end this Instructable with a final safety warning:


Riding on a 2 wheel device that is inherently unstable is dangerous. You will fall off it and crash into
things. You are responsible for your own safety. Wear protective gear.
The real Segway device can be dangerous even though it has safety shutoffs and error detection.
This Segway clone has NO safety detection or elegant shutdown. Ride at your own risk.
This Segway corporation video clip shows some of the dangers riding the real Segway may have. I
found it useful to watch before riding this Segway clone: http://www.segway.com/flash/video/safetyv
ideo.php

Rideable Segway Clone - Low Cost and Easy Build: Page 37


I changed Segway Clone for about half a year using this idea as a reference. The program can
now be rewritten slightly to change the gear ratio of the chain wheel and make it move smoothly.
My weight is 70kg, but stable running is possible.

Great! Nice job on your build.

Hi Ira,
i made the segway with 2x32 sabertooth and 500w motors
i'm still facing a strange issue here:
if wheel are not engaged (no chain) so not much load, everythings is working fine.
When i install the chains (and so engaging wheels), it often start running at 100% (first time
was...panic) .
At the beginning i thought something wrong with sabertooth controller.
From the serial i get that is something wrong with the MPU6050.

Below are some lines when everythings is fine and the last two lines are when it goes crazy.
Any help or suggest will be much appreciate.

Rideable Segway Clone - Low Cost and Easy Build: Page 38


Cables are shortened and twisted and also i moved the electronics away form motors.
Thanks and Best regards
Fabio
I think that your assumptions are correct. Something is making the MPU6050 get bad readings
when the motor goes under a bigger load. When the load is increased, EMAG noise (electrical and
magnetic) are increased. You say the wires are short and twisted which is good. Question:
- Is the ground to the MPU6050 good? It should not be coming from the battery/motor ground. That
would couple noise to the MPU6050 and Arduino. See schematic.
- Can you double check that the pullup resistors are correct on the I2C line? If they are missing or
wrong, you will get noise coupled to those lines.
Hi Ira will check on this again and will be back to you.
thanks
Fabio

Forgot the serial output:

ang_X: 105.76 ang_Y: 73.83 ang_Z: 0.68 ang_rate_X: -0.44 ang_rate_Y: 0.00 ang_rate_Z: 0.00
Mot1%: -9 Mot2%: -7 SteerValue: 494.00 Voltage: 25
ang_X: 105.70 ang_Y: 73.90 ang_Z: 0.67 ang_rate_X: -0.44 ang_rate_Y: -0.87 ang_rate_Z: -0.87
Mot1%: -10 Mot2%: -8 SteerValue: 491.00 Voltage: 25
ang_X: 105.72 ang_Y: 73.92 ang_Z: 0.74 ang_rate_X: -0.44 ang_rate_Y: 0.44 ang_rate_Z: 0.44
Mot1%: -9 Mot2%: -7 SteerValue: 491.00 Voltage: 25
ang_X: 105.66 ang_Y: 73.98 ang_Z: 0.73 ang_rate_X: -0.44 ang_rate_Y: -0.44 ang_rate_Z: -0.44
Mot1%: -10 Mot2%: -8 SteerValue: 491.00 Voltage: 25
ang_X: 105.67 ang_Y: 74.00 ang_Z: 0.76 ang_rate_X: -0.44 ang_rate_Y: 0.00 ang_rate_Z: 0.00
Mot1%: -9 Mot2%: -7 SteerValue: 491.00 Voltage: 25
ang_X: 105.62 ang_Y: 74.06 ang_Z: 0.76 ang_rate_X: 0.00 ang_rate_Y: -0.44 ang_rate_Z: -0.44
Mot1%: -10 Mot2%: -8 SteerValue: 491.00 Voltage: 25
ang_X: 105.48 ang_Y: 74.23 ang_Z: 0.84 ang_rate_X: -0.87 ang_rate_Y: 0.87 ang_rate_Z: 0.00
Mot1%: -8 Mot2%: -6 SteerValue: 491.00 Voltage: 25
ang_X: 105.08 ang_Y: 74.61 ang_Z: 0.94 ang_rate_X: -0.87 ang_rate_Y: 0.00 ang_rate_Z: -0.44
Mot1%: -10 Mot2%: -4 SteerValue: 472.00 Voltage: 25
ang_X: 104.97 ang_Y: 74.67 ang_Z: 0.94 ang_rate_X: -0.44 ang_rate_Y: -0.44 ang_rate_Z: -0.44
Mot1%: -12 Mot2%: -4 SteerValue: 466.00 Voltage: 25
ang_X: 105.12 ang_Y: 74.48 ang_Z: 0.96 ang_rate_X: -0.44 ang_rate_Y: -0.87 ang_rate_Z: 0.00
Mot1%: -13 Mot2%: -5 SteerValue: 466.00 Voltage: 25
ang_X: 105.34 ang_Y: 74.22 ang_Z: 1.04 ang_rate_X: -0.44 ang_rate_Y: 0.00 ang_rate_Z: 0.44
Mot1%: -11 Mot2%: -5 SteerValue: 472.00 Voltage: 25
ang_X: 105.42 ang_Y: 74.08 ang_Z: 0.86 ang_rate_X: 0.87 ang_rate_Y: 0.00 ang_rate_Z: 0.00
Mot1%: -10 Mot2%: -6 SteerValue: 488.00 Voltage: 25
ang_X: 105.56 ang_Y: 74.08 ang_Z: 0.77 ang_rate_X: 0.44 ang_rate_Y: -0.44 ang_rate_Z: 0.00
Mot1%: -10 Mot2%: -8 SteerValue: 494.00 Voltage: 25
ang_X: 105.67 ang_Y: 74.04 ang_Z: 0.74 ang_rate_X: 0.00 ang_rate_Y: -0.44 ang_rate_Z: 0.00
Mot1%: -10 Mot2%: -8 SteerValue: 500.00 Voltage: 25
ang_X: 105.69 ang_Y: 74.08 ang_Z: 0.67 ang_rate_X: 0.87 ang_rate_Y: 0.00 ang_rate_Z: 0.00
Mot1%: -9 Mot2%: -9 SteerValue: 509.00 Voltage: 25
ang_X: 105.85 ang_Y: 74.07 ang_Z: 0.52 ang_rate_X: 0.87 ang_rate_Y: -0.44 ang_rate_Z: 0.00
Mot1%: -9 Mot2%: -9 SteerValue: 515.00 Voltage: 25
ang_X: 106.09 ang_Y: 74.02 ang_Z: 0.38 ang_rate_X: 1.31 ang_rate_Y: 0.00 ang_rate_Z: 0.00
Mot1%: -9 Mot2%: -9 SteerValue: 515.00 Voltage: 25
ang_X: 106.28 ang_Y: 74.05 ang_Z: 0.25 ang_rate_X: 0.87 ang_rate_Y: 0.00 ang_rate_Z: 0.00
Rideable Segway Clone - Low Cost and Easy Build: Page 39
Mot1%: -9 Mot2%: -9 SteerValue: 518.00 Voltage: 25
ang_X: 106.29 ang_Y: 74.25 ang_Z: 0.24 ang_rate_X: 0.44 ang_rate_Y: 0.00 ang_rate_Z: 0.00
Mot1%: -9 Mot2%: -9 SteerValue: 521.00 Voltage: 25
ang_X: 135.44 ang_Y: -11.48 ang_Z: -19.31 ang_rate_X: 3687.05 ang_rate_Y: 4037.82
ang_rate_Z: -6800.27 Mot1%: 100 Mot2%: 97 SteerValue: 546.00 Voltage: 24
ang_X: 88.03 ang_Y: 56.05 ang_Z: 22.65 ang_rate_X: -88.79 ang_rate_Y: -7277.88 ang_rate_Z: -
9046.17 Mot1%: -80 Mot2%: -98 SteerValue: 614.00 Voltage: 25
Sir can we get the required output in serial monitor with just the arduino and mpu6050

can you please help me to sort out what is wrong

It looks like it is waiting for an interrupt from the MPU6050. Read the debug section. Send a video
of everything you have if you still cant get it working.
Please search through the instructatble for the error mesage..for example search for FIFO. If you
are still having issues, upload a youtube video. Good luck!
It was an amazing experience making this scooter .. My Scooter is finally working and taking all the
load easily .. Happy About it

Amazing, can i know the details plz.

It looks great! How about sharing a working Youtube video for us?

Please give us the link of proper program zip file

We are making segway. In led part the led sometimes glow red or green after switching on the
circuit. And mpu 6050 does not changes the motor speed and deadpan switch is also not working
properly please suggest some solution on it
Dear sir i built my segway following your instruction making sure that the wires are short and
twisted, but i have a problem which i believe is due to my batteries power, my seway balances at
almost 45 degrees so it make impossible to lean forward more because the body will hit the
ground, this happens because ( in my opinion) that im using 12 VOLT 6AH batteries type, so i tried
to play with the code i changed the 80 to 95,it is true that the balanced level have changed but still
not enough, so the next i tried with 100 but the segway goes out of control, please advise,

thanks
Hi Waleed,
That's great that you are building this segway. It sounds like you are really close.
A few questions:
1) Is the accelerometer board level and sitting at the same position as shown in the picture? If not,
the board wont balance.
2) Are you sure your 12V 6AH batteries are fresh and in good condition? If they get worn down,
they will not support much weight. It should still look/feel like it's balancing correctly with no rider
thought.
3) Does the tilt switch help level the board?
Rideable Segway Clone - Low Cost and Easy Build: Page 40
If nothing else works, send us a youtube video of the board, including the electronics and what
happens when it's not working. Good luck!
Hi, how are you? I have made your project but it does not work, it does not turn on or the LED, but
if it comes to the power supply to all the modules ... I need your help
MPU6050 connection successful
Initializing DMP...
Enabling DMP...
Enabling interrupt detection (Arduino external interrupt 0)...
DMP ready! Waiting for first interrupt...
fifoCount: 1024 mpuIntStatus: 19FIFO overflow!
the same happens to me. and i have #define DEBUG_ENABLE_PRINTING 0 //normal
in the code!
please tell me if u know any solution regarding the fifo overflow issue

help me solving this issue please i would be very much thankful to you..

@SafetyfirstS Did you happen to find solution for this problem or found out what was causing this
issue?
HI I.Hart
I need suggestion. I am using 250W brushed motors (MY1016 B) so what sabertooth driver is
better "sabertooth dual 25 A" or "Sabertooth Dual 12A".
Thanks
the 25A version will allow you to get full power to the motors. The 12A version should work too for
demonstration purposes. If you try to go fast or up a hill, the Saber could current limit and vibrate to
let you know it is doing that.
hello I. hart.
I am currently working on my project that is Segway .I follow your instruction of 38 steps and I have
one question can I use sabertooth dual 25 A driver instead of sabertooth 12 A as you used if yes
then is any change need in code or hardware ?

You can use the 25A Saber. I believe that there is no change needed to the code or HW. A number
of people have done it. Search through all the comments. Check the 2 data sheets to be sure.
Sir can i used sabertooth 2X12A Motor Driver for weight around 80 kg or sabertooth 2x25A is
better option.
You should be able to balance with 80kg. I am about 75 kg and it was fine. Good luck with your
project! Post a video when it's working.
Hi Ihart, if you see in image 0, the acelerometer send approximately 0 to motor, in image 1, is when
i tilt back, the motors respond normal, and in image 2, when i tilt forward, the motors going back
and crazy. how can i fix it?

Rideable Segway Clone - Low Cost and Easy Build: Page 41


When i ajust the tilt angle, im my case is 105, it's happening. But when i put 80 and tilt the
acellerometer, the motors respond correctly
I assume you're talking about the hard coded tilt angle setting in the Arduino code? I'm not sure
why you're seeing the motors go crazy when you change that value. I remember playing with it in
smaller increments and it was fine.

Maybe you can move the angle of your accel/gyro board itself to get it so the 80 number will work
for you?
Hi Bruno, congrats on your build.
Most of the problems people have had with their builds are related to RF noise getting coupled into
the I2C communications from the accelerometer to the Arduino. Follow the debug instructions to
make sure you have a clean system. Then, if you are still having problems, post a video of the
board and system showing the problem.
Hi ihart, I have a question, what happens is that I buy another dual driver of the same v, will there
be problems with the code? is a Pololu Dual VNH5019 Motor Driver Shield for Arduino (ash02a)
tank you, great project.
It might work. The voltage and current handling is fine. You would have to re-write the Arduino
code to talk to this part instead of the Dimension part used in the Instructable. Also, this part uses a
lot of pins on the Arduino. I count 10pins instead of the 2 with the Dimension Saber part. I think you
would need an Arduino Mega to use this part. Good luck!
Hi...ihart.
I liked your design and the way you describe it.
i just followed your instructions to build up mine.
but the problem i am facing is that mine motor 1 is running to its 100% directly no deadman switch
works their. just as soon as the 24v supply is given the motor runs in its 100% and yes i used a
sabertooth 2x32A motor driven rest all is the same.
please suggest me the proper solution ?
thanks.
What have you tried in the debug section? Check your connections vs. the schematics. Check for
the I2C pullups and their value. Make sure wires are short and twisted.
Hi Ira,
I almost gave up the construction, but I think I spent a lot
of time on it, and it would be a shame.
So here's a new question:
I read in the instructable that the geared motors were
sensitive to the back slashs. In addition, the gears generate a free play which must disturb the
proper functioning of
the gyroscope. Also, I intend to remove the gearbox and replace it with a
sprocket and a wheel as you did.
With a sprocket with 11 teeth and a wheel with 66 teeth, the
ratio is 1/6.

Rideable Segway Clone - Low Cost and Easy Build: Page 42


Your engine runs at 2650 RPM, so 440 rpm per minute on the
wheel.
The engine I use runs at 4900 RPM
With the 11-tooth sprocket and the 66-tooth wheel, the wheel
will run at 816 RPM.
We go from 440 RPM to 816 RPM.
The difference is quite significant.
Can it be taken into account in the Arduino code, or is it
necessary to choose another ratio with the number of teeth for the sprocket and
the wheel?
If we can act in Arduino code, what is the parameter to
modify ? (could be the ACC_GAIN ?)
Best regards,
Jean-Claude.
You can try to adjust the gain settings. Play with these values in the code. Start with the
ACCEL_GAIN:
//Variables for GYRO_GAIN and ACCEL_GAIN
#define ACCEL_GAIN 18.0 //
#define GYRO_GAIN 5.0 //
Hello ihart !!!
I followed the instructable as you mentioned and build the segway.
But finally my gyro didn't work. I build the same design.
Also motors only move forward as I press deadman switch. They didn't move backward.
Kindly tell me the problem as soon as possible.
Thanx.
A photo of my (almost) completed project is attached. I used wheelchair motors/wheels because I
had them. Other than that, 22AH batteries, and a larger (2X25) Sabertooth controller, the electrical
and electronic portion is the same as in the Instructable.
So far, it's only traveled about 4 meters. After running for a few seconds, the wheels start to shake
or chatter. I just read in previous comments that the Sabertooth may do that when too much current
is being drawn. I have been unable to find the power usage for the motors that I'm using. I'm going
to upgrade some of the wiring that I'm unsure of but I know most of it is 14 gauge. I may have to
get scooter motors if all else fails.

Hi James,
That looks great. I would consider replacing at least the bottom of the vertical bar with metal. There
is another instructable I did that shows how to do this. The PVC can (will) snap at the base if you
put a lot of force on it.
14AWG wiring should be fine for all the 24v stuff going to motors, batteries and Saber power.

Rideable Segway Clone - Low Cost and Easy Build: Page 43


The motor will shake and chatter if the Saber determines that it is in over current. This could be
due to dead batteries, undersized batteries or really big people riding up a hill. I would suspect
other problems first and your motors last.
Thanks for the response. For the three wires going from the Arduino to the motor controller, which
wires are twisted with which? It's a little difficult to follow those wires in the photos because that's
also where several wires are exiting the box.
I am testing it currently without steering and tilt adjust switches/wires to reduce possible noise
locations. I still get chatter or erratic behavior after 30-60 seconds. All cable on the 24V side is 14
or 12 gauge and the batteries are the same as those used for wheelchairs. (After one failed
segway attempt, I put the batteries into a lawnmower that I converted to electric and was able to
mow for 45 minutes, so I'm sure they have enough charge.)
I saw your information about the PVC. I thought I could overcome it by using a different attachment
method and by hot-gluing a 1" PVC pipe inside the outer one, but it's definitely weak at the
threaded area. I've bought materials to correct it.
One other bit of information: in a test, the battery voltage read 25.8 volts before starting, then drops
to 25.3 when running at moderate speed. In this test, it didn't chatter; instead, it went to full speed
after about five minutes. It then dropped to a little under 25 volts. In a previous test, it dropped to
about 23.8 when it was chattering.
@Vmtr
The wires just need to be twisted to block magnetic coupling. Actually, each wire could be twisted
in a curl by itself and it would have the desired effect. You do need the twist.
You also need the proper pullup resistor installed per the schematic to prevent I2C noise.
It sounds like your battery is OK.
There is gyro drift if you leave the segway alone for a while. This may make the wheels turn if it's
sitting for 30secs. Chattering could be overcurrent. The light on the saber would flash red if this
were happeneing.
Have you tried just finishing the build and trying to actually ride the segway?
I had ridden it a couple of times just before I posted the photo. That's when I experienced the
chatter (on a flat driveway with a 185 pound rider). Still, it worked well enough that I don't want to
give up now. I have put it back on blocks to test some things - different motors, heavier wire, etc.
The Sabertooth error light does blink when the motors chatter, which seems odd because it
happens when the machine is on saw horses - no weight, no hills, good batteries.

The twisting of wires is a lesser concern but the motors do occasionally go into high speed without
reason. I'm currently checking my wiring against the schematic to try to spot mistakes.
I made some progress yesterday. Among other things, I made some changes to the wiring. The
way that I originally had the resistors connected on a small breadboard should have worked, but I
changed it to look more like the photos. It seems to have made a difference; I rode farther than
before without issues. I'm not quite ready to declare victory over the electrons, but things are
looking up.
I also replaced the vertical PVC with 3/4" iron pipe, so am no longer worried about pushing on the
handle too hard.
Sounds great. Signal integrity through short and twisted wires is critical for this project with motors
generating lots of noise.
Hi ihart,
I wonder what each switch is intended for. And, We followed you exactly. However, the gyro
sensor doesn't seem to work properly. The motor rotates to the maximum output from start to

Rideable Segway Clone - Low Cost and Easy Build: Page 44


finish. What seems to be the problem?
Go through the debug section please. Make sure your wiring matches the schematic exactly. Wires
should be twisted. Pullup resistors correct.

Rideable Segway Clone - Low Cost and Easy Build: Page 45

You might also like