Start with NodeMCU
NODEmcu is an inexpensive WiFi module that enables makers and entrepreneurs to develop low-cost electronics for integration into the Internet of Things (IoT). Designed by Espressif Systems, the ESP8266 is targeted towards the open-source market.
We will program our module using the Arduino IDE program. Let’s start by adding our board to the Arduino IDE program.
The full Arduino ESP8266 package is located on GitHub:
https://github.com/esp8266/Arduino
There, you can find information regarding documentation, licensing and credits, and all of the build tools needed to run the ESP8266 on the Arduino platform. The most important thing to note is the Boards Manager link:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Copy the link to preferences, Open Arduino IDE -> File -> Preferences -> Additional Board Manager URLs: HERE PASTE LINK-> Click OK.

Now open Board Manager (Tools -> Board -> Board Manager) and install package the: ESP8266 by ESP8266 Community


Now all the board related to ESP8266 will appear, I use NODEmcu, I use nodemcu in version 1.0 so I choose NodeMCU 1.0 (ESP-12E Module). If you do not know which version you have, click “Get Board Info” or check in the store from which you bought your board.

Time to test!
We will upload the simplest sketch Blink to our module, open a ready example in the Arduino IDE or copy the code below. If you get a upload error:
Method one:
You must reset the module, either with a button or simply by unplugging the power and reconnect it. You must do it few seconds before uploading the sketch
Method two:
Change board. In my case, everything works fine if I set the board on “Wemon D1 R1”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
/* ForbiddenBit.com */ void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } |