Our goal is to get objective feedback about eye position and behaviour, which requires some sort of eye tracking. A decent eye-tracking headset costs anywhere between $400 and $10,000 dollars… which is just too much for the majority of the world who earn less than $10 a day. So, lets make it affordable!
I’ve was deeply inspired by the story of “longitude” as a child. For me a key idea is that, sometimes, the march of general technological progress can result in off-the-shelf components (from seemingly unrelated areas) capable of exceeding the performance of bespoke hi-tech engineered solutions in specific but vital niches. I’m always looking for what can be misused in un-intended ways for spectacular results 😉
In this case, we’ve turned to removing the case from *incredibly* cheap endoscopic cameras, 3D printing some very small holders (which are universal for almost any headset you can think of) and hooking them up via USB (specifically, to exploit the OTG [on the go] functionality supported by android, which can work for us as all webcams these days are UVC devices [universal video camera]). This means the phone is able to provide power, and also image processing power.
At the same time, we need to avoid infringing on the hundreds of patents out there, which try to solve this problem camera placement in an unobtrusive manner. After working through the A4 page of ideas I had for mounting the cameras, I found they were all patented (and quite frankly, that just reinforces to me how contra-productive patents are – there are only so many possible solutions, and if somebody can think of a few dozen inside of a single day, they must count as trivial!).
For this reason we sacrifice a tiny bit of display area, but therefore create (again) the simplest, lowest-cost, most trivial solution which is well covered by prior art – by just having the camera look through the lens! Duh!
This is the third prototype iteration now, and it’s starting to look really viable.
Here you can see the small (2x1x2cm) 3D printed part (thanks for the print out Moritz!) which holds the tiny camera and image processing board from the endoscopic camera. The camera mount is at 95degrees, and the cut out niche under the board allows for heat dissipation.
(here’s the original wedge description file : HamswanWedge.scad – feel free to use it however you like!)
The view of the eyeball is perfectly adequate, although at the moment we are using the inbuilt LED light ring that’s part of the endoscope (hence the glare). This needs to be replaced with a low-power IR source, and we need to source camera modules without an integrated IR filter.
The view from the user perspective only loses a small amount of screen area which we will simply work around in software. Ultimately, this area (particularly when using IR light) will just appear completely black.
Next steps : Sourcing more appropriate components, and (hopefully) solving the rats nest that is getting UVC OTG cameras working properly under Android and exposing them correctly to Unity! Go Rene!!!
Finally: when it’s put together, it doesn’t look half-bad 😉