RGB Laser Projector

RGB Laser Projector
laser_projector.jpg
founder: TomSuch
depends on:
interested: ruza
axtheb
czestmyr
harvie
software license:
hardware license:
status: done

Idea

I've got idea, that we can make VERY simple laser projector using laser pointer, some little mirrors, two simple motors (that are fast enough) and arduino or something similar. I don't want to use servos, because they are too slow (the image of smiley tooked 85 seconds of exposure actually. We need something more realtime…). I can imagine some smart-enough setup of mirrors and two synchronized motors, which will scan the laser beam regulary and evenly across rectangular shape (on the wall) and they will be not driven in any way (just mechanically synchronized). There will be also some two “reset” contacts or sensors that will let microcontroler know when the laser beam reached the first row and first column. microcontroler will use the interval between last two resets to determine how long is one pixel on time axis. This is similar design to composite video, but reset signal will come from projector instead from video signal itself. So the microcontroller will only drive the laser based on it's approximated possition. Goal of this design is that we'll be able to use different motors or change the motor speed (higher speed = better maximal resolution) whithout need for changing the code or calibrating something…

Another possibility is to use custom galvanometers (Maybe we can reuse loudspeaker or galvanometers from harddrive) to move the mirrors. It's fast, but it needs some complex driver. Probably it will need DAC, since it's fast enough to be affected by Arduino's PWM. It can be also driven by some external signal source, but it will be hard to synchronize (maybe we can drive it using souncard). I like the idea of encoding everything into output of PC audiocard - X/Y axis to L/R speaker and brightness can be probably encoded (on some high frequency which will not affect the galvanometers - we can also filter higher frequencies out later) somehow too… Then we'll be able to drive it even using portable mp3 player (with hi-quality mp3s and properly selected frequencies).

Goals

It should be

  • cheap to build using of-shelf products
  • easy and fast to build
  • capable of displaying simple images (smileys,brmlab logo,etc…) and 1 to 3 letters
  • powerfull enough to project some recognizable “lo-fi art” on wall during night
  • self calibrating

TomSuch variant

TomSuch made an RGB laser projector by himself, though aimed mainly at generating 3D effects in fog. Has been demo'd in brmlab many times, also during Brmlab Opening Party During visit of Felipe Sanches in Dec 2010 from Garoa Hacker Clube in São Paulo many improvements starting to happen and a lots of new ideas were born, mainly because current solution has been driven by proprietary hardware and software.

We are now working on open source variant of that software, expanding posibilities of both, hw and sw. Next step would be probably design our own hardware.

We are now able to quickly process SVG, GML and ILDA formats. We have yet another funny things we can do with projector like display analog clock wallsaver, play Pong or Rocket game, publish source of our client sw and let people draw remotely and simultaneously. On of the other ideas is make an webpage using svg edit (demo) where visitor can draw what he/she likes, click Publish and that picture will be published via Laser projector and also to the web gallery. We could also have a webcam to stream results.

TomSuch variant was presented on 27c3. We are now working on technical improvements of it.

TODO

1 -> read the STC89C51 datasheet (it is the 8051 microcontroller used in the laser controller)
2 -> figure out how to perform a binary dump of the firmware
3 -> compare it to the usb sniff of the initialization of the device after a power off
4 -> figure out the firmware loading protocol and fix our implementation of it
* investigate
  * http://www.linux-laser.org/
  * http://www.linux-laser.org/bilda/bilda-hw.php?lang=en#hardware
  * http://www.hugovil.com/fr/emu8051/index.html
  * http://marcansoft.com/blog/2010/11/openlase-open-realtime-laser-graphics/
  * http://jucablues.blogspot.com/2010/12/coordinating-efforts-towards-free.html

Analog clock, hardware shots and software design discussion:

The Adobe Flash Plugin is needed to display this content.

Our first watchable success using open source sw:

The Adobe Flash Plugin is needed to display this content.

First Pong version, also discusing how to draw numbers

The Adobe Flash Plugin is needed to display this content.

Harvie's experiments

The Adobe Flash Plugin is needed to display this content.

Cheap Galvos

Inspiration, Future or obsolete ideas

Imagine something like this, but much (at least 425x) faster (this is the 1/85FPS projector driven by servos) and maybe with slightly lower resolution (to reach the speed needed for desired POV effect):

laser_projection.jpg

pct.758-008.1.jpg zrcadlova-koule-5cm-blister.jpg

laser-message-scroller.jpg

The Adobe Flash Plugin is needed to display this content.
projector-thumb-2.jpg projector-thumb-3.jpg

 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki