Skip to content

luc-github/ESP3DLib

Repository files navigation

ESP3DLib 1.0 Marlin version

All Contributors

Library for ESP32 boards using Marlin 2.x :

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

Current version: Current Version GitHub last commit (branch) Release Version Marlin

Development version: Development Version GitHub last commit (branch) Release Version Project Page ESP3D 3.0 Marlin

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

⚠️ This is not for ESP8266 boards neither standalone ESP3D installation

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 Donate using Liberapay
  • Paypal PayPal – The safer, easier way to pay online.
  • 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 Discord server
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):

ellensp
ellensp

🐛
Eduard Sukharev
Eduard Sukharev

💻
Mitch Bradley
Mitch Bradley

🐛 💻
makerbase
makerbase

💵 🐛 📦
vivian-ng
vivian-ng

💻 🐛 📦
Mark
Mark

📦
FYSETC.COM
FYSETC.COM

💵 🐛 📦
PendulumPit
PendulumPit

💵

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