Help A Newbie Get Started :)


United Kingdom
Skip to comments
robot video thumbnail
robot video thumbnail
robot video thumbnail
robot video thumbnail
robot video thumbnail
robot video thumbnail
robot video thumbnail

Hi Everyone,
I've been lurking on this forum for a while without making a post.
I'm a standup comedian based in London and I'm trying to hack a teddy ruxpin much like a few other posters have done here.

I've been doing research but I'm still fairly confused.

A wee bit about me
I'm used to working with software but software with a GUI. I can write CSS & HTML but that's about as far as I am with code thus far. That's not to say I couldn't learn; and I was rather looking forward to learning some code in this project but the question is which code!

I'm not amazing with my hands but I'm not averse to soldering, cutting and glueing.

I'm quite good at working through problems.

About the Project.

What I want to achieve is the following:

1. Teddy Ruxpin needs to be able to:

i) Move mouth
ii) Blink
iii) Move head side to side; ideally, 360.
iv) Move arms up and down
v) Flap arms.
vi) Move head up and down

Essentially everything that Waldes on this forum managed to do:

2. I need to be able to have a 'script' for Teddy Ruxpin to say and do. I will be able to talk to Teddy Ruxpin and then trigger the sentences with my iPhone or a bluetooth clicker hooked up to my Mac.

3. Teddy Ruxpin needs to blink in every 20 words or 20 seconds (however often the human blinks).

4. I need to be able to program specific blinks and mouth openings too. For instance

i)I click the bluetooth remote Teddy says hello there
ii) I click the bluetooth remote Teddy blinks twice.
iii) I wait 20 seconds without doing anything, Teddy blinks twice anyway.

5. Ideally, it would also be great to be able to talk into a microphone and have Teddy Ruxpin speak it, together with some automated movements.

The Current Situation

I bought a Teddy Ruxpin that a guy had already pre-hacked for an art project.
I hooked it up to an Arduino Uno and some software he provided and have been successful in getting the mouth to move, eyes to blink. That's as far as I got.
I bought another Teddy Ruxpin knowing that i was going to have to take on the whole thing myself if I was going to be able to customise it to my liking.

Equipment I have as of December 2014

1 x Bearduino
1 x Arduino Uno
1 x Regular Teddy Ruxpin (unhacked)
A lot of enthusiasm.

So, where do I start guys?

I have a mac but I can run Windows in a virtual environment.
I make presentations during my comedy and use keynote for that. It might well be that I would need to run the Teddy Ruxpin separately from a different computer anyway; ideally my iPad I think to be honest.

I know this is a LOT to take in but I would LOVE to get any advice from you guys about where to start. I mean I literally don't know where to begin. The main thing i"m worried about is the software; I mean I know nothing about programming an Arduino. But I'm a fast learner and raring to go.

All best wishes,
User-inserted image

By — Last update


Upgrade to ARC Pro

Harnessing the power of ARC Pro, your robot can be more than just a simple automated machine.


It just seems to be a syncing problem with the software and the mouth. Just make sure the servo for the mouth is secure and the horn to that mouth is secure. You will just have to go through a trial and error process to get adjust the script so that the mouth moves at the appropriate time with each word. Good Luck!
United Kingdom
Cool. Do you think that the servo should be moving more to get the mouth down though?

What's the optimum movement of the servo to move the mouth?

Currently it's a gap of 24 to get the mouth from closed to open?
Is that too little to leave room for small movements between mouth open and closed?
@bongobong If your using the text to speech script then adjust the servo open and close maximums here.... these values may need to be reversed depending on your servo orientation... (Close maybe be open and open may be closed)


$mouthServoOpenAngle = 60 #these values will need to be adjusted
$mouthServoClosedAngle = 90 #these values will need to be adjusted

United Kingdom
I'll give it a go but here's the issue i'm having at the moment.
I assume you are using sound servo PC for this? Sound servo responds to sound volume... So a constant sound value like a note playing on your keyboard may be why he is holding his mouth in one position instead of moving quickly up and down...
United Kingdom
Thanks Rich,
I had assumed that, with the gaps, he would begin to close his mouth and then start to open it again. As in there is 0 sound during the gaps so, theoretically, he should start to move his mouth.

Any ideas about the other issues I'm having
Once I get my V4s I will see if I can be any help to you.
My old V3 may not control the servos the same.
United Kingdom
Guys, I'm having an issue. Dumb question. But my servo keeps returning to it's default value. I.e it never stays where it should be. Is there something I'm doing wrong?

for instance:
Servo(d1,0) moves it, but then it moves immediately back.
United Kingdom
Hmm. weirdly it's stopped.
But, question; if I've set the upper and lower limits to servo d1 in my servo control (say d1 lower 50, upper 100) and then I add another control to the project; a script; and put, say Servo(d1,60) am I telling it to go 60% of the lower and upper limit I defined or am I telling to go to 60?
The limit only controls movement by that control. A script or different control that moves the servo can exceed that limit.

United Kingdom
I'm still getting latency. But I've realised that the latency is from when the mp3 plays not the other way round. So his mouth moves before the sound has played.

Any ideas what I can do to either speed the sound up or delay the servos?

Also, any idea how I play this through speakers when it comes time to do the show?
Without re-reading the whole thread. You are using Sound servo right? DJ said recently he was going to look at the issue with the servo getting ahead of the sound. I have noticed it both on MP3 and on speech, particularly on longer phrases.

for re-directing the sound, there are a few threads about wiring an external amp (or a small external speaker) to the EZ-B.

This is a rather complete one:

Another option is to use this board and pass the sound out of the bottom of the EZ-B using the thread that Alan posted. I have used it with great success.
United Kingdom
Amazing. DJ, care to chime in?
United Kingdom
Does anyone have DJ's email or a way of contacting him?
I too have not read the entire thread, but

This is a script

that was written to handle the movement of a servo with spoken sound.

I found that it took a while to run with long text and got off sync. By long I mean like 4000 characters or so, but it was an improvement over the sound servo control.

I ultimately went with the solution I provided earlier and will for my next project also. It just works very well.
United Kingdom
HI there,
Certainly; I've almost got it down. I'll write more later but bit busy right now.
But feel free to shoot me any questions.