Elmo Live Dissected

222 posts / 0 new
Last post
RetroPlayer
RetroPlayer's picture

I doubt it, but you could try fixing it the same way that it broke. Hold his head still while he tries to talk. This might knock the encoder back into alignment.

When it happened with mine, though, I had to remove the motor, manually align the encoder (back to the center) and then put the motor back in.

Still, if it got misaligned by some mistreatment, it theoretically could re-align with some mistreatment. Worse case scenario (barring one using gorilla force on it and physically breaking it), you have to open it and fix it anyway.

YMMV

jsaugustyn
jsaugustyn's picture

RetroPlayer said:

I doubt it, but you could try fixing it the same way that it broke. Hold his head still while he tries to talk. This might knock the encoder back into alignment.

When it happened with mine, though, I had to remove the motor, manually align the encoder (back to the center) and then put the motor back in.

Still, if it got misaligned by some mistreatment, it theoretically could re-align with some mistreatment. Worse case scenario (barring one using gorilla force on it and physically breaking it), you have to open it and fix it anyway.

YMMV

Thanks for the quick reply - I'll try holding his head while he talks (sounds like fun anyway...especially after 24 hours of high-pitched cackling).

Assuming I will need to reset the encoder, do you have any tips or things I should watch out for? I found an earlier post where you addressed removing the fur around the head to access the encoder, so that seems easy enough. Is the center position of the encoder obvious enough, or could you post a picture pointing out where I need to reset it?

Also, does the position Elmo is in when I start this repair going to matter?

Finally, any tips for getting the fur back on...this seems like it could be a little tricky.

Thanks!

mommyc16
mommyc16's picture

take the motherfucker back to walmart and exchange it for one that works

GWJax
GWJax's picture

jsaugustyn said:
Finally, any tips for getting the fur back on...this seems like it could be a little tricky.
Thanks!

The only way to put the fur as you call it back onn is just sew it back togeather as they did in the factory. If you feel the back of the head you find a bump and thi is where you cut out the stiches down the line, after the repairs just sew it back up with red thread.

Jax

GWJax
GWJax's picture

mommyc16 said:
take the ************ back to walmart and exchange it for one that works

We are here to help out our members that enjoy repairing the bots them selfs. Once the warranty has expired and something goes wrong these threads will help them out in getting their bot working again. Not everyone just wants to return their bots to the store, but instead learn how to repair them and learn how they work inside, Just think of it as a learning school with hands on and help from around the world as your teachers. There is no better place to be for this kind of stuff.

 Jax

 

 

RetroPlayer
RetroPlayer's picture

jsaugustyn said:

Thanks for the quick reply - I'll try holding his head while he talks (sounds like fun anyway...especially after 24 hours of high-pitched cackling). Assuming I will need to reset the encoder, do you have any tips or things I should watch out for? I found an earlier post where you addressed removing the fur around the head to access the encoder, so that seems easy enough. Is the center position of the encoder obvious enough, or could you post a picture pointing out where I need to reset it? Also, does the position Elmo is in when I start this repair going to matter? Finally, any tips for getting the fur back on...this seems like it could be a little tricky. Thanks!

Take a look at this post: http://www.robocommunity.com/forum/thread/14258/Elmo-Live-Dissected/?page=2#26106

It shows the picture of the encoder. The correct position is facing away from the wires. But, you will need to remove the motor first and move the head to the natural position, then position the encoder and put the motor back in.

To get the fur back together, you are going to need 2 long zip ties, because you are going to have to cut them to get the fur off. And like Jax said, you will need to sew him back up.

I won't lie, putting him back together will probably not be easy. I have not bothered to put the fur back on either of mine.

If you can return him and don't have the stomach for this :) then take that option. You will need to at least get to the bottom half of Elmo to get to the head motor and encoder.

The motor is under that circuit board, two screws to remove it. This is under the left shoulder.

And the encoder is on the other side just above the right shoulder. It is in the natural position in this photo.

These shots were taken with the back shell removed, but not the head. You have to dig a little to get to the parts you need to mess with. It should not be necessary to remove the fur on the head.

AJ
AJ's picture

Hi all :)

We have bought our 6 year old daughter one of these for christmas and guess what...its broken!!! It doesnt open its mouth when it speaks!!! We've lost the receipt and got no packaging. My Dh has tried emailing fisher price only to have an error come back. I showed him the threads on here and in fact i think it looks pretty cool with no fur on a bit like the Smash Martians but he isnt happy at opening it up so he is going to ring Fisher price up tommorow and see if he gets any joy that way.

Chopper
Chopper's picture

Hi All! Is it just me or is Elmo's shedding like a Dog in Summer?

F-ing cheap Made in China Fur. Won't be surprised if there's Melamine innit somewhere....

Janie
Janie's picture

My daughters Elmo is making a constant clicking sound when it talks. I can hear something rattle by the battery compartment when I shake it. Also the click seems to be coming from its head. Any help would be greatly appreciated!!! Thanks!!!

MrScott
MrScott's picture

Janie said:
My daughters Elmo is making a constant

 constant what?

Reminds me of an old joke...

"How do you keep a RoboCommunity viewer in suspense?"

"I don't know. How do you keep him in suspense?"

?

?

!

ElwoodBlues
ElwoodBlues's picture

Can anyone help me? After a few weeks my sons Elmo Live no longer crosses its leg. Whenever it tries to move it's leg, it rattles a lot. I thought that perhaps the joints were loose so I took the footpads off and peeled up the fur to get to them. I tightened them slightly but that didn't work. After more analysis, it appears that the string connected to the leg does not retract to pull up the cord and thus the leg.

Any insights on how to fix the problem? My kid loves it and I was hopping for a more durable toy. Don't have the box anymore so can't go back for replacement.

Thanks in advance

Andrew Olney
Andrew Olney's picture

Retro & Sevik, this is great :) If I follow the last 100 comments correctly, the motors are controlled by voltage levels and the encoders make one of 5 pins hot depending on the position of the motor.

I've had some fun in the past hooking up animatronics like this to a PC and creating a conversational character, e.g.

http://www.youtube.com/watch?v=jDNXG09vFqo

I'd like to do the same with Elmo Live. Can you offer any suggestions? In the video above, I used a relay board and parallel port to drive the motors, but I've never tried to read from an encoder like this (I've only used hobby servos). Hobby servos would be another option, if you think I could reasonably replace the Elmo motors with those and still have everything fit inside.

roschler
roschler's picture

@Andrew Olney,

What Text To Speech did you use in the video? It sounds pretty good. Was it open ended, or limited domain synthesis like Festival can do?

-- roschler

sevik
sevik's picture

@Andrew Olney

Yes, it's works this way, so for full control you need 2 h-bridges and ~10 input pins.

For H-bridges you can use original board - just unsolder 4 resistors between cpu and inputs and control them with logic levels.

I'm going to restart work with reversing original eeprom, but it will take some time :)) And this will be targeted for authonomous mode, not PC control.

sevik
sevik's picture

@ElwoodBlues:

probably you got misaligned encoder too, you need to fix this in gearbox, not on leg itself.

Look at previous posts from RetroPlayer, it's not so rare problem seems. Previous post was about head encoder, but you need to fix legs encoder - it's in lower part of gearbox.

RetroPlayer
RetroPlayer's picture

Elwood, the leg cross happens when the motor continues beyond the point of sitting. When he is in the fully sitting position, this engages a pulley that pulls that cord along his knee.

If he is rattling, then the motor is attempting to move beyond the range of movement and you are hearing the slip clutches. As Sevik suggested, a misaligned encoder is the most likely cause.

Of course, try fresh batteries first, if you haven't already.

For anyone experiencing rattling or ratcheting noises when Elmo attempts to move, it is very likely one of the three encoders (head, arms, and legs.) What is happening is that Elmo thinks he is in one position, but his body is actually in a different position. So, the motors attempt to move beyond their ranges.

This toy definitely doesn't seem as durable as first thought. I am surprised at the number of people reporting problems with it. Mine has managed to survive battles with the cat and my tinkering (though I did misalign the head on mine once.) My niece wasn't interested in it (by the way, she did get that robotic pony for Christmas and it is very cool) so mine have not been kid-tested.

RetroPlayer
RetroPlayer's picture

Andrew,

The encoders are actually pretty simple. All they are doing is acting like multi-position limit switches. They tell the processor what range of movement the appendage is in. If you are careful with your timing, you could probably get away with not using them at all.

As an example, you cannot move Elmo's mouth without moving the head, and you cannot cross his leg without moving into the sitting position. The series of gears and cams engage at different positions of the revolution of the motors. So, for sitting, you move Elmo to the sitting position. If you stop there, the leg will not cross. But if you keep rotating the motor in that direction, then his leg will cross. His head and arms work the same way. Moving his head quickly back and forth, just opens and closes his mouth just enough to look like he is talking. Without his fur, you would see his whole head moving back and forth. If you move the neck forward even further (and this is another switch of the encoder closed) then he will snap his mouth open in a yell.

So, you simply use the encoders to tell what position he is in. If you connect them to interrupts (or poll them quickly) then you simply move the motors until the desired switch is closed. While moving him in this range, the switch will stay closed. If it opens, then you have moved beyond the range (in which case you reverse the motors.) So, talking is as simple as rotating the motors until a switch opens, then reversing the motor and moving in that direction until the switch opens again, and so on.

Use H-bridges for the motors (and like Sevik said, you can even use the ones on the main board.) This allows you to move the DC motors in both directions. An H-Bridge works by giving you two inputs for each motor. You provide a high on one line and a low on the other. Switching them will reverse the direction. Using a flip-flop (if you are not using a microcontroller) will ensure that one is high while the other is low, always. Both low is not dangerous, but both high will short out the supply directly.

According to Sevik's info, the motors all move at one speed, but an improvement would be PWM to control the speed of the motors. For PC control, I would involve a microcontroller simply because of the number of signals you are going to need to monitor the switches, activate the motors, etc..

Andrew Olney
Andrew Olney's picture

roschler said:
@Andrew Olney,
What Text To Speech did you use in the video? It sounds pretty good. Was it open ended, or limited domain synthesis like Festival can do?
-- roschler

Roschler, it is an old ATT NaturalVoices Rich, 16kz. I've always liked it b/c of the djay/african american quality. They seem to have changed how it is sold, and it doesn't look like it's been updated in the 5 years since I bought it.  This company seems to sell it now:

 http://wizzardsoftware.com/att_desktop.php

 It is SAPI 5, open ended tts. The version I have has a large RAM footprint, so you want 512MB RAM to set aside for it.  You might also be interested in voices from Loquendo, NeoSpeech, and Cepstral.

roschler
roschler's picture

@Andrew Olney,

Thanks Andrew. Yes AT&T seems to have the best quality voice around, past to present. I was looking for something open source or free for my Robodance users and AT&T is only available in commercial products. I'll be going with Festival then. Festival is a good TTS but unless you're doing limited domain synthesis, there's some pretty heavy "pitch warble" between the concatenated bits. I heard "pitch warble" in your bass fish video, but I found it very listenable still. However, I'm not sure I'd grow up sane looking at a bass for extended periods of time, while I learned my science lessons! :)

I'm surprised no one has put one of those in the fish rack at a supermarket and done a candid camera thing. (If anyone has, link to video please). I'm also surprised there are not stories of anyone putting their Alive Chimp or Alive Elvis in the fridge on automatic mode. "Hey honey I'll just get a beer from the fridge and... WHAT THE HECK!!??".

-- roschler

Andrew Olney
Andrew Olney's picture

Retro & Sevik, thanks so much for the info. I've found 2 boards that might be suitable, based on your description, and I was wondering if you'd make a recommendation.

http://www.trossenrobotics.com/store/p/3201-InterfaceKit-0-16-16.aspx

http://www.arduino.cc/en/Main/ArduinoBoardDiecimila

RetroPlayer
RetroPlayer's picture

Looks like both of those boards would work fine, and would probably be useful for lots of things after having fun with Elmo. But, really, you could get away with simply using a bare Atmega32.

The head encoder has 5 switches, and the leg and arm encoders have 3 each. This is 11 total inputs for the encoders. For user inputs you have the tummy, back, nose, foot, tilt, and "try me." So, 6 more inputs for these.

If you use the H-bridges on the Elmo board, you will need 2 outputs for each motor, so another 6 I/O lines.

So, total, you need 23 I/O lines. But, this could be reduced with some additional circuitry. Since the encoders should only have one circuit closed at a time, there really is no reason to have a dedicated input for each one. Ideally, you would just want to select the encoder and read them. Using buffers, you could share the same I/O with all of the encoders, and add a few signals to select the buffers. Since the head will be the most active, keep this one the default that is usually selected. The legs would be the least active, so an arrangement where you share the arm and leg select lines would reduce the I/O even more.

And unless you want to allow more than one user input to be pushed at a time, you can use a demultiplexer for those.

Of course, adding the extra electronics makes the circuit more complex, and Sevik would probably scoff at that. And he has a point, microcontrollers are cheap, and getting one with enough I/O in the first place usually will cost less than the extra logic chips.

Just keep in mind that in addition to the 23 I/O you need to control Elmo, you are going to want some I/O like a serial port to be able to communicate with your circuit and/or some type of storage to read your routines from, and finally if audio will be done on board, you need to consider that as well. An ATmega32 will give you 32 I/O lines, which should be enough. It can run at 8mhz without an external crystal, or 16mhz with one. The one thing missing from the ATmega32 that would be useful are pin-change interrupts, which would come in handy for the user inputs.

I have partially designed a controller using an ATmega32. My intention was to allow serial communication, and add a bootloader that could be activated by pushing a key into the "try me" switch. This would allow you to reflash it easily for software changes. Also, since you are probably going to have Elmo lying down while putting the key in the "try me" switch, the tilt sensor will also be activated.

In summary, the Decimila doesn't appear to have enough I/O unless you add the extra circuitry and the trossen board is $85!!! So, I can't really recommend either, personally.

RetroPlayer
RetroPlayer's picture

The decimila would probably work as well, if you didn't need to use all of the user inputs. You might not really need the tilt, nose, and "try me" inputs. And if you come up with something more engenious to multiplex the encoders than what I described above (I simply thought of it while I was writing it) then you can reduce the I/O needed for them maybe even further.

If you think about it, the legs are pretty easy, really. He is either sitting or standing. And if you move beyond sitting, his leg crosses. You could probably ignore the encoder completely and just use some timing to handle that. And once you move him to one of those positions, you will not change it often.

Really, the only encoder that I would consider very important is the head. The arms either move up and down, or the right arm bends at the elbow (by continuing to move up after the arms are fully up. This would get updated a little more often than the legs, but not by much.

But, to make Elmo talk, you need very rapid updating of his movements.

sevik
sevik's picture

:)) for reducing number of inputs for encoders given that they are one-shot and your MCU have ADC with mux you can use simple resistors based DAC for each.

Look at :
http://lancer3.com/ADC%20Keypad.htm
http://www.embeddedrelated.com/groups/piclist/show/4457.php

It's acceptable for me amount of additional circuitry :))

This approach can be used for buttons too

RetroPlayer
RetroPlayer's picture

Sevik, of course!! Why didn't I think of that one? Classic trick to reduce I/O or wiring needed.

Great suggestion.

The common conductor is your input to the ADC, and you simply put several resistors in series between VCC and GND. Then you connect the taps between the resistors to the switch contacts. When the circuit is closed, you will be measuring the voltage drop across the resistors from your tap to GND. When the wiper is not over a contact, you will just measure 0v (you will probably want a very large value resistor connected to ground at the input of the ADC to make sure the voltage is 0v.)

Come to think of it, I wonder if it is actually wired up this way on the original Elmo board. I'll have to look when I get home. Makes alot of sense.

nessa1785
nessa1785's picture

hi my daughters elmo does not finish the GET DOWN DANCE SONG,we've put new batteries and checked to see if any button could be stuck.what else could it possibly be

RetroPlayer
RetroPlayer's picture

nessa, when you say he does not finish it, what exactly do you mean. Could you describe it in a little more detail?

Does he start the routine? If so, at what point does he stop? And I think it is his belly switch that starts this, right? If you push it again, does it move on to the next routine as if nothing was wrong?

That's pretty sad. That's one of his funniest routines.

Oh, also, did he finish it before?

Andrew Olney
Andrew Olney's picture

Sevik & Retro, thanks so much for your help so far. Can you identify the 4 resistors for me in this picture?

http://www.robocommunity.com/imagelib/contentitem/0/f0f219158e118e83--6e...

sevik
sevik's picture

There is really 6 of them (for 3 motors). I have forget about head last time.

On this picture only 2 of them present - R21 and R28

You can find similar pattern for other 2 H-bridges - R15,R27 and R26,R8.

You need to disconnect left sides of them from cpu, and connect them to your MCU.

You can unsolder them and solder them back vertically only to right pads.

Dabic
Dabic's picture

HI Guys
my daughter stepped on elmo's leg and broke it. I pulled it apart and superglued the bits together and now(stupidly) i can't remember exactly where all the bits and springs go! Do you have a photo or two that you could post? It was his left leg (the one with the battery compartment)
thanks

Currahee
Currahee's picture

does the inside look similar to robosapien

Pages