Here is another useless but cool looking must build gadget for every romantic geek. Let me introduce PIC microcontroller based three axis laser spirograph.
Electronic schematic is simple and can be assembled on a prototyping board but real man always makes troubles for himself, so I've made PCB.
There are two work modes, selected by toggle switch: manual and automatic.
In manual mode operator controls each motor individually by twisting corresponding potentiometer connected to analog input of microcontroller. PIC constantly reads analog inputs and modifies PWM signal so duty value is proportional to voltage on analog input.
In automatic mode microcontroller employs pseudo-random algorithm to calculate duty value for every motor.
Current duty value is stored in internal EEPROM and used as initial data for next calculation so microcontroller will generates sequence of nonrepetitive unique patterns for long time.
Attaching mirror to the motor
Acrylic mirror is very light, so double sided sticky foam tape will do job. Piece 1/2 x 1/2 is working good.
You can use thick paper as a wedge to tilt mirror. Insert it between mirror and motor. In my setup tilt is 2-3 degrees. It results 6' wide pattern at a distance 18'.
It's impossible to center mirror properly regarding motor shaft and even slight offset will cause vibration and noise at high speed, so I've developed some tricks for mirror balancing. Make sure your safety glasses still on.
WARNING!!! This method will work only for acrylic/plastic mirrors!!!
At first I've tried to shape spinning mirror with file but fan is low torque device, so even light pressure with tool forced motor to full stop.
Since idea with turning part and fixed tool has failed, I've tried opposite approach -
Dremel with 1/2" sanding drum against motionless mirror, and that's really worked.