GPIO Pins Layout In ESP8266 Motor Shield

I recently bought the L293D Motor Shield for the NODEMCU. It has the following structure:

I just want to know why there are 03 pins for each of the GPIO Pins? Why there is D, V and G for every GPIO Pin? I searched through every search engine but can't find much about these. Please help me in this :slight_smile:

Also can you please tell me how to just connect a simple sensor (say Buzzer) to the GPIO pins of the Motor shield?

D might be the actual GPIO pin (data), V the +3.3V and G the GND...

the mapping of the pins is printed on the shield (pin labeled 0 on row D is D0, etc)


doc is here

Thanks @J-M-L for replying. So say D is the actual GPIO pin. So say, I connect the Postitive (bigger) end of buzzer to D3. Then the V and G pins for the same would be having 3.3 and GND itself or do I have to connect some jumper wires from other board's pin?

if your buzzer does not require any resistor, then just connect the + of the buzzer to D3 for example and the GND of the buzzer anywhere on the G row (they are all GND).

There would be no need to connect the V line to anything, as your buzzer will get powered from the digital pin directly when you set it HIGH (the ESP12 GPIO are only capable of 12mA)

1 Like

So, all the V pins will be having the 3.3 V in them and all the G pins will be having Ground in them. Right?

If I need to connect a sensor (which will be requiring 6V) say TCS300 color sensor then I can use the Vin pin of the motor shield board. Correct?

Yes for V and G

Just be careful the power line is clean - motors tend to make a mess

Okay @J-M-L . Thanks for the helpo. Will try it out. One last question also, can't I use Adafruit Motor
Library for controlling the DC Motors along with this shield?

@versatile_vats, your topic has been moved to a more suitable location on the forum as this does not seem to relate to Covid-19.

What @sterretje . I am sorry I can't get you! My question was related to programming.

You did post the topic in Emergency Response: Covid-19 Projects - Arduino Forum :wink:

My bad @sterretje . I am new to this platfrom. My post will not be deleted, only shifted?

Only shifted to the right place, don’t worry. More eyeballs to help you out too!

To your question, I don’t know which library you are referring to and I don’t have that shield, so I would not know for sure.

@J-M-L when I am using the digitalRead() function with Arduino UNO the output is Correct i.e. 0/1. But when I am using the digitalRead() function with the Nodemcu Board then it is not giving any output.

Why it so?

Post more details, it does work

Yeah, just figured it out. I was using Serial.write() instead of Serial.print(). Now the output is showing up :grin:

@J-M-L are you aware of the ESP8266 Motor Shield (the one which I posted at the very top) ? Does the G and V pins in the GPIO section are powered up by only plugging the USB cable in the NODEMCU or I have to provide external power supply to the motor shield?

:cold_face: :slight_smile:

for the other question, I don't have the shield but the spec states:

so I would assume it does work without any USB cable plugged in

@J-M-L I am using this Touch Sensor:

Actually I am using a Touch Sensor with NODEMCU. So, I am able to use the digitalRead() with only D8 pin. Following is the output of the same:

When I click on the sensor it gives a value of 1 and 0 for off. So till now it was correct.

But when I plug the Touch Sensor with any of the GPIO pins say (D1, D5, ...) there are two problems:
1. Before uploading any sketch ie just after plugging the 03 pins of touch sensor to the correct place and powering the NODEMCU, the touch sensor sorts of illuminates just a bit itself (I don't click it).
2. Because of the fact that the touch sensor is illuminated all by itself I get 1 as the output of the digitalRead()

Any help on this would be of great help as I am not in the electronics field

After going through some blogs, I think this is because of the fact that : All GPIO Pins except (15 and 16) have PULL UP RESISTORS which make the default state HIGH. So, in order to make the default state back to LOW, we have to provide an external resistor between GPIO and Ground so that the sensors will work as per needs.

Is it correct @J-M-L

I am glad that I solved the problem :slight_smile: Thanks for the help guys.

good job!

1 Like