Raspberry Eye

Head-mounted computer with see-through display made from cheap or printed components

Similar projects worth following
I wanted to do something interesting with my RPi and a 2.4" TFT LCD. Google Glass was hot in the news, so I've decided to hack something similar. The semi-transparent mirror was extracted from Eye of Horus Beamsplitter, and the projection lens is cut from a plastic 3x Fresnel magnifying lens. The box and mounting parts are 3D-printed from ABS. Head strap is for GoPro. One RPi USB port is used for WiFi, and second for 2.4Ghz small wireless keyboard/mouse combo. All together cost around 100$. I haven't figured out a good option for the power supply yet, and don't know if this thing can have a practical application. The display driver is fbtft framebuffer, so both text and (non-accelerated) graphical modes are possible, but with 320x240 resolution using X is not too exciting. Display brightness is sufficient if ambient light is not too bright.

Here is a demo video:

A drawing of the mounting assembly:

My copy of notro/fbtft driver with modifications to product the mirror image: (there only fb_s6d1121.c is modified, but it should be easy to duplicate for other controllers).

I've bought the beamsplitter here:

The screen is ITDB02-2.4E from ITead Studio

The framebuffer driver for Raspbian is here: (my version is slightly modified to produce a mirror image)

For the lens look for a "credit card size 3x fresnel magnifying glass"

  • 1 × Raspberry Pi board Mine is 1st Gen B board
  • 1 × 2.4" LCD display I've bought mine from ITead Studio, other sellers have them too
  • 1 × Semi-transparent mirror Not easy to find, the one from Eye of Horus beamsplitter is unfortunately low-quality plastic
  • 1 × Fresnel lens At least 3x
  • 1 × GoPro head strap

View all 8 components

  • Raspberry Eye grows an eye

    genericsoma07/06/2014 at 20:43 1 comment

    Played with RPi Camera Board recently to see if it can be used for simple image-recognition.

    Here is the result:

    This is produced by this python script using picamera module to capture the image, ZBar bar code reader to find qr-codes and pygame was used to draw stuff. Latency is around 1 sec using 1024x768 image size.

    I've realized there exists a problem with using see-through augmented-reality displays: if you need to draw something over a real object, you need to account for the camera offset from the display, which is important for close distances. I don't know how to calculate the correction dynamically without some kind of distance-detection hardware (the best would be to use a depth-sense camera... maybe they need to make one which is RPi-compatible).

    I'll try to make a small demo video soon.

  • Added "mirror" branch on github

    genericsoma05/28/2014 at 23:12 0 comments

    I've added the code to produce the mirror image to "mirror" branch:

    It applies only to S6D1121 controler (fb_s6d1121.c). If should be easy to use the same trick with similar controllers such as ILI9325. Basically the starting address is calculated differently and the so-called GRAM direction is set to the opposite.

  • Uploaded demo video

    genericsoma04/24/2014 at 10:19 0 comments

  • Added some details, attempted video demo

    genericsoma04/23/2014 at 00:36 0 comments

    Added links to components and mounting assembly drawing to the "details" section. Then tried to make a short video using GoPro, first couple of takes were not good. Will get some sleep, try again in the morning.

View all 4 project logs

Enjoy this project?



Esteban wrote 09/14/2019 at 03:38 point

Hello! May i ask where you found the semi-transparent mirror?

  Are you sure? yes | no

Griffin sun wrote 10/05/2016 at 17:40 point

Any STL files for the mounting assembly?

  Are you sure? yes | no

James Hall wrote 05/16/2016 at 17:19 point

This is similar to Prof. Steve Mann's stuff from the 80's/early 90's.

  Are you sure? yes | no

de37421 wrote 03/05/2016 at 16:29 point

Instead of measuring distance, you might consider a simple low tech approach. Mount a pair of switch activated red lasers, one each side of glasses, angle so dots converge at proper distance, then let user hold target at proper distance. That would eliminate all that additional computing overhead. The converging lights model was used during WWII when the "bouncing bomb" was used to break several dams in Germany. The bombs were given spin, the speed of the plane and the altitude were absolutely critical in causing the bomb to skip, stop at the dam, and sink along the dam, in order to direct the blast energy directly into the dam.  Anyway it's old technology but might be useful here

  Are you sure? yes | no

Graham Toal wrote 10/31/2015 at 22:49 point

The trick would be to separate the Pi and the display if possible.  I had been thinking of a baseball cap with the display on the underside of the brim, and a flip-down mirror for when you wanted to use it.  Minimal electronics inside the cap, camera peeking out of an eyelet hole in the front/center of the cap. Then Pi on a belt or something, either attached by a wire or wireless.  Also if it's possible to use a second 45degree semitransparent mirror you could have a camera exactly in line with your eye (effectively), then coupled with a laser projector scanning over what you are looking at, you ought to be able to get perfect registration? (same scanning technique as the old light pens - remember those?)

  Are you sure? yes | no

Martin wrote 10/27/2016 at 08:06 point

You could put the Pi at the back of the cap. Similar to the headmounted flashlights and their battery pack.

  Are you sure? yes | no

NicoleK wrote 10/01/2015 at 00:53 point

Super amazing, you actually build it.

  Are you sure? yes | no

malvasio.christophe wrote 03/07/2015 at 16:56 point

with a PI 2 it will handle more computing

do you plan to code for it ?

  Are you sure? yes | no

Birkan wrote 02/23/2015 at 05:11 point

This is AWESOME. I am looking forward to get raspberry pi 2 to build that!

  Are you sure? yes | no

radiusmike wrote 02/11/2015 at 23:07 point

And, job well done.  This is nice piece of work. 

To add to my earlier comment, consider using a wireless video stream (WHDI or Miracast) to a receiver/projector module.  The RasPi would sit on a belt clip and stream video/data wirelessly to the HUD. 

  Are you sure? yes | no

radiusmike wrote 02/11/2015 at 22:59 point

For your next prototype, I can think of using smaller microdisplays, a DLP or pico laser projector module.  A pico laser projector module can be made very small and has multiple placement options.  And, it's very bright, but can be toned down due to high bits/pixel and gain ranges.


Co-founder of Skully Helmets

  Are you sure? yes | no

Elektron wrote 02/06/2015 at 19:38 point

and use vga microdisplay a to shrink in an old video camera can be found .

  Are you sure? yes | no

stopsendingmejunk wrote 01/20/2015 at 18:23 point

Very cool. Would it be possible to move some of the bulkier components to a belt clip or something?

  Are you sure? yes | no

JnC.Enterprises wrote 01/16/2015 at 23:17 point


  Are you sure? yes | no

CyberGateKeeper wrote 01/02/2015 at 08:42 point

Wow, amazing! the applications are endless, i would love to collaborate a bit on this and get a version of my own built soon!

  Are you sure? yes | no

hamzageek wrote 10/11/2014 at 14:27 point
looks Super Cool

  Are you sure? yes | no

Mis012 wrote 08/14/2014 at 09:05 point
what about using two cameras above each eye? It will be like 3d camera, or not? Or maybe something to get position of your finger, so you can manipulate with virtual objects?
I'm intrested in this, I'll make my own soon.

  Are you sure? yes | no

genericsoma wrote 10/06/2014 at 05:23 point
Rpi can only support one camera, AFAIK, and probably has not enough processing power for real-time manipulation.

  Are you sure? yes | no

Mis012 wrote 10/22/2014 at 16:45 point
I think that I've seen a tutorial about adding more cameras, but you can always use USB cannot you?

  Are you sure? yes | no

flaco wrote 07/03/2014 at 21:40 point
Hello, awesome project here !
Have you thought about replacing the screen, miror + lens(?) by an OLED screen? :)

  Are you sure? yes | no

genericsoma wrote 10/06/2014 at 05:24 point
Yes, only there were no cheap screens compatible with Rpi. Now I hope TinyScreen will be available next year.

  Are you sure? yes | no

surperdearm wrote 06/11/2014 at 11:25 point
Do you want to sale one to me?

  Are you sure? yes | no

flaco wrote 07/03/2014 at 21:40 point
You can make one by yourself as well; that's the point of this community, I think.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates