minimalist lasershow

For a long time I marvelled at sites with self built laser shows. There is truly amazing stuff out there. But most of them look like really lots of work. And with simple commercial units getting cheaper, I don’t know if all that effort can be justified. So I had a look at the commercial ones, and found out that DMX units are not enough if you want real-time control. I would need an ILDA connection for that. These units start at about CHF300. I’m considering it, but I’m not quite ready for the investment. To get started I wanted to toy a bit really cheap. I saw the posts where they glue mirrors onto loudspeakers for a long time, but that didn’t convince me. Then I saw someone using the lens mechanism of a CD-ROM for both axis simultaneously. That looked more interesting. Too bad, I disposed a CD-Rom drive just a week before seeing this.

I wasnt keen enough to drive the coils directly from the micro controller as in the instructable. Coils, like motors and relays are inductive loads that can induce high voltages in the opposite direction, once stopped. As the mechanism goes both ways, a h-bridge seemed appropriate. I had some L293D here which fitted the bill perfectly. To draw simple patterns, an AtMega8 should be enough, I thought. Because I had no more fitting sockets, I soldered it directly onto the PCB, hoping I wouldn’t have to remove it.

As I had no suitable mirror around, I cut out a small piece of a CD. I hot-glued it to a part of a paper clip, which ran through a hole of another small PCB, and hot-glued the other end to the lens. Applying voltage to the coils moved the mirror.

I wanted to draw a circle, but what I saw at the wall didn’t resemble to a circle at all. Debugging the thing, I discovered, that one of the four PWM outputs of the micro controller didn’t work at all. I read in the Arduino docs, that some PWM pins could be slower, so I avoided these from the start, but one didn’t work at all. I tried a couple of alternatives, also the slower ones, but no. Then I found out that the AtMega8 has only three PWM channels, and I only looked at the Arduino docs for the AtMega168 with which I did the first tests.

I’m sure with an AVR that has 4 PWM’s and a bit of tweaking, I should get better patterns. But with this design I’ll never get real-time laser show control, and it’s not suitable for ILDA test patterns. But it was fun experimenting nonetheless.

As usual, the code is at GitHub.

my first package in the official debian repository

I have created deb packages for a couple of years now. Primarily for software that I created myself, or was somehow involved. But sometimes I also packaged stuff that I just used, and wanted to be able to conveniently install and upgrade on different systems. One of these was printrun, a host software for reprap 3d printers. I packaged it, and provided packages for ubuntu in my ppa, and packages for debian in my own little repository. Then one day, Scott, a debian developer contacted me, asking if I was interested in getting the package to a state ready for inclusion in the official debian repository. The debian standards are very high, and so far, my packages didn’t need to meet those standards. But I wanted to improve my packaging skills anyway, and that looked like a great opportunity to learn from someone experienced. Continue reading “my first package in the official debian repository”