Overview

Twitter user @caitlinsdad made this insanely awesome maker-themed ice cream truck. Inspired by his idea, here is a guide on how to create the truck in its physical form! Using cardboard, a couple different motors, NeoPixels, CRICKIT and Circuit Playground Express, we will recreate this totally tricked out truck!

Prerequisite guides

Reading or at least skimming through these guides before beginning will save you a lot of headache in the future. You can always refer back to them if you need help!

Adafruit Parts

1 x Circuit Playground Express
Circuit Playground Express is a great introduction to electronics and programming
1 x Adafruit CRICKIT for Circuit Playground Express
Crickit: Creative Robotics and Interactive Construction Kit is an add-on to Circuit Playground Express
2 x TT Motor DC Gearbox
200 RPM 3 to 6VDC
1 x Micro Servo
A little servo can rotate approximately 180 degrees (90 in each direction)
1 x USB Cable
USB A to Micro-B
1 x Small Alligator Clip Test Lead (set of 12)
For controlling the truck via capacitive touch
1 x Rainbow Crafting Yarn
For making waving Adabot (any string or twine will also do)

Portable Power

1 x Male DC Power adapter
2.1mm plug to screw terminal block
1 x Lithium Ion Battery Pack - 3.7V 6600mAh
Works well for motors that hog a lot of power
1 x PowerBoost 1000 Charger - Rechargeable 5V Lipo USB Boost @ 1A - 1000C
Will convert 3.7v from lithium batteries to 5v needed for CRICKIT
1 x Premium Male/Male Jumper Wires - 20 x 3" (75mm)
For connecting batteries to PowerBoost

Optional

1 x Adafruit Mini Skinny NeoPixel Digital RGB LED Strip - 60 LED/m - WHITE - 1 meter long
Great additional lighting for the truck but not absolutely necessary.
1 x 5V 2A (2000mA) switching power supply - UL Listed
Power source for testing out electronics before adding battery

Tools and Materials

  • Medium to large width corrugated cardboard - need at least 5 - 6 sheets sized 8.5" X 11" with the same thickness
  • Scrap pieces of cardboard (to make character cutouts and various smaller parts)
  • Pencil
  • Ruler
  • Hobby knife
  • Scissors
  • Hot glue gun + 2-3 sticks of glue
  • Double sided tape
  • Aluminum foil
  • Access to a printer
  • Print out of characters
  • Glue stick
  • Mini bamboo skewers
  • Fake spider web (for ice cream)
  • Duct tape (for NeoPixels)
  • Soldering iron + solder (for portable power supply)
  • Rubber band
  • Wire cutter

Optional but recommended: 

  • Cutting mat (for cutting cardboard)
  • Peel and stick hoop and loop fasteners (Velcro) - For attaching Blinka to front seat!
  • Colored markers and other decorations for the truck!

Wiring

To begin, let's first wire up the main electronic components:

  • Plug in both DC motors to the motor inputs on CRICKIT with the red 5V leads going in the outer inputs of the motor terminal block. Use a small screwdriver to screw in the leads into the terminal blocks.
  • Plug the servo into input 1 on the servo section on CRICKIT. Orient the leads such that the yellow wire is on the outside edge of CRICKIT.
  • Attach an alligator clip to capacitive touch input A3 on the CPX (Circuit Playground Express)
  • For power, for now, use a 5V 2A (2000mA) switching power supply plugged into the 5V DC jack.
  • Screw in NeoPixel strip to NeoPixel terminal block of CRICKIT after prepping the wires via directions below. For more info on using NeoPixels with CRICKIT, check out this guide: Make it Glow with CRICKIT.

In order to attach the NeoPixel strip to CRICKIT, we will need to prep the Data In end of the strip.

Prepping the NeoPixel strip for CRICKIT:

  • Take the end of the NeoPixel strip with the data line arrow pointing inward toward the strip.

  • With wire cutters, cut the end of the white wire.

  • Strip off 1 cm of wire cover from white wire as well as ground (black) and power (red) wires.

Adding Louder Sound

You may like the song the little crickit bot plays but want it to be a little louder. By default it only plays from the little buzzer on the Circuit Playground. By adding a 8 ohm speaker to the Crickit speaker output you'll get a blast of audio!

Mini Metal Speaker w/ Wires - 8 ohm 0.5W

PRODUCT ID: 1890
Listen up! This tiny 1" diameter speaker cone is the perfect addition to any small audio project where you need an 8 Ω impedance and will be using 0.5W or less of power. We...
$1.95
IN STOCK

Now it's time to program the CPX and CRICKIT to control the electronic components we just wired. We'll be using programming called MakeCode to do that.

Programing with MakeCode

What is MakeCode?

MakeCode is a web-based code editor for physical computing made by Microsoft.

What does that mean for you? It means you can program your Circuit Playground Express to do almost anything you can dream up right from a website! You can code with blocks similar to the language Scratch, or you can do more advanced coding with Javascript. We'll be sticking to the block-based programming for this project.

More on MakeCode for Adafruit boards here.

Install the MakeCode CRICKIT Extension

Before we start programming, let's make sure you have the CRICKIT extension installed in MakeCode.

Detailed instructions on how to do that can be found in this guide.

Create a New Project with MakeCode

Head over to https://makecode.adafruit.com/ and create a new project.

Click the button below to access the code for this project.

What's going on the code above?

  • On start, we initialize the NeoPixel strip.
  • In a forever loop, we set the brightness of the NeoPixels, set the CPX NeoPixels to a specific color, call the comet animation for the NeoPixel strip for 3 seconds, set the volume of the CPX speaker, then play the "Do Your Ears Hang Low" tune by calling the song functions. As it's a forever loop, this code block loops forever regardless of other events that happen in the code!
  • The "Do Your Ears Hang Low" tune can be separated into 3 parts. The song starts with part 1, then goes to part 2, then back to part 1 then ends with part 3 before repeating again (and again and again...). Creating functions for these song parts then "calling" the functions later allows us to have much cleaner looking and more organized code. It also allows us to reduce the amount of code needed for the project making the program more efficient!
  • When capacitive touch input A3 on the CPX is touched, we want to call the wave function (which makes Adabot wave with ice cream in hand), then move the DC motors each at 65% speed for 8 seconds, stop the motors, then call the wave function again.
  • The wave function starts the servo at 0 degrees, then moves to 150 degreesthen back to 0, repeating 5 times in total.

Uploading the Code

Now that we have the code for the project, we need to upload it to the CPX.

Let's name our file and download it.

  • Choose a name at the bottom of the page.
  • Then click the pink Download button.

Follow the directions and connect your CPX to your computer via the usb cable. Click the CPX Reset button once to go into programming mode (all NeoPixels will turn green).

In some cases, you may need to press the reset button twice to get into programming mode.

Next, look for the file in your downloads folder and drag it onto your CPLAYBOOT drive that should have showed up in your file manager/finder when you plugged in your board and entered programming mode.

You should now see the CPLAYBOOT drive disappear.

Power up CRICKIT

Connect CRICKIT to power with the 5V DC power cable

The code should now be running so try it out!

  • When the board is powered up, the NeoPixels on both the CPX and CRICKIT should come on and "Do Your Ears Hang Low" should start playing.
  • When the tin foil is touched, the servo should move back and forth five times, then the motors should both turn for eight seconds. Lastly, the servo will move back and forth five more times.

If you are having issues getting things to work check out this extended guide here.

Adding Portable Power

The DC motors are power hungry. This requires a beefy power supply if we want to make this truck portable. This guide does a great job explaining this issue in more detail.

If this is your first time soldering check out this guide: Adafruit Guide To Excellent Soldering Solder at peak performance!

If you wanna skip the soldering, you can use a portable USB pack and hook it up to CRICKIT with this cable.

makecode_IMG_6195.jpg
*picture is excluding switch
  • Remove USB extension from PowerBoost board. Removes easily by pushing out prongs.
  • Cut ends of black and red bread board wires, and remove 1-2 cm of wire wrap from end.
  • Solder red wire to power and black to ground.
  • Solder on switch to PowerBoost over Vs, EN and GND. Orientation doesn't matter.
  • Screw in power and ground leads to terminal block on DC jack.
  • Plug in JST connector from battery to PowerBoost.
  • Plug in DC jack to CRICKIT.

Turn on the soldered switch and we have some hefty portable power!

Constructing the Truck

Download and print out The PDF of various truck parts and cut outs by clicking the button below.

Be careful using a hobby knife. A cutting mat or other surface will ensure you do not cut your table. Avoid cutting fingers and toes.

Cut the Outer Truck Parts

  • Prepare enough medium to large width sized cardboard to fit all outer truck parts onto (pages 1 - 5 in pdf). Thicker cardboard makes for a sturdier truck!
  • On the print outs, the dotted lines are meant for cutting and the bold lines are meant for folding.
  • Cut out the parts from the print outs pages 1 - 5*
  • Glue to cardboard.
  • Cut out parts with hobby knife.

* Cutting the parts out before glueing is optional but helps save room and makes for a cleaner looking result. To save time you can glue the entire print out sheets to the cardboard and cut them out.

Score and Fold Parts

  • Over bold lines on each side of the truck, make light incision with hobby knife.
  • Next take a pencil or pen and score until parts fold. These are now the back doors of the truck.
  •  For the truck front, make a light incision on the bold line above the grills and headlights.
  • Score and fold.
  • For upper fold, turn over front piece, measure about 5mm below windows, draw a line across the back.
  • Lightly go over with hobby knife then score and fold. Score multiple times before folding this part as proximity to windows risks improper folding.

Glueing pieces together:

  • Put hot glue onto the front of the left side of the truck.
  • Place front of truck piece onto left side piece, aligning scored folds with the contours of the side piece.
  • Repeat with other side.
  • Glue on truck top.
  • Feel free to reenforce with glue wherever connections feel weak.

*We will leave the bottom of the truck alone for now as we will assemble the character cut outs, electronics and wheels on this piece before connecting to the rest of the truck.

Adding Adabot, Blinka and Ice Cream!

Cut Out Characters and Props

  • From page 6 of the PDF print out, cut out Adabot and Blinka*
  • Glue characters down onto a thin width-sized cardboard.
  • Use a pencil to draw a small rectangle sized slightly less than Blinka's length. (This will used as base to hold Blinka upright later so it doesn't have to be perfect)
  • Use a pencil to draw a small triangle shaped like an ice cream cone 
  • Use hobby knife to carefully cut out characters, base and cone.
  • For Adabot's antennae and Blinka's tongue, cut under, as they are too small to keep attached when cutting with cardboard. 

*For smaller parts like Adabot's antennae and Blinka's tongue, use a hobby knife. 

Ice cream!

  • From page 7 of the PDF print out, cut out the ice cream cone.
  • Glue one side of the back.
  • Curl into cone shape.
  • Take a ball of fake spider web the size of a fist (found at the dollar store or a halloween store). You can use cotton balls also.
  • Glue to top of cone.
  • Glue ice cream cone to top of truck.
  • Take a pea-sized amount of web and roll around in fingers.
  • Glue to top of small cone cut out.
  • Bend Adabot's shoulder and arm so it's reaching forward and glue small ice cream cone to hand.

Making Blinka's Seat

  • From page 8 of the PDF print out, cut out seat part and glue to medium to large width cardboard (can use same cardboard from the truck parts).
  • Glue one of the larger pieces to the other on the edges.
  • Add the smaller piece on its long side underneath one of the larger pieces .

Installing Blinka's Seat

  • Glue on Blinka's base.
  • Cut out a hook and corresponding loop piece that are the same size as Blinka's base.
  • Attach one piece to Blinka's base.
  • Attach the other to the truck seat.
  • Now Blinka can sit in her sit!
  • Measure about 55mm behind the front of the truck base and draw a line. This is where the seat will go.
  • Place front of seat up against this line and trace around the seat base with a pencil.
  • Glue seat in place, reenforcing where necessary.

Make wavin', ice cream slingin', Adabot!

  • Measure about 8cm of bamboo stick and use hands to break off the measured piece.
  • On the truck base, draw a point on the base of the truck 14mm to the left and 6 mm back from the left side starting at the back left corner of the piece that juts out in the middle.
  • At roughly a 20 degree angle to the right, use a pencil to create a hole where the point was drawn.
  • Take the 8cm bamboo skewer and stick in at the same angle.
  • Remove bamboo stick, add hot glue to hole, place stick back and hold in place until dry.*
  • Measure a roughly 2cm piece of cardboard and cut out.
  • Glue it towards the top of the bamboo stick.
  • Glue Adabot on front of cardboard piece. This will give Adabot a "popping out" effect from the truck window.

*This bamboo stick will later be pulled back and forth by a string attached to the servo giving Adabot a sort of waiving effect.

Looking Good!

Mounting Wheels

Front Wheels

  • Place the 2 wheels on the motors.
  • Add double sided foam tape to motors.
  • Attach motors to bottom of base of truck making sure they are aligned with the angle of the cardboard and that the wheels aren't touching any cardboard.

Back wheels

Creating the axles:

  • Cut out two 22mm x 42mm pieces of cardboard.
  • Find the middle of each piece and pierce with bamboo stick.
  • Hold rig under the truck where wheels will go and pull pieces out until they are at the ends of the base.
  • Take a pencil or pen and mark on both sides of the piece on the bamboo stick to keep the distance correct.

Attach Wheels

  • Measure 2 cm away from each end mark where cardboard pieces were.
  • Break off ends of bamboo stick at the most recently drawn mark.
  • Place cardboard pieces back on bamboo stick.
  • Put hot glue in wheel hold and push wheels into place one at a time making sure they are upright and holding until firmly in place.
  • Glue rig under truck making sure wheels are not touching any cardboard.

Placing Electronics

Battery, CRICKIT and Servo Mounting

  • Put two pieces of foam tape on battery.
  • Place battery up against front seat.
  • Put a piece of foam tape on each rubber leg of CRICKIT.
  • Place on top of battery.
  • Glue servo in place on back corner of truck base with the wires facing out the back.
  • Put a piece of foam tape on bottom of PowerBoost.
  • Place on back of truck base, pressing in legs of switch into cardboard.

Adabot Waving Rig

Pop off the servo arm and reorient like in the moving picture above. This is to ensure the servo will pull Adabot correctly to create the waving effect.

  • Cut a string the length of the distance from the Adabot stick to the servo.
  • Glue string to servo then to the Adabot stick.

In order for Adabot to move side to side, we'll need a force to pull him back after the string attached to the servo loses tension.

  • Cut a rubber band
  • Glue one end of the rubber band under the front seat
  • Making sure there is tension on the band, glue other side to the bamboo stick holding Adabot.

Capacitive Touch & Attaching the Truck Top to Base

To control the truck and tell it when to go for a spin, we will create a capacitive touch button on the top of the truck. Each time the foil is touched, Adabot will wave with some ice cream and the truck will go for a spin around the block!

  • Attach the alligator clip to input A3 on the CPX. Attach the other end to some tin foil.
  • Tape the end of the alligator clip to the underside of the truck top.
  • Add tape to a spot on the top of the truck and fold over foil onto tape.
  • Glue truck top onto truck base.

Adding NeoPixel Lights

To create an under glow effect for the truck, use duct tape to attach NeoPixels to the bottom of the truck. Be careful the NeoPixel strip does not to come in contact with any moving parts from the motors or axle.

Now turn on the PowerBoost switch through the back of the truck, touch the foil and watch the glory of the truck!

That's it! Enjoy your new ice cream slingin' truck!

This guide was first published on Nov 20, 2018. It was last updated on Nov 20, 2018.