Building a CO2 laser cutter, ODrive servo's instead of Steppers?


I’m slowly getting stuff together to someday start building my own CO2 laser cutter.
(got 100W laser tube + PSU and a 50mm lens) So I’m now looking into driving systems and controller boards. I would like to keep as much open source as possible.
I’m planning to use the laser cutter for lots of different things. Cutting things like my fingers is one of them of course ;), but I’m also hoping to use it for very small smd pcb engraving+etching techniques. So I would need very high precision to create pcb traces.

I’m following ODrive for some time now, but I’m unsure yet if it would be good enough to be a better option then using plain old stepper motors. I would like the extra speed, but I’m unsure about the precision.

Are there already other projects using the ODrive with CNC like applications? I have read some problems with stepper code conversions. But I’m not really up to date with if these are already fixed.

Can someone share there opinion on using ODrive Servo’s instead of stepper motors for a CO2 laser cutter with a 60cm by 90cm bed?


I have a lasersaur. it’s got 1150mm x 600mm cutting area if i remember right. I have 100W co2 laser tube. I use it also daily.
For my own usecase – i mostly build 5mm to 8mm mecanic acrylic cuts. I personnally see very little advantage of odrive in this application: most of the time the cutting head will move rather slowly (except jogging time but it’s very limited compared to the cutting time).
So the benefit here would mostly be precision I guess. Typically I use a gecko drive stepper driver. It’s got a fixed 1/10th step precision and the steppers have a 200 steps/rev, so it’s got 2000 ticks/rev as output precision. Plus i’m pretty sure there is a mecanical belt-drive reduction system, on Y at least. Can’t remember how much though.

I think you could trade some speed for precision by using odrive and severe mechanical reduction. I have never used my laser to etch PCBs. Never thought of it, and i’m very conservative when it comes to what i cut/edtch with it.

What i have noticed is that acheiving precision on “big parts” say over 1m long is challenging because of the precision on the orientation of mirrors, the laser is always slightly offset from the center of the lens, which results in a slight offset on the material to cut. Besides, when that offset gets too big, the laser would touch the aluminium part holding the lens, which then absorbs some of the energy:

  • the part is then not entirely cut
  • there is a risk of damaging the laser cutter.

My feeling is that most CNC-like application would benefit from using odrive. But you need to be very comfortable with motor selection, gears / belts and mechanic design.

Here is one CNC project that claims to be using odrive => Swiss type Mill Turn center maybe @GenericDefault can give you his/her own feedback.

I think oskar’s got a laser. maybe it uses odrive :wink:


Hey Ace,

Since laser systems have no loads other than inertia, they generally use timing belts. Even the smaller belt pulleys have a fairly large travel per revolution compared to other systems like ballscrews. Every laser system that uses steppers and belts will have noticeable “step” lines on contoured 3d objects. This is especially noticeable on small round parts and holes. The microstepping resolution of any stepper system is not linear (and can’t be) or it would have near zero torque between steps.

ODrives, given they’re paired with a decent encoder and appropriate motor, will not have these tiny step lines. They will also have much better resolution and speed, and will run much quieter than steppers.

I would personally recommend that you design your machine to be compatible with both steppers and ODrive servos, if you go with steppers get some that have 400 steps/rev rather than the standard 200 steps/rev. If you get it working with ODrives definitely show it off on this forum!