Esp8266 3d printer wifi


ESP3D WiFi Enable your 3D Printer

Let's add WiFi to the <link-article id=tronxy-x5s-build-guide">TronXY X5S 3D Printer for only a few dollars!

Hardware

I'm using the following hardware:

  • LoLin V3 ESP8266

  • A 3A, 5v Voltage Regulator to power the ESP8266

  • On my TronXY X5S 3D Printer.

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

Compiling

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.

ch440g driver

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

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

Mac OS ch440g driver

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

Ch441SER.ZIP

Uploading

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.

Configuration

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

You should automatically get a captive portal, but if not, browse to http://192.168.0.1

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

Open a new tab or refresh: http://192.168.0.1

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

Wiring

You'll want to wire the TX / RX lines on the NodeMCU 1.0 to the TX / RX lines on the Ch440G 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.

Debugging

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 //#define DEBUG_OUTPUT_SPIFFS #define DEBUG_OUTPUT_SERIAL //#define DEBUG_OUTPUT_TCP 

Releases · luc-github/ESP3D · GitHub

V3.0.0-alpha3 ESP3D for ESP8266/ESP32

11 Sep 12:25

luc-github

v3.0.0-alpha3

a4e4234Compare

V3.0.0-alpha3 ESP3D for ESP8266/ESP32 Pre-release

Pre-release

What's Changed

Maintenance page

  • Update embedded page to generate ISO 8601 data time and hardcode websocket protocol

ESP commands

  • Add Serial index to [ESP900] report
  • Add [ESP901] to control Serial baudrate
  • Add [ESP930][ESP931] Command to control Serial Bridge state and baudrate
  • Add [ESP450] to list others ESP3D
  • Add [ESP999]QUIETBOOT to set efuse on ESP32: S2/S3/C3
  • Change ESP800 report to use FlashFileSystem instead of FileSystem per @terjeio suggestion for consistency
  • Add ESP171 to save ESP32 camera frame to SD
  • Update ESP220 : Display default pins real value for SPI, hide state if pin is -1 as meaningless

Core

  • Replace genLinkedList by std::stack
  • Add more sanity check for PIN_RESET_FEATURE
  • Remove unnecessary tests in esp3doutput. cpp
  • Better management for realtime commands of GRBL
  • Allow to define target Fw in configuration.h
  • Move settings.h defines to defines.hs for consistency
  • Use digitalRead instead of attachInterrupt for reset pin due to conflict with Camera
  • Add automatic restart after reset when Reset Pin is triggered
  • Fix compilation issue with TIMESTAMP / BLUETOOTH / ETHERNET

Modules

  • Camera

    • Remove Snapshot Display as dropped feature
    • Remove No PSRAM camera
    • Increase Camera freq and add new settings
    • Add missing description for new cameras
    • Add latest Camera pins
  • HTTP

    • Add embedded favicon.ico scripts and support
    • Add Host Path support for files hosted in subdirectory (WIP)
    • Add createPath flag for upload to create full path if does not exists
  • Serial Bridge

    • Add Serial Bridge Support
  • Filesystem

    • Add benchmark code for download
    • Fix webUI loose websocket connection on long upload / download (>30MB)
    • Replace Download size packet from 1024 to 2048 on ESP32
    • Add SDIO Pins customization as suggested by @liqijian101
    • Fix SD is not automaticaly mounted on printer after access
    • Fix rmdir does not remove not empty directory
    • Remove SPIFFS esp8266 support as now removed from core
  • Time

    • Use iso-8601 to set time but time zone like suggested by @terjeio for [ESP800/140]
    • Simplify string parsing to set date/time using strptime
  • Websocket

    • Add WebSocket Subprotocol support per @terjeio suggestion
  • WiFi

    • Change STA default SSID if not defined to NETWORK_SSID per @atsju suggestion
  • Bluetooth

    • Add missing initializations in BT

Libraries

  • Update TFT_eSpi library for better ESP32 S3 support
  • Remove SDFat V1 support as not necessary now have SDFat 2. x
  • Update WebSocket library to avoid warning

PlatformIO

  • Add [ESP999]QUIETBOOT to set efuse on ESP32: S2/S3/C3
  • Update platformIO to 5.1.0
  • Fix missing Flag for S2/S3/C3 on PlatformIO
    Note: There is no platformIO env defined for Camera on S2/S3 MCU as I cannot test them

Limitations

  • Works with ESP3D-WEBUI 3.0-alpha-3 - no backward compatibility

Full Changelog: v3.0-alpha2...v3.0.0-alpha3

V3.0-alpha 2 ESP3D for ESP8266/ESP32

01 Jun 07:02

luc-github

v3.0-alpha2

39e0697Compare

V3.0-alpha 2 ESP3D for ESP8266/ESP32 Pre-release

Pre-release

What's Changed

Maintenance page

  • Add add tab color for mobile view
  • Add spellcheck off / autocorect off in input
  • Add disconnect button when authenticate enabled
  • Add Invalid user or password message when authentication failed

Board support

  • Add ESP32 S2 support
  • Add ESP32 S3 support
  • Add ESP32 C3 support

ESP commands

  • Add command 701 to control GCODE streaming
  • Remove command 901 as duplicate
  • Update command 420 to add more details
  • Use text as default output
  • All json on all commands for formated output

Core

  • Add benchmak function to check transfer speed (for test only-not production)
  • Merge code for ESP3DLib support
  • Add better printer display support (M117 / Serial TFT)
  • Use ESP32 analogWrite instead of emulated one

Modules

  • Display
    • Refactor code
    • Remove SPI ILI 9341 / 9488 support as not suitable
      • Add ST7789 support (135x240 / 240x240)
  • Filesystem
    • Bug fixes due to esp core updates
    • Better SD sharing mecanism
      • Better global FS management
  • FTP
    • Add SD sharing support
    • Better global FS management
  • GCODE Host
    • Add basic support for macro files
      • Add ESP command support
      • Use not blocking method to stream commands / handle response
  • Notifications
    • Add IFTTT notification service
    • Add WebUI notification
    • Add ESP3D display notification
  • WebDav
    • Add SD sharing support
    • Add bug fix from https://github. com/d-a-v/ESPWebDAV
    • Better global FS management
  • Websocket
    • Add function to handle zombies connections
  • WiFi
    • Fix connection to AP sometime fail
    • Fix low signal not diplayed in ESP420 even connected
    • Add AP Setup mode

Libraries

  • Update SDFat-2.0.6 to 2.1.2
  • Update ESP32SSDP 1.1.1 to 1.2.0
  • Update TFT_eSPI-1.4.11 to 2.4.61
  • Update arduinoWebSockets-2.3.5 to 2.3.6
  • Update esp8266-oled-ssd1306-4.0.0 to 4.3.0
  • Remove lvgl support

Tools

  • Add I2C scanner script
  • Add python script to simulate/stress printer serial communication

PlatformIO

  • Use latest 4.4.0 Espressif32 release (ESP32-arduino core 2.0.3)
  • Add fix for Flash more than 4MB on ESP32
  • Add Esp32 S2/S3/C3 env
  • Add ESP32-ST7789 / esp32-TTGO_T_Display env

Limitations

** Works with ESP3D-WEBUI 3. 0-alpha-2 - no backward compatibility

Discussion / status

Discussion

Full Changelog: v3.0-alpha1...v3.0-alpha2

v2.1.2

16 May 05:17

luc-github

v2.1.2

c222cdaCompare

v2.1.2Latest

Latest

What's Changed

  • Update CI to use github-actions instead of Travis
  • Update platformio.ini to support more features
  • Create wiki source directory and github-action to sync with wiki
  • Add ESP01S in platformIO thanks @padcom
  • Added support for IFTTT Webhook integration thanks @KingBain
  • Fix compilation issues with esp32 core 1.0.5
  • Fix wrong detection of [ESPXXX]Command if used in macro or web command and sent to printer using M118
  • Fix warnings in updater only mode
  • Fix several warnings in code and libs
  • Fix typo in pushError function (wrong type)
  • Add connection diagram for weedo tina2 thanks @atsju
  • Add recommended extensions for easier linting thanks @atsju
  • Update feature request template thanks @atsju
  • Update Wiki / Readme thanks @atsju
  • Update Readme thanks @jschwalbe
  • Update funding methods
  • Update chat from gitter to discord
  • Update index. html.gz (use english mono language)

Full Changelog: v2.1.1...v2.1.2

V3.0-alpha 1 ESP3D for ESP8266/ESP32

01 Jun 05:50

luc-github

v3.0-alpha1

b3f2e46Compare

V3.0-alpha 1 ESP3D for ESP8266/ESP32 Pre-release

Pre-release

What's Changed

  • Complete rewrite of ESP3D Firmware
  • More modular code for better maintenance
  • Better support of ESP32 chip
  • Add DHT sensors support
  • Add LittleFS Support
  • Add FatFS for ESP32
  • Add Date Time on FS
  • Add ESP32 Cam support
  • Add ESP32 Serial bluetooth
  • Add Telegram notification
  • Add SDFat support
  • Add Direct SD support
  • Add SD sharing support
  • Add FTP support
  • Add WebDav support
  • Add Websocket support for command (no file transfer)
  • Add ethernet support for ESP32
  • Add MKS communication protocol - compatible with MKS WiFi module
  • New maintenance page
  • Drop M28/M29 file transfer
  • Drop MarlinKimbra support

Limitations

** Works with ESP3D-WEBUI 3. 0-alpha-1 - no backward compatibility

Discussion / status

Discussion

New Contributors

  • @MichaelDu9226 made their first contribution in #497
  • @MarSoft made their first contribution in #652

Full Changelog: 1.0...v3.0-alpha1

2.1.1 ESP3D for ESP8266/ESP32

18 Sep 08:08

luc-github

v2.1.1

3ff58b0 Compare

2.1.1 ESP3D for ESP8266/ESP32

  • Fix mdns update for esp8266 ( @dmonty2 )
  • Better PlatformIO.ini (@sl1pkn07)
  • Fix random webupdate failed on ESP01 due to wrong sketch size
  • Fix max data limit from 128 to 127 due to miscalculation and possible overlap ( @TheMaskedDeveloper)
  • Fix type for [ESP110] parameters thanks (@Patronics )
  • Fix garbage sent to websocket when using as debug
  • Fix timeout in web command
  • Add option to disable Serial check sum

v2.

1 ESP3D for ESP8266/ESP32

19 Sep 10:30

luc-github

a877d61 Compare

v2.1 ESP3D for ESP8266/ESP32

  • back to normal project - no more a library
  • add notifications : pushover / email / line
  • add MKS TFT support - be aware usage is limited due to MKS TFT firmware blocking lot of output commands
  • add basic platformIO setup
  • new delay command [ESP290]<delay in ms>
  • new command to disable ESP3D serial to free it from printer if shared with USB [ESP900]<ENABLE/DISABLE>
  • better responsiveness when doing upload (sd / webupdate/ FS)
  • lot of bug fixes

⚠️ Warning: due to notifications code and others improvements, now the FW is over 500K ⚠️

what does it means ?

  • for 4MB flash boards, need to use 2MB for SPIFFS instead of 3MB, the 2 others will be used for FW.
  • for 1MB flash boards. need to disable Notifications to decrease space and/or follow : #331

v2.1 ESP3D for ESP8266/ESP32

08 Sep 09:21

luc-github

2.1RC1

7b2d461Compare

v2.1 ESP3D for ESP8266/ESP32 Pre-release

Pre-release

  • back to normal project - no more a library
  • add notifications : pushover / email / line
  • add MKS TFT support - be aware usage is limited due to MKS TFT firmware blocking lot of output commands
  • add basic platformIO setup
  • new delay command [ESP290]<delay in ms>
  • new command to disable ESP3D serial to free it from printer if shared with USB [ESP900]<ENABLE/DISABLE>
  • better responsiveness when doing upload (sd / webupdate/ FS)
  • lot of bug fixes

⚠️ Warning: due to notifications code and others improvements, now the FW is over 500K ⚠️

what does it means ?

  • for 4MB flash boards, need to use 2MB for SPIFFS instead of 3MB, the 2 others will be used for FW.
  • for 1MB flash boards. need to disable Notifications to decrease space and/or follow : #331

ESP3D for ESP8266/ESP32

19 Mar 13:32

luc-github

df51e02Compare

ESP3D for ESP8266/ESP32

  • Usable as library
  • Full support for ESP8266/ESP32
  • Better support for Marlin (due to lot of change in Marlin code)
  • Connection management
  • DHT support
  • Oled Support
  • Serial SD communication only -> not for Azteeg X5 mini WiFi or clone
  • Even async webserver is available - better use sync webserver

ESP3D for ESP8266/ESP32

26 Apr 01:11

luc-github

e362a77Compare

ESP3D for ESP8266/ESP32

This firmware allows to configure your ESP as AP or Client and monitor and control your 3D printer.
For esp8266 core 2.4.1

  • Smaller footprint
  • Embedded SPIFFS and Firmware uploader
  • Fancy Web-UI (https://github.com/luc-github/ESP3D-WEBUI)
  • Full support of Marlin / Marlinkimbra / Repetier / Smoothieware
  • Beta support for EP32 (some libraries are still missing or not optimized: Web Server, SSDP, NetBIOS), check asyncwebserver branch for full esp32 support
  • Serial SD communication only -> not for Azteeg X5 mini WiFi

For ESP boards

04 Jan 09:26

luc-github

V0.9.99

7a5c3a9 Compare

For ESP boards

This firmware allows to configure your ESP as AP or Client and monitor and control your 3D printer.
For core 2.4.0 (http://arduino.esp8266.com/versions/2.4.0/package_esp8266com_index.json)

  • Smaller footprint
  • Embedded SPIFFS and Firmware uploader
  • New Web-UI (https://github. com/luc-github/ESP3D-WEBUI)
  • Now full support of Marlin / Marlinkimbra / Repetier / Smoothieware
  • Beta support for EP32 (some libraries are still missing or not optimized: Web Server, SSDP, NetBIOS)

Limitation: 16MB boards are not recognized properly per #198

ESP8266 WiFi SD card for 3D printer (plug-and-play)

Tech

with a g-code on the PC, remove the SD card from the 3D printer, insert it into the PC, write down the g-code, and then put it back into the 3D printer. And, besides, for those who do not want to deal with arduino and all sorts of libraries. In fact, this is an analogue of FlashAir, but more cumbersome. All you need is to make a PCB, solder it, load the binary code into the ESP8266 using any programmer program, write your WiFi network settings to the SD card, insert the board into the SD slot of the 3D printer, and work over WiFi with files on the printer's SD card on your PC, as with network ones. Based on the development https://github.

com/ardyesp/ESPWebDAVhttps://3dtoday.ru/blogs/jeka-tm/sd-card-with-wifi-with -your-own-hands/ and brought to its logical end. So: Schematic diagram: Board in Layout60003

Capacitor-1206-1.0 - 1 pc. Capacitor-1.0 - 1 pc. Resistor-1206-470 - 1 pc. Resistor-1206-1k - 3 pcs. -12E - 1pc SD holder - 1pc * TTL-USB-Ch440G, 5v module - 1pc * 5v-3.3v level converter - 1pc

* - only for programming is not needed) The free program ESP8266Flasher.exe was used for uploading, but you can upload any other one, uploading is carried out at 0x00000Configuration. - Install jumper S1 on the assembled board - Write the setup.ini file to the root directory with three lines on the SD card: Wifi =Name of the wifi network to which we are connectingPassword=Network passwordThird line - empty - insert the SD card into the SD2 slot - Connect to the level converter RX,TX,Gnd, +3.3v with jmp1 (if you have a TTL-USB module at 3.3v , then the level converter is not needed, and + 3.3v does not need to be connected anywhere) (Note: I still do not understand: RX-TX, TX -RX or RX-RX,TX-TX, if one does not work, try the other. ) - Insert the TTL-USB module into the computer, install the drivers - Connect external power to the board - For programming, set switch S2 to the "closed" position, then briefly press the button S3- Run the programmer on the PC, set the port, speed, specify the binary download file, download address and start programming. The blue LED will flash. After programming is completed, switch S2 is set to the "open" position and press the S3 button. The device should now appear on your wireless home network in about 1 minute. To use it all the time, you can assign the SD drive to the PC's network drive. After we made sure that everything works, we take the device, remove the jumper S1, insert it into the SD connector on the display board and connect the power from the + 5v board: The attached archive contains a printed circuit board in the lay6 format, a binary firmware file, and, in addition, for those who want to tinker with Arduino and tweak something, the sketch source.https://cloud.mail.ru/public/3zqi/3ecDR82hg 42MB file is recorded ~ 2m 30s. The first part printed after installing this device, printing time is about 8 hours.

I hope I haven't missed anything, good luck everyone!

wifi ESP8266 SD-card

Follow author

Follow

Don't want

48

Best models for 3D printing Esp8266?Direction=Asc&Sort=Created At・Cults

Homekit32 - ESP32 Case - DIY Smarthome Steuerung

Free

WLAN LED ring light

2.50 €

Philips Hue Go Remake

5 € -50% 2.50 €

Wemos D1 Wifi (ESP8266)

Free

DayClock

Free

ESP8266 ESP-07/ESP-12

Free

ESP32 Cam / Wall Switch / 2 Buttons / DHT11 Sensor / Hassio

Free

ESP12F (ESP8266) Programmer (OpenSCAD version)

Free

ESP8266 Module Model Library

Free

Valentine's Heart

Free

ASSEMBLY IC HOUSING TOGETHER WITH POWER SUPPLY MODULE 5V

Free

Rugged case for DSTIKE WiFi Deauther MiNi ESP8266

2. 83 €

DIY InsertTool for inserting inserts

2 €

Lazy Mini Grid v1

Free

WLED lamp "Sea hawks"

Free

WeMos D1 Mini ESP8266 reference model with F3D and Step/stp

Free

USB Buck Boost voltage converter Case

1,20 €

resizable housing for PCB materials and 3D printing project

6.25 €

weather vane v2

Free

Anemometer

Free

Wemos ESP8266 with sensor housing DS18B20

Free

ESP8266 NodeMCU Wall Mount & Stand - Mining Rig for DUINO COIN

Free

Window sensor cover (easier to print)

Free

Multisensor, plug-in

Free

Beacon - CO2-Temp-Hum-MQTT-Sensor - Homeassistant

Free

Clone of Nanoleaf Lines

Free

Clone of Nanoleaf Lines

Free

Arduino Mini Oled Case

Free

esp8266 with tft 2.


Learn more