reflashing carbide motion controller

Discussion about the arduino based g-code interpreter, grbl
Posts: 67
Joined: Fri Feb 06, 2015 5:00 pm

Re: reflashing carbide motion controller

Post by rodcar125 » Wed Nov 04, 2015 8:24 pm

cvoinescu wrote:There's not much in EEPROM, so it's easy to clear:
  • WCS: clear with G10 L2 P1 X0 Y0 Z0, then repeat with P2, ..., P6. Note that's L2, not L20.
  • Startup lines: clear with $N0= and $N1= (nothing after the equal sign).
  • Settings: just enter new settings instead (e.g. $1=255).
Whats the difference between L2 and L20? and just to confirm... does it matter If I enter the G10L2P1X0Y0Z0 right after i power up the machine or not?
Shouldnt I need to do a G92.1 before to clear all active offsets?

Sorry for all the questions but I seem to have problems wrapping my mind around it
FargoPhil wrote:
rodcar125 wrote:Any luck reflashing the carbide motion board?
I would like to do some mods too specially, clearing all the eeprom memory since i think i screwed up the WCS and want to have a clean start
cvoinescu is right, that would be like swatting a fly with a bazooka. But to answer your question, yes. I was able to pull the source from github, compile, and upload to the carbide motion board. The procedure is well documented on the grbl github site.

There were two issues I ran into.
1. I didn't know what kind of ardino the carbide motion board is equivalent to. Answer: Uno.
2. The procedure involves importing the grbl source as a zip library. There's an example sketch that you then load which wires everything up. What I didn't realize initially is that the source is copied to a directory owned by the ide. The changes I made weren't being realized by the compiler since it wasn't looking where I thought. My solution was to reimport for every build. Super annoying but not a big deal when you know what's going on. If I were serious about grbl development I'd figure out how to do it right.
So its basically the same as flashing GRBL to an uno? don't know what I did wrong then, I must have been sleepy or something.
Ill try it again tonight.

And you are right about being an overkill if all you wanted to do is clear some offsets but I want to update to GRBL i and set some other complie options.
I think ill have to figure out the pin changes right?

Posts: 4442
Joined: Thu Jul 19, 2012 6:50 pm
Location: Camberley, UK

Re: reflashing carbide motion controller

Post by cvoinescu » Wed Nov 04, 2015 10:09 pm

G10 L20 sets the work coordinates relative to the current position, so what it does depends on where the machine is. It's very handy, but not for this.

G10 L2 sets the work coordinates directly in absolute machine coordinates, so setting all offsets to 0 effectively resets that work coordinate system to the factory setting.

G92 offsets are not stored in EEPROM, and I'm not sure how they interact with setting work coordinate offsets with G10 L2. I would expect G92 would not affect the stored offsets, but sure, do the G10 L2 at startup, or after a G92.1, just to be on the safe side.

Note that upgrading GRBL does not clear the EEPROM, unless you're changing between major versions.
Proud owner of ShapeOko #709, eShapeOko #0, and of

Posts: 62
Joined: Wed May 20, 2015 2:40 pm

Re: reflashing carbide motion controller

Post by FargoPhil » Wed Nov 04, 2015 10:13 pm

As far as I know, it's literally the same as flashing to an Arduino Uno. If you are building from source, there's a bunch of files in there with defaults for different CNC machines, Shapeoko 3 is one of them. You just need to tell it to use that one. (Sorry that's incredibly vague. I don't recall which file it was that you edit off hand. It's in the docs.) I didn't do anything besides that to specify pins. It just worked. I've been running 0.9j for a couple weeks without issue.

Post Reply