Go Down

Topic: Arduino / Speakjet (Read 11349 times) previous topic - next topic



I'm hoping someone on here has some generic code for Arduino to power the Speakjet they are willing to share. I should be able to get it wired up alright but am very novice at codewriting. In the end hoping to trigger the Speakjet with an accelerometer, which will need to generate the phenome codes to trigger the speakjet.

Anyone have some general arduino to speakjet code to get me started? Thanks for any help, cheers.



Do play with it, if you have Windows, with the utility it comes, with, too... discussed in the above, which is more about what you want.


Jan 19, 2011, 02:22 am Last Edit: Jan 19, 2011, 02:34 am by john_also Reason: 1
thanks for the obvious links, i appreciate the help. i've got everything cued in...no error messages (any more!), but still not getting any sound.

Q - should this work just by connecting two audio outs to a quarter inch jack and then an external amplifier (eg, my PA system), or do I absolutely NEED and amplifier?

headed to pick up an amp tomorrow, but if i'm wrong on this it'd be great to know before spending any money...

thanks . . .


Jan 19, 2011, 05:18 am Last Edit: Jan 19, 2011, 05:21 am by john_also Reason: 1
Yes, I've got hum from the speaker when touching the audio output, so that's not the problem. I've got everything else wired up exactly as the schematic in Speakjet user manual suggests, which is the same as the schematics supplied in the two links above. You're right, I should be getting SOME kind of sound from the speakjet. I'm going to take it all apart and put it back together in hopes that I missed a connection somewhere.

Was just wondering if anyone had any clue as to if the audio output would work being connected directly to a line out, without an amp.

For the time being, I'm using the test code supplied on the letsmakerobots page. I'm going to have to write a lot more, have studying to do...



Are you trying to skip the pesky 3 capacitors, two resistors just after pin 18, "VoiceOut"?

Bad idea.

But, as explained in the link given, if you want to use a simple "speaker" (WITH AMP) system meant for a PC, then you should be fine if you connect that.

The imformation that you gave about your amp+speakers passing the "hum test" was encouraging.

Just replace everything to the right of the 10 uF cap (previous post) with your speakers+amp.

Be sure to connect the "other" side of speakers+amp to Arduino ground. Be sure any electrolytic caps are plugged in the right way around.

Try to solve this before the 24th, and post what you found to be the problem here, so we know what newbie gotcha to warn others about the next time. (After the 23rd, this forum is being frozen....



Jan 20, 2011, 10:53 pm Last Edit: Jan 20, 2011, 10:55 pm by john_also Reason: 1
Yarrrrgh, still nothing. Everything is seemingly in place...and yes, I've connected the three capacitors and 27 k resistors. I've got the audio out connected to this Vellman 30 W stereo amp (http://www.parts-express.com/pe/showdetl.cfm?Partnumber=320-212), which is grounded to the arduino and connected to an external 12 v AC power supply. The amp is working fine...picking up major radio interference...

in the schematic above, the electrolytic capacitor is marked for the positive side towards the amp, correct? (am extreme newb at reading this stuff)

Yet still nothing when I upload the code from arduino onto the board. Is there a trigger or something to make this start, or should it just talk when I send this to arduino?

code - [edit]// letsmakerobots demo
// a short sketch written by droidbuilder for demonstration at letsmakerobots.com

// set up a new software serial port
//rxPin: the pin on which to receive serial data
//txPin: the pin on which to transmit serial data
#include <SoftwareSerial.h>
#define txPin 2
#define rxPin 3
// set up the SoftwareSerial port to connect to the SpeakJet
SoftwareSerial SpeakJetSerial =  SoftwareSerial(rxPin, txPin);

void setup()
 // define pin modes for tx, rx pins:
 //pinMode(rxPin, INPUT);
 pinMode(txPin, OUTPUT);

 // char array holding the 'lets make robots' string we want to speak
 char SayIt[] = {20, 96, 21, 114, 22, 88, 23, 5, 145, 131, 193, 6, 140, 154, 196, 6, 148, 7, 137, 7, 164, 18, 171, 136, 193};
 SpeakJetSerial.println(SayIt); // send it to the SpeakJet

void loop()
 // infinite do-nothing loop

it is very important that i have this cyborg talking by next week! long night ahead of me. i guess i'll take it all apart again...


interesting, I see that in the speakjet user manual, the 10 uf capacitor is labeled as having the positive side towards the speakjet, but in the schematic above it's the other way around. maybe my capacitor is just fried.


Have you tried running the Speakjet using the Windows utility that comes with it? That might work, and a) reassure you your Speakjet was okay, b) point you to WHERE the problem is, if not what.

And have you (re) read the tutorial carefully? I seem to remember some sort of "getting started gotcha" to evade. It also explains using the Windows utility.



that'd be nice, but i've gotta mac. thanks, though.


After checking the audio path, it seems that I can't create a loud hum after the 10uF capacitor. When I run the program, I can actually hear a quiet 'on click' come from the speakers, and then hear it click off after about 5 seconds, the length of time it should take for it to say 'lets make robots'. I'm hoping this is because the capacitor got fried, and not because the Speakjet itself is!


Had hoped to solve by the 24th but it doesn't seem possible. I've been troubleshooting this over and over again and have ruled out every possible problem (and followed all advice given to me) and the only variable left is the speakjet itself. I'm asking for a refund and ordering a new one. Thanks for everyone's help...

Go Up