top of page

Using the grblHAL Web Builder

Terje at io-Engineering has created a fantastic builder for grblHAL. This allows you to build custom firmware files with no software skills needed. It makes the power of grblHAL easily available to any user. It is still a bit of a work in progress (at V0.80 as of this date). There are a few visual glitches depending on your web browser of choice but it is highly useable. This is being written from the perspective of a Teensy 4.1 and Bookwood Design T41U5XBB user. Though, much of it is applicable for anyone.

Note, these screen shots are from a Chrome browser on Windows 10. Other browsers will have different appearances so your mileage may vary...

To start with, open the Web Builder. You will see something like this.

Pick your processor and board

Select processor you are using. Click on the Driver box and select the appropriate entry. In this case, it is the Teensy 4.x. The Web Builder will default to a board so make sure it is the right one. In this case, it defaulted to the T41U5XBB which is what I have so nothing else needs to be done. Here is what you should see.

There are 4 panels that allow configuring various features: General, Plugins, Network/WebUI and Advanced features. We will explore each of these with an eye toward supporting the T41U5XBB.


Most of the settings on the General panel are good for the T41U5XBB with a couple of exceptions. If your machine is a moving gantry machine with dual motors on Y, you will need to click on the Y-axis box and select "Ganged Motors". If you use Auto-Squaring, you need to select "Auto-Squared". For information on this see my blog on Auto-Squaring. You do not need to change the number of axes. If you use the safety door input, you will need to check that box.

If you are using a VFD and controlling it via ModBus, you will need to select it in the Spindle box. For most users of the T41U5XBB, you don't need to change anything.

Below, you will see the General panel setting that corresponds to the prebuilt file "3X qangY AutoSq qei". Note that you do not need to change the Number of axes to 4 if using ganged motors for a moving gantry.


You can see the Plugins panel below. For using the T41U5XBB for a moving gantry router, nothing needs to be done. If you have installed an EEPROM, select the size. If you have a FRAM chip, check that box. If you want to use any of the other plugins, follow the "i" links to the associated plugin page. Most of them require specific hardware.


The Network/WebUI panel is shown below. For the T41U5XBB, I have checked Ethernet, Telnet and Websocket. All versions of the prebuilt files have these settings checked.

The WebUI settings are worth exploring but I suggest you get the basic features working first before plunging in.

Advanced Features

No actions are needed on this page, the defaults are what the prebuilt files are set to. One area that you may want to look at is Compatibility Level. If you are using an old sender (PC/Mac program) that was hard coded to classic Grbl responses, you might need to set a higher compatibility level. If you get errors from the sender, try setting the level higher. Start with Grbl id (1) and work your way up. Grbl 10 is a perfect emulation of the classic Grbl responses.

Finishing up.

Once you have made your changes, press the "Generate and download binary" button. It will take a minute or two and then will present you with a Save As file dialog. Before you do that though, press the Save board button and name it something that represents your selections - "grblHAL 3X Auto-Square" for example. That way you can use it as a starting point if you want to make modifications later.

Loading the .hex binary file.

Now that you have a .hex binary file, you can load it into your processor. If you are using a Teensy, read on. If not, consult with your board maker for instructions.


Download Teensy.exe from the PJRC Website here. The page may say Windows Vista but it works for all recent Windows versions. Plug in your Teensy 4.1 via USB. Find Teensy.exe and run it. It should open as a small window. In File/Open HEX File, select and open the .hex file you want and press OK. Then, press the button on the Teensy 4.1. You are ready to test it now.

Macintosh OS X

Macintosh instructions are here. Plug in your Teensy 4.1 via USB. Follow the instructions to install and run the loader. It should open as a small window. Then, from the File name, choose "Open HEX File" and open the .hex file you want and press OK. Select "Program" from the "Operations" menu, or click the Program button on the tool bar. It should display a brief loading message. You are ready to test it now


Instructions for Ubuntu are here. Other Linux versions work though you will need to build the loader for your platform. The instructions and links to the github repository are here.

First Run Settings

This is not an issue with the builder - you would run into it in any case. Basically, the grblHAL defaults cause issues for GCode senders like ioSender when all the input devices have not been connected. So, for example, grblHAL might think it is in a continual state of being reset if a switch has not been connected to the input. The grblHAL Wiki First Run pages describe what is needed to get up and running.

Featured Posts
Check back soon
Once posts are published, you’ll see them here.
Recent Posts
Search By Tags
No tags yet.
Follow Us
  • Facebook Classic
  • Twitter Classic
  • Google Classic
bottom of page