uClinux-powered Laser Light Show Controller
The Next Generation of Laser Light Show controllers - powered by Linux!
My interests in Laser Light Shows began just over 14 years ago when I was in 6th grade at primary school, and was greatly inspired by the lasershows at World Expo '88 in Brisbane, Australia. Since then I have achieved quite a few things in the lasershow world; building laser projectors, writing lasershow-related software and performing lasershow displays - including a live performance in 2001 on stage with the Australian band, Regurgitator.
I first conceived the idea of using Linux (uClinux) as a lasershow controller at University in 1998 while
we were playing around with a Motorola 68332 in our final-year microcontroller course.
Linux had just been ported to the 68332 and 68328 and by that time, having been using Linux for a few years,
I saw the potential for Linux as a lasershow controller.
I began working with a friend, Anthony Barrett, who built a coldfire-powered lasershow controller and software system called LASERfIRE on an Arnewsh SBC5206 board a few years ago. I introduced Anthony to the idea of porting his software to uClinux towards the end of last year, and as of April 2002, he had sucessfully ported his software to uClinux with suprisingly good results (as you can see!).
I must give credit where due, in that Anthony is the first person to have successfully produced a fully-working uClinux-powered lasershow controller. I had a crude version running at the time by talking directly to the Chip Selects in a user-space application, but managed to get a working driver going a few days later with some further help from Anthony.
The laser images at the top of the page are done by (left) Anthony's Laser and projector, (right) Rodney's green HeNe Laser and galvanometers.
I had to build a D/A module (a glorified sound-card) to produce the analogue X-Y signals to drive the lasershow galvanometers. The eLIA has a direct connection to the data bus via a 40-way IDC connector, with a 20-way IDC connector available for bus control lines. The D/A is performed by two 16-bit single-ended +/-10v DACs, using Chips selects 4 and 5 to enable output and clear the DACs, respectively.
I took advantage of the eLIA's IDE interface and hooked up an HDD and CDROM drive, where I can preload sequence data into memory on the fly from disk.
I also take advantage of streaming sequence data over a TCP/IP socket, as uClinux has a fully-implemented TCP/IP stack and the eLIA has a 10BaseT interface.
LASERfIRE is a software application that Anthony originally wrote many years ago on the Amiga, where it was then known as LaserMAX. He later developed the external 5206e controller, where he hacked dBUG somewhat and loaded his own code into in processor, in turn, he ported the LaserMAX front-end program to Microsoft Windows using the Win32 (for portability) - LASERfIRE was born!.
LaserShow HardwareAnthony and I use Cambridge Technologies 6800HP Galvanometers.
Since April 2002, Anthony has gone great steps further in having obtained an M5407C3 dev board from Motorola and has ported his software to this board. He has also added an LCD display which he says "The LCD simply runs off the serial port using an AVR micro running my uTerm code :-) You can see uClinux booting up on this screen."
Anthony is also considering porting the Windows program to Linux.
Further InformationIf you would like to know more about our work, please contact either of us through -
© Copyright 2002-2007 Anthony Barrett and Rodney Davies
Initial Version: 06-MAY-2002 - Last Updated: 29-MAY-2007