Making a Long Range Remote Control. DIY 1 to 8 Channel Arduino
How to make a long range remote control with 100mW NRF24L01 PA LN (E01-ML01DP5) module and Arduino. 1 to 6 proportional channels and 2 on/off type channels. Circuit construction with a total of 8 channels.
We are living in the era of 5G and 5G-enabled devices; However, old technologies like the walkie-talkie system and RF communication system are still paramount in scenarios where a remote, short distance, cheap, and low-cost communication is required. For example, if you have a building or heavy-weight bearing construction company, then your workers need to communicate with each other for co-ordinated work. With the help of a walkie-talkie, they can communicate with each other and spread short massage or instructions by just pressing the “PTT” button to transmit voice to other workers, for them to listen and follow the instruction. Another application could be in the smart helmets to communicate among a pack of riders during a long drive, the suggested model here can communicate among six people at a time. If you want to check out other types of short-range wireless audio transmission projects, visit the IR Based Wireless Audio Transmitter and Li-Fi Audio Transmitter project using the links.
Walkie Talkie using nRF24L01 RF Module
The main component of this project is the NRF24L01 RF module and Arduino Uno which is the brain or processor. We have already learned how to interface Nrf24L01 with Arduino by controlling a servo motor remotely. For this project, the NRF24L01 RF module is chosen because it has several advantages over a digital communication medium. It has 2.4 GHz very high-frequency ISM band and the data rate can be 250kbps, 1Mbps, 2Mbps. It has 125 possible channels in between 1Mhz spacing so the module can use 125 different channels which makes it possible to have a network of 125 independently working modems in one place.
Most importantly, NRF24L01 signals don't overlap or cross interface with other walkie-talkie systems like police walkie-talkie and railway walkie-talkie and it does not disturb other walkie-talkies. A single nrf24l01 module can communicate up with the other 6 nrf24l01 modules at a time when they are in the receiving state. Also, it is a low power consumption module which is an added advantage. There are two types of NRF24L01 modules that are widely available and commonly used, one is NRF24L01+ and another is NRF24L01+PA+LNA (shown below) with built-in antenna.
The NRF24L01+ has an onboard antenna and only a 100 meter range. It is only good for indoor use and is not suitable for outdoor long-distance communications. Moreover, if there is a wall present in between transmitter and receiver, the signal transmission is very poor. The NRF24L01 +PA+LNA with an external antenna has a PA that boosts the power of the signal before the transmission. LNA stands for Low Noise Amplifier. It is clear, filters out the noise and boosts the extremely weak and uncertain low level of the signal received from the antenna. It helps in making useful levels of signal and it has 2dB external antenna through which it can transmit 1000 meters of on-air range coverage, so it is perfect for our outdoor walkie-talkie communication projects.
Component Required for Arduino based Walkie Talkie
NRF24L01 +PA+LNA with external 2DB antenna (2 pcs)
Arduino UNO or any version of Arduino
Audio amplifier (2pcs)
Microphone circuit: You can make it yourself (discussed later) or purchase a sound sensor module.
DC to DC step-up booster module (2pcs)
3.3V AMS1117 voltage regulator module
Power indicator LED (2pcs)
470 ohm resistance (2pcs)
A 4-inch loudspeaker (2pcs)
push button (for PTT button)
104 PF for making of PTT buttons (2pcs)
100 NF capacitor for NRF24L01 (2pcs)
1k resistance for PTT button (2pcs)
2 sets of li-ion battery
Li-ion battery charging and battery protection module (2pcs)
Some jumper wire, male header pin, dotted vero board
Arduino Walkie Talkie Circuit Diagram
The complete circuit diagram for the Arduino Walkie Talkie is shown in the image below. The circuit diagram shows all the connections including the PTT button, microphone circuit, and stereo audio output.
Important: The NRF24L01 module voltage input range is 1.9v to a maximum of 3.6 volts and for voltage and current stability you have to use a 100nf capacitor into the +VCC and - GND, yet other pins of nrf24l01 module can tolerate 5-volt signal levels.
Step 1: I started with making homemade custom PCB and Arduino Atmega328p board. I had put the IC Atmega328p on the programmer and flashed it and then uploaded the code. Then, I added 16 MHz crystal on Atmega328p IC on (PB6, PB7) pin 9 and 10. The pictures of my custom made PCB and the assembled board with programmed IC is shown below.
Step 2: I connected NRF24L01 modules as shown in the circuit diagram in the following order. CE to digital pin number 7, CSN to pin number 8, SCK to digital pin 13, MOSI to digital pin 11, MISO to digital pin 12 and IRQ to digital pin 2.
For the power supply, you need to drop the voltage first from 5 volts to 3.3v with good current stability. Also, you have to put a 100nF capacitor on the VCC and ground of the nrf24l01 module. So, I used AMS1117 which is a 3.3-volt voltage regulator, the module also reduces your project size and makes it compact.
If you want to make this voltage regulator board yourself, you can buy only 3.3-volt regulator IC and can make it by adding some caps, resistance in input and output as it is very important for your RF module because it is a sensitive device. Or you can use the LM317 variable voltage regulator to build a 3.3V Regulated circuit as we did in the Breadboard power supply project.
Step 3: You can purchase a sound sensor or make a simple microphone circuit as shown in the circuit diagram. It consists of only one transistor- 2n3904 NPN transistor. The below image shows the homemade microphone circuit built on a Vero board. You can also check this simple audio pre-amplifier circuit for more information.
For better understanding, I have made another representation of the whole connection with component values as you can see below
Step 4: For, making a connection from your microcontroller digital pin number 9 & 10 to your audio amplifier, I have used the PAM8403 stereo audio amplifier because by default the Arduino audio output is very low (usually you can only hear sound using just headphone, not a loudspeaker, so we need an amplification stage). The module can drive two laptop speakers easily and is available at a very low cost. Also, it comes with a very powerful audio amplifier in an SMD package which requires very little space. The PAM8403 audio amplifier module is shown below
The connection is very simple, a 3.7V to 5V power supply is required to power the Audio Amplifier. The left channel and right channel audio input from Arduino pin 9 and 10 along with the ground pin should be given as input for this amplifier module as shown in the circuit diagram. In my case, I have used a single 4 inch 8 ohms speaker and only used right channel output. If you want, you can use two speakers with this module.
Step 5: Next, I built the PTT switch using a simple push-button. I added a 104PF or 0.1uf capacitor to prevent switch bouncing or erratic signals when the switch is pressed. Pin 4 is now directly connected with Arduino Digital pin D3 as an interrupted pin is assigned to the coding.
The NRF24L01 + PA+LNA when transmitting an audio signal or DATA packets consumes more power hence, it consumes more current. When you press the PTT button suddenly, the power consumption increases. For handling this suddenly increased load, you must use a 100nF capacitor on +vcc and Ground for the transmission stability of the NRF24L01+PA+LNA Module.
When the switch is pressed, the Arduino board receives an Arduino Interrupt on its pin D3. In the program, we will declare the digital pin 3 of Arduino constantly checking its input voltage. If the input voltage is low, it keeps the walkie-talkie in receiving mode and if the digital pin number 3 is high, it switches the walkie-talkie into transmitting mode for sending voice signal picked up by the microphone process through microcontroller and transmit through NRF24L01+PA+LNA with an external antenna.
Step 6: For the power supply, I have chosen this Li-ion battery. To power, all the components like Arduino IC Atmega328p, NRF24L01+PA+LNA, audio amplifier, PTT button, and Microphone circuit, I used 2 sets of Li-ion battery for this project as shown below.
A good cell has a voltage level 3.8v to 4.2 volts and the charging voltage is 4v to 4.2 volts only. To know more about lithium batteries you can check the linked article. These batteries are very popularly used in portable electronic devices and electric vehicles. But Li-ion battery cells are not as robust as other batteries, they need protection from being overcharged and discharged too fast, meaning the charging/discharging current and voltage should be maintained within safe limits. Therefore, I used the most propeller Li-ion battery charging module - TP4056. We have previously used this module for building a table Power Bank, you can check out that for more details on this board.
Step 7: I have used a 2 Amp dc to dc step up booster module because Arduino atmega328p, Audio Amplifier, microphone circuit, PTT button everything needs 5 volt but my battery can only supply 3.7V to 4.2V, So I need a boost converter to reach 5V with more than 1 Amp of stable power output.
Making a Long Range Remote Control. DIY 1 to 8 Channel Arduino
How to make a long range remote control with 100mW NRF24L01 PA LN (E01-ML01DP5) module and Arduino. 1 to 6 proportional channels and 2 on/off type channels. Circuit construction with a total of 8 channels.
We are living in the era of 5G and 5G-enabled devices; However, old technologies like the walkie-talkie system and RF communication system are still paramount in scenarios where a remote, short distance, cheap, and low-cost communication is required. For example, if you have a building or heavy-weight bearing construction company, then your workers need to communicate with each other for co-ordinated work. With the help of a walkie-talkie, they can communicate with each other and spread short massage or instructions by just pressing the “PTT” button to transmit voice to other workers, for them to listen and follow the instruction. Another application could be in the smart helmets to communicate among a pack of riders during a long drive, the suggested model here can communicate among six people at a time. If you want to check out other types of short-range wireless audio transmission projects, visit the IR Based Wireless Audio Transmitter and Li-Fi Audio Transmitter project using the links.
Walkie Talkie using nRF24L01 RF Module
The main component of this project is the NRF24L01 RF module and Arduino Uno which is the brain or processor. We have already learned how to interface Nrf24L01 with Arduino by controlling a servo motor remotely. For this project, the NRF24L01 RF module is chosen because it has several advantages over a digital communication medium. It has 2.4 GHz very high-frequency ISM band and the data rate can be 250kbps, 1Mbps, 2Mbps. It has 125 possible channels in between 1Mhz spacing so the module can use 125 different channels which makes it possible to have a network of 125 independently working modems in one place.
Most importantly, NRF24L01 signals don't overlap or cross interface with other walkie-talkie systems like police walkie-talkie and railway walkie-talkie and it does not disturb other walkie-talkies. A single nrf24l01 module can communicate up with the other 6 nrf24l01 modules at a time when they are in the receiving state. Also, it is a low power consumption module which is an added advantage. There are two types of NRF24L01 modules that are widely available and commonly used, one is NRF24L01+ and another is NRF24L01+PA+LNA (shown below) with built-in antenna.
The NRF24L01+ has an onboard antenna and only a 100 meter range. It is only good for indoor use and is not suitable for outdoor long-distance communications. Moreover, if there is a wall present in between transmitter and receiver, the signal transmission is very poor. The NRF24L01 +PA+LNA with an external antenna has a PA that boosts the power of the signal before the transmission. LNA stands for Low Noise Amplifier. It is clear, filters out the noise and boosts the extremely weak and uncertain low level of the signal received from the antenna. It helps in making useful levels of signal and it has 2dB external antenna through which it can transmit 1000 meters of on-air range coverage, so it is perfect for our outdoor walkie-talkie communication projects.
Component Required for Arduino based Walkie Talkie
NRF24L01 +PA+LNA with external 2DB antenna (2 pcs)
Arduino UNO or any version of Arduino
Audio amplifier (2pcs)
Microphone circuit: You can make it yourself (discussed later) or purchase a sound sensor module.
DC to DC step-up booster module (2pcs)
3.3V AMS1117 voltage regulator module
Power indicator LED (2pcs)
470 ohm resistance (2pcs)
A 4-inch loudspeaker (2pcs)
push button (for PTT button)
104 PF for making of PTT buttons (2pcs)
100 NF capacitor for NRF24L01 (2pcs)
1k resistance for PTT button (2pcs)
2 sets of li-ion battery
Li-ion battery charging and battery protection module (2pcs)
Some jumper wire, male header pin, dotted vero board
Arduino Walkie Talkie Circuit Diagram
The complete circuit diagram for the Arduino Walkie Talkie is shown in the image below. The circuit diagram shows all the connections including the PTT button, microphone circuit, and stereo audio output.
Important: The NRF24L01 module voltage input range is 1.9v to a maximum of 3.6 volts and for voltage and current stability you have to use a 100nf capacitor into the +VCC and - GND, yet other pins of nrf24l01 module can tolerate 5-volt signal levels.
Step 1: I started with making homemade custom PCB and Arduino Atmega328p board. I had put the IC Atmega328p on the programmer and flashed it and then uploaded the code. Then, I added 16 MHz crystal on Atmega328p IC on (PB6, PB7) pin 9 and 10. The pictures of my custom made PCB and the assembled board with programmed IC is shown below.
Step 2: I connected NRF24L01 modules as shown in the circuit diagram in the following order. CE to digital pin number 7, CSN to pin number 8, SCK to digital pin 13, MOSI to digital pin 11, MISO to digital pin 12 and IRQ to digital pin 2.
For the power supply, you need to drop the voltage first from 5 volts to 3.3v with good current stability. Also, you have to put a 100nF capacitor on the VCC and ground of the nrf24l01 module. So, I used AMS1117 which is a 3.3-volt voltage regulator, the module also reduces your project size and makes it compact.
If you want to make this voltage regulator board yourself, you can buy only 3.3-volt regulator IC and can make it by adding some caps, resistance in input and output as it is very important for your RF module because it is a sensitive device. Or you can use the LM317 variable voltage regulator to build a 3.3V Regulated circuit as we did in the Breadboard power supply project.
Step 3: You can purchase a sound sensor or make a simple microphone circuit as shown in the circuit diagram. It consists of only one transistor- 2n3904 NPN transistor. The below image shows the homemade microphone circuit built on a Vero board. You can also check this simple audio pre-amplifier circuit for more information.
For better understanding, I have made another representation of the whole connection with component values as you can see below
Step 4: For, making a connection from your microcontroller digital pin number 9 & 10 to your audio amplifier, I have used the PAM8403 stereo audio amplifier because by default the Arduino audio output is very low (usually you can only hear sound using just headphone, not a loudspeaker, so we need an amplification stage). The module can drive two laptop speakers easily and is available at a very low cost. Also, it comes with a very powerful audio amplifier in an SMD package which requires very little space. The PAM8403 audio amplifier module is shown below
The connection is very simple, a 3.7V to 5V power supply is required to power the Audio Amplifier. The left channel and right channel audio input from Arduino pin 9 and 10 along with the ground pin should be given as input for this amplifier module as shown in the circuit diagram. In my case, I have used a single 4 inch 8 ohms speaker and only used right channel output. If you want, you can use two speakers with this module.
Step 5: Next, I built the PTT switch using a simple push-button. I added a 104PF or 0.1uf capacitor to prevent switch bouncing or erratic signals when the switch is pressed. Pin 4 is now directly connected with Arduino Digital pin D3 as an interrupted pin is assigned to the coding.
The NRF24L01 + PA+LNA when transmitting an audio signal or DATA packets consumes more power hence, it consumes more current. When you press the PTT button suddenly, the power consumption increases. For handling this suddenly increased load, you must use a 100nF capacitor on +vcc and Ground for the transmission stability of the NRF24L01+PA+LNA Module.
When the switch is pressed, the Arduino board receives an Arduino Interrupt on its pin D3. In the program, we will declare the digital pin 3 of Arduino constantly checking its input voltage. If the input voltage is low, it keeps the walkie-talkie in receiving mode and if the digital pin number 3 is high, it switches the walkie-talkie into transmitting mode for sending voice signal picked up by the microphone process through microcontroller and transmit through NRF24L01+PA+LNA with an external antenna.
Step 6: For the power supply, I have chosen this Li-ion battery. To power, all the components like Arduino IC Atmega328p, NRF24L01+PA+LNA, audio amplifier, PTT button, and Microphone circuit, I used 2 sets of Li-ion battery for this project as shown below.
A good cell has a voltage level 3.8v to 4.2 volts and the charging voltage is 4v to 4.2 volts only. To know more about lithium batteries you can check the linked article. These batteries are very popularly used in portable electronic devices and electric vehicles. But Li-ion battery cells are not as robust as other batteries, they need protection from being overcharged and discharged too fast, meaning the charging/discharging current and voltage should be maintained within safe limits. Therefore, I used the most propeller Li-ion battery charging module - TP4056. We have previously used this module for building a table Power Bank, you can check out that for more details on this board.
Step 7: I have used a 2 Amp dc to dc step up booster module because Arduino atmega328p, Audio Amplifier, microphone circuit, PTT button everything needs 5 volt but my battery can only supply 3.7V to 4.2V, So I need a boost converter to reach 5V with more than 1 Amp of stable power output.
No comments:
Post a Comment