Introduction: Wild Thing Modification - Joystick Steering
DISCLAIMER: The Barstow School and FRC Team 1939 or any of its members are not responsible for any injuries to any person or damages to any object including the car caused by the modifications. Any type of modification will also void the warranty provided by the manufacturer of the car.
Established in 2006, The Barstow KUHNIGITS is a FIRST Robotics Competition team located at The Barstow School in Kansas City, Missouri. See more about us at: www.frcteam1939.com
Our award-winning head coach, Gavin Wood, teaches his students how their STEM skills can help make the world a better place and inspire the youth of today to pursue careers in STEM fields and creates the leaders of tomorrow.
In 2015, we began our partnership with Variety KC GoBabyGo Powered by Rockhurst University led by Kendra Gagnon in Kansas City, Mo. GoBabyGo is an international organization founded by Dr. Cole Galloway to provide children with disabilities the opportunity to move independently. Variety KC has generously provided donations to buy all the necessary parts and cars for modification.
The Power Wheels ® Wild Thing by Fisher-Price (LINK) was built and modified as a result of the collaboration
between our team and GoBabyGo. Zuhair Hawa and Joey Holliday from The Barstow School led the modification of the car and compiled these instructions. Gavin Wood, Miles Knight, George Whitehill, Sophie Johnson, Aasim Hawa, Aiden Jacobs, Ashley Decker and several other team members also helped with the adaptations. Dr. Kendra Gagnon from Rockhurst University also contributed to this manual.
- A PVC exoskeleton backed with pool noodles for cushioning.
- A kickboard to the back of the seat to increase back support for the child.
- Converting the two-joystick controls into a single joystick. This adaptation required a processor and speed controllers to be added.
- A potentiometer, similar to a dimmer switch, so parents can easily adjust the speed.
- An (optional) ultrasonic sensor to the front of the car to detect obstacles and a piezo to emit a sound to warn the child.
IMPORTANT NOTE: If the child you are modifying for has good use of both arms and hands, gather only the PVC skeleton parts and tools and skip to step 6 afterwards. If you want a single joystick and PVC exoskeleton, start from step 1. When completing the project, make sure to keep track of any screws/bolts removed from the car.
Step 1: Gathering Parts and Supplies
Below are the lists of all the parts required for the modifications. Most of these will be found in hardware stores such as Home Depot or Lowe’s, unless otherwise noted. The electronics have hyperlinks directed to the product pages for order. Extra wire can be bought at stores such as ____. The internal modifications require skills in soldering, wiring, and programming.
If only completing the PVC exoskeleton, only gather the tools until the hot glue gun.
- PVC Pipe - ¾”
- Zip ties
- PVC elbows (3/4") - 6 pieces
- PVC t-connector (3/4") - 1 piece
- 1/4” Bolts - 2" long - 1 small box (about 25 pcs)
- 1/4” Nuts - 1 small box (about 25 pieces)
- 1/4” Washers - 1 small box (about 25 pieces)
- Short, small wood screws, no longer than 1/2” in length - 1 box
- Adafruit Trinket:
- The computer used to read from joystick and control motors
- Any Arduino variant will work
- Used to detect distance to an object in front of the car
- Any Ultrasonic Sensor should work
- Any dual axis analog potentiometer should work
- Used to provide auto feedback about proximity to objects in front of the car
- Used to simplify wiring
- Used to adjust the speed of the car
- Any potentiometer should work
- Used to level out the voltage in the system. Highly recommended.
- Any replacement Capacitor must be rated for a greater voltage than the battery
- Used to turn the car on and off
- We used Talon SR speed controllers, which are discontinued.
- We recommend the Spark Motor Controller
- You can also use any PWM compatible 12V speed controller that you find
- Used to prevent fires and burnouts of components
- This can be purchased from the dollar store or any hobby store such as Michael’s.
- Measuring Tape/Ruler
- PVC Cutters (Hack saw will work as a substitute)
- PVC Glue
- Drill Bits - 3/16”, 1/4”, 1/8”
- Pen, pencil, or marker
- Hack Saw
- Hot Glue Gun and Sticks
- Wire Strippers
- Soldering Iron
- Wire Cutters
- Electrical Tape
- Heat Gun
Step 2: Removing the Two Joysticks (This Must Be Completed First If Wanting a Single Joystick)
Remove the battery from the vehicle
Remove the plastic piece that protects the circuit board under the seat
Unplug all wires from circuit board, and remove the board.
Unscrew the screws that hold in each tire and remove the tires. Unscrew the screw that holds the tire to the the orange axle. Take off the orange bracket and washer at the end of each of the axles.
Remove each of the 4 screws from each side that connects the tire protectors to the body of the vehicle. 2 of the screws are under each of the tire protectors, and the other 2 screws are on the inside of each tire protector.
Unscrew the 2 screws in the front of the vehicle that holds the plastic footrest to the metal base of the vehicle.
Remove each joystick by removing the side metal arms that are attached to the tire protector.
Reattach each tire protector and then each of the tires by screwing in each of the screws that were unscrewed back into their original places. Make sure each screw has a washer on it.
Push the metal piece that contains the footrest back into the two metal slots that holds the metal bar. Screw in each screw that holds the metal piece attached to the plastic footrest.
Step 3: Mounting the Electronics Without Soldering
This step primarily deals with mounting some of the electronics that do not require any soldering. You simply mount these electronics and connect wires.
- Attach the two power buses to the base of the vehicle by drilling four 3/16 inch holes and bolting them in. We mounted it to the very front of the compartment. See image 1 as a reference.
- For each motor, cut the leads off the wires keeping the wires as long as possible.
- Strip off 1/4” of insulation on each wire and crimp on a ring terminal (ring lug).
- Identify motor side of the speed controllers. Connect the two wires going to the first motor to the motor side of the first speed controller and repeat for the second motor on a separate controller. Positive and negative don’t matter on the motor side.
- Mount the two speed controllers. We used velcro. We mounted them right above the power buses. Refer to the 4th image.
- Drill a hole in the back of the car to fit the switch. Use a drill bit that is roughly the size of the threads on the switch. Drill a hole inside the car to route wires to the hole in the back. Refer to the 6th image for a location.
- Wire the positive lead (white) of the battery connector through the hole and into the switch.
- Wire the other side of the switch back inside the car and into the breaker/fuse inside. Wire the other side of the breaker/fuse into the positive power bus of the car. (It doesn’t matter which bus is positive or negative but make sure to be consistent.)
- Wire the negative lead (black) of the battery connector into the negative power bus.
- Wire from the positive bus to the positive terminal on the battery side of both speed controllers.
- Wire from the negative bus to the negative terminal on the battery side of both speed controllers. The end result should look similar to image 8, but with more wires.
- (Optional, but highly recommended) Take each capacitor and twist the legs to form loops, similar to image 9. For each speed controller, take a capacitor and wrap the negative leg around the negative terminal on the battery side and wrap the positive leg around the positive terminal on the battery side. The end result should be like image 10.
- Double check all of the wiring. Make sure positive connections only plug into the positive bus. Make sure negative connections only plug into the negative bus. Make sure you connected battery power to the battery side of the speed controllers. Make sure nowhere does the negative of the battery connect directly to the positive of the battery.
Step 4: 3D Printing Joystick Base and Lid
This step requires a 3D printer to create the base and lid. You can either buy one online or access one through a local makerspace or university.
- Use the following link and scroll down to download the STL files for the 3D printer: http://www.frcteam1939.com/gobabygo/
- Use a 3D printer to print the Joystick Base first. Place the file into the printer software. If it looks too small, increase the size to 1000%.
- Print out the Joystick Lid. When placing into the program, flip the lid on it's top to make a clean print. If it looks too small increase the size to 1000%
- If you feel that the edges or corners are too sharp, you can use a file to smooth them out.
- Place these on the side as they will be needed for step 5.
Step 5: Soldering Electronics and Mounting Them
This step deals with soldering the remaining electronics and mounting them to the car. This step requires technical expertise to complete correctly.
- Choose a place to mount the Arduino. Solder on a red wire to BAT+ pin and connect it to the positive bus. Solder a black wire to the GND pin and connect it to the negative bus.
- Solder wires onto the joystick, preferably one PWM cable going to one potentiometer, bridge the reds and blacks between both potentiometers, and a single white wire to the second potentiometer. See attacthed image of joystick.
- Remove the base of the joystick by removing the screws on the bottom. Place the rest of the joystick in the 3D printed base, making sure the wires go through the rectangular slots. Firmly push the joystick, making sure that the top ring is flush against the top of the base. Using the screws, bolt the joystick on through the holes at the bottom
- Remove the plastic ring at the top of the joystick. Place the 3D printed lid over it, making sure the holes line up. Screw on the lid by using the bolts.
- When attaching to the car, ask the family for the reaching distance of the child. This will determine how far forward the joystick gets placed.
- Measure out this distance and mark on the PVC pipe.
- Line up the center of the joystick to this marking.
- Using a 1/4” drill bit, drill through the holes that are on mounting bracket of the joystick base. Make sure to drill through the PVC.
- Use a 1/4” bolt and washer and insert through the hole, going through the joystick base first. On the other side, use a 1/4” nut. Tighten. Tape the lid to the base.
- Drill a 3/16” hole in the bottom of the foam ball. Mount the ball to the to the joystick. You may want to add a drop of glue to ensure that it sticks.
- Route the joystick wires through the old joystick hole and mount the joystick and solder signal wires to the Arduino. One white wire should go to A0 port and the other to the A1 port.
- Connect a PWM cable to each speed controller using one end. Cut the connector off the other end and separate the wires. Solder the white, signal wires to the Arduino. One white wire should go to port 10 and the other to port 11.
- (Optional) Attach the ultrasonic sensor the front of the car and route wires up the side and into the old joystick compartment and into the body and solder signal wire to the Arduino. The white wire should go to port 6.
- (Optional) Attach the piezo to the joystick housing and route wires through old joystick hole into body and solder signal wire to the Arduino. The white wire should go to port 9.
- (Optional) Drill a hole in the back of the car for the speed adjustment dial and a hole behind it into the body. Solder a PWM cable onto the potentiometer. Mount the potentiometer and run the cable into the body. Solder the white, signal wire onto the Arduino. This should go to port A1.
- Solder a red wire to the 5V pin on the Arduino. Connect all of the red wires going to the sensors, speed controllers, etc. to this wire using either a wire nut, solder, or a breadboard.
- Screw a black wire into the negative bus. Connect all of the black wires going to the sensors, speed controllers, piezos, etc. to this wire using either a wire nut, solder, or a breadboard.
- Double check all of the wiring. Ensure sensor and speed controller wires only connect to the 5V pin and not the 12V bus. Make sure all grounds connect to the negative bus. Make sure all signal wires are securing attached to the Arduino. Make sure solder on the Arduino doesn’t bridge pins.
Step 6: Building Horizontal PVC Exoskeleton
In this step, you will create the horizontal PVC exoskeleton that will rest on the fenders. There will also be a vertical component at the front of the car.
- Measure out two 28” PVC pipes that will be used as the right and left side support. These PVC pipes will be rested on each of the fenders.
- Use a PVC cutter (Hack saw works well too) to cut out the two 28” PVC pipes
- Add an elbow piece to each end of the 28” PVC pipes.
- Measure out one 20.5” PVC pipe that will be used as the back crossbar. Use PVC cutters to cut it out.
- Place the one 20.5” PVC pipe inside the back elbows so that the pipe is placed as the back crossbar.
- Cut out two 10” PVC pipes that will be used as the front crossbar.
- Use a T-Connector to attach the two 10” PVC pipes, so that it makes a straight line. Use a PVC cutter to cut out one 6.5” PVC pipe.
- Attach this 6.5” PVC pipe to the bottom of the T-Connector, so that it is facing downwards
- Connect this section to the front of the 28” PVC pipes. The resulting structure should look like the attached photo of the PVC on the table.
- Place onto the car, resting the longer pieces on the fenders. Refer to the second image.
- Use two 14” zip ties to connect the back crossbar to the back steel support. You can also choose to use bolts. Refer to the third image and see note.
- Using a 1/4” drill, drill a hole on each side support 12.5” from the front of the PVC supports
- Using the same 1/4” drill, on each sides’ tire protector, drill a hole directly below the 1/4” hole on the supports.
- Screw in a 2” long, 1/4” bolt through the side supports and tire protectors. Insert the bolt so the head of the screw is on top of the PVC. Place a washer in between the screw and PVC support.
- Screw in a 1/4” nut to the bottom of the bolt. Tighten.
- At the vertical post in the front, drill a small pilot hole 1” from the bottom of the PVC. Make sure to drill through both the PVC and the flat Power Wheels logo. See the last image for reference.
- Screw a screw through the PVC and logo
- Cut any excess bolt length with a saw. File down to ensure a smooth finish
- On each side of the elbows and T-connectors, drill a small pilot hole using the 1/8” drill bit and screw in a screw to prevent movement of the PVC pipes.
- Use a saw/pocket knife (PVC Cutters work well too) to cut out a 22” long (red) pool noodle
- Use a saw/pocket knife to cut through one side of the 22” long pool noodle. It should be cut in a way so that the pool noodle opens up and can wrap around the PVC. It should look similar to a hot dog bun when completed.
- Enclose this 22” long pool noodle around the front support
Step 7: Building Vertical PVC Exoskeleton
In this step, you will create the vertical PVC exoskeleton and kickboard attachment, which will create back support.
- Measure out one 18.25” PVC pipe that will be used as the horizontal support for the vertical uprights. Use a PVC Cutter to cut it out.
- Measure out two 19.25” PVC pipes that will be used as the vertical uprights. Use a PVC cutter to cut out the two pieces.
- On each side of the vehicle, place the two vertical uprights directly overlapping the far right side of the Wild Things logo. The bottom of the uprights should be even with the bottom of the base of the vehicle. Make sure the uprights are resting against the screw on the orange support. These uprights should make approximately a 95 degree angle. Look at first image to get a visual reference.
- Using a 1/4” drill, drill a hole 1” from the bottom of the PVC pipe on each side. Make sure to go through the PVC and the plastic. See notes on second image.
- Use a 1/4” bolt to attach the PVC to the car. Make sure that the head goes on the side of the PVC, and there is a washer on this side of the bolt. Use a 1/4” nut to maintain its location.
- Using a 1/4” drill, drill a hole 3” from the elbow connector on the horizontal supports. See note on the second image. Make sure you go through both the vertical and horizontal PVC pipes. Do this for each side.
- Use a 1/4” bolt to attach the PVC together. The head of the bolt needs to be on the inside of the structure, nearest to the center of the car. Place the nut on the outside of the bolt.
- Attach an elbow facing across the vehicle to the top of each of the vertical uprights.
- Place the 18.25” PVC pipe in between these elbows.
- Use PVC glue to attach the 18.25” PVC pipe in between the elbows on the uprights or, on each side of the elbows, drill a small pilot hole using a 1/8” drill bit and screw in a screw to prevent movement of the PVC pipes.
- Cut the excess bolt length with a saw. File down to ensure a smooth finish
- Place the kickboard against the uprights and on the seat.
- Drill two pairs of holes, one above and the other below the PVC pipe with the 3/16” drill bit. Hot glue 1/4” washers onto each side of the hole on the kickboard to prevent it from ruining the hole.
- Use zipties to attach the kickboard to the car. Keep them a little loose to allow the rotation of the kickboard over the top of the car. See third image for the complete car.
Step 8: Coding and Debugging
In this step, you will upload the code to the processor. This step requires some programming knowledge.
- Download and install the Arduino IDE https://www.arduino.cc/en/Main/Software
- Setup IDE for Trinket https://learn.adafruit.com/adafruit-arduino-ide-setup/overview
- Download the code and open it in the IDE https://github.com/FIRST1939/GoBabyGo
- Configure the settings at the top of the code. Use the keyword “true” to enable a setting and “false” to disable it.
- Check all of the pins listed in the code and verify the pins the wires are connected to.
- Connect a USB cable to the Trinket and then into your computer.
- In the IDE go to Tools->Board->Pro Trinket 5V/16MHz (USB)
- Then click upload. The code should be uploaded to the Arduino.
- Only follow this guide if the code isn’t performing as you expect and after verifying all electrical connections and code configurations.
- Purchase an FTDI Friend or equivalent https://www.adafruit.com/product/284
- Solder the six pin header onto the end of the Arduino.
- In the code set “DEBUG” to “true” and upload the new code.
- Connect the FTDI Connector to the Arduino and the USB cable to your computer.
- In the IDE go to Tools->Serial Monitor
- A window will pop up and list the values of all of the sensors and outputs on the car.
- Use this information to verify all sensors work properly.
Step 9: Test Drive Tips and Postural Support
Test Drive Tips:
For the first test drive, start at the slowest speed. There can be a large learning curve with joystick controls, and it takes some children a long time to get the hang of “grading” their joystick movements to steer the car. You may want to practice in a large open area with lots of room to move and “play” with the joystick control. The child may require hand-over-hand assistance at first, but should also be given plenty of opportunity to use the car “hands off” so that they learn how it works through cause and effect.
Good postural support is key to giving the child a stable trunk so they can focus on using their arm/hand. You may develop solutions for postural support using Velcro, pool noodles, foam, etc. You may create a seatbelt by bolting two, 12-inch pieces of industrial-strength Velcro to the seat. If the child requires more trunk stability, you may try a commercially-available harness (we have had success using the GoGoBabyz harness, criss-crossing the chest straps for extra support). You can use a couple of strips of Velcro to secure the harness to the seat. Portable adaptive seats, such as the Firely GoTo seat, fit well in the car, too. There’s no one “right” way to build postural support – be creative!