Grbl Homing problems

You should have bought their 2 axes board… :wink:

From what I can tell the only way to change it is to change the firmware.

These are built for the CNC3018 type machines that do have Z motors and when they home, they do it on all three axes. And can have a laser mounted on them.

It’s an Arduino based machine, that’s why you see specific hard/software tools for upgrading… I’m surprised it doesn’t have some kind of boot loader so you can just use the Arduino IDE (or avrdude) to load new firmware…

Might be easier and lower cost to just buy a different controller if you don’t want to upgrade the firmware… these are pretty low cost…

Good luck


Buy a 2 axis board is exactly what the seller told me but I am getting old and more hard headed. I have a lot of various programmers / interfaces from my past RC hobby and one is likely to connect to the Annoy board at which time it will be a 2 axis board. :wink:

Hi Thurmond,
Did you get the x and y axis to home off their limit switches? I’m having trouble with that, too. I did cobble together a stepper motor with a cam and a limit switch. It homes nicely and lets you get on to working on the X,Y axes.
I have a request in to Annoytools (via Amazon question section) on how to reset the board to original defaults. Haven’t heard back yet.

I think you missed the point here… these boards are for 3 axes machines and you probably have the default now… all three axes home.

To change that you have to modify the source to disable homing on the Z axes, recompile it and load that new firmware onto the machine… this is not even returning it to default, it’s changing it’s basic operation for which it was programmed… 3 axes.

Doesn’t sound like these have any kind of firmware to allow an upgrade via it’s usb connection…

Good luck… let us know if you get anywhere with your request…


In spite of what’s stated on the Amazon answers page it’s most likely possible to upgrade the firmware. Looking at the images on the site it looks like the laser is based on an Atmega 328p. GRBL controllers based on 328p are almost universally Arduino + Shield clones and will take a standard GRBL firmware.

Easiest update would likely be through LaserGRBL as they have a menu option to do so.

I wouldn’t suggest doing this unless you’re comfortable with how these work and are willing to potentially brick the controller.

It is impossible to alter the firmware of this board through the USB port as the hardware to do this is not part of the board design.
The tool for flashing the firmware to the control board is STLINK.

The link shows it’s a can do… he didn’t want to spend another $20 to upgrade the software. That’s close to the cost of the board.

My jl1 controller allowed a usb upgrade, at least to one of their versions of firmware… after that I had to use an external programmer to change the firmware… they must have disabled it or didn’t include a boot loader for the usb port.

There’s no doubt you can upgrade it, but probably not without purchasing extra hardware, installing at minimum avrdude…

An indicator may be, that the upgrade at instructables bought extra hardware and wiring … why wouldn’t he just flash it over the usb port if that was possible…?

Doesn’t seem to indicate that it’s possible to flash it over the usb port.

I think it’s simply that he purchased a 3 axes board for a 2 axes machine. It’s designed as all or nothing 3 axes or no axes.


This must be a different board than the one listed on the Amazon page. STLINK would be for an ST Microelectronics board.

The one listed has an Atmel chip, specifically the Atmega 328p as in the one used famously in Arduino Uno/Nano.

Yes it’s a different board, but it’s the same basic idea…

The jl1 upgraded via usb fine, out of the manufacturers firmware to a more open communications that allowed Lightburn, but also locked me out the usb port from doing any further upgrades/changes.

Most of the Atmels that I use, I don’t put a boot loader on them… there is no need as there is no usb.

I use the isp port directly with a programmer… that’s what the instructables article used.

I could plug my hardware into his board and upgrade it… but not via the usb port.

Unless you know something about these that is unique, they seem like most of the < $40 controllers…


My Annoy board has this chip:
GD32F303 which is an ARM Cortex M4 32 bit CPU

This explains the difference. I believe All Gigadevice is making a clone of the STM chips.

I’ve not seen any Arduino Nano clone board not be upgradeable through USB.

I have a couple of them that were sans the boot loader… they are from a few years back… I wrote over at least one of them and repurposed it.

Some of the grbl code was getting too large to support the addition of a usb boot loader and they removed it to allow more code room…

At least that’s what was stated…

Most are moving to the 32bit machines… same price or nearly, if you buy enough of them and much more bang for the buck…

My mks-dlc32 is one of these animals I believe…


It’s possible that they could have gone out of their way to make this difficult but no official release of the original GRBL was released that would have required removing the bootloader as far as I’m aware. They actually went to great lengths to limit the size. So unless Annoytools has heavily modified the code or otherwise gone out of their way to make this difficult I would generally expect this to work. Or that would at least be my starting position.

It would be great if he can do it via the usb port…

Give him the information and let him give it a shot…

I’m for anything that will get him back up and running…


The simplest approach:

  1. Open LaserGRBL
    2a. Tools->Flash GRBL Firmware
    2b. Target->Arduino Nano
    2c. Firmware->1.1h custom XY Homing
    2d. Select proper port, then OK

However, this could leave the configuration in a default state not suitable for the specific laser.

Again, wouldn’t advise this unless you’re willing to face some pain and potential bricking.

I’d suggest taking a backup of current configuration by listing current config using $$ and $#.

I’d also suggest considering not doing this if you have no means of going back to default firmware or otherwise okay with this being a one-way operation.

Well, they are called AnnoyTools, so I’d expect no less.

Well if nothing else their quality control in that department is world class.

1 Like

If his Annoy Board is the same as mine LaserGRBL will NOT flash it. Tried that early on when I noticed that my firmware was 1.1f rather than 1.1h.
On the bright side nothing was bricked either.

Jack and Ed,
I got everything working this morning in Lightburn. Homing is perfect. I can’t thank you enough for your patience and suggestions.
One strange issue is that although everything works in Lightburn, when I go to LaserGrbl the travel on the Y axis is reversed, although it homes correctly.

GRBL lets you set both the axis DIR signal polarity and the homing direction, so flipping those may make the answer come out right: the axis will move in the other direction, but it will then home the other way, which will be correct.

I don’t know if LightBurn includes Yet Another Direction Switch to flip the axis, but I’d be unsurprised.

Oh, and then you have workspace offsets to make the coordinates come out right.

Getting everything both right and consistent will surely require undue familiarity with all the settings.