Laser8 Laser Projector

A laser projector we built to improve how cars communicate with each other and with pedestrians. We officially named it "Laser8" at our launch event.

  • Taoyuan Vocational HS (NTUT-affiliated)
  • HS Year 3
  • 2023–2024
  • Team project
A student presenting on stage next to a giant LED screen that reads "Redefining the horn"

How It Started

While we were trying to figure out what to do for our final-year capstone project, I happened to see someone online who’d built a laser projector out of an old hard drive. Our self-driving campus car was being built at the same time, and it instantly reminded me that all those futuristic concept car videos online seem to have this cool feature where they project images onto the ground. So I pitched the idea of building a laser projector and mounting it on the car to my teammates. Everyone was immediately on board, and we got to work.

Materials

  • Old HDDs
  • HDD motor controller
  • Magnets
  • Hall effect sensor
  • Laser diodes
  • Eight mirrors
  • Laser-cutting material
  • 3D printing filament
  • ESP32

How It Works

A spinning mirror moves the laser dot so fast that persistence of vision makes it look like a full image. For the X axis, each mirror sweeps the laser across the wall as it rotates through the beam, drawing a horizontal line. For the Y axis, each of the eight mirrors is tilted up by one more degree than the last, so every line lands one degree higher. With 8 mirrors, that gives us 8 rows of pixels on the Y axis. To control the pixels along the X axis, all you need is a microcontroller switching the laser on and off.

For the high-speed spinning part, the plan was to reuse an old hard drive motor. The target was infinity × 8 pixels (the actual X resolution depends on the microcontroller’s clock speed, so in theory it’s unlimited) at around 80 fps.

The Build, Step by Step

  1. Hunted down old HDDs (found three)
  2. Tried writing a three-phase motor control program on an Arduino
  3. Got the Arduino to sort of control the HDD motor (but super unstable)
  4. Designed the laser-cut mirror mount
  5. Laser-cut the mount and attached the mirrors
  6. Realized our homemade HDD controller was really, really unstable
  7. Bought an off-the-shelf HDD motor controller board online
  8. Designed mounts for the laser diode and the Hall sensor
  9. 3D printed the mounts
  10. Tried using the Hall sensor data to switch the laser on and off to draw an image
  11. Surprisingly, the code worked on the first try
  12. Found out the laser diode’s refresh rate was too low
  13. Swapped the Arduino Uno for an ESP32
  14. Realized we didn’t have enough rows
  15. Added a second laser diode
  16. Discovered the mirrors fly off at high speed
  17. Built an enclosure
  18. Used physical buttons and the ESP32’s built-in touch sensing as controls
  19. Built a fake car door for the demo
  20. Realized our project didn’t stand out as much as the other teams’
  21. Not flashy enough? Make up for it with a video. We shamelessly asked the school to borrow the huge bezel-less screen in the activity center
  22. Shot and edited a super cringey mock product-launch video
  23. Showed it off at the department’s official project exhibition
Over 90% of the materials are reused
Over 90% of the materials are reused

Results

Check out the demo video linked below!