Controller Software Tool Change Location 0,0 G54, G55, G56

How do people feel about the BuildBotics controller software? My main concern is setting up G55 positions and repeatability as well as a dedicated tool change location. Also, I want a dedicated 0,0 with a measured move from machine Homing as I intend to use a removable fence with a vacuum system.


asking as I am considering a OneFinity purchase of Journyman…Norm

The BuildBotics controller does its job - it’s simple and easy to use. I especially like that it doesn’t need to be tethered to a laptop. The move advanced things you are looking for are not present, and likely will not be available any time soon (if ever). Most people with a dedicated fence design it so that the touch probe can sit at the zero point - or a known offset - to work around this.

A few brave folks have wired a 3rd party controller in place of the BuildBotics. There’s quite a bit of work required to do this - check out the 3rd party controller section of this forum for more details.

1 Like

Thank you Mike

With my work cnc (am now retired) we used removable aluminum angles with one short leg (1/8" wall x 1/2" leg x 1.5" leg x 6" long). Short leg went in a 1/8" plow line and material was placed against the 1.5" side…turn vacuum on and remove the brackets. Sort of like pop up pins. In Aspire we also worked from the machine bed rather than the top of the material. I suppose I could still work the same way but I am concerned about the lack of line code that prevents me from jogging the router to an easy location for a bit change. I suppose I could take note of the co-ordinates where the router stops at a bit change…move the router and change bit, then enter the co-ordinates back in to return the router to its last location. Does this sound possible…I’m certainly not interested in using a different controller…
your thoughts please…norm

Yes, what you’ve described is possible.

Here’s my workflow:

  1. I probe for X/Y to identify the 0,0 point (lower-left corner) of the material/fixture. You could do this after turning on the Vacuum and removing the aluminum angles from your description.
  2. I move the spindle and probe for Z only - in this case, to find the wasteboard (setting Z-zero to the bottom of the material). Using the hand-held controller to do this movement is quick and easy as well.
  3. I can now load a file and go.
  4. In between files I can change bits, reprobe for just Z, change material in the fixture as needed, and my X/Y 0,0 stays put.
  5. For V-Carve/Aspire, I can run a multi-tool job by telling V-Carve/Aspire to move to an offset position for the bit change (set with the Home/Start Position inside Material Setup), probe for Z there, and continue.

If you wanted a repeatable “move to a known location” process, you could create a g-code file with the right instructions and just load/run it. Or type it in manually each time. I have a g-code file that I routinely run that warms up my spindle - as an example.

This works - it’s not perfect, but doable. Once you have your X/Y 0,0 set you never have to change it or re-probe for it until you power off or re-do a home. If you trust the homing to be accurate enough, you could just move the spindle to a known spot and set zero without probing - but probing is simple enough to do if you’re only it once a day (and I’m not a very trusting person… :wink: ).

1 Like

Hello Mike…my apologies as I’ve bounced between this forum and the Facebook Group. The answer you provided above is a good description. As I know that I’m either using V-Carve or Aspire, I’ll down load the trial VCarve now in order to refresh my Vectric programming…I’ll likely buy VCarve first anyhow and upgrade to Aspire if necessary. Also, further apologies, I creeped your profile and see you have done some pretty cool work and I really like your edge clamping idea for edge Cnc files. Even though I haven’t yet committed to an 1F purchase it has me thinking how I could adapt the concept to the QCW base….not to mention your spindle upgrade. It’s comforting to know that other 1F owners have improved their machines in this area….as I implied, it’s difficult going from a 6’x10’ table with an Atc and vacuum to a much smaller machine etc. But, I am getting a bit ahead of things until I take the plunge. Anyhow, thanks again for your help…I’m almost there….

1 Like

@MikeH , what do you do in the case of an impromptu tool change, such as a broken cutter halfway thru a program? I’ve read so much about the Z probe limitations that, quite honestly, is what pushed me to a 3rd party controller. I would still consider switching to the buildbotics controller if they ever fixed this in the firmware, as this controller has some features I do like. On my controller, I can pause the program, jog X, Y, and Z to wherever I want to perform the tool change, and when I hit the run button the machine jogs back to the paused position and restarts, whether scheduled tool change or not. I always set Z zero on top of my workpiece, so the random stopping point for a tool change may not be where I actually want to perform the tool change. On rather large programs I will do one program per tool type, but I do plenty of smaller parts where I do 1 or 2 tool changes in the same program.

1 Like

This sounds like it could benefit from a user assignable button on the control panel that could run this as a macro or the button could be tied to a snip of code saved in a file. Is it really that difficult to add something like this in a future update.

The pause/resume functionality you describe is not available with the BuildBotics controller. I agree that more flexibility with moving around the spindle during the middle of a job would be very beneficial. If I was doing production-quantity work, I would find it mandatory - but I’m just a hobbyist and rarely do the same thing more than once.

I plan on installing a 3rd party controller sometime this year - but a 4th axis (as well as just something new to do) is what’s pushing me in that direction.

1 Like

What controller do you have?

Hey Andy,

Bill uses DDCS V3.1 (Manual)

1 Like

This is also a limitation in the actual BB controller as I found out last night when doing some research, not just a Onefinity version thing. IMO, this is a crippling oversight in an otherwise very good controller. I think you would see more requests to fix this in the Features Request section, but so many people are brand-new to CNC and don’t even know this feature is missing.


Hey all,

this issue, i.e.

No jogging in x, y, or z possible during tool change event (M6) or during pause

was discussed between Jim and me the other day when I was focusing on using a smart gcode insertion in the ‘tool-change’ field of the General Configuration Tab for allowing tool changes inside programs as Buildbotics suggests but Onefinity did not pick up in their implementation.

Under Feature Requests, this issue/missing feature is already mentioned: Tool change jogging plus notifcation/ETA of toolchange

Anyway Upstream is already aware of this missing Feature: Ability to move tool during pause #220


Hello all

It sounds like the inability to jog machine during pause has been an issue for many Cnc users with Buildbotics. As I am researching at the moment to trying to understand 1F and BB better I currently have two issues to get comfortable with.

They are:
(1) The issue stated above.
(2) The Soft Limits …am I correct that 1F does not use proximity switches? If not, can they be installed? Am I missing something here?


Hey Norm,

Yes, proximity sensors are supported. The Buildbotics and the Onefinity controllers support them as limit switches. You can wire them to the 25-pin I/O Port and enable them in the Motors Tab and of course their status will show up in the Indicators Tab. Cylindrical Proximity Sensors would look like this on the Onefinity:

Some people also use microswitches but I would always prefer using proximity switches.

The problem to solve anyway is how to attach them. As far as I know, everybody used 3D-printed parts, and I will do it this way too. An alternative would be milling them out of wood using a CNC! :slight_smile:

Further reading

Stall homing

Buildbotics Controller can use and Onefinity CNC does use Stall Homing. Stall homing means you do not have a sensor or something that indicates that the gantry is at the end, but instead the controller realizes the stepper motor suddenly generates no more power, deduces from this that it obviously does move no more, and states “it is at home”.

Technically, motor stalls are detected when the controller senses that there is no back Electro-Motive Force (EMF) caused by the rotating motor. Put differently, the controller detects that the motor has stopped turning as it would when it runs into an end stop.

The controller can only determine that there is no back EMF being generated when no current is flowing in the motor coil. This happens once per full motor step when the motor coil current is zero amps. At this instant, the only voltage present on the motor connection is from back EMF. If there is no back EMF at that instant, then the motor must not be turning.

The zero current period only lasts for one microstep. The goal is to measure the voltage during this microstep. There is actually a settling period, so it’s best to measure the voltage during the last half of that microstep.

Back EMF varies with the speed at which the motor is turning. If the motor is turning too slowly, the change in back EMF will not be distinguishable from noise.

If the motor is turning too fast, the axis may hit the end stop too hard and cause physical damage. So, there it a ‘sweet spot’ in the velocity.

It’s best not to run the motor at full current during stall detection. That way the torque and physical stress will be reduced when the motor hits the end stop.

– Source: Buildbotics Manual V1.0: Stall-min and stall-max homing


Hello…thanks for your answer. Good to know. I have been back and forth on building my own machine or buying…

My stumbling blocks besides budget seem to come down to the controller, quality of construction, and buying either Canadian or American…I am trying to avoid Chinese builds if possible. As I am Canadian and I am then faced with the USD exchange rate.

Regarding controllers …in my research I became a huge fan of Masso which I understand is an Australian company but I think they have the controller built in Asia somewhere. But, they are very well thought out.
Regarding Canadian builds in this market there are very few choices…and the ones there, except for 1F, usually have a substandard controller.
Regarding American builds, seems to be same issue plus the exchange issue.

Argggg…frustrating. Anyhow, my apologies for my rant. Am I to understand that the machine you have shown is using Buildbotics or is it a Masso….read so many threads I might be getting confused…

Hey Norm,

The pics above are from Tom’s @TMToronto’s machine who runs a Masso G3 controller but it shows how the Proximity Sensors look when retrofit on the Onefinity CNC - regardless which controller you use.

You’ll only need Aspire if you want to do complex 3D carving. VCarve Pro will do 3D effectively and costs $700 instead of Aspire’s $2000.

1 Like

I would try blender3d (completely free) for modeling and then export OBJ to vcarve for cutting.