ESP3DLib
ESP3DLib copied to clipboard
ESP3D library for Marlin and ESP32 boards
ESP3DLib 1.0 Marlin version 

FYSETC-E4, MRR_ESPA, MRR_ESPE, ESP32 Controller
:warning:Currently the development version need special version of Marlin which may not sync with latest version of Marlin yet : https://github.com/luc-github/Marlin/tree/ESP3DLibV3.0
:warning: This is not for ESP8266 boards neither standalone ESP3D installation
for them go here
Sponsors
Supporters
Become a sponsor or a supporter
- A sponsor is a recurent donator
If your tier is10 US$/month
or more, to thank you for your support, your logo / avatar will be added to the readme page with eventually with a link to your site. - A supporter is per time donator
If your donation is over
120 US$
per year, to thank you for your support, your logo / avatar will be added to the readme page with eventually with a link to your site.
Every support is welcome, indeed helping users / developing new features need time and devices, donations contribute a lot to make things happen, thank you.
Features
- 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.
- The web ui add even more feature : https://github.com/luc-github/ESP3D-WEBUI/blob/master/README.md#features
Coming Features
As side project of ESP3D, it follows ESP3D features: https://github.com/luc-github/ESP3D/blob/3.0/ESP3D-features.xls?raw=true
How to enable ?
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
enable #define ESP3D_WIFISUPPORT // ESP3D Library WiFi management (https://github.com/luc-github/ESP3DLib)
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 finally
#define WEBSUPPORT // Start a webserver (which may include auto-discovery)
#define OTASUPPORT // Support over-the-air firmware updates
#define WIFI_CUSTOM_COMMAND // Accept feature config commands (e.g., WiFi ESP3D) from the host
For advanced configuration add in same section:
to enable this 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
Default Configuration
Default Settings if not modified in Configuration_adv.h:
AP:MARLIN_ESP
PW:12345678
Authentification: WPA
Mode: g (n is not supported by AP, just by STA)
channel: 1
IP: 192.168.0.1
Mask: 255.255.255.0
GW:192.168.0.1
Web port:80
the websocket is web port + 1 => 80+1 : 81
User: admin
Password: admin
User:user
Password: user
Direct commands:
Check wiki
Contribution/customization
- To style the code before pushing PR please use astyle --style=otbs *.h *.cpp *.ino
- The embedded page is created using nodejs then gulp to generate a compressed html page (tool.html.gz), all necessary modules can be installed using the install.bat file content, then it is included using bin2c (https://sourceforge.net/projects/bin2c/) to generate the h file used to create the file nofile.h, update the array and size according new out.h.
- The current UI is located here
:question:Any question ?
Check Wiki or Join the chat at
you can also check discussions panel
:exclamation:Any issue ?
TODO/On going :
--Import all ESP3D 2.1/3.0 features