Hardware design

A project log for Eye of Horus, Open Source Eye Tracking Assistance

Interacting with objects just looking at them has always been a dream for humans.

Makeroni LabsMakeroni Labs 07/05/2015 at 13:100 Comments

The hardware development efforts were split in two different branches:

1) Design and fabrication of the 3D printed case and frame.

2) Design and assembly of the required electronic components.

3D Printing

The casing was designed to integrate the electronic components of the system. It consists of several 3D printed pieces to hold and position the camera, the infrared lights and allocate the electronics and batteries. The complete 3D model can be viewed online in the following link.

We started with a simple design that has been improved to the current version:

Version 1: The first goal was to design and fabricate a case which could be fitted as an accessory of the Google Glass. A replica was 3D printed as we did not have an actual product. The casing consists of a small box containing the battery and the processor connected through an USB wire to the camera. An articulated tube which ends in the camera holder and the infrared lights allows the system to be mobile and frame the eye pupil.

Version 2: In the second version, which is the end of this prototype, the molding of the glasses is independent and functional without the need of the Google Glass. The look and the fastening system of the electronic components have been improved in this second version.

Electronic design

Eye Tracking device

This part corresponds to the wireless system that captures and analyzes the eye pupil images under infrared illumination.

During the development process, several iterations have been made improving the prototype features and finally designing a printed circuit board (PCB) that could be manufactured with a low cost.

The parts used in the different prototypes are common:

  1. VoCore v1.0: VoCore is a coin-sized Linux computer with wireless capabilities. It is also able to work as a fully functional router. It runs OpenWrt on top of Linux and contains 32MB SDRAM, 8MB SPI Flash and using 360MHz MIPS processor.
  2. Power circuit: It includes a system DC/DC which supply 5V to the circuit thanks to a lithium battery
  3. Camera: an small size USB endoscope camera was disassembled to remove the infrared blocking filter and replace it with a band pass filter with the oposite effect. This task was complicated due to the small size of the optical elements.
  4. IR leds: infrared leds are responsible to illuminate the eye. The pupil is an aqueous medium that absorbs this light and results in a dark spot clearly visible in the images.
  5. Bandpass filter: a lens that filters the non-infrared frequencies of light emphasize the monochrome effect and prevents ambient light from affecting the system.

The system was modified to overcome the following hardware problems:

  1. Remove the electronic noise emitted by WiFi shield that affects data transmission in the camera wire.
  2. Correct the placement, orientation and intensity of the infrared LEDs for a correct eye pupil illumination.

All electronics components of the prototype were replicated in the second version to get a better finish of the product.

The assembly is the result of the first model of the product. It could be an addition to Google Glass using its front camera like a data gathering system of the physical world.

This is a open source project, so all schematics are available. Anyone can download, edit and manufacture the device.

Light beacon device

A prototype was designed using infrared flashlight pulses with adjustable frequency. This light, only visible in the front camera thanks to a band-pass filter, allow to differentiate the targeted devices

The system also integrates a bluetooth low energy (BLE) module which can receive requests from other devices. In our case, a computer linked with other BLE module is in charge of sending the turn on/off request when the main device indicates that the user is in front of the object and the eye tracking reveals that is looking at the beacon (in the example it would be a light lamp).

The integrated components in this prototypes are:

  1. Serial Bluetooth 4.0 BLE Module: responsible for the communication of BLE with PC.
  2. Relay control module: to control a device connected to the network.
  3. Arduino Pro mini: the main microcontroller in charge of communicating with other modules and components.
  4. Infrared LED: responsible for carrying out the lighting flash.