ESP3DLib

ESP3D library for Marlin and ESP32 boards

GPL-3.0 License

Stars
95
Committers
8

ESP3DLib 1.0 Marlin version

ESP32 Controller, FYSETC-E4, MRR_ESPA, MRR_ESPE, Panda Zhu, MKS Tinybee

⚠️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

for them go here

All releases

[!WARNING]

Disclaimer

The software is provided 'as is,' without any warranty of any kind, expressed or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software. It is essential that you carefully read and understand this disclaimer before using this software and its components. If you do not agree with any part of this disclaimer, please refrain from using the software.

Sponsors

     

Supporters

Become a sponsor or a supporter

  • A sponsor is a recurent donator
    If your tier is 10 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.

  • liberapay
  • Paypal
  • ko-fi ko-fi

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

Configuration_adv.h

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

❓Any question ?

Check Wiki or Join the chat at you can also check discussions panel

❗Any issue ?

submit ticket

TODO/On going :

--Import all ESP3D 2.1/3.0 features

Contributors ✨

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

Badges
Extracted from project README's
Related Projects