Furby says what i want him to say.

I have little to no knowledge or experience in coding or working with microcontrollers but for this, im willing to learn.

The idea is simple. I want the furby to speak the premade sound files i give it without sacrificing the toy's functionality. ive built and repaired a few different furbies in my time. the 98's have two basic sound wires leading from the "brain" to the speaker.

My idea is to turn a digital input (when the furby sends sounds out) into a trigger that plays my sound files (preferably on shuffle)

now with a limited amount of coding experience, how can one accomplish this? Id imagine its a pretty simple task to do but I still havent figured it out yet.

so if someone could explain this to me and possibly recommend the best arduino board to use for this project, id finally be able to make this dream of mine a reality. :slight_smile:

First of all you have to find out how to recognize furby output. This task requires some electronic skills. Eventually a microphone module for the Arduino may do the job.

The next step is selection of the replacement output - do you already have an idea?

The last step is relatively easy, an SD card for storage of the sound files and an audio amplifier module for feeding the loudspeaker.

Sound output: use a DF Player Mini. That's indeed the easy part.

Furby's output: you connect to its speaker output? I'm thinking of something like this: rectifier, basic peak detector, transistor. R1 can be omitted if you enable the internal pull-up. Signal should go LOW as Furby speaks.

schematic.png

You may need a small current limiting resistor in series with D1 to lessen the load on the Furby output.

schematic.png

I doubt that the Furby output reaches 1.4V, required to drive your circuit. It also won't work well with a capacitor in the speaker output, because that capacitor will load once through the diode, but never unload again.

I still suggest a standard microphone module with adjustable level detector.

It is supposed to unload through R2-Q1. Now in retrospect I didn’t realise the VBE is that high; a resistor in parallel with C1 (100k or so) may be in order for better discharge.

The voltage output of the Furby may indeed be an issue (no idea how much that would actually be, it’s been decades since I’ve even seen one!). Add a DC blocking resistor & voltage divider to apply a bias… but then it’s getting a bit overly complex.

If the speaker output is not big enough to overcome the 0.7V X 2 voltage drop feed the output of the diode directly into an analogue input. There you can use the little used analogue comparator, or just take a reading and do the triggering in software. You might need a 10K pull down resistor as well.

If it will not even go over 0.7V for one diode drop connect it directly to the analogue input as the small negative signal is not sufficient to damage the pin.

Come to think of it, what should work as well is connect the speaker output to two analog pins; read using differential mode mode. Do not connect the Furby to Arduino GND (just those two speaker pins) and as long as the peak value stays < Vcc + 1 (there are now two clamping diodes in the current path) you should be fine. Or add a current limiting resistor to protect the clamping diodes.

Or add a current limiting resistor to protect the clamping diodes.

Yes I would do that.

While there is no rating given for these ESD clamping diodes an application note does mention they would be alright with 1mA.