Make your own very crude Walkie-talkie with an Arduino

**Building an Arduino Walkie-Talkie: A DIY Project**

When working in a group with motorcycles or mopeds, verbal communication can sometimes be a problem. However, this doesn't have to be the case, thanks to modern technology. Most helmets come with indentations on the inside where you can mount speakers and use modern communication systems like the Kardos gala. But, these devices are often quite expensive.

This got me thinking: is it possible to use Arduino development boards to create a walkie-talkie with duplex mode, which can receive and transmit audio? In this video, I'll show you how to build a DIY version of such a device, despite the warning that it may not have decent audio quality.

**The Project Requirements**

To start off, we need to understand the basic principle behind a walkie-talkie. The most important peripheral features for this job are the 16-bit timer and the 10-bit ADC (Analog-to-Digital Converter). We also need an audio signal that we want to transmit.

For that, I used flexible microphones with a 3.5mm stereo jack, which come with a simple microphone content. All I had to do was add a 10kΩ resistor and a 10μF capacitor and a voltage source to the stereo jack to get an AC voltage audio signal.

**Sampling the Audio Signal**

The audio signal needs to be sampled by the ADC of the microcontroller in order to turn the analog voltages of the signal into digital values that we can use. This requires the 16-bit timer to trigger one AD conversion every 62.5 microseconds, which would equal a sampling rate of 16 kHz.

This sampling rate may not offer the best audio quality, but let's play it safe for this first experiment and focus on bigger problems. The small peak-to-peak voltages of around 100mV of our audio signal due to them these samples digital values would only differ slightly, which could lead to distortion problems later on.

**Using an Operational Amplifier**

To amplify the audio signal, I used an LM358 operational amplifier that works with a minimum voltage of 3 volts. This will be important later on, as we'll see.

I created a proper fully fledged schematic for my walkie-talkie, which through the help of EasyEDA, I then converted into a PCB design. It took me roughly around four hours to position all the components as close to one another as possible while still being able to do all the routing successfully on the top and bottom sides.

**Ordering the PCBs**

As soon as I was happy with my design, I ordered five PCBs of it through JLCPCB for only $2. Waiting for a week, I received the PCBs which like always made a positive first impression.

Once I sourced all the required components, I firstly soldered in the SMD components to two PCBs and then moved on by soldering in the remaining components which took me around three hours.

**Programming the Microcontrollers**

To program the microcontrollers, I used an Arduino Uno as a programmer. In the Arduino IDE, I simply had to choose the correct microcontroller ports and the ArduinoISP and click upload using programmer.

You can see the uploading worked out smoothly, and thus I repeated this process for the other PCB and then hooked up all the external components and finally powered it up.

**The Results**

Both PCBs can talk with one another, but the audio quality is so bad that it's pretty much unusable. I tried a couple of things like altering the sampling rate and transfer speeds and improving the microphone amplifier circuits, but nothing helped to improve the audio quality.

Conclusion:

While designing an Arduino walkie-talkie was a big failure for me, I hope you enjoyed this video anyway, and learned bits about wireless audio transmission even though my practical application did not work out as planned.

WEBVTTKind: captionsLanguage: enWhen it comes to writing a mopeds or motorcycle in a group there will sometimes be a verbal communication problembut that doesn't have to be this way because most helmets come with indentations on the inside where you can mount speakers andThus use modern communication systems like this Kardos gala, right but cost highWhat is not awesome though is its high price? Which got me thinking?Whether it is possible to use the Arduino development boards to create a walkie talkieduplex mode can receive and transmit audioSo in this video, let me show you how to build DIY methodBut let me already warned you then. It does not come with decent audio qualityNevertheless though. Let's get startedThis video is sponsored by jl CPC beer where you can get $2 PCBs super easilyalso a customer feedback is getting discussed andEvaluated within the company to constantly improve the PCB ordering processWhich you can experience yourself by uploading yokubou files todayTo start off I had to think about how a walkie talkie buid know basic principleIt's most important peripheral features for this job or its 16-bit timer, and it's ten bits ADCBut of course we firstly need an audio signal that we want to transmitFor that I got myself those flexible microphones, which come over 3.5 millimeter stereojack and are built around a simple contents a microphone thatMeans all I had to do was to add a 10 kiloOhm, resistor 10 mukha farad capacitor and the voltage source to the stereoYou check like it is shown here in order to get an AC voltage audio signal right after the capacitorThis audio signal needs to get samples by the ADC or analog to digital converter of the microcontrollerIn order to turn the analog voltages of the signal into digital values that we can let ascendThis also requires the 16-bit timer though in order to trigger one a DC conversionFor example, every sixty two point five microseconds, which would equal a sampling rate of 16. Kilo HertzThis sampling rage does of course not offer the best audio qualityBut let's play it safe for this first experiments and let's rather focus on a bigger problemThese small peak to peak voltages of only around 100 millivolts of our audio signalDue to them these samples digital values would only differ slightlyWhich could lead to distortion problems later on?let we use lm358 operational amplifier which works with a minimum voltage of 3 voltswhich will be important later on andCreated a simple inverting amplifier bovitz on a breadboards with a gain of 100connect microphone see the resultSo now that our microcontroller cut our audio signal digitalizedWe need a way to wirelessly send it over to another microcontrollerFor that I wanted to use the NIF 24 l 0 1 + 2.4 gigahertz transceiverBecause I not only used them successfully beforeBut also because I had those long-range antenna ones laying around for quite a whileso after 1 NIF 24 transmitted the audio data, and another one received at thesecond receiving microcontroller will once again use its tama one with its output pins 9 and 10 to create aPWM signalchanging duty cycle according to the received audio signalThis way the quickly changingPWM signal does not only look fascinatinglets hear sound by connecting speakerThat is how a basic Audrina walkie-talkie could functionAll that was left to do was to write the fitting code for itsLuckily though before I started losing my mind creating such a complicated codes. I found the RF 24 audio libraryWhich apparently offers real-time audio streaming and comes with pretty awesome features?After downloading its and having a look at its codesI realized that it's more or less follows the functional steps of not win a walkie talkie here. I mentioned early onSo I opened its minimal sketch in order to determine the most important pins for the componentsexcept for the volume control pins, which I pretty much scrapped by simply setting the volume to the maximum andThen created a suitable schematic for my first bread for testsIt is important to note though that the NIF 24 requires a powerful 3.3 volt power sourceWhich is why for my later PCB prototype?I made my life easier by simply powering all the components with 3.3 voltsBut nevertheless after I pulled up one transmitter and one receiver on a breadboardUploading these slightly modified codes and powering everythingIt seemed like the transmitted audio data was properly receivedIndicated by the receive status LED connected to pin 6But on the other hands the audio quality was quite terribleListen for yourselfAt this point I thought the breadboard construction was the culprits for this bad quality andThus decided to move on with a PCB prototypeFor that a fousey decided on the size of the PCB and where to position the jack plugs for the microphone and the headphonesSince the speaker was too quiet for my tastes the locking push button to start the transmissionThe micro USB inputs for power a power switch and finally a small 100. Kilo. Ohm potentiometerTo set the gain of the microphone amplifier. IDid this because at this point I was still convinced that I would mount the systemAlong with a small power bank to my helmets and actually usesSo as soon as the blueprint of my PCB design was completesI created a proper fully fledged schematic for my walkie. TalkieWhich through the help of eazy-e da I then converted into a PCB designIt took me roughly around four hours to position all the components as close to one another as possibleWhile still being able to do all the routing successfully on the top and bottom sitesand as soon as I was happy with my designI ordered five PCBs of its through which il CPC beer for only two dollars afterWaiting for week. I received the PCBs which like always made a positive first impression andonce I sourced all of the required componentsI firstly sold out all SMD components to two PCBs andThen moved on by soldering in only tht components which all an old took me around three hoursNow to program the microcontrollers, I used an Arduino Uno as a programmerWhich I hooked up to the PCBs according to this wiring schemeIn the arduino ide I then simply had to choose the correctmicrocontroller ports and the arduino si SP and click upload using programmer asYou can see the uploading worked out smoothly and thus I repeated this processFor the other pc beer and then hooked up all the external components and finally powerJust like before both PCBs can talk with one anotherBut the audio quality was so bad that it is pretty much unusableNow I tried a couple of things like altering the sampling rate and transfer speeds andAlso improving the microphone amplifier circuits, but nothing helped to improve the audio qualitySo me telling you that the transmitting range of around 50 meters is okaythe current consumption of 50 milliamps would guarantee a long run time andThat designing a suitable housing for mounting. The PCBs worked out smoothly is not necessary anymoreBecause for me this Arduino walkie-talkie was a big failure. IGuess sticking to dedicated wireless audio streamingIsis would have been the way to go which I might try out in a future video butnevertheless feel free to pick up my design schematic and PCB of the projects inOrder to maybe even fix an obvious and dumb mistake. I made IHope you enjoyed this video anyway, and learned bits about wirelessAudio transmission even though my practical application did not work out as plans