Maslow Home Maslow Community Garden Newsletter

How to upgrade to Holey-51.28 firmware using Webcontrol in preparation for running Makerverse

To update the firmware from webcontrol, you use the menu:

Actions->Upgrade Holey


Your webcontrol should ship with a firmware version included if you are using the release version. If you are using the development version like me, your button will be blank as shown in the picture above. To manually add a different version and have webcontrol flash the board for you, you must do the following:

  1. Compile the hex file. Do this in the arduino IDE . Press the check box at the upper left of the IDE window and then find the hex file name down at the bottom in the status window.

  2. Once you find the file, rename it from cnc_ctrl_v1.ino.hex to “holey-51.28.hex” or 51.29 or 51.30. but it must say holey-51.xx.hex or it won’t work.

  3. copy the file to your webcontrol/firmware/holey/ folder. If you are using the single file version, you won’t be able to find the folder because it will be temporary and will delete after webcontrol runs. Download the single folder version and try again. Changing versions will not change your calibration that is stored on the arduino or your webcontrol settings that are stored in the .WebControl folder in your home folder.

  4. Restart webcontrol

  5. Verify the button has the same version you named your file - > press the button and it should flash the board.

1 Like

Thanks for making this.

Here’s the specific 51.28 hex file I used when testing Makerverse: cnc_ctrl_v1.ino.hex (169.6 KB)

However, installing a Hex file is the same as installing the firmware via the Arduino IDE. I personally like the Arduino IDE approach because I can see what happened during the install process. I can also use the “Serial Monitor” to ensure that the firmware installed correctly. This is a good basic familiarity to have with your Arduino, if you have time. If you’re comfortable with it, just select the “Arduino Mega 2560” board and grab the source code from https://github.com/WebControlCNC/Firmware/releases .

I have to disassemble my controller to get to it, so I prefer to have webcontrol do it.

Orob - Thanks for putting this together. Everything seems to go well by following your instructions. I even get the webcontrol warning that I have an unsupported version of the Holey firmware. On step 5, I get an error:

Any thoughts on what I’ve done wrong?

What version of webcontrol are you using? If you are using a development version, you have to manually install avrdude which is the flash program for linux. If you are using a distribution version of webcontrol, it should be included. how to know which one you have you ask? look at your folder structure:

developer version:

distribution version:

I’m using the development version of webcontrol - I’m on a Mac. Installing avrdude is a whole separate episode on the Mac.

So switching to the Arduino IDE.

I have been able to update to Holey 51.27 using @madgrizzle’s version here - https://github.com/madgrizzle/HoleyMaslow. No problem to compile the file using Arduino and then upload.

When I try to update to 51.28 using this version - https://github.com/WebControlCNC/Firmware/releases/tag/2020-05-23-1229 - I am able to download the zip file and complie it using the Arduino and upload to the board, but nothing happens.

Is this the correct process, OR are you supposed to upload the holey-51.28.hex file? If that is what you are supposed to upload, how do you upload a compiled hex file that the Arduino IDE did not compile? The IDE only wants to open .ino files.

Thanks for helping a beginner work through all this.

I found with running the development mode, I download the release version just for the upload capability when needed. If the IDE is easiest to plug in your board and flash, then by all means, just use that. I have to disassemble my controller box to unplug the rpi to plug in to my laptop to use the arduino IDE, but compiling a hex and copying it to the raspberry pi and then using webcontrol to flash is pretty easy and I don’t have to even get up off my chair.

The trick to installing avrdude on a Mac is to use Homebrew. It will install all of the dependencies for you.

Once avrdude is installed, go to the Arduino IDE. Change the settings to verbose output. Compile and upload a known firmware update that works. Copy the output to a text editor and look for where the Arduino calls avrdude. Copy that line of code. Modify it in the text editor to point to where the holey-51.28.hex file is located and then run the line of code in the terminal.

1 Like