Intro: Liquid Crystal Glasses for Amblyopia (Alternating Occlusion Training Glasses) [ATtiny13]
Amblyopia (lazy eye), a disorder of sight that affects approximately 3% of population, usually treated by simple eyepatches or atropine drops. Unfortunately, those methods of treatment occlude stronger eye for long, uninterrupted periods of time, not allowing two eyes (actually neurons in the brain that process visual information) to work together and synchronize. Quite recently I found an article on Wikipedia, that details alternative form of treatment, in which liquid crystal panels are placed in front of the eyes and and their occlusions are driven by digital circuitry. Studies in this form of treatment are quite promising, so I decided to “upgrade” ordinary active shutter glasses from 3D TV to Alternating Occlusion Training Glasses.
EDIT: You can find newer version of glasses here
Step 1: Disclaimer
Usage of such a device may cause epileptic seizures or other adverse effects in small portion of device’s users. Construction of such a device requires use of moderately dangerous tools and may cause harm or damage to property. You build and use described device at your own risk.
Nevertheless, there are places where proper medical assistance for people with visual disorders is not possible (at least this WHO map tells me so). Fortunately, today $100 mobile device has the same computing power and display resolution as gaming PC had 10 years ago, so I personally believe DIY cybernetic implants will be available as a form of treatment for many people in developing countries* sooner than proper medical assistance.
* some postindustrial counties in North America have some “great” medical insurance systems designed to make peoples lives miserable too!!!
Step 2: Parts and Tools
Parts and materials:
- active shutter 3D glasses
- ATtiny13 or ATtiny13A
- 2 tactile switch buttons
- rocker ON-OFF switch
- 100 nF capacitor
- 4.7 uF capacitor
- 1N4148 diode
- small piece of perfboard (around 28mm x 35mm)
- few pieces of wire (UTP cable is a great source of wires)
- 2 3V batteries (CR2025 or CR2032)
- insulating tape
- scotch tape
- cyanoacrylate glue
- diagonal cutter
- flat-bladed screwdriver
- small phillips screwdriver
- utility knife
- soldering station
Step 3: Active Shutter 3D Glasses
The source of liquid crystal panels for our project are active 3D TV glasses. The ones I used costed me $5 (they were pre-owned). There are few kinds of active shutter glasses, so make sure that ones you use are properly blocking polarized light (you can check it by placing polarizing filter or LCD in front of them, it should work even when glasses are OFF). Be wary that any piece of plastic attached to liquid crystal panels may influence light polarization. First glasses I tried to modify didn’t have front polarizing filter installed into them (there should be 2 of them in each liquid crystal panel, as they are build similarly to LCDs) and when forced to block light, they appeared purple, not black, more on this in the last Step.
Active 3D TV glasses normally operate at 60Hz, blocking light equally for both eyes. Left eye is blocked for 8.333ms, and then right eye is blocked for 8.333ms, then the cycle repeats itself. Eye is blocked when voltage is applied to LC panel. Voltage that drives LC panels is symmetrical 9.2V (peak-to-peak amplitude 18.4V).
Step 4: Disassembly of Active Shutter 3D Glasses
Use screwdriver to remove any screws that hold glasses together. It might be a good idea to put some protection over LC panels (I should have probably done it before I removed the screws). Then use utility knife (or box cutter) to cut the joining of two parts of a frame. Then use flat-bladed screwdriver to pry open the joining. Prying it open may be a bit difficult, but it should be possible (be careful not to damage glass components!). After you completed that task, remove electronic parts from glasses and desolder LC panels from PCB.
Step 5: Putting Glasses Together
Solder 4 wires to LC panels (they need to be little longer than the ones shown on the photo). Use insulating tape to secure thin tape that comes from LC panels and is soldered to wires. Then put LC panels back into the glasses frame, fasten the screws. You may use cyanoacrylate glue to join back lower parts of the frame. Battery cover is not needed and I didn’t put it back in its place.
Step 6: Programing ATtiny Microcontroller
Connect ATtiny13 to your favorite programmer, open your favorite AVR dev tool and write glasses.hex to microcontroller FLASH memory. Keep default fuse bits (H:FF, L:6A).
avrdude -c usbasp -p t13 -B 8 -U flash:w:glasses.hex
I’ve noticed that Arduino boards are quite popular on Instructables, so here is the link for a tutorial, that explains how to convert Arduino to an programmer. You can skip steps 5 to 7 that deal with compilation of a code written in C.
Step 7: Soldering
Solder all electronic components to prefboard. On the image of soldered board 1N4148 diode is missing, I attached it later to white-blue wire. Twisted wires will be later connected to batteries and securely held in place by isolation tape. Don’t forget to connect LC panel wires to PB0, PB1 and PB2 pins of ATtiny13.
Step 8: Final Assembly
Use isolation tape to separate bottom side of prefboard from the body of glasses user. Attach prefboard glasses frame by adhesive tape of your choosing.
Next you need to attach 2 button cells (CR2025 or CR2032) to the device. Unfortunately when they are new, their voltage may exceed 3.3V. Two of those cells are connected in series, so even after a voltage drop on 1N4148 diode (little lest than 0.7V), ATtiny may slightly exceed its Maximum Operating Voltage of 6.0V. I recommend discharging completely new batteries slightly, before putting them in the device.
Device consumes approximately 1 mA.
Step 9: Use of Alternating Occlusion Training Glasses
Button connected to PB3 changes devices frequency (2.5Hz, 5.0Hz, 7.5Hz, 10.0Hz, 12.5Hz), and button connected to PB4 changes for how long each eye is occluded (L-10% : R-90%, L-30% : R-70%, L-50% : R-50%, L-70% : R-30%, L-90% : R-10%). After you set settings, you need to wait about 10 seconds (10s of not touching any buttons) for them to be stored in EEPROM and loaded after power down, at the next device launch. Pressing both buttons at the same time sets default values.
There is at least one case of stereopsis recovery achieved while watching 3D material. If you want to use Alternating Occlusion Training Glasses to watch 3D materials while wearing another pair of the same kind of glasses (just unmodified), you need to have attached a piece o clear plastic to back side of their LC panels, like the ones one the photo in Step 3 (or you can use scotch tape). In that configuration unmodified glasses sit closer to display. Or alternatively you can put left LC panel in place of a right one and vice versa. That rotates LC panels polarization, more on this in the last Step. However, doing so will make you unable to watch your display without unmodified glasses on.
Step 10: Similar Projects
Dichoptic e-book reader: First iteration of my glasses required use of external polarization filter. I attached it only to the front of right LC panel. That allowed me put few other polarization filters on top of e-paper display (that emits unpolarized light) and block parts of the page for right eye completely (text behind filters is now flickering for left eye, as light is now polarized). It forces me to read blocked parts with left eye and to put images from both eyes together. And there are studies stating, that looking at dihoptic things is quite beneficial for people with amblyopia. You can do similar things with other displays that emit unpolarized light like CRTs. There is still hope for good old X-Ray emitters, they can be useful once more!
Cybernetic monocle: Unfortunately, my 3D TV’s polarization is rotated at 90 degrees from polarization of my PC’s monitor. I solved this problem by putting left LC panel in place of a right one. LC panels have 2 polarization filters rotated at 90 degrees, so looking through them from the other side rotates light polarizations that are “accepted” by the LC panels. I have also increased voltage driving LC panels to 9V (peak-to-peak amplitude 18V) by using H bridge. It makes LC panels more opaque during the occlusion. Also I added LEDs that flash during the occlusion, further “blinding” the eye and not allowing it to grow accustomed to darkness. The “blinding” effect is particularity noticeable when I put anaglyph 3D glasses between my eye an LC panel (color filters diffuse the light). As I mentioned earlier, watching 3D materials might be good for stereopsis recovery and my PCs monitor does not support 3D technologies other than anaglyph, so I feel forced to recommend GZ3Doom (ViveDoom), a mod for classic Doom games form the ‘90s. It allows you to use two types of anaglyph glasses (green-magenta and red-cyan), so you don’t accustom your eyes too much to wearing the same color filters.
May the Icon of Sin from MAP30 grant you a gift of proper sight!