الرئيسية
المتجر
شحن لجميع محافظات مصر
دعم واتساب+20 121 198 1188الخط الساخن+20 248 813 824
EN

ESP8266 NodeMCU WiFi Controlled Robot Car 2WD DIY Kit

Build a 2WD WiFi-controlled robot car with ESP8266 NodeMCU and L298N motor driver. Learn smartphone control, PWM speed adjustment, and DIY assembly.

650.00 ج.م

L298 Motor Driver Module

The module with the popular L298N driver allows you to control the direction and speed of two DC motors.

18650 Battery Holder 2-Slot

18650 Battery  Holder (2-Slot) securely holds a single 18650 Li-ion battery, providing a stable connection for DIY electronics, power banks, LED projects.

Universal Lithium Battery Charger 1 Cell

Compact Battery Charger 1 Cell 18650 with LED indicator. Safe, efficient, and perfect for single battery charging at home or on the go.

Jumper Wire 20 cm (Male to Female Pin) × 10

Jumper Wire 20 cm (Female To Female Pin) × 10

30 AWG Wrapping Wire 0.25mm × 2

30 AWG Wrapping Wire 0.25mm made of fine copper wire with tin plated for better oxidation resistance.

ESP8266 NodeMcu WiFi Programming & Development Kit With CH340

The ESP8266 Node MCU V1.0 ESP-12E WiFi module is the latest version of this popular module and can be used as a WiFi enabled replacement.

Robot Platform 2WD Square Shape

Robot Platform 2WD Square Shape features a sturdy acrylic chassis in 20x15cm for DIY robotics, with motor brackets and hardware for quick assembly

Metal Caster Wheel for Robot

A durable metal caster wheel for robots, offering smooth 360° movement, high load capacity, and reliable support for mobile robotic platforms.

Rechargeable 18650 Li-ion Battery 3.7V 1500mAh (New) × 2

A rechargeable 18650 Li-ion battery designed to provide portable power for electronic devices, DIY projects, flashlights, and battery-powered circuits.

DC Geared Motor Dual Shaft 3:12VDC 600 rpm with Wheel (D:65mm X W:26mm) × 2

A compact DC geared motor (3-12V, 600 rpm ) with a dual shaft and D:65mm X W:26mm wheel, ideal for robotics, automation, and DIY projects with high torque.

شحن لجميع محافظات مصريصلك حتى باب بيتك
الدفع عند الاستلامادفع عند وصول طلبك
غير متأكد أنه يناسب مشروعك؟اسألنا على واتساب - نرد بسرعة
التوفر: متوفر
ESP8266 NodeMCU WiFi Controlled Robot Car 2WD DIY Kit

The ESP8266 NodeMCU WiFi Controlled Robot Car 2WD DIY Kit is a practical project for exploring wireless robotics. Built around a two-wheel robot platform, the car combines an ESP8266-based NodeMCU development board with an L298N dual-channel motor driver. Instead of relying on a conventional radio controller, it uses a local WiFi connection to exchange commands with a smartphone or another compatible device. The project is designed for hands-on assembly and experimentation.

Once the electronics are connected and suitable firmware is uploaded, the NodeMCU interprets incoming control commands and operates the motor driver through its GPIO pins. The L298N controls the left and right geared motors, allowing the vehicle to move forward, reverse, turn, and stop. PWM signals can be used to adjust motor speed. The control interface, network name, and available functions depend on the firmware installed on the board.

Features
  • ESP8266 NodeMCU WiFi-enabled development board.
  • 2WD robotic car platform with two DC geared motors.
  • L298N dual H-bridge motor driver.
  • Wireless control using a compatible smartphone interface.
  • Forward, backward, left, right, and stop commands.
  • PWM motor speed control supported.
  • Programmable using Arduino IDE.
  • Rechargeable lithium-ion battery power system.
  • Modular construction for assembly and experimentation.
  • Suitable for educational robotics and IoT projects.
Specifications
Parameter Specification
Product Type: WiFi Controlled Robot Car DIY Kit
Controller: ESP8266 NodeMCU Development Board
USB Interface Chip: CH340
Wireless Technology: WiFi 2.4GHz, IEEE 802.11 b/g/n
Control Method: Smartphone via compatible WiFi control interface
Motor Driver: L298N Dual H-Bridge
Drive Configuration: 2WD (Two-Wheel Drive)
DC Motors: 2 × DC Geared Motors
Motor Rated Voltage: 3–12VDC
Motor Rated Speed: 600 RPM (advertised motor model)
Wheel Diameter: 65mm
Wheel Width: 26mm
Robot Platform: Square 2WD Chassis
Chassis Dimensions: Approximately 200 × 150mm
Support Wheel: Metal Caster Wheel
Battery Type: Rechargeable 18650 Li-ion
Battery Quantity: 2 Cells
Individual Battery Voltage: 3.7V Nominal
Individual Battery Capacity: 1500mAh
Battery Holder: 2-Slot 18650 Holder
Battery Charger: Single-Cell Lithium Battery Charger
Motor Control: Direction Control and PWM Speed Adjustment
Programming Interface: Arduino IDE
Assembly: DIY Assembly Required
Wireless Range: Not Specified
Wiring Connections

Arduino Code & Smartphone Control

1 /*
2 Code Name: Arduino Wifi Control Car
3 Code URI: https://circuitbest.com/category/arduino-projects/
4 Additional Board Manager URL: http://arduino.esp8266.com/stable/package_esp8266com_index.json
5 Install: ESP8266 by ESP8266 Community
6 Author: Make DIY
7 Author URI: https://circuitbest.com/author/admin/
8 Description: This program is used to control a robot using a app
9 that communicates with Arduino through a ESP8266 Module.
10 App URI: https://drive.google.com/file/d/1pvtWsTeXhcJdpHMfGlFmbGDuH7eoLfoP/view?usp=sharing
11 Version: 2.0
12 License: Remixing or Changing this Thing is allowed. Commercial use is not allowed.
13 */
14  
15  
16 #define ENA   14          // Enable/speed motors Right        GPIO14(D5)
17 #define ENB   12          // Enable/speed motors Left         GPIO12(D6)
18 #define IN_1  15          // L298N in1 motors Rightx          GPIO15(D8)
19 #define IN_2  13          // L298N in2 motors Right           GPIO13(D7)
20 #define IN_3  2           // L298N in3 motors Left            GPIO2(D4)
21 #define IN_4  0           // L298N in4 motors Left            GPIO0(D3)
22  
23 #include <ESP8266WiFi.h>
24 #include <WiFiClient.h>
25 #include <ESP8266WebServer.h>
26  
27 String command;             //String to store app command state.
28 int speedCar = 800;         // 400 - 1023.
29 int speed_Coeff = 3;
30  
31 const char* ssid = "Make DIY";
32 ESP8266WebServer server(80);
33  
34 void setup() {
35  
36 pinMode(ENA, OUTPUT);
37 pinMode(ENB, OUTPUT);  
38 pinMode(IN_1, OUTPUT);
39 pinMode(IN_2, OUTPUT);
40 pinMode(IN_3, OUTPUT);
41 pinMode(IN_4, OUTPUT);
42   
43   Serial.begin(115200);
44   
45 // Connecting WiFi
46  
47   WiFi.mode(WIFI_AP);
48   WiFi.softAP(ssid);
49  
50   IPAddress myIP = WiFi.softAPIP();
51   Serial.print("AP IP address: ");
52   Serial.println(myIP);
53  
54 // Starting WEB-server
55      server.on ( "/", HTTP_handleRoot );
56      server.onNotFound ( HTTP_handleRoot );
57      server.begin();    
58 }
59  
60 void goAhead(){
61  
62       digitalWrite(IN_1, LOW);
63       digitalWrite(IN_2, HIGH);
64       analogWrite(ENA, speedCar);
65  
66       digitalWrite(IN_3, LOW);
67       digitalWrite(IN_4, HIGH);
68       analogWrite(ENB, speedCar);
69   }
70  
71 void goBack(){
72  
73       digitalWrite(IN_1, HIGH);
74       digitalWrite(IN_2, LOW);
75       analogWrite(ENA, speedCar);
76  
77       digitalWrite(IN_3, HIGH);
78       digitalWrite(IN_4, LOW);
79       analogWrite(ENB, speedCar);
80   }
81  
82 void goRight(){
83  
84       digitalWrite(IN_1, HIGH);
85       digitalWrite(IN_2, LOW);
86       analogWrite(ENA, speedCar);
87  
88       digitalWrite(IN_3, LOW);
89       digitalWrite(IN_4, HIGH);
90       analogWrite(ENB, speedCar);
91   }
92  
93 void goLeft(){
94  
95       digitalWrite(IN_1, LOW);
96       digitalWrite(IN_2, HIGH);
97       analogWrite(ENA, speedCar);
98  
99       digitalWrite(IN_3, HIGH);
100       digitalWrite(IN_4, LOW);
101       analogWrite(ENB, speedCar);
102   }
103  
104 void goAheadRight(){
105       
106       digitalWrite(IN_1, LOW);
107       digitalWrite(IN_2, HIGH);
108       analogWrite(ENA, speedCar/speed_Coeff);
109  
110       digitalWrite(IN_3, LOW);
111       digitalWrite(IN_4, HIGH);
112       analogWrite(ENB, speedCar);
113    }
114  
115 void goAheadLeft(){
116       
117       digitalWrite(IN_1, LOW);
118       digitalWrite(IN_2, HIGH);
119       analogWrite(ENA, speedCar);
120  
121       digitalWrite(IN_3, LOW);
122       digitalWrite(IN_4, HIGH);
123       analogWrite(ENB, speedCar/speed_Coeff);
124   }
125  
126 void goBackRight(){
127  
128       digitalWrite(IN_1, HIGH);
129       digitalWrite(IN_2, LOW);
130       analogWrite(ENA, speedCar/speed_Coeff);
131  
132       digitalWrite(IN_3, HIGH);
133       digitalWrite(IN_4, LOW);
134       analogWrite(ENB, speedCar);
135   }
136  
137 void goBackLeft(){
138  
139       digitalWrite(IN_1, HIGH);
140       digitalWrite(IN_2, LOW);
141       analogWrite(ENA, speedCar);
142  
143       digitalWrite(IN_3, HIGH);
144       digitalWrite(IN_4, LOW);
145       analogWrite(ENB, speedCar/speed_Coeff);
146   }
147  
148 void stopRobot(){  
149  
150       digitalWrite(IN_1, LOW);
151       digitalWrite(IN_2, LOW);
152       analogWrite(ENA, speedCar);
153  
154       digitalWrite(IN_3, LOW);
155       digitalWrite(IN_4, LOW);
156       analogWrite(ENB, speedCar);
157 }
158  
159 void loop() {
160     server.handleClient();
161     
162       command = server.arg("State");
163       if (command == "F") goAhead();
164       else if (command == "B") goBack();
165       else if (command == "L") goLeft();
166       else if (command == "R") goRight();
167       else if (command == "I") goAheadRight();
168       else if (command == "G") goAheadLeft();
169       else if (command == "J") goBackRight();
170       else if (command == "H") goBackLeft();
171       else if (command == "0") speedCar = 400;
172       else if (command == "1") speedCar = 470;
173       else if (command == "2") speedCar = 540;
174       else if (command == "3") speedCar = 610;
175       else if (command == "4") speedCar = 680;
176       else if (command == "5") speedCar = 750;
177       else if (command == "6") speedCar = 820;
178       else if (command == "7") speedCar = 890;
179       else if (command == "8") speedCar = 960;
180       else if (command == "9") speedCar = 1023;
181       else if (command == "S") stopRobot();
182 }
183  
184 void HTTP_handleRoot(void) {
185  
186 if( server.hasArg("State") ){
187        Serial.println(server.arg("State"));
188   }
189   server.send ( 200, "text/html", "" );
190   delay(1);
191 }

How to Program and Control the ESP8266 WiFi Robot Car

Step 1: Install and Configure Arduino IDE
  1. Download the Arduino code provided for the ESP8266 WiFi Robot Car.
  2. Open Arduino IDE and navigate to File > New to create a new sketch.
  3. Delete the existing code and paste the downloaded Arduino code into the editor.
  4. Open Arduino IDE Preferences:
    • Windows: File > Preferences
    • macOS: Arduino IDE > Settings/Preferences
  5. Copy the following URL and paste it into the Additional Boards Manager URLs field:
    Additional Boards Manager URL:
    http://arduino.esp8266.com/stable/package_esp8266com_index.json
  6. Click OK to save the settings.
  7. Navigate to Tools > Board > Boards Manager.
  8. Search for ESP8266 and install the ESP8266 by ESP8266 Community board package.
  9. Go to Tools > Board > ESP8266 Boards and select NodeMCU 1.0 (ESP-12E Module) for a compatible NodeMCU development board.
  10. Connect the NodeMCU to your computer using a USB data cable.
  11. Select the correct COM Port (Windows) or serial port (macOS) from Tools > Port.
  12. Click Verify to compile the code and check for errors.
  13. Click Upload to transfer the program to the NodeMCU board.
  14. Once the upload is complete, disconnect the USB cable and prepare the robot car for operation.
Step 2: Connect and Control the Robot Car
  1. Make sure all components are correctly connected according to the wiring diagram.
  2. Connect the battery power supply to the robot car.
  3. Download and install the smartphone control application compatible with the uploaded Arduino code.
  4. Open your smartphone’s WiFi Settings.
  5. Search for the WiFi network created by the ESP8266. In the original project firmware, the default SSID is Make DIY.
  6. Connect your smartphone to the ESP8266 WiFi network.
  7. Open the compatible control application.
  8. Use the directional buttons to move the robot car Forward, Backward, Left, or Right, or to stop it.
  9. Use the Speed Slider, if supported by the uploaded firmware and application, to adjust the motor speed.

Note: The WiFi network name, control application, and available features depend on the uploaded Arduino firmware. The SSID can be customized by modifying the corresponding value in the code.

Step 3: Troubleshooting

Problem: Robot Car Moves in the Wrong Direction

If the robot car moves backward when pressing the Forward button, or turns unexpectedly, follow these steps:

  1. Position the robot car facing forward.
  2. Lift the wheels off the ground and press the Forward button.
  3. Check the rotation direction of both motors.
  4. If a motor rotates in the wrong direction, disconnect the power supply.
  5. Reverse the two motor wires connected to the corresponding motor output terminals on the L298N motor driver.
  6. Reconnect the power supply and test the robot car again.

Important Notes:

  • Ensure that the NodeMCU, L298N motor driver, and motors are properly connected before applying power.
  • Use a suitable power supply for the NodeMCU and motors.
  • Verify that the correct ESP8266 board and serial port are selected before uploading the code.
  • Make sure the smartphone control application is compatible with the uploaded firmware.
  • Always disconnect the power supply before changing motor connections.
Applications
  • Educational Robotics Projects.
  • WiFi-Controlled Vehicle Projects.
  • IoT Learning and Prototyping.
  • Wireless Motor Control Experiments.
  • STEM Education Projects.
  • Embedded Systems Programming.
  • DIY Robotic Vehicle Development.
Package Contents
  • 1× ESP8266 NodeMCU Development Board with CH340
  • 1× L298N Motor Driver Module
  • 1× Robot Platform 2WD Square Shape
  • 2× DC Geared Motors with Wheels
  • 1× Metal Caster Wheel
  • 1× 18650 Battery Holder (2-Slot)
  • 2× Rechargeable 18650 Li-ion Batteries 3.7V 1500mAh
  • 1× Universal Lithium Battery Charger (1 Cell)
  • 10× Jumper Wires 20cm (Male to Female)
  • 10× Jumper Wires 20cm (Female to Female)
  • 2× 30 AWG Wrapping Wire Units

Note: The following tools and materials are required for assembling the ESP8266 WiFi Controlled Robot Car and are not included in the package:

  • Soldering Iron
  • Solder Wire
  • Soldering Flux
  • Screwdriver
  • Double-Sided Tape

App Link: Download

30 AWG Wrapping Wire 0.25mm

Wire Color

Green, Blue

Robot Platform 2WD Square Shape

Color

Orange, Blue, Red, Light Blue, Yellow, Black

Rechargeable 18650 Li-ion Battery 3.7V 1500mAh (New)

Brand

Sony, LG, Samsung, Panasonic

العودة للأعلى
Product has been added to your cart