Make Your Own Ferris Wheel
This tutorial will walk you through the process of building your very own model Ferris wheel. This model will be small and compact, so that it can easily fit on a desk top. It will include a microcontroller to turn a stepper motor, and mini benches to simulate the rotating chairs.
This model was built using thin cardboard, but it can also be built using a variety of other available materials, including balsa wood or light plywood, if desired.
Supplies
- cardboard (1 box should be sufficient)
- hot glue sticks
- 1 stepper motor with included motor driver board - (Model no. 28byj-48, ULN2003)
- 1 ball bearing - measuring 1/2 x 1-1/8 x 5/16
- Atmega2560 microcontroller (with USB A/B cable)
- 2 thumb tacks
- 6 male-to-female jumpers
- 1/4" dowel rod
- 1/2" dowel rod
- Tools needed:
- straight edge or ruler
- pencil
- sand paper (to sand dowel rod edges)
- hand saw / wood shears (to cut through dowel rods)
- drill
- 1/4" bit
- 1/2" bit
- 3/16" bit
- scissors
- box cutter
- hot glue gun
- optional:
- thinner cardboard, cardstock, etc. (for bench seat backs)
- fairy string lights- model no.B07WZSRSSF (with 3 AAA batteries)
- paint (any type/color desired)
Measure and Cut the Pieces
- Download the provided pattern. Included should be a template for 2 wheels, 1 base bottom, 2 bearing mount frame sides, 2 base supports, and 8 bench sides.
- Print out the pattern on normal printer paper and cut out each piece.
- Lay each pattern on top of the cardboard. Trace around the edges of each shape, and cut out each shape. Mark the holes that should be drilled.
- The large hole on the bearing-mount side of the base measures 1.125" in circumference. The hole for the axle on both wheel pieces can be made with a 1/2" drill bit, and the smaller holes around the edge of both wheel pieces and at the top of the bench seat segments can be made with a 1/4" bit.
Downloads
Cut Triangle Sections Out of the Wheels
- Use the 1/4" drill bit to make the 8 small holes around the outside edge of the wheels. These will be the locations of the bench poles during assembly.
- At the corner of each wheel window (the triangle shapes), drill a hole using the 1/2" drill bit. Scissors can be used to cut these triangular segments out of the main cardboard wheel segment.
Clean Up the Edges of Each Piece
- Trim unruly edges with scissors or a box cutter. This is purely cosmetic, but will create a nice professional finish.
- Use caution with all blades! Cut carefully so as not to cause injury, and be mindful of the surface beneath the carboard. Otherwise, you may end up with cuts to your table top.
If Desired, Paint the Pieces
- If you want to give your Ferris wheel a more polished look, you may want to give it a nice coat of paint. Most types of paint should suffice, but spray paint may be the simplest way to ensure an even coat and a quick drying time.
- Note: If you choose spray paint, follow the directions on the can and be sure to paint in a well-ventilated area.
Assemble the Base
- Add a thick line of hot glue to the bottom edge of the bearing-mount frame side. Line it up along the long edge of the frame base, and glue into place.
- Add a thick line of glue to the bottom edge of the stepper motor-mount frame side and glue into place along the long edge of the frame base.
- Finish the base by adding the 2 base supports. Place a thick line of hot glue along the short edge of the base and up along the flattened edge of the frame side. Put the frame support into place and repeat on the remaining short edge of the base.
- Note: Be sure to work quickly as hot glue sets fast, but be careful not to touch the hot glue or hot tip of the glue gun. You may get burned!
Add Seat and Back to Bench Seats
- Using your desired medium (popsicle sticks, carboard, cardstock, etc.) and two bench side pieces, construct 8 benches in total. We have used a piece of thin cardboard from a multi-pack of facial tissue packaging which we spray painted white to create the seat and backs.
- Measure and cut 8 rectangles of your material that are 2.5" by 4.5". From one end, mark the distance of the seat portion. Using your straight edge, fold the rectangle all the way across at that mark. (See images 2 and 3 above.) Place a line of hot from the fold to the opposite edge along the seat portion of the rectangle. Place one bench side piece on the glue and hold for several seconds until the glue holds. Repeat along the other side.
- With both sides glued to the seat, place two lines of glue on the remaining section of the rectangle. Fold both portions of the rectangle towards each other and place the bench sides on the glue lines. Hold a few seconds until the glue holds. Repeat this until all 8 bench seats have been constructed.
- Cut 8 3.25" pieces from the 1/4" dowel rod. Thread these through both 1/4" holes in the bench sides. (See image 9 above.) Note: To ensure that the benches will swing freely as the Ferris wheel rotates, twist the dowel rods around in the holes to make the holes slightly larger than the dowel rods.
Install Bench Seats
- One at a time, mount the benches by sliding the 1/4" dowel into one wheel then into the other. Ensure all benches face the same direction. When all 8 benches have been installed, apply hot glue on the outside end of each 1/4" dowel. (See image 4 above.) This will prevent the wheel section from falling apart.
Install Bearing and Prep Axle
- Cut the 1/2" dowel into a piece long enough to reach from the stepper motor, through both wheels, and through the bearing-mount frame side. Leave enough length so that a small amount of dowel sticks out of the far side of the bearing. This will help to stabilize the axle and prevent it from falling out of the bearing.
- Use a 3/16" drill bit to make a shallow hole (roughly the depth of the stepper motor shaft) in the end of the dowel rod opposite to the bearing. (See image 2 above.)
- Sand all sharp edges and thread the axle through the bearing-mount frame side and into the wheel.
Install the Wheel
- Thread the axle through the wheels and pop the bearing into the bearing-mount frame side. Press firmly from bearing mount to stepper motor to ensure a good fit. The motor shaft should fit snuggly into the axle.
- Note: The code provided rotates the motor shaft in a clockwise direction as you look at the motor shaft. Therefore, the motor should be installed on the left, the seats should be facing towards you, and the bearing should be on the right. (See image 4 above.) This will give the most realistic movement.
Install the Motor
- The stepper motor can be mounted by pushing two thumb tacks through the mounting brackets on either side of the motor.
- Note: Ensure that the wheel sits level before mounting the motor.
Complete the Connections
- Connect the GND and 5V pins from the Atmega2560 to the appropriate pins on the driver module.
- Connect IN1-IN4 to PIN22, PIN23, PIN24, and PIN25 of the Atmega2560.
- Connect the 5-wire bundle from the stepper motor to the driver module.
Hardware Setup
- Using the USB cable, connect your computer to the microcontroller to allow the code to be uploaded and transferred correctly.
Arduino Code
- This project uses code we developed using Microchip Studio. The Microchip Studio software can be downloaded for free here.
- Open Microchip Studio
- Start a New Project
- Note: Be sure to set your device to Atmega2560 when asked.
- Copy and paste our provided code into Microchip Studio (either from the code block or the main.c file attached below)
- Build the solution by hitting "F7" on your keyboard
- Add your Atmega2560 to upload the code by clicking on Tools->External Tools
- Program the Atmega2560 and watch your Ferris wheel come to life!
#define F_CPU 16000000UL //defines clock for time delays
//include files
#include <avr/io.h>
#include <util/delay.h> //allows time delay function
int main(void)
{
io_init(); //initialize ports
CW(); //call motor function
while (1)
{
}
}
void io_init(void)
{
DDRA = 0xFF; //set PORTA as output
PORTA = 0x00; //turn all output off
}
void CW(void)
{
uint8_t FullCW[4] = {0x03, 0x06, 0x0C, 0x09}; //steps of Wave mode
while((PINA & 0x02) == 0) //while PINA1 equals 0
{
for (uint16_t j = 0; j < 4; j++)
{
PORTA = FullCW[j]; //use array to rotate clockwise (as you look at motor shaft)
_delay_ms(4); //4ms delay
}
}
}
Downloads
Enjoy Your Hard Work!
See a video of the finished product below!