GRBL 0.9g for OpenPnP at GitHub

4,208 views
Skip to first unread message

Bob Beattie

unread,
Sep 6, 2014, 5:06:32 PM9/6/14
to ope...@googlegroups.com
...can be found at this location :


It is currently empty, but will soon be populated with the code I have modified.

Best regards,
Bob.

mojalovaa1

unread,
Sep 6, 2014, 5:29:51 PM9/6/14
to ope...@googlegroups.com
Ok , I will wait , thanks

Bob Beattie

unread,
Sep 7, 2014, 12:16:04 PM9/7/14
to ope...@googlegroups.com
Hi everyone,

GRBL 0.97 (originally 0.9g) is now available for download from:

Examine and alter config.h and cpu_map.h for your particular setup.

Linux users:
ls /dev/  should show ttyACM0 when Arduino Mega2560 R3 board is attached
make clean
make
make flash

Connect a serial terminal (CuteCom) and connect to /dev/ttyACM0 at 9600 baud, 8N1.
$V for version
$$ for controller settings

Happy usage,
Bob B.

Jason von Nieda

unread,
Sep 7, 2014, 2:58:45 PM9/7/14
to ope...@googlegroups.com
Hi Bob,

Thanks for posting this. Very nicely done! The changes to add the 4th axis are much cleaner than they were a few years back.

I understand most of the changes but I had one question. Why did you comment out this code in stepper.c?

//  if (bit_istrue(settings.flags,BITFLAG_INVERT_ST_ENABLE)) { pin_state = !pin_state; } // Apply pin invert.
//  if (pin_state) { STEPPERS_DISABLE_PORT |= (1<<STEPPERS_DISABLE_BIT); }
//  else { STEPPERS_DISABLE_PORT &= ~(1<<STEPPERS_DISABLE_BIT); }


Did you just not want to use stepper disable on your system?

Thanks,
Jason



--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/837aa954-3cab-4fca-924a-46897ecdcb23%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Bob Beattie

unread,
Sep 7, 2014, 4:15:03 PM9/7/14
to ope...@googlegroups.com
Hi Jason,

That might infact be an honest mistake !  :)

Bob.

Jason von Nieda

unread,
Sep 7, 2014, 10:40:42 PM9/7/14
to ope...@googlegroups.com
Hi Bob,

I incorporated your changes into a repo at https://github.com/openpnp/grbl which is a fork of grbl/grbl. The purpose for this is so that we can maintain a shared ancestry with the original project. The benefit there is that as changes are made in grbl/grbl it's very easy to pull them in. This could include bug fixes, improvements, etc.

I also massaged the changes a bit to try to come up with the minimal set that implements your work but provides the lowest impact to the codebase. This makes it easier to pull in changes in the future since our grbl code will more closely match the master grbl code. I retained all of your copyrights that you added. 

I hope you find this useful. If you object for any reason I am happy to take it down. My hope is that by doing this it provides a good way to make sure we stay up to date with Grbl as it moves forward instead of creating an orphaned fork.

Thanks,
Jason



--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.

Bob Beattie

unread,
Sep 8, 2014, 5:46:54 AM9/8/14
to ope...@googlegroups.com
Hi Jason,

I'm fine with this, but a couple of comments.

1. I commented out the stepper disable code because I haven't implemented the existing 'stepper hold' definition.  So at the end of a move the steppers are disabled and my pick head drops because it is belt driven.

2. The GRBLDriver.java when querying the GRBL version tries to match "$VERSION = xx.yy" after connecting.  GRBL doesn't always respond upon connection in my setup so I added a $V command to system.c and updated the GRBLDriver.java with a $V command.  The code then unlocks the machine by sending $X.
See lines 236 & 263 in GRBLDriver.java

I can keep an eye on master GRBL code and provide you with updates as needed.  How would this best be done ?

Best regards,
Bob.

Jason von Nieda

unread,
Sep 8, 2014, 10:27:29 AM9/8/14
to ope...@googlegroups.com
Hi Bob,

Good point on stepper disable. I had forgotten about that. I'll comment that bit back out. 

I updated OpenPnP to handle the newer Grbl version reporting and to use $X. You can see my changes at: https://github.com/openpnp/openpnp/commit/770b51a7f16f383302fce9c58d887e458c50b161

I figure it's better to keep up to date with what Grbl is doing rather than let OpenPnP dictate what Grbl should do.

As for handling updates, you can just email me if you see something you want pulled in, or I can just add you to the OpenPnP team if you like and you can just manage that repo. If you are new to Git and GitHub I'd be happy to help you along. It's a very powerful system once you get to know it.

Thanks,
Jason



--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.

bob_gmail

unread,
Sep 8, 2014, 10:35:04 AM9/8/14
to ope...@googlegroups.com
Hi Jason,

I like the use of MinimumBuildVersion.

I was going to send, "I think in the near future I'll just email updates to you.", but
hey, I have to learn to use GIT at some point ! :D

Once I get the stepper disable routine copied over (including the eeprom setting), I'll
upload the new source file(s)

Br,
Bob.

Jason von Nieda

unread,
Sep 14, 2014, 1:34:41 AM9/14/14
to ope...@googlegroups.com
Hey Bob,

I highly recommend reading https://help.github.com/articles/using-pull-requests to get an idea of how this ecosystem can work very smoothly.

The basic idea is:

Find a repo containing software you want to add to or modify.
Fork it on GitHub.
Work in your forked copy, committing anything you want.
Now and then do a "Pull" from the original repo to keep your software up to date with theirs.
When you have features you want to send back to the original, create a pull request.


The cool thing about this model is that it allows you maintain your own fork/branch of a piece of software, with features that only you care about, while still being able to pull in bug fixes and such from the original software. Git makes it very easy to "catch up" to changes that have happened. 

One final note: I put up the openpnp/grbl repo to rebuild this history. I did almost exactly the above steps to do that, except instead of "work in your forked copy" I just copied your changes in and committed them. If you are interested in maintaining this fork I'd be happy to just hand it off to you, or you can re-create it in the same fashion I did. I don't personally use Grbl but I do think it's probably the best fit for a simple to use firmware to get people up and running, so I am happy to try to maintain it. I'm also in the process of putting together instructions and distribution to help people quickly get up and running with OpenPnP and Grbl.

Jason





Bob.

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+unsubscribe@googlegroups.com.

To post to this group, send email to ope...@googlegroups.com.

Bob Beattie

unread,
Oct 6, 2014, 11:03:36 AM10/6/14
to ope...@googlegroups.com
Hi Jason,

Haven't forgotten about you, just that work has been busy recently and I've started doing mechanical precision and repeatability tests on my hardware.  Graphs to follow soon !

Bob.

Jason von Nieda

unread,
Oct 6, 2014, 11:10:00 AM10/6/14
to ope...@googlegroups.com
No problem Bob, I know how it goes. I've been working towards getting a machine together so I can provide some useful instructions to folks, too.

Jason


--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.

To post to this group, send email to ope...@googlegroups.com.

Cri S

unread,
Nov 6, 2014, 2:47:18 PM11/6/14
to ope...@googlegroups.com
Just for curiosity, what is the last supported Grbl version or what alternative reprap firmware is suggested as grbl replacement, as currently grbl support is broken, at least in devel fw.

What is really used for developement, sprinter or tinyG ?

Arthur Wolf

unread,
Nov 6, 2014, 2:48:31 PM11/6/14
to ope...@googlegroups.com
If you want to try Smoothie, and run into any trouble with it, tell me and I'll make sure it gets fixed.
I'm not sure how well it's supported atm.

2014-11-06 20:47 GMT+01:00 Cri S <phon...@gmail.com>:
Just for curiosity, what is the last supported Grbl version or what alternative reprap firmware is suggested as grbl replacement, as currently grbl support is broken, at least in devel fw.

What is really used for developement, sprinter or tinyG ?

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Courage et bonne humeur.

Jason von Nieda

unread,
Nov 6, 2014, 4:25:26 PM11/6/14
to ope...@googlegroups.com
https://github.com/openpnp/grbl is up to date and should work with the GrblDriver. It is currently missing code to remove stepper disable, I haven't had a chance to throw that back in. 

I do most of my development with TinyG and the TinygDriver but will soon be spending some time adding solid support for Marlin.

I'm interested in focusing on Marlin instead of Grbl because Marlin has build in support for 4+ axes where Grbl requires major modifications to add the fourth axis. 

If someone wants to help maintain the Grbl fork, GrblDriver or anything else, that would be great!

Jason




On Thu, Nov 6, 2014 at 11:47 AM, Cri S <phon...@gmail.com> wrote:
Just for curiosity, what is the last supported Grbl version or what alternative reprap firmware is suggested as grbl replacement, as currently grbl support is broken, at least in devel fw.

What is really used for developement, sprinter or tinyG ?

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.

Cri S

unread,
Nov 7, 2014, 8:19:12 AM11/7/14
to ope...@googlegroups.com
I can takeover the motion code at one condition. It must have g54 .. Support ie the 6 coordinate systems.
This automatically exclude marlin andwhaand sprinter.
Further z probing is nice to have but not required.
Tell me your decision.

Jason von Nieda

unread,
Nov 7, 2014, 12:44:01 PM11/7/14
to ope...@googlegroups.com
Hi Cri S,

What I'm looking for is someone to take over a firmware / OpenPnP Driver combination. Since there are many different types of machines and many different firmwares, I think it would be good if someone who prefers a certain one maintains the code and driver for it. For instance, if someone likes Grbl and wants to use it, they could maintain the driver and firmware and maybe even some instructions.

If you are interested in that, which firmware would you want to use?

Jason


--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.

Bob Beattie

unread,
Jan 27, 2015, 10:26:11 AM1/27/15
to ope...@googlegroups.com

On Friday, 7 November 2014 17:44:01 UTC, Jason von Nieda wrote:
.....What I'm looking for is someone to take over a firmware / OpenPnP Driver combination.

Hi Jason,

(Taking the plunge!)  I'm happy to provide the GRBL driver support, now that I have a good understanding of my system.

Best regards,
Bob.

m34...@gmail.com

unread,
Jan 30, 2015, 2:57:08 PM1/30/15
to ope...@googlegroups.com

i have integrated GcodeDriver including linuxCNC .
Here the GrblDriver.java with little update.
GcodeDriver.java

Bob Beattie

unread,
Jan 31, 2015, 12:12:41 PM1/31/15
to ope...@googlegroups.com
After a reset of the GRBL controller running v0.9g, how are you issuing the commands to unlock the machine and perform a home ?

Bob.
Message has been deleted

Cri S

unread,
Feb 2, 2015, 6:53:40 AM2/2/15
to ope...@googlegroups.com

Jason von Nieda

unread,
Feb 3, 2015, 12:55:46 PM2/3/15
to ope...@googlegroups.com
Hey Bob,

Thanks for volunteering! Here is what I'd love for us to have:

1. A Github repo which is a fork of Grbl that works with OpenPnP. Obviously this would need to include the 4th axis code. I don't care if this is an openpnp organization repo or a persona/private one but I do ask that it be setup such that bug fixes and improvements can readily be pulled from Grbl master. If you want to use the openpnp/grbl repo I'm happy to turn it over to you.

2. Maintenance of the GrblDriver in OpenPnP. This should remain compatible with the Grbl firmware in the repo above. 

3. A Wiki page on http://github.com/openpnp/openpnp that describes how to configure Grbl and connect OpenPnP to it.

Also, since Cri S has been doing a lot of work with Grbl it would be good if you two could coordinate and make sure everything is on the same page. For instance, there is a pull request in for the GrblDriver that has a lot of changes that I can't really test, since I don't use Grbl: https://github.com/openpnp/openpnp/pull/72

Open to thoughts on all this. Consider this just a first pass at how this could work. 

Thanks,
Jason


--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.

Ravi Ganesh

unread,
Dec 14, 2020, 10:23:37 AM12/14/20
to OpenPnP
OpenPnP is a great project and I am working on converting a 3 axis desktop mill for Pick and Place.
Since Bob Beattie code is pretty old and also since it uses a AtMega2560 while most users might want to start with plain Arduino Uno (with Atmega328p) I had to merge Bob Beattie's code with the latest gerbl 1.1h.
You can find my work on https://github.com/surabibio/grbl
I would be glad get this pulled into OpenPnP.
While this code compiles and runs on an Arduino, I haven't tested it yet with Pick and Place as I am still waiting for a Pick Nozzle and the camera. I will keep posting and ask for help as I progress.

Ravi Ganesh

Ravi Ganesh

unread,
Dec 30, 2020, 1:39:34 AM12/30/20
to OpenPnP
I am very excited to do share my first pick and place. It is long way to go and the journey is very intidimating.
The modified grbl works fine bye the bye.

 
 
first pick and place.mp4

Виталий Гончар

unread,
Dec 30, 2020, 1:50:03 AM12/30/20
to ope...@googlegroups.com

Hi Ravi, how do you add cross lines to the top camera image?


ср, 30 дек. 2020 г. в 08:39, Ravi Ganesh <surab...@gmail.com>:
I am very excited to do share my first pick and place. It is long way to go and the journey is very intidimating.
The modified grbl works fine bye the bye.

 
 

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.

Jason von Nieda

unread,
Dec 30, 2020, 1:51:03 AM12/30/20
to ope...@googlegroups.com
Nice work Ravi! It's a great accomplishment to get your first part placed! Way to go!

Jason


On Wed, Dec 30, 2020 at 12:39 AM Ravi Ganesh <surab...@gmail.com> wrote:
I am very excited to do share my first pick and place. It is long way to go and the journey is very intidimating.
The modified grbl works fine bye the bye.

 
 

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.

Mike Menci

unread,
Dec 30, 2020, 2:08:26 AM12/30/20
to ope...@googlegroups.com
Mouse right click on image and select 

BR, 
Mike

***************************Disclaimer***************************

The contents of this e-mail and any file transmitted with it are confidential and intended solely for the individual or entity to whom they are addressed.  The content may also contain legal, professional or other privileged information. If you received this e-mail in error, please destroy it immediately.  You should not copy or use it for any purpose nor disclose its contents to any other person. The views stated herein do not necessarily represent the view of the Company.

Please ensure you have adequate virus protection before you open or detach any documents from this transmission. We do not accept any liability for  viruses!


On 30 Dec 2020, at 07.51, Jason von Nieda <ja...@vonnieda.org> wrote:



Ravi Ganesh

unread,
Dec 30, 2020, 5:23:56 AM12/30/20
to OpenPnP
Hi,
Thanks for taking the time to view my video. 
This feature is well documented in the user manual  User Manual · openpnp/openpnp Wiki (github.com) 
Right click on camera panel -> Reticle -> cross hair
;-)
 

Ravi Ganesh

unread,
Dec 30, 2020, 5:35:02 AM12/30/20
to OpenPnP
Thanks Jason, as Micheal DeVault said I am being carried on the shoulders of giants. Please consider merging it with the existing grbl source.

I currently have only one issue. Grbl needs to acknowledge OnMoveComplete so that OpenPnP can synchronise it commands. Any suggestions on the MCode for grbl?
Ravi Ganesh
.

bert shivaan

unread,
Dec 30, 2020, 9:42:28 AM12/30/20
to OpenPnP
Great Job!!!!!!!

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.

Ravi Ganesh

unread,
Jan 3, 2021, 1:15:34 AM1/3/21
to OpenPnP
Thankyou.
Happy to share the image of the first PCB after reflow. It was at 300 CPH and I am more than happy with the placement accuracy.

As for MoveCompleteComplete command I added "G4 P0" and this made a huge difference for vision and my confidence.
There was a lot of learning and I owe something like updating the wiki documents with information only found in the discussion group, but critically required to build/repurpose a machine.

Ravi

first pnp reflow.jpg

Ravi Ganesh

unread,
Jan 31, 2021, 3:06:56 AM1/31/21
to OpenPnP
Glad to showcase a method of stuffing a large number of components with a single feeder.
PCB photo.jpg
This board has more 130 unique parts numbering 1000 components in all.
And here is a small video of stuffing using a single feeder. Any questions welcome.

openPnP single feeder R0.mp4
Reply all
Reply to author
Forward
0 new messages