Speech assist device for my son.

Wife gave me a new project: create a speech assistant device for our autistic son.

Well, she told me to "get one", and they are around $200 :o

All it has to do is have a series of buttons (matrix keypad expanded, essentially), and play an audio file when he pushes the button relating to a small picture on a pad.

Going to use an "art case" as the case for this, just to get it big enough, so PLENTY of room for stuff, unless somebody has a great idea for an similar sized case for under $20. I could 3D print one, but it would actually be smaller than the art case (albeit I could make it stronger).

Now, how best to run this device?

My first thought was a DFPlayer and bare 328 controller (I keep both in stock), just run both on 3.3v.

The biggest challenge with that setup is how to keep the standby current EXTREMELY low, but wake instantly on a button push on the matrix button scheme (is that even possible?).

From what I've found, in "sleep" mode, the DFPlayer draws some 20ma. Kind of a lot. Thought of using the 328's sleep mode, setup an interrupt on the matrix keypad (if possible...), and then have the 328 turn on the DFPlayer via MOSFET, then play the corresponding mp3 file. But those DFPlayers take about 3-5 seconds to boot up, way too slow.

Then I stumbled across this guide to play wav files: linky

I've never played with the SD card reader OR that audio amp, any experience with how long it would take to get everything going after the matrix button interrupt?

I need the time from button press to audio playing under a second to make something my son might use.

I plan to run this all off of a battery, and I need the battery to last as long as possible. I may rig up an 18650 battery and integrate a charge controller so I can just plug it in at night with a regular USB-C connector, like his other stuff. I'd love to get at least 2-3 days battery life, but if I had to plug in nightly, I could deal with that.

Any thoughts are much appreciated.

DFPlayer is OK, but I prefer RaspberryPi Zero. If it is "just" for playing sound, you can use an arduino + SD-Card and store the sounds in WAV-format. You will only need mono output.

Oh, this might or might not be feastable, but you could use a smartphone for this, too. (I made devices like this ~ 2006, was on PalmOS that days ...)

Hello Rat...

I don't know the answers to your questions, but as someone with an adult autistic nephew I like what you are trying to do so ++Karma :slight_smile:

This plays one wav-file, but it could be a start: Simple SD Audio Player with an 8-pin IC

zwieblum:
DFPlayer is OK, but I prefer RaspberryPi Zero. If it is "just" for playing sound, you can use an arduino + SD-Card and store the sounds in WAV-format. You will only need mono output.

Oh, this might or might not be feastable, but you could use a smartphone for this, too. (I made devices like this ~ 2006, was on PalmOS that days ...)

He has an 8" tablet that he currently uses for videos/music (they calm him down), so cell phones/tablets are not for any other purpose (autism way of thinking). We actually have an app for this, but he refuses to even consider using it.

I did some calculations, and a regular nano and DFPlayer (I figured up around 45mA with a standalong 8mhz 328) should get me around 48 hours of standby time on a single 18650.

If I ditch the voltage regulators (both will be happy up to 4.2v; charging voltage), and remove the LEDs on the DFPlayer, probably get more run time. I think its do-able.

So, how do I run the matrix keypad as an interrupt? I'm looking to make a 5x5 or 6x6 button arrangement.

Diode logic to get the Pinchange-interrupt generated, and then in the ISR use the usual methode to get the key numbers from rows/colmns.

Add big pulldowns (or pullups) of ~ 100k or more to the rows and diodes to the columns.

Just a note on batttery: a RPi Zero uses ~ 80 mA or less when idle (depending whom you ask). You can get lower if you invest some time, but that still gives you more than one day from a single 18650.