Laser light shows have always been real crowd-pleasers. There’s just something about the frenetic movement of a single point of intensely bright light making fluid animations that really captures the imagination. Large-scale laser shows require a lot of gear, of course, but that doesn’t mean you can’t get in on the fun yourself using something like this homebrew X-Y laser projector.
This is actually [Stanley]’s second pass at a stepper-based DIY projector; we featured his previous build back in 2016. This time around, he wanted to move beyond the “module mix-and-match” style of construction, so rather than use an Arduino and stepper shield, he rolled his own controller PCB to hold an ESP32 and a pair of STSPIN220 stepper drivers. The business end of the new version saw improvements, too — given that he was seeing unwanted softening of corners and curving of straight lines in the first projector’s images, he opted for smaller steppers holding smaller mirrors this time around. There’s also a new 3D printed chassis to hold everything, simplifying the build and keeping the two mirrors in better alignment.
The video below has the build details and some nice footage of the projector in action — it’s hard to go wrong with lasers and smoke. The performance seems pretty good, so the improvements seem to have paid off. And for those of you tapping out your “Should have used galvos” comments below, relax; [Stanley] says he’s thinking about ways to make his own galvanometers for the next version.
An excellent description of how he built it, but I’d like to see what its performance characteristics are. Is it adequately precise for engraving, or does it suffer from having to be programmed in discrete steps?
It just sucks, hence no demo.
Just take two hard drives and a decent USB sound card snap it to an amp of a couple of Watts, and drive the coils directly.
No, those HDD voice coil positioners use feedback to control position. Without a spring to provide restoring force or some sort of position sensor you don’t get position, you get torque. Spring gives you nonlinear behavior and resonances. Position sensor introduces all sorts of complexity. No simple answer.
It’s literally a kid’s toy.
Considering he uses flat mirrors, there is always going to be curvature in the lines, but that is completely predictable and can be corrected in software.
How so? Are you thinking you need to flatten the cylindrical or spherical projection? What is the mapping?
> [Stanley] says he’s thinking about ways to make his own galvanometers for the next version.
Micro-stepping a stepper motor is physically equivalent to a galvanometer.
Indeed, especially if you’re driving your galvanometer with a DAC anyway.
a stepper motor is physically equivalent to a galvanometer
kinda sorta, but they’re really a world apart.
A stepper motor has a heavy magnet and pole pieces in the armature, windings in the stator, and has considerable inertia. Coils in the stator make cooling easier, but also can saturate the iron at very high currents, limiting .
A galvo is the opposite: The windings are in the armature, usually iron-free, and are very lightweight, so very low inertia. They aren’t so good at continuous power dissipation but, being iron-less, won’t saturate at high currents, so can produce enormous peak angular accelerations, far in excess of what a stepper is capable of.
The performance limit of a galvo driving a mirror isn’t usually the galvo: it’s limited by the inertia and stiffness of the mirror and its mount. Make it too light and the mirror wobbles its way to target. Make it stiffer to not wobble, and now it’s heavier and slower. Make it small to be fast and you lose scan range or power handling capacity. The design is very specific to the task.
a stepper is physically equivalent to a bad galvanometer
A while back I used a swashplate from an RC helicopter. I glued the center bearing to a shaft, put a mirror atop it and set it 45deg to laser pointer, then did x/y with two rc servos. It was not the best, but I think the swash was one of the better ways to go, it keeps the center of the mirror inline with the laser regardless of x/y position.
At PyCarolinas 2012, I had done some laser demo as part of a talk, with a raspberry pi listening to audio through microphone and controlling the laser on / off and motor turning a prism to the beat. Some details here: http://raspberry-python.blogspot.com/2013/02/sudo-laserpulsepy.html
why not put a camera instead of the laser?
Refreshing to see and optics project.
It would seem that your budget is much higher than mine. I might have placed a little more space between the parts, so that one-offs could be done by hand, instead of a solder mask.
BTW, they just have a good assortment of surplus optics: https://www.surplusshed.com/
(not me, no kickback)
I made a similar laser projector a few years ago! Admittedly less polished but it worked somewhat. Used a LabJack DAQ unit. https://youtu.be/FbrlqitIHMc
In the 90s I used also steppers (nema 17 200steps out of old floppy drives) to make my own “lasershow”. I used the steppers between two steps as galvanometers. They were driven by an self made ISA-card from my 386 machine. The inertness was terrible, but it worked to display words with the laser. Galvos were simply way to expensive for a school kid.
I’ve got an old commercially made stage laser that’s probably 15 years old. It uses steppers to create shapes and effects. Always looks kinda drunken though, wobbly with nothing really square. Steppers just can’t start or stop fast enough. Too much mass.
Bookmarked for later digestion. (Hackers have multiple brain stomachs like a cow :-D )
Was trying to design something similar for a different application, but it kept giving me headaches… as in one too many mental juggling balls to keep in the air at once headaches.
I was doing this sort of stuff 15 years ago… then I realized it was a waste of time because galvos are cheap and work so much better.
Galvos are not really cheap.
Steppers work fine as galvos but you need the right ones and they are not easy to find.
It needed a lot of tests to find the right ones for me. Steppers from old 3.5″ disk drives work fine.
You can get a 15Kpps set of galvos with amplifiers and a DMX board for around $80, maybe a little more now due to recent inflation. That includes the mounting block and mirrors. Good luck building anything of quality from scratch for that amount.
WoW, really cool, like 30years ago, the MOT1 scanner project.
I did build one by myself :-) in the 90s. But the used steppers are not available anymore.
It worked fine with heathcliff software. http://patrick.kolla.de/index.heathcliff.html
If you want to build a real galvo, have a look at http://elm-chan.org/works/vlp/report_e.html
The elm project is actually what brought me into this hobby. I never did built those galvos but did play around with steppers for a bit before realizing galvos are a lot cheaper and better when you consider the value of your time. I ended up writing my own laser show software: http://www.spaghettilasershow.com
Anyone reading this post before the end of the year can contact me for a free license for my software.
How can I contact you? I am interested in your offer, I am curious about your software
Go to the website mentioned in my post and send me something from the Contact Us page and I will get back to you.
Hello,
I made a prototype of a 5 mW neon laser projector in 1981 which realized lissajou figures thanks to 2 mirrors rotating with 2 variable speed motors.
I believe that today with very powerful lasers of several watts it must be possible with mirrors with fast speed but constant have to be able to light all the surface of a line of writing and by lighting the spot of the laser at the desired place: to write a sentence. A microcontroller knows how to do this and would work like a CRT scan…
For anyone interested in more footage of the finished project, I’ve just released a new video: https://youtu.be/fmQD3yh3uS4
Plenty of laser projectors use stepper motors. I have a shinp DMX 50mW projector that uses a Nuvoton 40 pin IC to take DMX in, a microphone input for ‘beat detection’, drives 2 stepper motors, and controls the laser via ttl driver board input. In fact it has space on the board for another pair of steppers, and the laser driver is 2 channel(532nm DPSS on one, “red” on the other). Though the main board has a “blue” port too, idk if thatd just be combined with one of the other lasers guide system.
But yeah, laser projectors ran by a simple 2808 Darlington array chip and MCU, old news, been done. Cheeply. In China.
That being said said, rolling ones own is still pretty neat. In fact, speaking of, if anyone has experience dumping firmware from read protected nuvoton ICs, gimmie a shout. Id love to take a look at the original code, possibly add my own. Or at the very least repurpose the MCU for other projects….