I'm proud to present a new Feature in Chilipeppr at eagle-import widget.

I’m proud to present a new Feature in Chilipeppr at eagle-import widget. This feature allow to dispense Solderpaste drops to your PCB. Here are the first episode about this topic. In some houres i upload the technical session about the dispenser.
http://www.youtube.com/watch?v=TY02ZsGJVxE

this is super exciting. I thought I heard you say “second arduino”. That sounds really cool. Can’t wait to see how this all comes together. Anything that gets folks closer to going from an idea for a circuit to a fully populated circuit without much time or effort is a step in the right direction. Thanks so much for working on this and sharing it with the world!

Yes, the second arduino with 2 Stepper drivers will control the stepper on Dispenser and Pick an Place Header. To mark this in gcode i use a special Axis with Letter “D” for (D)ispenser :slight_smile:
I’ll work hard on a solution, but it’s not so easy. I’m in contact with John and the GRBL Guys. Thank you very much for your compliment’s.

This is really looking good. I didn’t realize the green dots were you generating a matrix of solder dots to fill a pad. That’s really nice. As I was watching, when you send the G0 D value, your main CNC will just skip over that and start the next line of movement because it’s no longer synchronous moves using a 2nd controller/arduino. So you’ll have to do a pause there to make it feel synchronous by using something like G4 P2000 for a 2 sec dwell.

if he used G1 instead of G0 would it then remain synchronous? or is it because it is a second controller and it doesn’t know when it is done?

It’s because it’s a second controller and ChiliPeppr is the glue and to have those sync is not a super easy task. If he was using TinyG there is an onExecuted event for each line that would be really easy to sync off of. Grbl doesn’t have that so you end up sort of guessing which I don’t think will work. What could work is to mimic an M6 tool change which essentially treats the gcode file as if it’s a bunch of tiny independent files. When you get to the end of the “file” you trigger the 2nd Arduino and then you start playing the next “file”.

Another approach might be to daisy chain the second arduino off the first, using a i2c bus (or software serial bus) or something. Have GRBL on the first arduino parse and detect the command and forward to the second. Then it still looks like a single controller.

If you had a controller with extra axis (like the TinyG2 which can have XYZABC then you could use B and C)

@dhylands you can do this, but you have to change the grbl firmware. Problem, they use close all ram and u cant put big logic in this pice if software. For a serial forward u need a second uart driver and free pins. For i2c maybe possible but u have to implement “wire” in both grbl arduinos. I guess to patch the planner in grbl to print out completed message are better.
Another idea, a third arduino to manage both of them. He send all serial commands to the first grbl and check for special commands for second arduino :slight_smile:

Or it’s time to move on to the platform I prefer because it’s more advanced and uses modern hardware–TinyG!

i say try the pause approach!

Great job Frank. Keep on.