After a lot of searching over the network, this is what I have ended up with. This is intentionally made such that even a absolute beginner is able to follow, so uses fixed paths.
Note: I am not using the --additional-urls flag since it didn't work for me back then, you may try it.
First ensure that your PC is detecting the NodeMCU atleast.
arduino-cli board listThis should output something like:
Port Protocol Type Board Name FQBN Core
/dev/ttyUSB0 serial Serial Port (USB) Unknown
Create a file named .cli-config.yml with the below content.
By default, arduino searches for this file in
/usr/local/bin/.cli-config.yml, but I don't recommend you creating such a file in the root partition. You can create it anywhere you want, we just need the path to that file.
board_manager:
additional_urls:
- http://arduino.esp8266.com/stable/package_esp8266com_index.jsonInstall the core packages for support for the NodeMCU board.
The package is called esp8266. If you install through the arduino IDE boards manager, you will see this name.
Use the path to the
.cli-config.ymlafter--config-file, for example, if it's in the current directory (.) itself, run this:
arduino-cli core install esp8266:esp8266 --config-file ./.cli-config.ymlNow if you check the output of
arduino-cli board listall. You will find aNodeMCU 1.0board.
In case you are using the Blynk library, use this to install that library:
arduino-cli lib install BlynkThen, to compile your sketch/code, run:
Assuming the code is in
nodemcu/nodemcu.ino
arduino-cli compile --fqbn esp8266:esp8266:nodemcuv2 nodemcuThen upload to the board:
Replace
/dev/ttyUSB0with the port given in the output ofarduino-cli board listin Step 0.
arduino-cli upload -p /dev/ttyUSB0 --fqbn esp8266:esp8266:nodemcuv2 nodemcuIt should output something like:
esptool.py v3.0
Serial port /dev/ttyUSB0
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 4c:75:25:37:40:e5
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 289216 bytes to 210989...
Wrote 289216 bytes (210989 compressed) at 0x00000000 in 18.6 seconds (effective 124.3 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
Thanks for this -- and for dropping a link on the older doc as well. Very helpful!