Friday, January 09, 2015

$30 CoderDojo Arduino Robot Version 3

CoderDojo Robot Version 3 Top

CoderDojo Robot Version 3 Bottom

I was happy to get a warm reception last night at our local Arduino.mn user group when we presented version 3 of our $30 Arduino CoderDojo robot. We got great feedback and many request for the bill of materials for people that wanted to try to build their own robot.

Our goal is to keep kids engaged in math and and science and one of the best ways to do this is to create engaging yet low-cost kits that use light, colors and motion. We place a premium on keeping costs low so that students, can take them home and show their friends. We also want to make the cost effective so that schools, libraries and STEM organizations can purchase them in bulk. This robot fits that mission.

Just to review, the goal of this kit is to build on the 20 SparkFun Inventors Kit labs. We want to have a low cost, open platform, extensible robot that teaches the following concepts:

  1. Lab 1: Turn a motor forward and backward using the L293D motor controller.
  2. Lab 2: Change the speed of a one motor using PWM
  3. Lab 3: Moving Forward: Make both motors in the same direction for 1 second and then stops for 1 second.
  4. Lab 4: Turning: Write a function that moves motors in opposite directions for 1 second.
  5. Lab 5: Measuring distance - using an ultrasonic sensor to measure distance.
  6. Lab 6: Display distance - use the LED strip to show the distance to an object in front of the robot.
  7. Lab 7: Avoiding obstacles - move forward till you get close to something in front and then turn.

Because the Arduino.MN group is full of Arduino makers that want to build their own robots I got lots of request for the hardware I am using. So here it is the Bill of Materials. There are links to eBay however you may find these parts on many other sites. Note that many parts come from China and typically have a 3-5 week delivery time when they come via China Post. However this is the best way to keep the costs down.

Although the links may not work in the long run, we have also provided some sample keywords to find similar items.

Part Price Keywords Sample Links Notes
Chasis $13.00 Arduino Robot Chasis Kit
link1

link2

There are many similar kits or you can just get the motors and build your own chassis out of wood. Make sure your kit has a battery pack.
Motor Drive $2.33 Arduino Motor Drive L293D link This is a great little board at a great price. The L293D drives up to 600ma. The small DC motors only need about 100ma.
Arduino Nano Compatible $4.39 Arduino Nano link Note this come with a VERY short USB cable. You may want to pick up a longer one.
Ultrasonic distance sensor $1.10 Arduino Ultrasonic Sensor HC-SR04 link Try other distance sensors if you would want.
LED Strip $1.10 LED RGB Addressable WS2812B 5V link Getting feedback on the ping sensor is key to learning how the work.
Main Breadboard $1.74 Solderless Breadboard 400 tie points link Look for 10 pcs to save on shipping.
Sensor Breadboard $1.00 Solderless Breadboard 170 tie points link Many colors available.
Jumper Wire $1.28 dupont wire jumper male female 20cm link We only need 6 but they come in handy.
On/Off Switch $0.30 10PCS mini toggle switch spdt MTS-102 link The packages of 10 that sell for $2.70 are many pages in. The keyword "MTS-102" works!

A few hints about searching for parts on eBay. The search engine is not very good and the sort-by-price rankings are often wrong. Remember to use the "Buy it Now" button. Also watch for the shipping prices. You may have to try many different combinations of keywords to find the right component and the right quantity.

If you are not finding a low-priced item, just keep scrolling. The right price might be buried 10 pages in and eBay's "sort by price" seldom works and had no cost or price per item.

I also tend to purchase generic components like jumpers and wire in batches of ten or more since I know I can reuse them and I get breaks on shipping costs.

As pointed out in the meeting, the Arduino Nano uses a driver that does not work on the latest version of the Mac OS. We hope they fix the driver problems soon.

My Powerpoint/KeyNote slides are also available if you would like them.

The sample code is on github:
Github Code

Many thanks to Doug (who has been really helpful helping me find low-cost parts on eBay) and Gerd, who has been a great mentor to me and Eric Palmer, who keeps me motivated.