Login

Jul. 14, 2025
Hi,
ezcad Product Page
in this Instructable, I want to show you how you can build your own step / dir interface for ILDA standard galvo laser scanners.
As you might know I am also the inventor of the "DIY-SLS-3D-Printer" and the "JRLS DIY SLS-3D-PRINTER" and while I was building these machines I have start tinkering about how these printers will perform, if I will use a Galvo Scanners instead of a cartesian movement system. However in these days I don't had the knowledge to program a controller for a galvo scanner. So I have used an existing firmware with cartesian motion.
But today and after some research I found an instructable where the author uses an arduino to create a DIY Laser Galvo show. I thought this is exactly what I am searching for, so I have ordered the parts like in his instructable and made some experiments. After some research I found out, that the Arduino will not perform that well as step / direction interface, so I remixed it for the STM32 microcontroller.
Please remember this controller is just a prototype, but usable for a lot of projects. For example in a DIY SLS 3D printer or a laser engraver.
The features of the Galvo controller are:
video of laser galvo controller: (coming soon)
If you like my Instructable, please vote for me in the Remix Contest
Here I will you explain, how the controller works in general. I will also show some details for example the calculation of the right angle.
1. MOTION-CONTROLLER
The motion controller is the part where you will create the step and direction signals. The step/direction controll is often used in stepper motor applications like 3D-Printers, Lasers or CNC-Mills.
In addition to the step and direction signals there is a need for a center allignment pin to make the STM32 and the Motioncontroller consitent. That is because the galvos are absolute controlled and there is no need for any limit switches.
2.STM32-Microcontroller
The STM32 microcontroller is the heart of this controller. This microcontroller has several task to do. These task are:
Task 1: Measure signals
The first task is to measure the input signals. In this case it will be step and direction signals. Because I don't want that the motion-controller will be limited by input frequency, I designed the circuit for 120kHz (tested) . To achieve this input frequency without loosing data, I am using two hardware timers TIM2 and TIM3 on the STM32 to manage the step / direction interface. In addition to the step and direction signals there is the llignment signal. This alignment is controlled by an external interrupt on the STM32.
Task 2: Compute the signals
Now the controller needs to compute the signals to the right value for the DAC. Because the galvo will create a non linear polar coordinate system, a small calculation is needed to create a linear dependence between step and actual moved laser. Here I will show you a sketch of the calculation:
Now we need to find the formula for the calculation. Because I use a 12bit DAC, I can give out a voltage from -5 - +5V in 0 - steps. The galvo I have order has a total scan angle of 25° at -5 - +5V. So my angle phi is in a range from -12,5° - +12,5° . Finally I need to thought about the distance d . I personally want a scan field of 100x100mm, so my d will be 50mm. The high h will be the result of phi and d. h is 225,5mm. To bring the distance d in relation to the angle phi I used a little formula, which will use the tangents and convert the angle from radians into "DAC-values"
Finally I only need to add a bias of , because my scanfield is center alignment and all of the calculations are done.
Task 3: Send values to the DAC:
Because the STM32 i have used has no build in DAC, I have used an external DAC. The communication between the DAC and the STM32 is realized over SPI.
For more laser trimming machineinformation, please contact us. We will provide professional answers.
3. DACFor the circuit I am using the same 12bit DAC "MCP" as deltaflo. Because the DAC is unipolar 0-4,2V and you need -+5V bipolar for the ILDA standard, you need to build a small circuit with some OpAmps. I am using TL082 OpAmps. You have to build this amplifier-circuit twice, because you need to controll two galvos. The two OpAmps are connected to -15 and +15V as their supply voltage.
4.GALVOThe last part is rather simple. The Output voltage of the two OPAmps will be connected to the ILDA Galvo drivers. And that's it, now you should be able to control the galvos with step and direction signals
I apologize if this question has already been asked and answered (I did a quick search and did not see it)
I am currently using LB 1.4 with my CO2 laser and now I am buying a Galvo Fiber laser. I know that I will need to purchase the Galvo license for LB. My question is will I need to run two versions of LB on my computer or can I run both lasers from a single instance of LB?
I switch between the little diode, the China Blue co2 and the fiber in a single instance of Lightburn… it’s in the device settings that lets you determine specific hardware type requirements…
Make sense?
When you have questions, sing out… none of us got these out of the box and working without questions…
Good luck, I’m sure you’ll have great fun
My Galvo fiber laser finally arrived. I just purchased the Galvo add on license (for existing DSP license).
I deactivated the license on my Lightburn, restarted entered my license number and Lightburn 1.4.0 started as normal. Everything looks exactly the same. How do I know if I have the Galvo license added correctly? Do I need to download a new version?
Thanks
Did you create a device profile for the fiber and did you import the EZCad file that came with your fiber…?
The display should be different as the fiber home is in the center and it’s size is probably different as well…
Ensure it’s got the proper device selected…
Did you try this with EZCad2? If it works with EZCad2, then it probably has the wrong drivers for Lightburn…
Try selecting your created fiber device where it says Ruida 644XG
The Ruida may be the default device.
No, they seem to be incompatible… Here’s a video from Laser Everything that lays it out…
If you installed the default drivers when you installed Lightburn, you should be good…
Did you follow the Lightburn guide for setting up the machine?
There is one last question on setup, when I opened one of my existing LB files all the graphics were shown upside down. When I engraved them on the laser they were correct. So I suspect I have something inverted in the settings. I imported all the EXCAD settings so not sure what needs to be changed.
117 0 0
Join Us

Comments
All Comments ( 0 )