Laser Parking Assistant




About: Electrical Engineer by training; Electronics Nerd before it was fashionable.

Unfortunately, I must share my garage workshop with our cars! This usually works well, however, if either of our two cars is parked into their stall too far, I can barely move around my drill press, milling machine, table saw, etc. Conversely, if a car is not parked in far enough, the garage door won’t close or worse yet, slams onto the rear of a vehicle while closing!

As you will probably agree, “parking precision” varies among drivers and I was frequently frustrated dodging around a fender just to get to my work bench. I have tried ‘mechanical solutions’ such as a tennis ball dangling from a string tied to an overhead rafter but found that they got in my way when moving around or working inside an empty car stall.

To address this dilemma, I came up with this hi-tech (potentially over-kill!) solution that helps get the cars positioned to within an inch or so of perfection every time. If you face a similar issue, I offer you the Laser Parking Assitant. This MICROCOMPUTER-GEEK solution works well, yet is simple enough to be built and installed over a weekend.

Lasers to the Rescue!

I recently had some left over laser modules in my junk box that were looking for something to do. So in light (no pun intended) of my ongoing garage parking problems, I worked up a scheme to mount the lasers in the overhead rafters of my garage aimed down at the cars below . The result is a laser dot projected onto the car’s dash board exactly where the car needs to be stopped. Driver Instructions are simple. Just drive the car into the garage and stop when you first see the RED DOT on the dashboard!


Step 1: Laser Safety

Before going further, I want to pause for a few words on laser safety. Even the relatively low power 5 mw RED lasers used in this project are able to produce extremely bright, tightly focused, high energy beams of light. Such light can damage your vision! DO NOT STARE DIRECTLY INTO THE LASER BEAM AT ANY TIME.

Step 2: Laser Module Selection

For my two car setup, I installed a pair of small 5 mw (milliwatt) focusable red laser modules, one over each car bay. As shown in Figure 2, these are small, self-contained modules that can be powered from any 3 to 6 VDC power source. These modules can be purchased off of eBay in the $4-$10 ea. range, are easy to mount, and can be focused onto your car’s dash board to provide a red dot that is easy to see even in daylight conditions. In fact, I recommend that during installation, you soften the focus a bit as this will both grow the size of the laser dot seen on the dashboard as well as reduce its intensity a bit.

Laser Alternatives

You might ask, "Aren’t cheaper lasersavailable?" The answer is YES, very inexpensive battery powered laser pointers can be found for a buck or two. I’ve actually purchased some for other projects but found them to be lacking in output brightness. Feel free to give them a try as they may be bright enough for you, but for my installation, I found brighter, focusable modules were a better play.

But wait! Some lasers output a LINE or a CROSS pattern. Wouldn’t these be even better? To make a LINE or CROSS pattern, a secondary lens is placed inside the laser module is to transform the normal laser point source output, into the desired pattern. In generating the LINE or CROSS pattern, the high intensity laser output is distributed, “diluted” if you will, to form the line (or cross) image. In my garage trials with these lenses, I found the resulting laser lines too dim to see on the auto dashboard, particularly in the day time with sun light washing in through the garage windows.

Step 3: Laser Controller Gen 1

To maximize laser operating life, some circuitry is needed to toggle the laser ON when needed, and then OFF when not. Our electric door opener, as do most, automatically turns on a light bulb each time the door opener cycles. This bulb stays on for about 5 minutes and then turns off. In my first implementation I simply placed a light sensor right above the opener light bulb and used that to drive a power transistor that activated the Parking Assistant Lasers. While this got things going, I soon noticed that if the garage door had already been open a while before I pulled up to park, the Lasers would not activate. That is, since the Opener Light Bulb timer had expired, one need actually had to cycling the garage door opener to turn the opener light bulb on and in turn, get the parking assist lasers running.

To overcome this this limitation, I came up with Gen-2, a more complete solution to trigger the parking assistant lasers EVERY TIME a car enters the garage!

Step 4: Laser Controller Gen 2 - Using the Opener Saftey Sensor

A “Blocked Door Sensor” is a required safety feature on all garage door openers. This is usually accomplished by shooting an infrared beam of light across the garage door opening, about 6 inches above floor level. As shown in Figure 3, this light beam originates from Emitter ‘A’ and detected by Sensor ‘B’. If anything obstructs this beam of light during door closure, a BLOCKED DOOR CONDITION is detected and the door-closing motion is reversed by the opener so as to return the door to its fully raised position.

As shown in the above figure, the 'Blocked Door' safety sensor consists of IR-Light-Emitter 'A' and IR-Light-Detector 'B'.

You will typically find the blocked-door sensors connected to the door opener using a 2-conductor wire like the RED Lines appearing in Figure 3. This simple wire pair interconnects the Emitter, Detector, and the Opener together. It turns out that this interconnect scheme 1) supplies POWER from the opener to run the sensors, and 2) provides a communication path from the sensors back to the opener.

Step 5: How the Door Safety Sensor Works

Since the blocked door sensor is active at all times, I found I could utilize the sensor to detect the momentary “blocked-door event” that occurs whenever a vehicle is driven into the garage for parking. To get this to work, it was just a matter of understanding the power and signaling format present on the Blocked Door Sensor wiring.

The figure above shows the Blocked-Door signaling waveform for a GENIE brand Door Opener System

I have a “GENIE” brand opener and by placing an oscilloscope across the wire pair running between the opener and sensors, I found a pulsing 12 Volt Peak-Peak waveform present whenever the door sensor was NOT BLOCKED. As seen, the voltage across the sensor wires becomes a steady +12VDC whenever the sensor IS BLOCKED.

I chose to implement this project with software inside a small Arduino NANO microcontroller. The complete schematic of the NANO laser controller is found in in the next step. I used a small piece of perf-board style prototype circuit board material is to hold the NANO and the few remaining components required for this project. A small terminal strip or other connectors of your choosing can be used to interconnect to your door opener and the laser modules.

IIt you skip ahead to the schematic, it is seen that the incoming +12V P-P door sensor signal goes through a few diodes (just to get the polarity right) and then through a NPN transistor (Q1) before being delivered to an input pin on the NANO. As illustrated in waveforms above, this transistor does two things. 1) It converts the 12 V Peak to Peak signal into a 5 volt signal compatible with the NANO, and 2) it INVERTS the logic levels.

CAUTION: The wiring and signaling scheme described above applies to GENIE brand door openers. While I believe that most two-wire sensor schemes operate using a similar signaling technique, you may have to put a scope across the sensor wiring on your garage door opening system to understand the signal details and adjust the project as needed.

Step 6: The Hardware

I chose to implement this project in software using a small Arduino NANO microcontroller. The complete schematic of the NANO laser controller is found in in the next step. I used a small piece of perf-board style prototype circuit board material is to hold the NANO and the few remaining components required for this project. A small terminal strip or other connectors of your choosing can be used to interconnect to your door opener and the laser modules.

As you can see in the schematic, the incoming +12V P-P door sensor signal (preceeding step!) goes through a few diodes (just to get the polarity right) and then through a NPN transistor (Q1) before being delivered to an input-pin on the NANO. As illustrated in Figure 4 waveforms, this transistor does two things. 1) It converts the 12 V Peak to Peak signal into a 5 volt signal compatible with the NANO, and 2) it INVERTS the logic levels.

A NANO output pin drives a power MOSFET transistor (Q3) to provide power to the lasers. The remaining components provide LED indicators and a “test-mode” switch input.

Step 7: Building the Laser Parking Attendant

The parts list for this project is found above. I used a small piece of perf-board to mount the NANO, transistors and other parts. Point to point wiring was used to complete all of the interconnections on the perf-board. I then located a small plastic utility box to house the completed perf board assembly. I drilled the needed holes in the box so that LEDs and TEST SWITCH were accessible. I routed the DC power cord from wall wart power supply through the case and hard-wired it right to the perf-board. I used some “RCA” style phono jacks to make the power connections to the lasers and hacked up some old audio cables to interconnect the lasers to these RCA jacks by simply splicing the BLACK (- LASER VDC) laser wire to the SHIELD, and the RED (+ LASER VDC) laser wire to the center conductor. I then covered each splice with a couple of layers of shrink tubing to provide insulation and mechanical reinforcement.

I used a couple of wood screws to mount the Laser Control box up in the rafters near the garage door opener.

As to software, you will need to download the source code and edit/compile/upload it using your Arduio IDE.

Step 8: Power Supply Options

A small plug-in power supplycapable of providing regulated 5VDC is required for this project. Since each laser needs about 40 ma at 5 VDC, a two laser install needs a supply capable of atleast 100 ma. I found a suitable regulated, 5VDC wall-wart power supply in my junk box that worked fine. A regulated 5 VDC cell phone charger is also a workable option. These are fully ground isolated, feature a USB receptacle for connection to a cell phone or tablet, and commonly available for just a few dollars. One can just hack off one end of a USB cable and connect the appropriate 5 VDC and GROUND wires into the into the laser control power input terminals.


1. Take care to measure and check the output of any supply you use. Many wall wart supplies are NOT REGULATED and can have very high voltage outputs when lightly loaded. Over voltage can over-drive the lasers creating unsafe laser light levels as well as shortened laser operating life.

2. I do not recommend drawing +5VDC off of the NANO to power the lasers as this could exceed the power output current capacity of the NANO which could overheat or damage the NANO CPU board.

3. To avoid any grounding contentions with your Garage Door Opener, make sure that the 5VDC power supply that you use for this project is FLOATING with respect to ground.

Notice that the metal case of each laser module is electrically connected to the POSITIVE (RED) laser power supply wire. As such, the whole circuit as shown should be built to be fully isolated (aka: ‘floating’) with respect to earth ground.

Step 9: Mounting the Lasers

I used ½ inch cable clamps to secure each laser to a block of wood that I then screwed to the garage rafter. A few layers of electrical tape were needed around each laser to enlarge the 12 mm diameter of the laser module so that it would be held tightly in place by the cable lamp. The single screw of the cable clamp enables the laser to rotate as needed for alignment. As noted, the wood block itself is anchored to the rafter with a single screw to so that the wood block itself could be rotated as needed.

Using the "TEST MODE" switch and the two “optical alignment adjustments”, setup to locate the laser dot precisely onto the right spot of the vehicle dash-board is easy to achieve.

Step 10: How It Works

The operating logic for the laser controller is pretty simple. As soon as the blocked door sensor signaling line goes from pulsing to a steady level, we know we have a Blocked-Door event. Assuming the blocked door is due to a vehicle entering the garage and momentarily interrupting the door sensor beam, we can immediately turn on the parking assist lasers. After about 30 Seconds, we can then then turn the lasers off.

The “run-mode” software code that implements this logic is seen in Figure 5. The NANO simply monitors the Door Sensor input pin and whenever that signal stays at logic 0 for more than ½ second, it concludes we have a blocked-sensor-event and turns the Parking Assist Lasers ON. Once the pulsing signal returns (car fully in the garage, Door-Sensor no longer blocked), we start a 30-second “Laser-OFF timer”. When this timer expires the sequence is completed and the lasers are turned OFF.

The full code set is just a little more complex as it must also handle a few LED indicators and a toggle switch. The toggle switch selects between normal “RUN MODE” and “TEST MODE”. In TEST MODE, the garage door sensor is ignored and the lasers are just turned ON. This is used during installation and setup so that one can aim the lasers at the correct spot on the car’s windshield/dash board. Three LEDs show POWER-ON, LASER-ON, and STATUS. The STATUS LED will be solid-ON whenever a blocked door is detected. This LED will blink about once per second when the door is no longer blocked and the Laser-OFF timer is down-counting. The STATUS light will blink fast whenever the toggle switch has been set to the TEST MODE position.

Step 11: Summary

The Laser Parking Assistant project does the job for me and was surprising well accepted by my “user community” (spouse). Now high-precision-parking is routinely achieved. I find that the laser dot is readily visible under all lighting conditions yet the driver is not overly distracted by the dot and remains attentive to the surroundings while parking.

If you face a similar parking problem, and are looking for a NERD-INTENSIVE approach, this could be the solution that works for you as well!

Happy parking!

Step 12: References, Schematic, Arduino Source Code Files

See attached files for the source code and a PDF file of the complete schematic.


Sources of Laser Modules:

Search eBay for: 5mW Dot Laser Focus

Sources of Miniature Toggle Switch:

Search eBay for miniture toggle switch

Sources for IRFD9120 MOSFET:

Search of eBay for: IRFD9120

Sources for +5VDC Power Supply

Search eBay for: 5VDC Cell Phone Charfer

Data Sheet for P-channel MOSFET device

Arduino Contest 2019

This is an entry in the
Arduino Contest 2019



    • Fandom Contest

      Fandom Contest
    • Arduino Contest 2019

      Arduino Contest 2019
    • Party Challenge

      Party Challenge

    2 Discussions


    16 days ago

    One improvement/missing item to make it complete. A bullseye/target on the dashboard for parking points scoring. In two car situation see who's the best!


    16 days ago

    Hey, that's pretty cool, i need one of those. I currently use tennis balls for this problem..your idea is much better and more practical