Hardware Requirement
Microcontroller: NodeMCU WIFI IOT ESP8266 Development Board
Motor driver: L293D IC
Motor: DC 3-6v BO Gear Motor With Plastic Tire Wheel
External Power: Battery - 9V
Robotic Car Chassis
400 pin Breadboard
Breadboard Jumper wires
Hardware Specification
NodeMCU Wifi IOT ESP8266 Development Board
NodeMCU is an open source firmware for which open source prototyping board designs are available. The name "NodeMCU" combines "node" and "MCU" (micro-controller unit).The term "NodeMCU" strictly speaking refers to the firmware rather than the associated development kits.
Both the firmware and prototyping board designs are open source.
The firmware uses the Lua scripting language. The firmware is based on the eLua project, and built on the Espressif Non-OS SDK for ESP8266. It uses many open source projects, such as lua-cjson and SPIFFS. Due to resource constraints, users need to select the modules relevant for their project and build a firmware tailored to their needs. Support for the 32-bit ESP32 has also been implemented.
The prototyping hardware typically used is a circuit board functioning as a dual in-line package (DIP) which integrates a USB controller with a smaller surface-mounted board containing the MCU and antenna. The choice of the DIP format allows for easy prototyping on breadboards. The design was initially was based on the ESP-12 module of the ESP8266, which is a Wi-Fi SoC integrated with a Tensilica Xtensa LX106 core, widely used in IoT applications (see related projects).
Features
Open-source & Arduino-like hardware
Status LED & Reset/Flash buttons
MicroUSB port & Interactive and Programmable
ESP8266 with inbuilt wifi
USB to UART converter & GPIO pins
Specification
Microcontroller: Tensilica 32-bit RISC CPU Xtensa LX106
Operating Voltage: 3.3V
Input Voltage: 7-12V
Digital I/O Pins (DIO): 16
Analog Input Pins (ADC): 1
UARTs: 1
SPIs: 1
I2Cs: 1
Flash Memory: 4 MB
SRAM: 64 KB
Clock Speed: 80 Mhz
Wi-Fi: IEEE 802.11 b/g/n
L293D Motor driver IC
The L293D is a popular 16-Pin Motor Driver IC. As the name suggests it is mainly used to drive motors. A single L293D IC is capable of running two DC motors at the same time; also the direction of these two motors can be controlled independently.
Features
Can be used to run Two DC motors with the same IC.
Speed and Direction control is possible
Motor voltage Vcc2 (Vs): 4.5V to 36V
Maximum Peak motor current: 1.2A
Maximum Continuous Motor Current: 600mA
Supply Voltage to Vcc1(vss): 4.5V to 7V
Transition time: 300ns (at 5Vand 24V)
Automatic Thermal shutdown is available
Available in 16-pin DIP, TSSOP, SOIC packages
DC 3-6v BO Gear Motor with Plastic Tire Wheel
A DC Geared motor is a simple DC motor with gear box attached to it
Features
Center hole: 5.3MM x 3.66MM
Wheel size: 65 x 26mm
Specification
Voltage: DC 3V-6V
Current: 100 MA-120MA
Reduction rate: 48: 1
RPM (With tire): 100-240
Tire Diameter: 65mm
Car Speed(M/minute): 20-48
Motor Weight (g): 29/each
Motor Size: 70mm X 22mm X 18mm
Noise: <65dB
Robot Chassis
You can use any Robot Chassis availble in the market to mount all the parts use in this project
Circuit Diagram
Software Requirement
Arduino IDE
WIFI Controlled Mobile Application
How to upload code in NodeMCU Wifi IOT ESP8266 Development Board
The first thing is having latest Arduino IDE (Arduino 1.6.4 or higher) installed on your PC. If don’t have it, we recommend upgrading now.
To begin, we’ll need to update the board manager with a custom URL. Open up Arduino IDE and go to
File > Preferences. Then, copy below URL into the
Additional Board Manager URLs text box situated on the bottom of the window:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Hit OK. Then navigate to the Board Manager by going to
Tools > Boards > Boards Manager. There should be a couple new entries in addition to the standard Arduino boards. Filter your search by typing
esp8266. Click on that entry and select Install.
Once the device is installed , Before uploading any code & , we need to make sure that the board is selected properly in Arduino IDE. Open Arduino IDE and select
NodeMCU 0.9 (ESP-12 Module) option under your
Arduino IDE > Tools > Board menu.
Use a micro-B USB cable to connect NodeMCU with PC. Make sure that the cable is capable of handling both Data & power (some of the mobile cables can handle only power & not data) . Once the board is plugged in, it should be assigned a unique COM port. On Windows machines, this will be something like COM# , Select this serial port under the Arduino IDE > Tools > Port menu. Also select the Upload Speed : 115200
Warning:More attention needs to be given to selecting board, choosing COM port and selecting Upload speed. You may get espcomm_upload_mem error while uploading new sketches, if failed to do so.