thinkyhead / ESP3DLib

ESP3D library for Marlin and ESP32 boards

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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!

About

ESP3D library for Marlin and ESP32 boards

License:GNU General Public License v3.0


Languages

Language:C++ 60.2%Language:C 27.2%Language:JavaScript 6.8%Language:HTML 2.9%Language:CSS 2.0%Language:Shell 0.6%Language:Batchfile 0.2%Language:Python 0.1%