home Home import_contacts Research library_books Notes style Projects photos Photos Table Of Contents Hardware Arduino ESP8266 Setup Compiling ch340g driver Uploading Configuration Wiring Debugging Related Articles HMDVR and Eachine ProDVR FPV Video Recorder BlHeli ESC Upgrading and Configuration The Ultimate Micro Quadcopter Guide Turnigy Reaktor 250W Charger J-Link Getting Started Guide The Taranis Q X7 is Real ESP3D WiFi Enable your 3D Printer Nt 48

Let's add WiFi to the TronXY X5S 3D Printer for only a few dollars!


I'm using the following hardware:

Arduino ESP8266 Setup

  • Install Arduino IDE version 1.8.8 from https://www.arduino.cc/en/Main/Software
  • Open the Arduino IDE and then open the Preferences dialog
  • In the "Additional Boards Manager URL field, paste in: http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • Click OK
  • Click Tools -> Boards -> Board Manager
  • Search for esp8266
  • Select version 2.4.2 and click install
  • Click Close when it is done
  • Click Tools -> Boards and select the board you're using. If you have the board linked above, you'll want to select NodeMCU 1.0 (ESP-12E Module)
  • Click Tools -> CPU Frequency and select 160MHz
  • Ensure the correct flash size is selected. Use 4M (3M SPIFFS) for the NodeMCU 1.0 board. See https://github.com/luc-github/ESP3D/wiki/Flash-Size#figuring-out-the-flash-size for more details
  • Select "Erase Flash: All Flash Contents" under Tools to ensure the ESP8266 is fully reset when the firmware is uploaded. After the first time you upload the firmware, this can be changed to Only Sketch


Get the code using git or by downloading the zip:

Via git:

git clone https://github.com/luc-github/ESP3D.git
git checkout 1.0 -b release-1.0

Or via download:

wget https://github.com/luc-github/ESP3D/archive/1.0.zip
unzip 1.0.zip

Open esp3d/esp3d.ino in the Arduino IDE and click the check mark to compile.

ch340g driver

Most Chinese ESP development boards use the ch340g chip for usb to serial conversion.

You'll need a driver if you don't already have it installed.

Mac OS ch340g driver

Windows may automatically detect and install the driver. If not, you'll want to use CH341SER.ZIP, available the manufacturer's website:



Plug the NodeMCU 1.0 board into your computer while holding the Flash button on the board.

Select the correct port, on my computer this is /dev/tty.usbserial-144110

Click the -> arrow to upload.

The blue light on the module will flash rapidly while uploading. Wait until this stops then wait another 60 seconds or so for the EEPROM to configure.

Now is a good time to change the Erase Flash option to Only Sketch

Hit the RST button on the NodeMCU 1.0 board.

You should see the ESP3D network appear if you check your WiFi settings on your computer now.


Connect to the ESP3D network from your computer. The password is 12345678

You should automatically get a captive portal, but if not, browse to

If prompted, upload the 4 files in the esp3d/data/ folder

Open a new tab or refresh:

You should get the following configuration wizard:

Hit continue, then set the BAUD to 115200 to match our Marlin configuration and configure your WiFi settings (I used it as a client on the wifi network)

Refresh the page, close the configuration wizard and hit restart or just press the RST button on your NodeMCU 1.0.

You can see the status of your ESP8266 by bringing up the Arduino serial monitor (Tools -> Serial Monitor) and setting the BAUD to 115200 (or 115200 if you've changed it already). You can see the IP of the device in the serial monitor or on the printer's display (once it's connected).

Browse to the IP displayed on the serial monitor.

Once that is working, it's time to wire up the ESP8266


You'll want to wire the TX / RX lines on the NodeMCU 1.0 to the TX / RX lines on the CH340G serial adapter on the TronXY. See how the white and green wires are connected here, to TX/RX on the ESP8266

I also tried pulling 5v from the TronXY, but the ESP8266 was drawing too much current, so I had to switch to the voltage regulator. Wire the voltage regulator input to the 12v line and the output to the ESP8266.


Enable debug mode with this change to config.h for more verbose logging

//DEBUG Flag do not do this when connected to printer !!!
//be noted all upload may failed if enabled
#define DEBUG_ESP3D
Hope this was helpful. If so, feel free to checkout my YouTube channel, get updates when a new article is posted by following on Feedly and read the the other guides at nathan.vertile.com/blog