Converting LaserSaur to LaserBoard

Machine: LaserSaur with a bastardized grbl shield on an Arduino Uno.

Board: Cohesion3D LaserBoard (what I’m trying to install)

Firmware: Probably smoothie as I don’t need raster much.

Problem/ Question: Just working through what I have now, in terms of wiring, and trying to correlate all that with the LaserBoard hookup. Much of this is just a sanity check before I dig in.

External Drivers


The LaserSaur has GeckoDrive G203V external drivers. Unlike the suggested external drivers, these don’t have differential signal pairs. Just Disable, Step, and Direction.

Looking at Laserboard pinout or simplified schematic it seems that the + pins of those differential pairs are just steady 5V anyways. So, to confirm, I can just not use those wires with my external drivers, correct?


The G203V has a disable pin vs enable on the external drives sold on the C3D store. According to the G203V docs, 5V on the disable pin will disable the steppers. I could not find specific docs on the C3D external driver but on others I’ve found it looks like they are disabled when that pin is low, not high like what I have :frowning: Assuming I am correct, is there a way to flip that logic in Smoothie so that my external drivers work as is?

Sadly I’m not seeing any config option in the smoothieware config options docs.


LaserBoard Connecting External Steppers says to set the microsteps to 1/16 microstepping. Is there a specific reason for this other than that’s what the default smoothie config is setup to use? The G203V is locked at a weird 1/10 microstepping (2000 steps/rev) and cannot be changed.

Mechanically I have 5mm pitch belts with 12 tooth pulleys. So, given the 2000 steps/rev, I should be able to set alpha_steps_per_mm and beta_steps_per_mm to 33.3333 in the smoothie config. But just wanted to confirm there wasn’t a reason for the given 1/16 microstepping.

Granted, this is assuming I can somehow make the G203V drivers work and am stuck with 2000 steps/rev.

Laser Control

My machine has a DY13 laser power supply and has both active high and active low control. Pretty sure I only need hook up Laser Ground and Laser Fire, but can you confirm that Laser Fire is active high?

LaserBoard Dimensions

You’ve got CAD models for the previous controller boards but I could not find any for the LaserBoard. Any place I can find that? I need to fabricate a new mount for this controller.
Worst case, I’ll just get close with calipers, but always nice to have a full model or dimensional drawing :slight_smile:

Thanks! That’s it really. Everything else looks straight forward.

I took a look at that driver. This is the case we are not easily prepared for handling. The mass of external drivers out there (meaning costing at least one decimal place less than Geckos do) either have 6 pins where there are + - differential pairs for each step, dir, and en, or 4 pins where the +'s are combined and that is usually labeled OPTO.
To account for both of these cases and also buffer and level shift from the microcontroller’s 3.3v to 5v, we are actually using open drain inverter IC’s on the LaserBoard.

So the question becomes how do we convert from an open drain inverted signal back to the original TTL signal? If you implement pull up resistors on the - lines from the external stepper driver signal outputs on laserboard to the +5v lines, that un-open drains it but the signal is still inverted. There is a way to invert a signal in the Smoothie config file by adding a ! after the pin # for the step, dir, and en pin definitions.

That may be one option. The entirely hardware way to do it would be the pullup resistor to 5v and then a regular (not open drain) hex inverter to then flip the signal back.

That should answer your question about the enable/ disable line as well, just add or subtract the ! on the enable pin definition as needed.

Our built in drivers and steps per mm values are all set for 1/16 microstepping so that’s a great place to start people off. You can do whatever you want as long as you account for it in steps per mm and max speed and acceleration values.

We also have an opto isolator to protect against power spikes from the LPSU so you should tap to the 4 pin screw terminal on the left that has “Laser Fire” and “Laser Gnd” and run the wires (LOW = ON) to L and Ground to Ground from the LPSU to these.

If you find the dimensional drawing for the C3D Mini (it’s on old portal), the mounting holes are in the same grid relative to each other so you can check me on this:

The LaserBoard is 100mm wide by 76mm tall with M4 mounting holes whose centers are at:

95, 62
95, 8

Don’t forget endstops.

Hope that gets you going. :slight_smile:

Re: the external drivers - while that sounds doable, it sounds janky.
I hadn’t really realized how weird the drivers I have on there are - I’m just gonna solve the problem by picking up some newer drivers. Might as well.

Just to confirm, you are saying to use the LPSU active low instead of the active high control I’m currently using? (Mostly checking because neither the LaserBoard or my LPSU have a pin labeled just “L”)
As in:
LPSU Ground -> Laser Ground
LPSU Trigger Low -> Laser Fire

Excellent, good enough :slight_smile: Thanks!

Yep, didn’t mention as I’m pretty confident on that part. All of mine are Normally Closed which, from what I’ve seen in the smoothie docs, should be what’s required. I’ve got 2 endstops for each axis and while I don’t have the keyed connector the LaserBoard uses, the standard dupont connectors seem to fit and hold in place just fine. So I should be good.

The weirdest part will be the door switch as I’ll need to replace some NAND logic the original board provides that disables the LPSU power if either the door is open or the water chiller malfunctions (or is off). But I’ve got a handful of basic logic ICs on hand that I’m certain I can whip something up that will provide the same safety features :slight_smile:


Allrighty. Sounds like you know what you’re looking for now. The DM542 is an affordable nice one, actually.

“L” is the Laser Fire on the LaserBoard, it literally says “L” on the board front.
Yes we want active low. I was trying to use other words to say the same thing to make sure the terms were being used correctly.

Yep, NC switch to Sig and Gnd. May have to fiddle the config file based on the location of the switches (as in which corner the head homes to).

All those interlocks should first and foremost cut off the LPSU from firing the laser. We may be able to also wire that output signal to pause the C3D afterwards, but the job is lost by that time anyways.

Awesome. All sounds good. Will let you know how it goes :slight_smile:

It works! :slight_smile:
Ended up being a pretty quick swap out.
Did a couple quick test cuts and all seems to be working, though I’m holding off testing more until I can get the safety interlocks back in place and am waiting on a couple components to make that happen.

One curiosity though is that my 50mm square test cut ended up being ~50.8mm both in X and Y
I have steps per mm configured as 53.33 on both axis, given that I have the following:
Steppers: 1.8° per step
Microstepping: 1/16 (3200 steps per rev)
Belt Pitch: 5mm
Pulley Teeth: 12

According to that works out to 53.33 steps/mm
And I confirmed that lightburn is cutting on center line and not doing any kerf offset.
It if were related to steps/mm then running the math backwards given the size I got vs what was programmed it should be around 52.5 steps/mm, but that wouldn’t match up with any possible settings I could change the the steps/mm calculation.
Anything else worth looking at that might be causing it?

Ah ha!!! Bad assumptions… despite my laser being “open source”, the creator of it is complete crap about providing ALL the details and especially keeping details for old revisions available. While the most recent hardware revision is v17 mine is v12. The newer ones use 3mm pitch timing belts but I couldn’t find the specific details on the timing belts on mine… so I measured it with calipers, found it to be ~5mm and assumed it was a GT5 / 5mm pitch belt.
So I started playing with the math and 53.33 steps/mm * 50mm is 2666.6665 steps. 2666.6665 / 50.8 = 52.49 steps/mm
After some more thought, I decided to run that back through a refactored version of the steps/mm calculation to calculate the belt pitch, assuming that the new calculated steps/mm was correct. The result was 5.08mm pitch. Which, to someone used to dealing with 2.54mm / 0.1" pitch electronics that number was all too coincidental.
Apparently there is an “XL” type timing belt with a 5.08mm pitch - Now that I knew the name, a search found a page on the lasersaur I hadn’t seen before which confirmed that XL was the correct type.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.