ESP3D Web UI for Grbl_ESP32 - bdring/Grbl_Esp32 GitHub Wiki

Note: Some of the screenshots are out of date and will be replaced soon

TL,DR: Watch this video

The ESP3D-WEBUI project has been modified for use with Grbl_ESP32 by Luc of luc-github so you can control Grbl_ESP32 over WiFi using any browser, without needing any other programs.

Basically, the ESP32 becomes a web server. You use a browser to access a web interface. You can then control Grbl and run jobs using only the browser. It is sort of like OctoPrint, except there is no need for a Raspberry Pi. Everything runs on the ESP32.

Features

  • Works in either AP (access point) mode or as a client on an existing WiFi network
  • Full control and monitoring of Grbl
  • Supports multiple languages
  • Easy control of Grbl $$ settings
  • Firmware upload
  • Full interface to SD card
  • Easily add your own macros
  • Display a camera in UI

The ESP3d-WEBUI project represents quite a contribution to the open source CNC world and you should consider a donation to it.

Setup

First, read these instructions to compile and upload the firmware.

The default options in config.h are fine for the WebUI. You may want to enable authentication by uncommenting #define ENABLE_AUTHENTICATION if you are on a public WiFi.

Startup

At startup the ESP32 will try to connect to the WiFi network it was connected to last. If it cannot connect to that network, it will enter AP (Access Point) mode, thus creating a WiFi network named GRBL_ESP, with password 12345678. Connect to that network with a PC, tablet or phone and use a web browser to load the WebUI to access the URL http://192.168.0.1 (on some systems you can also use http://grblesp.local, but that alternative name doesn't work on Windows without a lot of extra effort to setup mDNS).

Note: The WiFi network name and address are shown in the startup messages on the serial port. You can also get them by sending $I on a serial terminal.

First connection

On your first connection, you will be prompted to load the data file that contains the WebUI. The file is Grbl_Esp32/data/index.html.gz in the directory tree that you used for compiling the firmware. Use the Choose Files button to select that file, then click the Upload button. Once the file has loaded, refresh your browser.

If something goes wrong and the WebUI is not visible after refreshing, refer to how to recover from WebUI upload problems

Users

If you compiled the firmware with ENABLE_AUTHENTIFICATION, the WebUI will have two users named "admin" and "user". When logged in as "admin" (default password "admin") you can change any setting. When logged in as "user" (default password "user", you can only interact with Grbl. The user names and passwords can be configured before compilation by editing config.h.

If you compiled without ENABLE_AUTHENTICATION, no login is necessary, and you will have full control of all settings.

Preferences

Setup

Dashboard

Control Panel

ESP32 Controls Panel

Jogging

Jogging can be done by clicking in the jogging area. The speed of the jogging is controlled by the feed rate values at the bottom of the panel.

Homing

Homing can be done with the little house icons. The lower left icon does a standard ($H) home of all axes. Individual axes can also be homed (assuming #define HOMING_SINGLE_AXIS_COMMANDS in config.h)

DROs

The DROs (Digital Read out) are the axis values below the jog graphic. These display the current Work Coordinates. Each has a zero button next to them to zero that axis. There is also a zero xyz to zero them all.

Controlling Axes AB&C

Select the axis you want to control in the drop down list and the controls that are nomally for Z will change to the new axis.

Macros

This feature allows you to add custom commands. Here is an example of how to add a command to move to X0, Y0

  1. Create a text file with the gcode. In this case the gcode would be "G0X0Y0". Save it with a ".g" extension. In this case I named it zeroxy.g.
  2. Upload that file to the ESP3D File System (Not to the SD card)
  3. Click on the macro editor button in the controls panel. click the plus icon to add a macro. Give it a name, select a color, set the target as ESP and enter the path to the gcode file you uploaded.
  4. Click Save

Grbl Panel

Commands Panel

Commands Panel

SD Card Panel

This panel allows you to upload and run files that are stored on an SD card attached to your machine. Click Refresh to show all files and folders on your SD card. Only gcode files (.txt, .nc and .gcode) will have the play icon next to them. Files are also filtered by legal characters for grbl, so files with a blank will not be able to be sent.

Refresh

Add directory

Upload

Download

Delete

Play

Filter

Grbl Configuration ($) Panel

This is an easy to use interface to the Grbl $$ settings menu.

ESP3D Settings

ESP32 Status

ESP3D File System (SSPIFF, Not SD Card)

These are files that are stored on the ESP32 SPIFFS (SPI Flash File System). These files are part of the ESP3D WEBUI. Do not store gcode files here.

OTA (Over The Air) Firmware Uploads

You can upload new firmware via WiFi. With the WebUI open, click on the ESP3D tab. Now click on the yellow cloud icon. The upload the compiled .bin file.