Holey Triangular Calibration

My thought is more like we should resolve the conflicts between the two versions of the firmware, so that they become one. We wouldn’t have to maintain two versions moving forward.

From what I understand, the primary conflict is the correction matrix in web control, and the implementation of chain stretch and sag correction in Holey. There may be conflicts with the parameter identifiers which would need to be addressed.

I understand and appreciate the sentiment, but let’s just try to get them to work side-by-side for the time being… too many fires in the iron. I’ll modify optical calibration to move the specific firmware keys up in the 90’s or something…

However, webcontrol can work with different firmware and send only specific “custom” firmware keys when it knows the firmware is custom and therefore needs some way to be told that the firmware is custom. As I mentioned, for optical calibration firmware, I upped the version # by 100. For holey calibration firmware, can the version number be increased by 200… so the current 1.26 becomes 201.26? This will also facilitate enabling the holey calibration routine in webcontrol since, if the version isn’t 200<=x<300, the holey calibration routine button will be disabled. That way someone running stock firmware won’t try to calibrate using the wrong routine.


I am a little nervous about this. The Holey Calibration process uses GC kinematics.py to do the kinematics calculations. In order for this to result in an accurate calibration, this has to align exactly with the kinematics calculations in the Firmware. So, if someone uses Holey Calibration to calibrate the wrong Firmware, the result will be an inaccurate machine, and the problem will be assigned to the calibration.

Not sure I follow. Webcontrol won’t allow someone to calibrate using holey calibration unless their firmware is a holey calibration firmware… assuming webcontrol knows its a holey calibration firmware, that’s why I suggested the +200 fix to the version number. That’s how it works with optical calibration… if the controller doesn’t report a firmware >100 (i.e., its a stock firmware), then the optical calibration button is disabled.

1 Like

This is why I think that the calibration calculation should be a call to the
firmware (a $B command or something like that), so it can use the actual
function, including any bugs or limits due to the arduino processor/compiler.

David Lang



It is post 327 above.

@Joshua has done a lot of fantastic work on it in his spare time and can confirm if this is the correct link to use.

1 Like

Yes. Those are the correct links.

1 Like

Thanks @WoodCutter4 and @Joshua Do I have to download python. Kivey. And pyserial all separately? I’m sorry for so many questions this is just all new to me. Is there a step by step directions like when I first set it up somewhere?

If you can run GroundControl, all python and kivy requirements should be settled.
A ‘tutorial for the GUI version’ is up at post 305.
How to -> holey-triangular-calibration

@Gero, @Tjacobs713 FWIW, That was not the case for me. Maybe I did it wrong or it was due to my using one of Joshua’s earlier versions of the fork.

1 Like

I might have missed something.
(playing on to many yards to be near of conclusive to one)

1 Like

I found it easy to do on a linux box where I already had GC running.

I gave up on trying to get it running on windows.

ok, I downloaded the firmware and ground control files, I’m assuming that the firmware just needs the cnc_ctrl_v1 file put into the audrino. There is no batch file for ground control like the original had to launch the app. Am i suppose to open the groundcontrol.kv file some how? or do i have to move some of the new files to the original downloaded folder? Thanks again everyone. I would really like to try this to get the accuracy close. The regular way has not been doing to well for me.

@WoodCutter4 @Joshua @Gero @dlang Any help with post above?

@Tjacobs713 you caught me a minute before bed, going to do the HTC (not to confuse with THC) again after second coffee in the morning and report back. Remind me please, what OS are you running?

1 Like

@Gero Thanks. I’m using windows 10.

unfortunantly I gave up on getting it running on windows. If someone can see
what was done to build the groundcontrol.exe for the stock GC and we can
duplicate that for holey triangualtion, that would be a great thing.

David Lang


@dlang it sure would make life easy!

Hi sorry, traveling for work. It was a couple of months ago when I did it (an older version than you would have downloaded).


No you need to run “main.py” using python.


Since I’m on the road for business, I might not have much time but, look back through this thread and there is an exchange between myself and Joshua where I believe he have some advice on how to get it going.
This took me a night of googling and downloading various supporting software that I installed using command prompt. Sorry I don’t have a good memory and just worked through each issue as quickly as I could. Not really sure how I got it work and I have been unsuccessful in getting other firmware to work on the same laptop after.

As I have time I’ll look through and see what other details I can find about what might be needed.

@WoodCutter4 Thanks. That in itself is helpful. Safe travels. Travis

1 Like