To clarify: I'm not entirely convinced this design is better than version 1, so for our purposes, "version 2" merely means it was built after version 1.
Major differences that I experimented with:
I took out the lens completely. Although I do love the concept of collimation, I wanted to see what it would look like if the display wasn't focused at all.
The glass combiner is a simple two-way mirror instead of a fancy teleprompter mirror. This cuts down on the cost considerably, at the expense of having a darker tint on the glass.
The combiner is low in the driver's field of vision, so it is less distracting:
The Arduino is wrapped in black paper, for aesthetics.
The glass is mounted to a holder made out of wood with super tape, which eliminates the distracting suction cups:
The wood holder
I have had this design in my car for about a month now, and these are some of my conclusions:
Having a lens definitely makes the display safer. Not only does it cut down on transition time when you glance at the display, you can actually see the road better in your peripheral vision. If I just kept staring straight at the display while driving, I would be able to see the road significantly clearer if the display was collimated.
The fact that the display is so low in the driver's field of vision almost negates the effect of a heads-up display. A HUD is supposed to overlay information so that it seems part of the real world. This display is in the same line of sight as the top of my hood, which I do not normally look at when driving. I think a better placement of glass would be slightly higher so that it overlays the road instead of the hood.
The display is much closer to the windshield, which creates an unwanted second reflection off the windshield. In the future I can fix this by blocking that path of light with cloth or paper.
-Bill
Questions or comments? Email me at abnormalbill@gmail.com!
Sparkfun's updated version of this display features a more compact design, and comes with an ATMega328 preloaded with the Arduino bootloader, which I'm going to use to program my HUD without the need for the physical Arduino.
Hello all, this is the Car Heads-Up Display (HUD) Version 1.0: Researched, constructed, and installed in approximately a month on a 2004 Toyota Highlander. This is what it looks like in action:
Overview
HUDs are built-in on some modern luxury cars, but if you not lucky enough to have one, here's how to make your own, DIY-style. My model uses the car's OBD-II port to connect to an Arduino microcontroller, which is programmed to display the car's speed on a 7-segment display. A fresnel lens is used to optically collimate the display, which is projected onto a piece of combiner glass. The difference between this and most third-party HUDs is:
Optically Collimated - This means the display is focused at infinity, so the driver does not need to refocus his eyes from the road. The display looks like it is floating in space right where the road is. Most third-party HUDs are not collimated.
Utilizes a Combiner Glass - This specially-coated piece of glass allows for virtually seamless viewing of the outside road simultaneous with the display, as opposed to cheap "reflective films."
4 Suction Cups - $3 ($1.50/pack of three) - You can use any suction cups you want, just make sure they can hold the glass safely (these are rated for 3lbs)
Total Cost: $113.30
Supplies Needed
Soldering Equipment
Hookup Wire
Lots of Cardboard
Duct Tape
Pliers
Prerequisites
Some Soldering Experience
Some Arduino Experience Suggested
Building
Step 1: Solder the Circuit
Connection labels on the protoshield
Solder these connections onto the protoshield to be mounted on the Arduino:
OBD:
Yellow wire to D0
Blue wire to D1
Red wire to 5V
Black wire to GND (through the power switch if you have one)
Pick a place in your car to build the holder for your Arduino. Keep in mind that it should be about 10 inches away from the lens, and it should be out of the way of your hands and legs when you drive.
I built my holder into an existing compartment below the steering wheel
Duct tape and cardboard are extremely cheap materials to use, and they hold up pretty well.Next, put the Arduino on top and connect it to the OBD wires. I soldered headers onto my protoshield for easy connection with the OBD wires.
The fully-soldered protoshield mounted on top of the Arduino
Step 4: Mount the Combiner Glass
Bend the hooks of the suction cups to cradle the glass like this:
Angle the glass until you can see the reflection of the display, then tweak the suction cup hooks to hold the glass in that position.
If the suction cups hooks aren't long enough, just cut out a segment of a wire clothes hanger and bend it around the suction cup.
After you finish, you might want to pull on the glass a little bit to make sure the suction cups will hold.
Step 5: Mount the Lens
The fresnel lens is very flimsy by itself, so I recommend taping some support around the edge. You can use cardboard, popsicle sticks, or anything you find around the house. Wooden kabob sticks worked well for me. Now that the lens is nice and sturdy, you need to figure out the exact position the lens should be in to collimate the display. This can be tricky to get exactly, but you're looking for when the display is the most magnified without being blurry. I found this the easiest way to do it:
Look through the combiner glass and through your windshield at an object far away (let's say a tree). Notice how when you focus on that tree, the display splits into two images because your eyes are no longer focused on it. Now place the lens right over the Arduino and then slowly move the lens up towards the combiner. Still focusing on the tree, you should see the two images of the display gradually get closer to each other. When the two images meet, stop moving the lens and mark its position. That means that the display is now focused at the same location as the tree.
Light beams showing how collimation works
Now build a holder with cardboard and duct tape to hold the lens in that exact position.
When in doubt, more duct tape
The lens will probably be bigger than you need, so just use scissors to trim off some of the edges where it's not needed.
Congrats!
You now have a working heads-up display. Go for a test drive to see how well it works, and email me at abnormalbill@gmail.com with questions or comments.