I was browsing the other day, when I stumbled upon a video of an Arduino powered heads up display. I thought it would be cool if I could fit it into a helmet. However, I didn't know just much space I would need, so I turned to the most useful tool in my arsenal, math. If you don't care for math, skip down to the Design Considerations section.
- Index of Refraction (IOR) aka refractive index, is a unitless scalar quantity that describes how much the light bends as it enter or exits a material. This is dependent on the material. Index of refraction is usually represented by the variable `n`.
- Focal length (FL) is the distance from an optical element to the point where the image comes into focus. Focal length is usually represented by the variable `f`.
- Lens radius is the radius of the curve in the lens. Lens radius is represented with the variables `R_1` and `R_2`. It should also known that a line can be represented as a circle with infinite radius.
- The variable `o` and `i` refer to the distance from the lens to the display and the virtual image respectively.
Lensmaker's equation (Thin Lens Approximation)
This relates Focal Length to Index of Refraction and Radius. For this project I'll only be using planoconvex lenses. These lenses are curved on one side and flat on the other.
This allows us to eliminate the `R_2` variable, resulting in this form.
This allows us to simplify to the final form of the equation:
Virtual image distance equation
This equation relates the focal length to the distance `o` and `i`, but the current form of this equation is not very helpful.
We'll use this form of the equation to determine the virtual image distance with a constant focal length and a given object distance. It should also be noted that for virtual images, `i` will always be a negative number.
- A low focal length is desirable as a lower focal length will allow for a more compact overall design.
- The virtual image should be no closer than 30cm, so that the eye can properly focus on it.
- Ideally, the virtual image should be formed at infinity, so that it is always in focus.
- If the display is placed at a distance equal to the focal length, the rays of light being emitted from the screen will become parallel, and the image will be formed at infinity. This is called collimation.
COTS LensesFor simplicity, it is easier to purchase lenses and cut them to shape. Because we need to cut the lenses, we will only be purchasing PMMA (aka Acrylic) rather than glass lenses. Here are a few options I found.
- 8.9US $ |10 pcs PMMA Plano convex lens diameter 30mm focal length 100mm|lens diameter|convex lensplano convex lens - AliExpress: 10 100mm lenses. Ships from China, so you get to play the waiting game.
- Amazon.com: 6 ~100mm lenses.
- 2PCS Diameter 50mm Optical Glass Focal Length 35mm Height 17.2mm LED Optics Plano convex condenser Lens for LED - - Amazon.com: Two 35mm lenses.
Custom LensesSometimes, lenses cannot be found with the required specifications. In this case, you have to do it yourself.
I used the Lensmaker's Equation to calculate the geometry required for a 35mm lens made of PMMA.
This was 3d printed with clear resin. However, the print has a frosted appearance. This is remedied by coating the lens with a final layer of resin. The raw print is on the left, with the coated lens on the right.
For now, I'll be using this coated lens.
ReflectorThe reflector acts as a beam splitter, which combines the light from the display and light from the environment. This is effectively a transparent screen the image will be projected on.
CD caseA cost-effective option for the reflector is the cover of a CD case. However, this causes double imaging as light from the display reflects twice. Once from the front of the lens, and again against the back. But for now, I'll be using a CD case.
Semi Transparent MirrorThis material solves the double imaging problem by preventing light from the display from reflecting off the back side of the reflector.
MirrorA mirror can be placed between the display and the lens. This allows the display to be placed non-colinearly with the display. This also removes the requirement for the display contents to be mirrored, as the mirror will mirror the contents intrinsically.
DisplayTheoretically any display can be used, but an OLED or similar display will work the best. I used this one from adafruit for this project.
MicrocontrollerAny microcontroller that can drive the display can be used. I used the FeatherS2 which uses an ESP32-S2.
HelmetThe final question, I'll leave with you is: What helmet should I put this in? Feel free to comment some helmets you'd like to see!
Ideally, these would be helmets with space in the brim, so I can integrate the optics package.
Here's a list of some helmets I think would be workable:
- H3 Marine
- Reach EOD
- Reach Scout
- Reach Commando w/ brim
- Infinite Aviator
- Infinite ISR
- Infinite/H4 Mk VII
- Cohort (worn by Fred-104 on the cover of Shadows of Reach)