After completing the prototype Talkbot a few months ago, I continued to evolve the design to be easier to assemble and less expensive. My target was to get the price less than $100 USD in order to keep it affordable for as many students as possible. Also, this year, I’m expanding my program to 2 schools, so wanted to industrialize the prep process as much as possible. My main areas of focus where on the Speech Chip, the Motor Shield, the bump sensors, the speaker, and sourcing parts for less money. When compared to the Talkbot v1, the outside may look similar, but the inside has changed significantly.
My first area of focus was to find a less expensive and easier to use voice chip. In the prototype, I used the SpeakJet chip. Even with the Arduino library, I found it difficult to get it to speak the words I wanted (stringing together utterances), and I would not be able to allow each student to customize the words the robot speaks. So, I researched and found chips like the TTS256 chip which works with the Speakjet chip. This let me send plain text to make speech based on an expansive dictionary, but had the unwanted effect of increasing the price of the robot. Strike One.
I started looking for a less expensive speech chip and found the Babblebot chip. It seems very similar to the Speakjet, but costs less. Unfortunately, I had some issues buying one to test because the BabbleBot.com owner took ill and has stopped filling orders (even though his site still takes money). I then learned that GinSing took over distribution of the Babblebot chips, so bought one, but ultimately found it equally difficult to use as the Speakjet chip. Strike two.
Next, I investigated an Audio-Sound breakout board Sparkfun created around the WTV020SD chip. I had to overcome many of the challenges documented in the message posts including finding the correct MicroSD card and providing the proper voltage. In the end, I got it to work using both a 2GB MicroSD card I found at Micro Center and an old SanDisk 2GB card. that appear to be exceedingly difficult to find. While the breakout board addressed many of the downsides of the Speakjet and Babblebot chips, it’s price still did not help me to lower the price of the robot. Strike three.
I had just about given up. After studying the WTV020SD datasheet, I discovered a much less expensive breakout board called the WTV020-SD-16P. I found them at a very low price on eBay. I bought one, but had major problems getting it to work. I bought another just to be sure and found that feeding it 5V while keeping the jumper set to 3.3V made it work consistently (very strange). Both the Micro Center and SanDisk MicroSD cards worked perfectly with this new module. Home Run!
I recorded my own voice as a WAV file using an evaluation copy of i-Sound Recorder at a sample rate of 11025 Hz and it worked great. I thought it would be clever to make my voice sound like a robot voice, so I evaluated several sound utilities. I finally decided to just use an old Echo/Delay effects pedal I had from my days as a musician. I adjusted it to give my voice a metallic, reverb sound. I plugged in a microphone and used audio patch cables to run the Echo/Delay pedal in line to the mic jack of my laptop. The end result was excellent, and it didn’t require me to make multiple passes at adding effects to the sound file with other sound utilities.
My prototype made use of the Sparkfun Ardumoto shield which I had used for a robot in last year’s Robot Club. It was easy to use and relatively inexpensive, so I wasn’t really looking to replace it until I came across the Adafruit Motor/Stepper/Servo shield for Arduino v2. This shield does everything the Ardumoto shield did and more, and it costs $5 less. Another added bonus is that the Adafruit shield uses the I2C interface, so does not use up 4 of the digital IO pins like the Ardumoto shield.
A key part of the robot is its bump sensors at the front bottom of the body. In the prototype, I used a pair of snap-action switches I had lying around. The arms weren’t long enough for my needs, so I cut a drinking straw and used silicon to fill the straw which gave it strength and adhered well to the switch arm. However, this was going to require quite a bit of prep work for me, so I set out to find a switch that included a longer arm at a low price. After weeks of searching, I came across the Cherry Electronics E22-85HX switch which includes a 2.5″ arm that perfectly met my needs.
The prototype used an old PC speaker I harvested from an ancient desktop PC in my basement as its “mouth”. It had no screw mounting holes, so I had to glue it onto the robot body and it didn’t look great. Also, that approach would be a challenge to do for every student (they can be a bit impatient). To my surprise, few stores sell those small PC speakers anymore, since most motherboards come with a piezoelectric buzzer. Just as I started searching, Adafruit started carying a 3-inch, 8-ohm, 1 Watt speaker with nice screw holes that perfectly met my needs.
In order to shrink the overall cost of the robot further, I went shopping to find the pieces I needed at a lower cost. In general, I found Menards to have slightly lower prices on items than Home Depot and Lowes so I was able to shave a few dollars off the price of the robot by buying parts there (PVC parts, aluminum bar, polystyrene sheet, etc).
After evaluating a wide variety of Arduino Uno clones, I finally settled on buying one from a Chinese manufacturer via AliExpress which included a USB cable. Although the samples I bought took 3 weeks to arrive, they met my needs and were far less expensive than any other option available (even without the cable included – that was a nice bonus).
MCM Electronics has good prices for the toggle switches I need. I was quite shocked to see the price some companies (Radio Shack and others) charged for a simple toggle switch. I found the SPST and DPDT toggle switches I needed at a fraction of the price. The down side is that MCM charge a lot for shipping, so I’ll need to take advantage of a bulk order to make it worth my while.
Overall, I was successful in refining the Talkbot design to be easier to assemble and less expensive. The cost per student, when bought in bulk, will be about $95. Adding some additional expenses for spare parts and PTO fees, the students will actually pay about $110. I’m not adding any margin for myself – I’m not doing this to make money. :)
During the refinement process, I created templates for rapidly creating the base and body so I could minimize prep time. Looking forward to starting the first session in October!
The finished product – Talkbot