Programming the ESP8266 NodeMCU v1.0 using Arduino and Eclipse

The Arduino IDE works great with the NodeMCU, a boarded version of the barebones ESP8266 chip. However, it is not as robust as Eclipse or Intellij.

I’ve managed to flash and program the NodeMCU v1.0 using Eclipse and Arduino. This, on Ubuntu Linux. Here’s how.

Install Eclipse

You should have a working version of Eclipse installed on your computer.

Install the Arduino Baeyens plugin for Eclipse.

This plugin provides the complete toolchain to program Arduino devices using Eclipse.

The stable builds are obsolete. I managed to get mine working with the nightly builds, and the v3 version. You can find it here.

Setup a project.

The Baeyens plugin itself is buggy for ESP8266, particularly the NodeMCU board variant. You will need to tweak several files.

For NodeMCU v1.0, create a new project. Select the 2.0.0 version of the Arduino boards in Baeyens plugin. Select the NodeMCU v1.0 board.

Use the following settings:


Tweak some stuff.

There is a bug for upload. Baeyens plugin mistakenly references the esptool as located in /opt/eclipse/arduinoPlugin/tools/esp8266/esptool/0.4.5

Copy the directory to /opt/eclipse/arduinoPlugin/tools/esp8266/esptool/0.4.6

If your compiler does not complain, good for you, there is no need to copy the directory.

Also, the Baeyens plugin mistakenly references the board setting as ‘nodemcu’. Instead, this setting should be ‘ck’.

Change this in boards.txt:


All going well, you should be able to program the ESP8266 NodeMCU v1.0 using Eclipse.

Also published on Medium.

Leave a Reply

Your email address will not be published. Required fields are marked *


To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    Markdown is turned off in code blocks:
     [This is not a link](

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>