Mechanically scanned laser display


This application is a very cheap solution for displaying text messages on a solid or semi-opaque surface by using a laser beam. The main goal was to verify the possibility to build a simple and cheap display for displaying large text.

The basic idea was to use only one light source (a laser beam) and mirrors to scan the display surface.

So, the main parts used to build the display are:

The head is an octagonal prism, with a small mirror on each lateral face. Each mirror is mounted with different angles, giving different reflection angles for the laser beam.

The head looks like in the bellow picture:

The block diagram of the entire application is:

The basics of this design is similar with television principles: the laser beam is reflected by the mirrors placed on each face of the octagonal head creating a raster. This raster is modulated by turning on/off the laser beam. The Microcontroller board receives one pulse per rotation from the rotational speed sensor and calculates very precisely the moment for turning on/off the beam.

There is a RTC (real time clock) and a temperature sensor block which is optional. The purpose of this block is to provide the corresponding data to the microcontroller for displaying. But, because the main goal was to test the possibility to build the display, I didnít assembled the optional components.

The power supply and motor supply block takes the input voltage (9-15Vdc) and prepares two voltages: 5V for the electronics and 3V for the motor.

There are also 4 keys used to switch between the displaying modes (normal, mirrored, pause, display of current rotational speed) and for initial calibration of mirrors.

Block diagram of PIC16F877 board:

The conclusion was that the idea to build this display can be realized. The resulting image is very stable and can be very large (depending on the laser power).

Few technical data of this display:

The schematic of the PIC board is presented below.

Clearer versions of the schematics are avaiable in the full entry. (Download full entry)

A picture of the working project is shown

And a picture of my "Display constructor" application


Code sample: