Go Down

Topic: Voice Streaming with Arduino (Read 3110 times) previous topic - next topic


Hi all,

I'm trying to understand if it's possibile to send voice in real-time between 2 Arduino via wireless.
Something like a unidirectional Walkie Talkie.
Something like that:

Microphone - Arduino - TX ---------------> RX - Arduino - Speaker

I would like to use this mic: http://www.sparkfun.com/products/9964
I see the AUD pin and I assume I should connect it to the PWM pin on board, but I really don't know what kind of
values are read and how to send it in real-time.

Assuming that is easy to find a AD/DA converter to be connected on the PWM, the other problem is the wireless transmission.
The first solution was Zigbee, but we concluded in other posts that is not a solution for the problem.
Any other ideas ?

Thanks in advance for your answers.


Leon Heller

PWM uses an output pin!

You could connect the microphone unit to an ADC input and transmit the digitised speech to the other Arduino via Sparkfun nRF24L01+ modules.
Leon Heller


One thing that makes people cross on this forum is cross posting. Please don't do it if you want any friends.


Thanks for replies.

To Leon: can't PWM be configured also for input ?

To Grumpy_mike: you're almost right, I'm trying to make some order in different aspects of the project, voice sampling and transmission.

Leon Heller

PWM is output only! Look it up.
Leon Heller


Thank you Leon.

I think I'll try the Sparkfun module you suggested me, looks perfect.

What do you mean with "digitsed" ? Do you think I can just write raw values to the RX of module ?

Leon Heller

If your ADC sampling rate is low enough (say 8 kHz) you should be able to do that.
Leon Heller


Ok I'm looking at an ADC sampling at 8khz.

Basically what's sampled ? Electrical values ? What is read by the Arduino sketch ?

Thanks  :)

Leon Heller

Interface an electret microphone and amplifier to an analogue input.
Leon Heller


Ok this is what I've figured for the project.

I'll do exactly this and than I'll post back !

Thank you very much !

WilliamK Govinda

You connect AUD to Analog Input 1 (A1) and do something like this: value = analogRead(A1);
Them you need to send that value to your wireless connection. In the other Arduino, you receive the value and do analogWrite(....) and a PWM output.


Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131