**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.