SP03 Text to Speech Synth using I2c

Has anybody managed to get the SP03 working with an Arduino.
Data sheet here for SP03
http://www.robot-electronics.co.uk/htm/Sp03doc.shtml

You can store 30 phrases using a custom app and then call these phrases using the MCU. Alternatively you can feed it text to it sbuffer and then request it speak this text.

Example code here for the basic Atom
http://www.robot-electronics.co.uk/htm/sp03atom.shtml

I have wired up the I2C interface to the Arduino as follows : +5v, both gnds, and the SDA to arduino analogue pin 4 and the SCL to Arduino Analogue pin 5. When I power up the the synth it speaks the default text that is stored in the first storage space. This is what its suppose to do simply by getting power

I am pretty new to Arduino and I2C maybe too ambitious

My code is:
#include <Wire.h>

void setup()
{
Wire.begin (); // join i2c bus

}

void loop()
{
Wire.beginTransmission(0XC4); //predefinedI2C address of SP03
Wire.send ("0X01");
Wire.endTransmission();
}

Obviously nothing happens when I run this although the code does actually compile.

I am missing selecting the Command Register

I have read a few articles on I2C but not enlightened yet

This is from the data sheet

To say "Hello" send the following sequence over the I2C bus:

Start Bit I2C Start Sequence
0xC4 SP03 I2C Address
0x00 SP03 Command Register
0x00 SP03 NOP Command
0x00 Volume (Max.)
0x05 Speech Speed
0x03 Speech Pitch
'H' (0x48) Text
'e' (0x65) Text
'l' (0x6C) Text
'l' (0x6C) Text
'o' (0x6F) Text
0x00 NULL
Stop Bit I2C Stop Sequence

I'd appreciate any help

Noel

Hi
I am new to Arduino. I have used this with Picaxe chips before and it would be grate if we could get it working with Ad. It gives much better voice compared to what I have heard in other projects.

Unfortunately I am learning the new language at the moment and cant comment on your code.

Have you given the correct address.

regards

nan

I am pretty sure the address is correct as that is what is stated in the spec sheet. I agree the voice quality is pretty good also as had it working a while ago with a Basic Stamp 2. I2C looks pretty complex though for a noob so may have to put this on the back burner for a while unless some one experienced pick it up.

I am wondering if the Arduino Mega has more readily available (in built) I2C capability or do you still need to bit bash in code ?

Try changing the I2C address to 0x62: see this note about how the Wire library handles addresses.

hi
im planning to use this speech module on my project. Has anybody here ever use an input data that describe time such as 06.30 pm. Can this speech module pronounce them properly ?

sorry for my bad english :slight_smile:

I would say it would do a good job as I found it to be a great speech synth
Noel