I want to be able to create a robot/doll/toy that I can send SMS text messages to and have it speak the messages out loud. If possible, I would also like it to be able to perform actions such as arm movements and head movements, but this isn’t necessary. This project is for one of my classes at school (Design and Technology). I don’t have any experience in robotics or electronics, but I’m a quick learner and I’m very interested in completing this project. I have basic experience with programming in batch, and very basic experience with java programming. I don’t have any equipment or hardware for this project.
Your advice would be very helpful and much appreciated on the following questions:
- Approximately how many hours of work would be required to complete this project (with and without the ability to perform arm/head movements), considering that I’m starting from scratch?
- Who could I talk to about the project regarding the required hardware, software and skills, and how to acquire them?
- Where could I go to learn/study about how to create this project, or be mentored?
- Are you aware of any existing projects that have done something similar? Where could I go to find more information about them?
I’m willing to offer to pay someone to mentor me as well. If you need any more information to provide me with an accurate estimation of the required time, or to answer any of my other questions, feel free to ask!
Some more information that may be useful:
I’m based in Australia, doing the HSC Design and Technology course.
I have around 28 weeks left to complete this project, and I get ~5 hours of time to complete the project per week, so that comes to a total of 140 hours.
With this new information in mind, could you please give me your opinion as to whether or not you think I will be able to complete this project in time?
This sounds like one of those projects that can be made arbitrarily complicated depending on how far you want to go with it, and expand to fill the time you have to spend on it and then some. The most work would be developing your own embedded electronics solution, which sounds a little daunting for a hardware beginner (or an intermediate/expert for that matter).
You said you have some programming experience, so lets start with that. What if the robot was sitting on a laptop computer. Some cell phone providers offer SMS to e-mail gateway services, so you would need to find an e-mail client that would automatically open messages and read them out loud (Text To Speech or TTL is the term to look for). Not completely straightforward, but entirely software.
If you want something you can tuck away inside the robot you might be able to do it with just a cleverly configured phone. Some phones (Nokia I know for one) have add-on programs you can purchase that will read SMS messages out loud. You may be able to find one that automatically reads the messages as they arrive, or the phone may have an auto-answer option hidden away in the handsfree/car mode menu. It may still need to ring for a couple of seconds first, but you can set the ringer to silent.
If you want to go totally custom embedded electronics you should search online for DIY projects that use SMS to control robots and other projects. SparkFun has both AVR and PIC (two different types of microcontrollers) based GSM development boards here and here, but I think in most projects people end up connecting microcontrollers to actual hacked phones.
Also, Parallax sells a simple serial text to speech module here.
I would say leave motion out for now if it isn’t a requirement, and maybe revisit it if you have free time when you’ve gotten SMS to speech working.
There are the two different paths that my project can take…these are:
- I can design and make every part of the project myself and put it all together to form a complete project. In this case, the ‘design’ part of my project is in both designing the components, and designing how they will work with each other.
- I can purchase/acquire many of the parts, if not all, and then put them together to form a complete project. In this case, the ‘design’ part of my project is simply the design of how all the components will work with each other to form my final project of a robot that receives SMS text messages and speaks them out loud.
I’ve just spoken with my Design and Technology teacher about this, and he has stated that option 2 is just fine, while option 1 is very unnecessary. This obviously reduces the amount of time, skills and knowledge required for me to complete the project, as I only need to learn what parts will be needed, then how to put them all together and make them work to form the complete project.
So I now have some new questions that I hope you can help me with:
- What components will I need to make this project, what options do I have?
- Where have you found to be the best places to purchase these parts?
- Where would you recommend I go, or what do you recommend I do, to learn how to make the components work with each other so as to form the complete project?
Thanks again for all the help; I hope you’ll be able to help me with these extra questions!
The simplest approach still sounds like shopping around for a phone that you can configure to read SMS messages out loud over a speakerphone, or setting up a laptop to receive and read SMS messages, but I’m not sure if either of those are acceptable, since neither of them require any hardware development.
If you do want to try combining your own embedded electronics modules together and programming them, you might try going with the Arduino platform. It’s a good open source beginner’s microcontroller system (much more beginner-approachable than the SparkFun development boards I mentioned earlier, and still quite capable and powerful) with lots of resources available online. Ardunios use a simple variant of the C programming language, with free a development environment/compiler. Also, the Arduino boards use serial bootloaders, which simply means that you don’t have to purchase any separate electronics to download compiled programs to them. The latest full Arduino board is the Duemilanove, but you could also go with the very popular Diecimila. Since it’s an open source platform, lots of different places make Arduino-compatible boards, you don’t need to buy directly from them.
The reason you would want go with a full Arduino board (as opposed to one of the mini-Arduino boards) is that they will mate with Arduino “sheilds,” expansion boards that stack on top of the Arduino mainboard. A little Googling just now lead me to the Libelium Arduino GPRS Sheild, essentially a cell-phone expansion board for the Arduino platform (you provide the sim-card). It supports serial commands including receiving SMS messages. There’s a beginner’s guide here, and full documentation of the module here.
To synthesize speech from the SMS messages, I don’t think you’re going to find anything that will be nearly as easy as the Parallax Emic text to speech module I mentioned earlier (here). The GPRS Sheild looks like it uses the Arduino’s only hardware serial port, but you can create a second virtual serial port in software to communicate with this module.
In any case this should be simpler, and possibly even a little cheaper than the SparkFun development boards I mentioned earlier. Plus the Arduino and Emic modules have lots of free support online, and there appears to be a good bit on the GPRS shield as well.
I understand you are interested in making a talking doll. This sound close to my intentions of an animatronic that follows a preset routine. For this I am investigating Brookshire VSA software and a microcontroller to power RC servos. I have a USB controller that can drive up to 16 servos. The servos are a bit jerky and I’m hoping the Pololo 6 channel controller better meets my requirements.
My dummy may be similar to the 3-Axis skulls on the net or my preference is a ventriloquist dummy made or converted to animatronics. See the Fred Project by Al Stevens on methods of construction. The heads I am building are made from oil based clay, a latex mold and the final head will be cast in hollow fiberglass. The fiberglass can be cast thin and is strong.
My system uses “off the shelf” software with preprogrammed routines and is not autonomous. But can be retooled into a autonomous robotic project at a later time. I have experience with Pneumatics, hydraulics, mechanics, aircraft, motorcycles, etc… I like cool innovative projects and also mechanical anything.
At 16 I used a type of algenate to cast a hand in candle wax. I am repeating this in flexable foam in the form of arms and feet for a halloween project. The head will be solid foam (no head electronics).