PCBWay 3rd PCB Design Contest

Arduino Based Walkie-Talkie

Hi. I am Ensar. I am student at Turkey. My department is Electric Electronic Engineering. This is my Walkie-Talkie project. 

You can download gerber file from documents.

I used 2 x Nrf24l01.

2 Arduino 

2 Button

2 Mic 

2 Speaker

You can start to talk while your finger on talk button. After if your break down this. you can hear your couple. I will give a link and you can see code on there.

First of all you should download RF24-audio library for Arduino ide. 

Upload the given code.

Then you can use. 

I used atmel328p-pu on this pcb.

You can program this pic on arduino uno 

Then you can solder pic on to breadboard.

You should use Nrf24l01 with antenna, because you can use only in 200 meter without antenna

If you use antenna you can use in 1.8km.

I added a 5110 screen on to board but I am developing that feature. This is not working now. But it will be active with a code update. 

I have instructables page and I have nearly 100k views I will share this project on this page. And I will use Pcbway's name. 


Simple example for creating a walkie talkie by sending audio
using the nRF24L01 RF transceiver module.

This code is in the public domain. Please feel free to modify,
use, etc however you see fit. But, please give reference to
original authors as a courtesy to Open Source developers.

Modified example from RF24 Audio Library by TMRh20. Comments
from TMRh20 below.


/* RF24 Audio Library TMRh20 2014

This sketch is intended to demonstrate the basic functionality of the audio library.

2 Arduinos (Uno,Nano,Mega, etc supported)
2 NRF24LO1 Radio Modules
1 or more input devices (microphone, ipod, etc)
1 or more output devices (speaker, amplifier, etc)

1. Change the CE,CS pins below to match your chosen pins (I use 7,8 on 328 boards, and 48,49 on Mega boards)
2. Upload this sketch to two or more devices
Default Pin Selections:
Speaker: pins 9,10 on UNO, Nano, pins 11,12 on Mega 2560
Input/Microphone: Analog pin A0 on all boards


#include <RF24.h>
#include <SPI.h>
#include <RF24Audio.h>
#include "printf.h" // General includes for radio and audio lib

RF24 radio(7,8); // Set radio up using pins 7 (CE) 8 (CS)
RF24Audio rfAudio(radio,0); // Set up the audio using the radio, and set to radio number 0

int talkButton = 3;

void setup() { 


pinMode(talkButton, INPUT);

//sets interrupt to check for button talk abutton press
attachInterrupt(digitalPinToInterrupt(talkButton), talk, CHANGE);

//sets the default state for each module to recevie


//void talk()
//Called in response to interrupt. Checks the state of the button.
//If the button is pressed (and held) enters transmit mode to send
//audio. If button is release, enters receive mode to listen.
void talk()

if (digitalRead(talkButton)){ rfAudio.transmit(); }
else {rfAudio.receive(); }

void loop()

Apply for sponsorship >>
524 Projects Sponsored
Dec 18,2018
3,076 viewsReport item
  • Comments(0)
  • Likes(2)
You can only upload 1 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP
    View More
    Earn a $5 Welcome Bonus