# G53 behaviour on buildbotics-derived Onefinity Controller

**URL:** <https://forum.onefinitycnc.com/t/g53-behaviour-on-buildbotics-derived-onefinity-controller/26174>\
**Category:** Controller (Buildbotics) Discussion\
**Created:** [March 27, 2024, 7:25am UTC](https://forum.onefinitycnc.com/t/g53-behaviour-on-buildbotics-derived-onefinity-controller/26174 "2024-03-27T07:25:49Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![349iq2345](https://avatars.discourse-cdn.com/v4/letter/3/bb73d2/32.png) [@349iq2345](https://forum.onefinitycnc.com/u/349iq2345)\
**Post date:** [March 27, 2024, 7:25am UTC](https://forum.onefinitycnc.com/t/g53-behaviour-on-buildbotics-derived-onefinity-controller/26174/1 "2024-03-27T07:25:50Z")

</div>

Hey all,

I see a strange behaviour on my Onefinity Controller. [G53 (Move in Machine Coordinates)](https://linuxcnc.org/docs/html/gcode/coordinates.html#sec:machine-coordinate-system) should move in absolute machine coordinates.

So the command

```none
G53 G0 Z0

```

should always move Z to machine zero (topmost position, Z home position), regardless which coordinate system offset is in effect.

But if I switch to incremental distance mode [G91 (Select Incremental Distance Mode)](https://linuxcnc.org/docs/html/gcode/g-code.html#gcode:g90-g91), G53 G0 Z0 does not move there, it just moves by zero distance. This is not only wrong and probably a bug, it is also clear that it makes no sense to use incremental distances when using G53.

Peter Smid writes in the standard textbook “[CNC Programming Handbook 3rd Ed.](https://books.industrialpress.com/9780831133474/cnc-programming-handbook/)”, Industrial Press, South Norwalk, CT, USA, ISBN 9780831133474 on page 400:

> G53 Machine Coordinate System
> 
> […]
> 
> Machine coordinate system G53 uses the coordinates measured from machine zero as an input – _always!_
> 
> […]
> 
> - Programmed coordinates are always relative to machine zero position
> 
> - G53 is only used in the absolute mode (G90)

In his example program, he prepends a G90 in front of the G53.

So I understand that you can write G-code with an occurrence of G53 while G91 is active, but it should trigger an error. But it doesn’t on buildbotics-derived Onefinity Controller, at least not on onefinity-firmware version 1.0.9.

You can test this with this small G-code program:

```none
M70 ; Save all modal states
G21 ; Switch to metric units
G92.1 ; Delete any offsets that could be active

G90 ; Select absolute distance mode
G53 G0 Z0 ; Move Z to 0, Z machine zero, topmost position
G53 G0 Z-50 ; Move Z downwards to -50 mm

G91 ; Now switch to incremental distance mode
G53 G0 Z0 ; Move to Z0 again with G53 (in machine coordinates)
M71 ; Restore all modal states

```

(comments can be left when copying/pasting, they will be ignored)

Here is the above program as a file that you can upload to your Onefinity machine:

[test\_G53\_when\_G91\_is\_active.ngc](https://forum.onefinitycnc.com/uploads/short-url/rLMBifVI6rP9GUf3Z21YcqiFwY7.ngc) (388 Bytes)

When I run this program, on my system, it shows the following bugs:

1. The Z axis is not moved back to topmost position but takes Z0 as relative value (and zero means no motion).
2. No error is displayed about using G53 when G91 is active.

In the Mach support forum I found that they get an error saying “Cannot use G53 incremental” in this case.

Before I can file a bug report, I would need someone to test this on [latest stable release (1.3.1 as of this writing)](https://forum.onefinitycnc.com/t/onefinity-cnc-firmware-1-3-1-12-15-23-x-35-x-50-machines-w-buildbotics-controller-latest-firmware/24005). Please, would a friendly forum user test this?

---

<div class="post-metadata">

**Author:** ![ChrisM](https://avatars.discourse-cdn.com/v4/letter/c/47e85d/32.png) [@ChrisM](https://forum.onefinitycnc.com/u/ChrisM)\
**Post date:** [March 27, 2024, 11:03pm UTC](https://forum.onefinitycnc.com/t/g53-behaviour-on-buildbotics-derived-onefinity-controller/26174/2 "2024-03-27T23:03:16Z")

</div>

Hey Aiph5u,  
I am on 1.3.1  
I ran your test code. It is just as you say - it will not lift up when G91 is enabled.

---

<div class="post-metadata">

**Author:** ![Mimir](https://avatars.discourse-cdn.com/v4/letter/m/4491bb/32.png) [@Mimir](https://forum.onefinitycnc.com/u/Mimir)\
**Post date:** [May 12, 2024, 3:12am UTC](https://forum.onefinitycnc.com/t/g53-behaviour-on-buildbotics-derived-onefinity-controller/26174/3 "2024-05-12T03:12:22Z")

</div>

I’ve seen the same thing. It seems the buildbotics controller interprets G53 in the context of the existing work coordinate system, which is not correct if I understand how G53 is supposed to behave. Did you find any workaround on the issue?

---

<div class="post-metadata">

**Author:** ![349iq2345](https://avatars.discourse-cdn.com/v4/letter/3/bb73d2/32.png) [@349iq2345](https://forum.onefinitycnc.com/u/349iq2345)\
**Post date:** [May 16, 2024, 6:49am UTC](https://forum.onefinitycnc.com/t/g53-behaviour-on-buildbotics-derived-onefinity-controller/26174/4 "2024-05-16T06:49:39Z")

</div>

Hey Bill,

wanted to file a bug report but yet didn’t find the time. A workaround is to have a G90 prepended to any G53 call.

Welcome to the forum!

---

<div class="post-metadata">

**Author:** ![Mimir](https://avatars.discourse-cdn.com/v4/letter/m/4491bb/32.png) [@Mimir](https://forum.onefinitycnc.com/u/Mimir)\
**Post date:** [February 9, 2025, 7:42am UTC](https://forum.onefinitycnc.com/t/g53-behaviour-on-buildbotics-derived-onefinity-controller/26174/5 "2025-02-09T07:42:20Z")

</div>

Hi Aiph5u,

Do you happen to know if Onefinity ever fixed this bug? I just updated to the 1.6.1 firmware and I think it’s still broken in the same way. Any luck on your end?

---

<div class="post-metadata">

**Author:** ![349iq2345](https://avatars.discourse-cdn.com/v4/letter/3/bb73d2/32.png) [@349iq2345](https://forum.onefinitycnc.com/u/349iq2345)\
**Post date:** [February 9, 2025, 10:55am UTC](https://forum.onefinitycnc.com/t/g53-behaviour-on-buildbotics-derived-onefinity-controller/26174/6 "2025-02-09T10:55:28Z")

</div>

Hey Bill,

no I don’t know, I did not try one of the newer firmwares out until now.
