TinyG2 (Arduino Due+gShield) weird probing behavior.

TinyG2 (Arduino Due+gShield) weird probing behavior.

My TinyG2 (Arduino Due+gShield) adventure continuation, hopefully not a neverending story. This time I want to report weird probing behavior.

I had some problems during the first PCB autoleveing last Sunday but after few tries it went somehow successfull through all 60 probe points. So I thought problem has been solved. But yesterday I tried another Autolevel and also Touch Plate and it looks “Due live its own life”.

The probe pin is using Zmin (D18 pin on the Arduino Due) and according to the appropriate settings.h it is defined as:

// Z min
#define DI5_MODE INPUT_ACTIVE_LOW // Z probe
#define DI5_ACTION INPUT_ACTION_NONE
#define DI5_FUNCTION INPUT_FUNCTION_NONE

INPUT_ACTIVE_LOW is a NORMALLY_OPEN equivelent, which I would expect is correct for a probe. The probe pin (D18) should be held HIGH state (VCC = 3.3V for Arduino Due) until it touch the copper = gets connected to GND and changing state to LOW.

I connected GND wire to the tool (bit) and the Z_min_ (D18) PROBE pin to the copper clad. Started Touch Plate widget first and it randomly works/doesn’t work/works… Then I used an external pull-up resistor with relatively low value to force a strong pull-up for the D18 pin and it did not help. Depending on the D18 logical state (which depends on whether it was connected to VCC or GND few moments before) it works or it does not and as the D18 logical state will fluctuate if not continuously pulled-up to VCC or pulled down to GND this is the reason why it sometimes works and sometimes does not.

Then I simply connected a DuPont wire to D18 and started Touch Plate test. Z-axis went slowly down, as expected, until I touched GND with the other end of DuPont wire. But when I touched the wire to VCC the situation was exactly the same. So I can ‘trigger’ the probe by connecting D18 to GND or VCC - it does not matter. The same happens with autoleveling. It does not matter whether I connect the D18 probe pin to GND or VCC to ‘trigger’ the probe.

Using pull-up or pull-down resistor ‘forces’ the probe pin to a HIGH or LOW logical state and probing gets triggered immediately at Z-probe-max height.

Based on my experience current state of TinyG2 development does not assure that your machine hardware can be operated predictably. I had some travels into bed due to failed probing last weekend, causing some bits to crack and some bad words to go out of my mouth…

In order to be on the safe side I made ArduinoDue+gShield+3motors+ a bread-board simulating limit switches and probe and now I can test, test and re-test with motors running in the air.

The only question is:
When the ArduinoDue based TinyG2 platform will complete its experimental phase and become a production ready device for CNC hobbyists?

This question is for @Riley_Porter_ril3y and @Alden_Hart

@sszafran thanks for the thread. My first answer to your “only question” would be that there are many people using g2 with the Due just fine. That being said if you have found a bug great (well not great) but lets come up with a way to repeat this failure reliably.

What this means is an issue opened on the g2 github. Attached to this issue would be your setting and a detailed description or your hardware setup as well as your firmware build / hardware revision. Also when a anomaly is discovered in our code we try to bring it back to “bare metal”. What I mean by this is to not use chilipeppr to replicate this bug. Use coolterm and g2 alone. Once / if the bug is repeatable then please describe your exact steps that you can do to replicate this in your github issue report.

I feel like you might be a bit aggravated with g2. Which I can relate to at times but leaving open ended questions on the chilipeppr G+ page is not really the right place to ask questions about g2. Social media bug reports are next to impossible to track and to support our users on. The only reason I really noticed this thread was that @jlauer alerted me to it. Lets see if we can fix this issue you are having but attacking this with a repeatable process!

Thanks again @sszafran

@Riley_Porter_ril3y I opened an Issue #126 on G2 github.

I don’t feel aggravated and hope not to be beaten by this small electronic board :slight_smile: But investing so many hours in the ‘keep trying’ process already and still getting unpredictable results + broken bits and eventually causing damage to the machine may get one temporarily out of balance.

Please let me know if/how can I help solving that issue.

BTW: Should I consider getting a TinyG?

@sszafran I just looked at this pic again. Your Due is sitting on an antistatic bag. These bags are conductive :slight_smile: This might have screwed something up in your due. Perhaps not but its pretty sensitive to stuff like this.