Version 1.X

This version is the production version, features are frozen, only bugfixes are accepted.

It is already part of Marlin distribution, check how to enable it

Warning

This is NOT for esp8266, esp8285, esp32 boards as daughters boards connected to your main board.

The library must be used with ESP3D-WEBUI 2.X


If any error or need any addition,
please let me know by opening a ticket here
or submit a fix by PR or use the edit button on top menu

Subsections of Version 1.X

Features

The V1.X features are :

  • Complete configuration by web browser (Station or Access point) or by Serial commands
  • Authentication for sensitive pages
  • Update firmware by web browser or OTA
  • Captive portal in Access point mode which redirect all unknow call to main page
  • mDNS which allows to key the name defined in web browser and connect only with bonjour installed on computer
  • SSDP, this feature is a discovery protocol, supported on Windows out of the box
  • Fail safe mode (Access point)is enabled if cannot connect to defined station at boot.
  • Web UI support

If any error or need any addition,
please let me know by opening a ticket here
or submit a fix by PR or use the edit button on top menu

Installation

In Marlin configuration files :

Configuration.h

Select an ESP32 based board.

Uncomment the second serial port to allow esp3d to get all printer feedback

/**
 * Select a secondary serial port on the board to use for communication with the host.
 * :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
 */
#define SERIAL_PORT_2 -1

Configuration_adv.h

Enable ESP3DLib support using : #define ESP3D_WIFISUPPORT // ESP3D Library WiFi management (https://github.com/luc-github/ESP3DLib)

You can optionnaly define to which access point your board need to connect to:

#define WIFI_SSID "Wifi SSID"
#define WIFI_PWD "Wifi Password"
if not defined or you left like this the board will act as an Access Point instead. and you can do further configuration using command line or web interface.

Please be sure these setting are enabled they are mandatory for ESP3DLib

#define WEBSUPPORT          // Start a webserver (which may include auto-discovery)
#define WIFI_CUSTOM_COMMAND // Accept feature config commands (e.g., WiFi ESP3D) from the host|

Web Update is supported by ESP3DLib but you can also use:

#define OTASUPPORT          // Support over-the-air firmware updates

To enable the authentication feature which is disabled by default:

//AUTHENTICATION_FEATURE: protect pages by login password.
#define AUTHENTICATION_FEATURE

to disable any of these features which are enabled by default:

//MDNS_FEATURE: this feature allow  type the name defined
//in web browser by default: http:\\marlinesp.local and connect
#define DISABLE_MDNS_FEATURE

//SSDD_FEATURE: this feature is a discovery protocol, supported on Windows out of the box
//Rely on Configuration_adv.h
#define DISABLE_SSDP_FEATURE

//CAPTIVE_PORTAL_FEATURE: In SoftAP redirect all unknow call to main page
#define DISABLE_CAPTIVE_PORTAL_FEATURE

If any error or need any addition,
please let me know by opening a ticket here
or submit a fix by PR or use the edit button on top menu

Documentation

The documentation section will help you on:


If any error or need any addition,
please let me know by opening a ticket here
or submit a fix by PR or use the edit button on top menu

Subsections of Documentation

ESP3D commands

Conventions

Add space to separate parameters

Display command list

[ESP]

Set/Get STA SSID

[ESP100]

Set STA Password

[ESP101]

Set/Get STA IP mode (DHCP/STATIC)

[ESP102]

Set/Get STA IP/Mask/GW

[ESP103]IP= MSK= GW=

Set/Get AP SSID

[ESP105]

Change AP Password

[ESP106]

Set/Get AP IP

[ESP107]

Set/Get AP channel

[ESP108]

Set/Get radio state which can be STA, AP, OFF

[ESP110]

Get current IP

[ESP111]

Get/Set hostname

[ESP112]

Get/Set HTTP state which can be ON, OFF

[ESP120]

Get/Set HTTP port

[ESP121]

Get SD Card Status

[ESP200]

Get full EEPROM settings content

Note: it does not give any passwords
[ESP400]

Set EEPROM setting

Using position in EEPROM, type: B(byte), I(integer/long), S(string), A(IP address / mask)

[ESP401]P= T= V=

Description:		Positions:
HOSTNAME_ENTRY 		"ESP_HOSTNAME"
STA_SSID_ENTRY 		"STA_SSID"
STA_PWD_ENTRY 		"STA_PWD"
STA_IP_ENTRY 		"STA_IP"
STA_GW_ENTRY 		"STA_GW"
STA_MK_ENTRY 		"STA_MK"
ESP_RADIO_MODE 		"WIFI_MODE"
AP_SSID_ENTRY 		"AP_SSID"
AP_PWD_ENTRY 		"AP_PWD"
AP_IP_ENTRY 		"AP_IP"
AP_CHANNEL_ENTRY 	"AP_CHANNEL"
HTTP_ENABLE_ENTRY 	"HTTP_ON"
HTTP_PORT_ENTRY 	"HTTP_PORT"
TELNET_ENABLE_ENTRY "TELNET_ON"
TELNET_PORT_ENTRY 	"TELNET_PORT"
STA_IP_MODE_ENTRY   "STA_IP_MODE"

Get available AP list (limited to 30)

Output is JSON or plain text according parameter
[ESP410]

Get current settings of ESP3D

Output is plain text
[ESP420]

Set ESP State

cmd is RESTART / RESET
[ESP444]

Change admin password

[ESP550]

Change user password

[ESP555]

Format ESP Filesystem

[ESP710]FORMAT

FW Informations

[ESP800]


If any error or need any addition,
please let me know by opening a ticket here
or submit a fix by PR or use the edit button on top menu

Subsections of Hardware

ESP32 generic controller

From Simon Jouet, a generic ESP32 controller with 4MB flash memory, no IO expander.

image image

Specs

  • ESP32 with 4MB flash memory, sd card reader

If any error or need any addition,
please let me know by opening a ticket here
or submit a fix by PR or use the edit button on top menu

FYSETC-E4

From FYSETC, an ESP32 controller with 16MB flash memory, no IO expander.

image image

Specs

  • ESP32 with 16MB flash memory, sd card reader

If any error or need any addition,
please let me know by opening a ticket here
or submit a fix by PR or use the edit button on top menu

MKS Tinybee

From Maker Base, an ESP32 controller with 8MB flash memory, with IO expander.

image image

Specs

  • ESP32 with 8MB flash memory, sd card reader

If any error or need any addition,
please let me know by opening a ticket here
or submit a fix by PR or use the edit button on top menu

MRR-ESPA

From Maple Rain, an ESP32 controller with 4MB flash memory, no IO expander.

image image

Specs

  • ESP32 with 4MB flash memory, sd card reader

If any error or need any addition,
please let me know by opening a ticket here
or submit a fix by PR or use the edit button on top menu

MRR-ESPE

From Maple Rain, an ESP32 controller with 4MB flash memory, with IO expander.

image image

Specs

  • ESP32 with 4MB flash memory, sd card reader

If any error or need any addition,
please let me know by opening a ticket here
or submit a fix by PR or use the edit button on top menu

Panda Zhu/M4

From Mark Niu, two ESP32 controllers with 4MB flash memory, with IO expander.

image image

Specs

  • ESP32 with 4MB flash memory, sd card reader

If any error or need any addition,
please let me know by opening a ticket here
or submit a fix by PR or use the edit button on top menu

Showcase


If any error or need any addition,
please let me know by opening a ticket here
or submit a fix by PR or use the edit button on top menu

Credits

Embedded code / inspiration code

Libraries