Groundcontrol closes unexpectedly upon connecting to arduino

Help! My groundcontrol software closes unexpectedly upon connecting to the arduino. By some quick printscreens, I got a screenshot of the error before it closes.

Welcome, how did the firmware upload go? Is this firmware and GroundControl 1.18? Is the come port the same as the Arduino IDE used? Did you restart GC? Is the Arduino IDE closed when you start GC?


how did the firmware upload go?

Not bad, the arduino program completed and said upload complete.

Is this firmware and GroundControl 1.18?

Firmware and GC ver 1.19 both

Is the come port the same as the Arduino IDE used?

yes, both at com6. lower right of screenshot confirms this and says its connected.

Did you restart GC?

yes couple times already. doesn’t close if i don’t connect the arduino.

Is the Arduino IDE closed when you start GC?

yes closed. even went into task manager to check

1 Like

Is this the windows portable GC?
Any additional clues in the command window?

Edit: Can you locate the log.txt in the GC folder?

Yes this is the portable GC. Didn’t know there was any other version lol.

Yes, here’s the log:

Connected on port COM6

PCB v1.2 Detected

error: EEPROM read fail. Using default settings.

Sent: $$
Grbl v1.00



Sent: B05
[Forward Calculating Position]

Message: Unable to find valid machine position for chain lengths 0.00, 0.00 . Please set the chains to a known length (Actions -> Set Chain Lengths)

$0=2438.40 (machine width, mm)

$1=1219.19995117 (machine height, mm)

$2=2978.39990234 (motor distance, mm)

$3=463.00000000 (motor height, mm)

$4=310.00000000 (sled width, mm)

$5=139.00000000 (sled height, mm)

$6=79.00000000 (sled cg, mm)

$7=1 (Kinematics Type 1=Quadrilateral, 2=Triangular)

$8=250.00000000 (rotation radius, mm)

$9=2000 (axis idle before detach, ms)

$10=0 (full length of chain, mm)

$11=1650 (calibration chain length, mm)

$12=8113.70019531 (main steps per revolution)

$13=63.50000000 (distance / rotation, mm)

$15=700 (max feed, mm/min)

$16=1 (Auto Z Axis, 1 = Yes)

$17=0 (auto spindle enable 1=servo, 2=relay_h, 3=relay_l)

$18=12.60000038 (max z axis RPM)

$19=3.17000007 (z axis distance / rotation)

$20=7560.00000000 (z axis steps per revolution)

$21=1300.00000000 (main Kp Pos)

$22=0.00000000 (main Ki Pos)

$23=34.00000000 (main Kd Pos)

$24=1.00000000 (main Pos proportional weight)

$25=5.00000000 (main Kp Velocity)

$26=0.00000000 (main Ki Velocity)

$27=0.27999999 (main Kd Velocity)

$28=1.00000000 (main Velocity proportional weight)

$29=0.00000000 (z axis Kp Pos)

$30=0.00000000 (z axis Ki Pos)

$31=34.00000000 (z axis Kd Pos)

$32=1.00000000 (z axis Pos proportional weight)

1 Like

To be honest, I’m clueless. Just trying to keep you motivated unit the experts come in :slight_smile:
It’s just the standard set of questions to rule things out and I might just ask them ahead. Sadly I don’t have access to a win machine right now to try 1.19 with a cleaned setup.
If you don’t mind a few more things:

  • is the arduino connected directly to the usb port or on a hub?
  • leave GC closed and start the arduino IDE, click the serial monitor and check if you have a output similar to this (57600 baud):
  • can you locate a groundcontrol.ini in c:\user\{yourusername}?

Hahaha, thanks for your help, I appreciate you replying to my post quickly :slight_smile: I went into this as a last resort as I googled quite enough before I decided to post.

The arduino is directly connected to my laptop :slight_smile: No hubs whatsoever.

It seems its really the chain measurement thingy as even the arduino IDE also says the same thing:

Yes, I can find my groundcontrol.ini, this is what it contains:
[Computed Settings]
distperrot = 63.5
kpposmain = 1300
kiposmain = 0
kdposmain = 34
propweightmain = 1
kpposz = 1300
kiposz = 0
kdposz = 34
distperrotrightchaintolerance = 63.50000
kpvmain = 5
kivmain = 0
kdvmain = 0.28
kpvz = 5
kivz = 0
kdvz = 0.28
chainoversprocketcomputed = 1
fpwmcomputed = 3
kinematicstypecomputed = 1
distperrotleftchaintolerance = 63.50000

[Maslow Settings]
bedheight = 1219.2
openfile =
motoroffsety = 463
sledwidth = 310
zaxissafeheight = 5
bufferon = 0
bedwidth = 2438.4
comport = COM6
macro1_title = Macro 1
sledheight = 139
macro2 =
macro1 =
zaxis = 0
sledcg = 79
macro2_title = Macro 2
colorscheme = Light
zdistperrot = 3.17
motorspacingx = 2978.4

[Advanced Settings]
rotationradius = 100
chainextendlength = 1650
kiv = 0
gearteeth = 10
spindleautomate = None
kdvz = 0.28
chainsagcorrection = 0
chainpitch = 6.35
zencodersteps = 7560.0
maxfeedrate = 800
enablepospidvalues = 0
rightchaintolerance = 0
enablevpidvalues = 0
chainlength = 3360
kpvz = 5
kdposz = 34
chainoversprocket = Top
kpposz = 1300
fpwm = 490Hz
kdpos = 34
encodersteps = 8113.73
truncate = 0
homex = 0.0
homey = 0.0
kinematicstype = Quadrilateral
kipos = 0
kdv = 0.28
kiposz = 0
digits = 4
kppos = 1300
kpv = 5
propweight = 1
positionerrorlimit = 2.0
kivz = 0
leftchaintolerance = 0

[Ground Control Settings]
zoomout = pagedown
centercanvasonresize = 0
viewscale = .45
zoomin = pageup
validextensions = .nc, .ngc, .text, .gcode

Many thanks!

1 Like

The error message is familiar, but should not crash GC and to get rid of it, GC needs to run.
2 things I would give a try if I was in your position, without knowing if it helps and I might be totally off:

  • try if GC 1.18 does the same thing (bugs do sneak in sometimes)
  • fill ‘openfile =’ with a valid path to a .nc file (there was an old bug as far as I remember)

Solved. Buggy 1.19 version right there :slight_smile: doesn’t close now with 1.18. Using windows 8 64 bit for reference.

I still get the chains error btw, why is that?


Congratulations on finding a bug! You may now open an issue on github so it is solved in the next release! :joy:
For the error message click continue and do the calibration (or did you do that before?).


Hahahaha thanks!

I didn’t yet. Have yet to mount my motors, arduino and sled to the frame :slight_smile:

Extremely appreciate your help and patience Gero! :smiley:


The Arduino does it’s work by moving the chains and keeping track of where they are. The error will go away when you’ve been through the chain calibration step. Until then you can ignore that alert :grin:


Did you open an issue on GitHub yet? I encountered exactly the same issue. Version 1.18 solved it (after 1,5 hours of testing and searching the forum).


Yes, there is an issue open for it here:

And I’ve created a pull request to fix the issue. Sorry!