I'm looking at the pinout of the Wemos D1 Mini Pro:
I'm a beginner and working through the basic Arduino examples. So far I've been introduced to analog, digital, pwm, tx, and rx pins.
There are a lot of missing GPIO numbers. GPIO1, GPIO3, 7, 8, 9, etc for example, don't exist on the pinout list. What's going on? Are they being used internally by the chip (ie. not exposed to the outside?).
Why doesn't the numbering match between the D-pins and GPIO pins? For example, Pin D0 is used for IO but it's GPIO16. Huh? In the Arduino code you would normally just do:
int sensor1 = D0;
I'm guessing that on the physical ESP8266EX chip, the pin that's called "GPIO16" is connected to the pin that's labeled "D0" on the circuit board? Is that all it means? Would there ever be a time you would need to specify "GPIO16" in your code?
- On the color-coded photo of the chip at the bottom, NodeMCU is in grey. I haven't gotten into NodeMCU yet, but my understanding is that NodeMCU is a platform totally separate from Arduino, right? The stock firmware on the Wemos uses Arduino and C++. The Wemos supports uploading a NodeMCU firmware which would then turn it into a NodeMCU device, necessitating programming in Lua, using Lua libraries, etc, right? If I'm coding in Arduino for now I can just ignore anything that has to do with NodeMCU.