Hello! I recently upgraded my CNC from an arduino UNO + gShield to an

Hello!
I recently upgraded my CNC from an arduino UNO + gShield to an Aduino DUE + external stepper drivers. I use the TinyG G2 for DUE + gShield firmware (87.01) and got everything to work including homing etc.
The only thing that doesn’t seem to work is probing for z height. Everytime I use the Touch Plate widget it stops at the correct height, as soon as the bit touches my Touch Plate, but then the machine completely stops. Then I have to reset my board and loose my position.
My probe is on input di5 and the machine stops even though the input action is set to none. I tried every combination of these three settings but the machine behaves always as I described before.

[di5mo] input mode 0 [-1=disabled, 0=NO,1=NC]
[di5ac] input action 0 [0=none,1=stop,2=halt,3=stop_steps,4=panic,5=reset]
[di5fn] input function 0 [0=none,1=limit,2=interlock,3=shutdown]

I also checked with $in if my Plate works as expected and it does.
Because it didn’t seem to be a problem with Chilipeppr or the Touch Plate I tried to upgrade to the latest firmware but that didn’t work out… I compiled the latest firmware with BOARD=gShield and my own settings file and programmed the board. That worked fine, but once my DUE is on the new Firmware 100.15 it behaves exactly the same. It stops immediately if reaches the touchplate and doesn’t retract anymore.

It would be very nice if someone could look into this. I assume I overlooked some setting somewhere and this all could be solved with probably one changed line :slight_smile:

Let me know if you need any more detail. And thanks in advance!

Here are the infos after the firmware upgrade. Might help:

[fb] firmware build 100.15
[fbs] firmware build “100.15-5-g295d”
[fbc] firmware config “settings_DUE.h”
[fv] firmware version 0.99
[hp] hardware platform 3.00
[hv] hardware version 0.00
[id] g2core ID 0084-d639-0084-5ad

My intial gut reaction here is this is not ChiliPeppr, rather it’s Synthetos TinyG firmware. Probing is a single Gcode command and that’s all ChiliPeppr sends. @Alden_Hart what’s your take?

I am interested how did you manage to get fb 100.15 running in Chilipeppr. I found this firmware version is getting board frozen every time I send $$, and I think CP does this after first connection.
Probing on Due is a sort of problems, check earlier posts and Synthetos Wiki issues.

ChiliPeppr doesn’t send $$ as far as I recall, but it does send about 10 lines at startup to get it into the correct mode. Those 10 lines are in the code of the widget, but it tends to be the line that asks for status reports that crashes G2 core. Just choose “Send No Init Cmds” in TinyG widget upper right corner triangle pulldown menu to have no init commands sent, and thus no crashing of G2.

OK thanks! I’m gonna check out the Synthetos Forum then. I’m sorry I can’t help you Sebastian but for me fb 100.15 worked “out of the box” in Chilipeppr. $$ does work as expected and my board didn’t freeze

Can you please point me to settings_DUE.h? This is not in the main project, AFAIK. This sounds like a configuration issue, but I can;t be sure.

What do you mean exactly? settings_DUE.h is not in the main project because it’s my personal configuration file for my CNC. It’s basically a copy of settings_default.h with correct settings for my machine.

Update: I knew it was just one stupid line that caused all this! fb 100.15 wasn’t stable after all and i downgraded to 87.03
The reason this all happend was somewhat my fault: After setting up my limit switches I added soft limits. ztm (z travel max) was set to 0 and everytime the probe touched the plate the machine moves to a positive Z value and then immediatly stops because of the soft limit.
Without softlimits or with a postitive value for ztm it works as expected.
There’s still a question left: Why does a touchprobe change my machine coordinates and not just my work coordinates? That makes my softlimits completely useless!

The super touch plate gives you more options for which coordinate system gets change

Thanks for clarification @Yves_Kompis ​. I was continuously guessing why the error was not reproducible on your side, while I tested it on two different Due boards. Downgrading to 87.03 explained everything.
There is new 100.16 firmware available anyway thanks to @Alden_Hart1 ​ and @Synthetos ​.

For your software limit issue, zero point it is related to machine zero after homing, which is mostly unchanged for X and Y axis, but can be changed for Z axis due to zero probing, which depends on the material thickness.
After some playing with soft limits I have set Xtn = Xzb + 0.1mm for X-min and Ytn = Yzb + 0.1mm for Y-min accordingly. My Xzb and Yzb is set both to 5mm.
I have set the Zzb (Z backoff) to 30mm so my Z-zero height after homing is already -30mm from the max possible Z-height and there is still enough room for tool change and to go down along Z axis for milling. With this setting my Ztm is set to 30.1mm. I don’t remember the Ztn value and I’m not at the machine now, but it is set somewhere in the bottom of my waste board, so if I eventually go into the table I will crack the tool with waste board, but never with the aluminium table of the machine. In other words Ztn is really not applicable, as tool length may be different and for some tools you might be at already in the table.

I recommend to allow hard limits to avoid going over mechanical limits of the machine.

One thing to mention:
With my settings, I always use G0 Z25 as tool change height in my gcode files and this way I never catch the Zmax limit during cnc job, as there is at least 5.1mm available ‘distance of safety’ at home-zero and it is additionally increased by the distance between home-zero and touch-plate probe zero (top of material).