• Skip to main content
  • Skip to primary sidebar

Homemade Circuit Projects

Need circuit help? Post them in the comments! I've answered over 50,000!

Blog | Categories | About | Hire Me | Contact | Calculators-online
You are here: Home / Arduino Projects / Wireless Servo Motor Control Using 2.4 GHz communication link

Wireless Servo Motor Control Using 2.4 GHz communication link

Last Updated on June 30, 2026 by Swagatam 27 Comments

In this post I will show how to construct a wireless servo motor circuit which can control 6 servo motors wirelessly on 2.4 GHz communication link.

Table of Contents
  •  Introduction
    • Illustration of NRF24L01 Modules:
    • Pin configuration:
    • Transmitter Circuit:
    • Program for Transmitter:
      • Program for Receiver:
      • How to operate this project:

 Introduction

The project is divided into two parts: a transmitter with 6 potentiometers and a receiver circuit with 6 servo motors.

The remote has 6 potentiometers to control 6 individual servo motors independently at receiver. By rotating the potentiometer, the angle of the servo motor can be controlled.

The proposed circuit can be used where you need controlled motion, for example arm of a robot or front wheel direction control of RC car.

The heart of the circuit is NRF24L01 module which is a transceiver; it works on ISM band (Industrial, Scientific and Medical band) it is the same frequency band which your WI-FI works.

Illustration of NRF24L01 Modules:

It has 125 channels, it has maximum data rate of 2MBps and it has theoretical maximum range of 100 meters. You will need two such modules to establish a communication link.

Pin configuration:

It works on SPI communication protocol. You need to connect 7 of the 8 pins to Arduino to make this module work.

It works on 3.3 V and 5V kills the module so care must be taken while powering. Fortunately we have on board 3.3V voltage regulator on Arduino and it must be powered only from 3.3V socket of Arduino.

Now let’s move on to Transmitter circuit.

Transmitter Circuit:

The circuit consists of 6 potentiometer of 10K ohm value. The middle terminal of 6 potentiometers is connected to A0 to A5 analog input pins.

Tabulation is given beside the schematic for NRF24L01 to Arduino connection; you may refer, if you have any confusion in circuit diagram.

This circuit may be powered from USB or 9V battery via DC jack.

Please download the library file here: github.com/nRF24/

Program for Transmitter:

//----------------------Program Developed by R.Girish------------------------//
#include <nRF24L01.h>
#include <RF24.h>
#include <SPI.h>

RF24 radio(9, 10);
const byte address[6] = "00001";

#define NUM_POTS 6
const int pots[NUM_POTS] = {A0, A1, A2, A3, A4, A5};
const char* servoNames[NUM_POTS] = {"Servo1", "Servo2", "Servo3", "Servo4", "Servo5", "Servo6"};

const int threshold = 20;
int potValues[NUM_POTS] = {0};
int angleValues[NUM_POTS] = {0};
int checks[NUM_POTS] = {0};

void setup() {
  Serial.begin(9600);
  radio.begin();
  radio.openWritingPipe(address);
  radio.setChannel(100);
  radio.setDataRate(RF24_250KBPS);
  radio.setPALevel(RF24_PA_MAX);
  radio.stopListening();
}

void loop() {
  for (int i = 0; i < NUM_POTS; i++) {
    potValues[i] = analogRead(pots[i]);
    
    if (potValues[i] > checks[i] + threshold || potValues[i] < checks[i] - threshold) {
      angleValues[i] = map(potValues[i], 0, 1023, 0, 180);
      
      radio.write(&servoNames[i], sizeof(servoNames[i]));
      radio.write(&angleValues[i], sizeof(angleValues[i]));
      
      checks[i] = potValues[i];
      
      Serial.print("INPUT:");
      Serial.println(i + 1);
      Serial.print("Angle: ");
      Serial.println(angleValues[i]);
      Serial.print("Voltage Level: ");
      Serial.println(potValues[i]);
      Serial.println("----------------------------------");
    }
  }
}
//----------------------Program Developed by R.Girish------------------------//

That concludes the transmitter.

The Receiver:

The receiver circuit consists of 6 servo motors, one Arduino and two separate power supply.

The servo motors need higher current to operate so it must not be powered from arduino. That’s why we need two separate power source.

Please apply voltage to servo appropriately; for micro servo motors 4.8V is enough, if you want to power bulkier servo motors, apply voltage matching to the rating of servo.

Please remember that servo motor consumes some power even when there is no moment, that’s because the arm of the servo motor always fight against any change from its commented position.

Program for Receiver:

That concludes the receiver.

How to operate this project:

• Power the both the circuit.
• Now rotate any one of the potentiometer’s knob.
• For example 3rd potentiometer, the corresponding servo at the receiver rotates.
• This applies for all servo motors and potentiometers.

Note: You can connect the transmitter to computer and open serial monitor to see the data such as the angle of the servo motor, voltage level at analog pin and which potentiometer is being currently operated.

If you have any specific question regarding this Arduino based wireless servo motor project, please express in the comment section you may receive a quick response.

You'll also like:

  • fuel installationUltrasonic Fuel Level Indicator Circuit
  • motor control using a variac compressedDC Shunt Motor Controller Circuit using Variac
  • bldcmotordriver 1High Wattage Brushless Motor Controller Circuit
  • budding engineers50 Best Arduino Projects for Final Year Engineering Students

Filed Under: Arduino Projects, Motor Controller Tagged With: communication, Control, Link, Motor, Servo, Wireless

About Swagatam

I am an electronics engineer and doing practical hands-on work from more than 15 years now. Building real circuits, testing them and also making PCB layouts by myself. I really love doing all these things like inventing something new, designing electronics and also helping other people like hobby guys who want to make their own cool circuits at home.

And that is the main reason why I started this website homemade-circuits.com, to share different types of circuit ideas..

If you are having any kind of doubt or question related to circuits then just write down your question in the comment box below, I am like always checking, so I guarantee I will reply you for sure!



Previous Post: « 200, 600 LED String Circuit on Mains 220V
Next Post: High Current Sensorless BLDC Motor Controller using Back EMF »

Reader Interactions

Questions & Answers

Total Posts: 27
Newest Oldest
GR
August 9, 2017 • 9 years ago #52321

Hi,

I have no experience with ATTiny85, so I can't suggest you a solution.

Regards

Reply
james
September 16, 2017 • 9 years ago #53736

This article was very helpful, but your code will never work. Servos require PWM pins and only pins 3,5,6,9,10 and 11 can be used for servos.

Reply
GR
September 16, 2017 • 9 years ago #53739

Hi James,

Servo motors will work on any pin, if you use “servo.h” library.
The proposed project is well tested.

Regards

Reply
vishnu
November 4, 2017 • 9 years ago #55563

is that this circuit will work as an quad copter

Reply
SwagatamAdmin
November 4, 2017 • 9 years ago #55564

servo motor cannot be used in quadcopter due to weight ratio issue, it has to be BLDC

Reply
vishnu
November 4, 2017 • 9 years ago #55565

please suggest me an circuit forvquad copter in low cost

Reply
SwagatamAdmin
November 4, 2017 • 9 years ago #55566

you can explore this page

https://www.homemade-circuits.com/?s=quadcopter

Reply
Naseef
December 22, 2017 • 9 years ago #56916

I am very interested in it. Will it work. Do you tested it.

Reply
Naseef
December 22, 2017 • 9 years ago #56941

I want to use motor in one of the channel. Can I ?

Reply
SwagatamAdmin
December 22, 2017 • 9 years ago #56944

yes that’s possible…

Reply
Naseef
December 23, 2017 • 9 years ago #56956

Can I use arduino nano?

Reply
SwagatamAdmin
December 23, 2017 • 9 years ago #56966

sorry, I am not sure about it…most probably you can use it…

Reply
Naseef
December 23, 2017 • 9 years ago #56982

What about its range?

Reply
Yew Kong
May 19, 2018 • 8 years ago #60593

Hi, just want to check with you.
is it possible to add on 3 more servo motor?
Because my project require 8 servo motor.

Reply
SwagatamAdmin
May 19, 2018 • 8 years ago #60594

I’ll forward your question to Mr. GR, he will reply you soon

Reply
GR
May 20, 2018 • 8 years ago #60597

Hi Yew,

Yes 8 servo is possible but not with Arduino Uno. You need Arduino Mega and also nessary changes in the code.

Regards

Reply
Yew Kong
May 20, 2018 • 8 years ago #60600

Hi
I’m apologize for asking again since my project condition does not mention properly before.
I’m using Arduino Mega to control 8 servo motors with 8 analogue sensors independently through nRF24L01 transceiver.
Is it possible to achieve this condition with using one address?

Reply
GR
May 20, 2018 • 8 years ago #60604

Hi yew,

Yes it is possible.

We will try to update the code.

Regards

Reply
wero
July 4, 2018 • 8 years ago #61424

Hi
good afternoon and good day
i would like to ask about where can I download the suitable nRF24L01 transceiver library?

Reply
SwagatamAdmin
July 4, 2018 • 8 years ago #61425

Hi, please try the below link, and let me know if it is OK

https://www.homemade-circuits.com/rf24/

Reply
Lau
August 3, 2018 • 8 years ago #62130

Hi,
I have a question regarding Arduino project.
Can I replace the potentialmeter with flex sensor and add on a accelerometer?

Reply
SwagatamAdmin
August 4, 2018 • 8 years ago #62134

Hi, you can perhaps try it with the help of the instructions provided in the following article:

https://www.homemade-circuits.com/how-flex-resistors-work/

Reply
Wero
August 4, 2018 • 8 years ago #62135

Thank You

Reply
Arso
September 27, 2018 • 8 years ago #64315

Thanks for your project ….but why the servo motor moves slowly … does not move with the potentiometer

Reply
SwagatamAdmin
September 27, 2018 • 8 years ago #64318

sorry I cannot troubleshoot an Arduino, because I am not an expert with Arduino

Reply
Arso
September 28, 2018 • 8 years ago #64359

please.. can you check my code because this section( radio.openReadingPipe(0, address))do not work with my old version arduino program …i changed to this(radio.openReadingPipe(0,0xF0F0F0F0);)but when work the servo motor moves slowly,,, does not move with the potentiometer..it have any solve?

Reply
SwagatamAdmin
September 28, 2018 • 8 years ago #64362

I am sorry I cannot check, however you can refer this link to Arduino.cc forums and ask them about the question, they will surely help you out with the solution

Reply

Need Help? Please Leave a Comment! We value your input—Kindly keep it relevant to the above topic! Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar



Categories

  • Arduino Projects (95)
  • Audio and Amplifier Projects (134)
  • Automation Projects (18)
  • Automobile Electronics (103)
  • Battery Charger Circuits (89)
  • Datasheets and Components (109)
  • Electronics Theory (150)
  • Energy from Magnets and Earth (40)
  • Games and Sports Projects (11)
  • Grid and 3-Phase (20)
  • Health related Projects (27)
  • Home Electrical Circuits (13)
  • Indicator Circuits (16)
  • Inverter Circuits (100)
  • Lamps and Lights (163)
  • Meters and Testers (72)
  • Mini Projects (28)
  • Motor Controller (68)
  • Oscillator Circuits (30)
  • Pets and Pests (15)
  • Power Supply Circuits (91)
  • Remote Control Circuits (50)
  • Security and Alarm (65)
  • Sensors and Detectors (107)
  • SMPS and Converters (46)
  • Solar Controller Circuits (62)
  • Temperature Controllers (44)
  • Timer and Delay Relay (50)
  • Voltage Control and Protection (44)
  • Water Controller (37)
  • Wireless Circuits (31)



Circuit Simulator

circuit simulator image



Subscribe to get New Circuits in your Email



Other Links

  • Privacy Policy
  • Cookie Policy
  • Disclaimer
  • Copyright
  • Videos
  • Sitemap

People also Search

555 Circuits | 741 Circuits | LM324 Circuits | LM338 Circuits | 4017 Circuits | Ultrasonic Projects | SMPS Projects | Christmas Projects | MOSFETs | Radio Circuits | Laser Circuits | PIR Projects |



Recent Comments

  • Swagatam on 2 Cool 50 Watt Inverter Circuits for Students and Hobbyists
  • way on 2 Cool 50 Watt Inverter Circuits for Students and Hobbyists
  • Swagatam on 2 Cool 50 Watt Inverter Circuits for Students and Hobbyists
  • Swagatam on The Perfect FM Radio Circuit using TDA7000 IC
  • Swagatam on 9 Simple Sine Wave Generator Circuits Explored

Social Profiles

  • Twitter
  • YouTube
  • Instagram
  • Pinterest
  • My Facebook-Page
  • Stack Exchange
  • Linkedin

© 2026 · Swagatam Innovations