[Harris Shallcross] decided to build a pair of smart glasses and recently completed a first prototype of his project ‘Ochi’ – an STM32 based, BLE-connected, OLED eyeglass display. There are of course several homebrew smart glasses projects out there; many are more polished-looking and nearly all of them also display information from a smartphone over Bluetooth. This one is interesting partly because it highlights many of the design challenges that smart glasses and other near-eye displays face. It also demonstrates the iterative development process: begin by getting something working to learn what does and doesn’t cut it at a basic level, and don’t optimize prematurely; let the process bring problems to the surface.
For his project, [Harris Shallcross] used a small 0.95″ diagonal 96×64 color OLED as the display. The lens is from a knockoff Google Cardboard headset, and is held in a 3D printed piece that slides along a wire rail to adjust focus. The display uses a custom font and is driven by an STM32 microcontroller on a small custom PCB, with an HM11 BLE module to receive data wirelessly. Power is provided by a rechargeable lithium-ion battery with a boost converter. An Android app handles sending small packets of data over Bluetooth for display. The prototype software handles display of time and date, calendar, BBC news feed, or weather information.
Devices like these have a lot to deal with. Weight and distribution of that weight is a concern, the size and comfort of the optics is important, and displaying data on a small OLED is only part of the battle – choosing what information to display and when are vital to the device being actually useful in any way, otherwise it’s just a tech demo.
This project set out to show whether it was possible to use the parts listed to make a glasses mounted smart display that was at least somewhat functional, and the software to support it. Clearly, [Harris Shallcross] succeeded at that, but what really showcases the development process is his list of improvements – what he decided needs to go into a second version, and why. One of those goals is to improve the optics; perhaps there’s something to learn from The $60 Bluetooth Head Mounted Display project, which used a similar OLED and a prism to locate the display off to the side instead of in front.
Looks good. Working on this one https://hackaday.io/project/12211-cheap-arduino-hmd
Nice one! I’m definitely going to have to keep note of your optical system, side mounted seems much better than straight front mounting.
A Kopin microdisplay would be better suited to this. It is however a good first completed attempt!
Thanks! I’d love to try out one of those Kopin displays though £720 is a little out of my price range… My next display – if I can get hold of some, should be some of the small circular OLEDs used in smartwatches though getting hold of small quantities seems elusive right now.
I suspect that for some applications it would be easier to add two HD phone camera modules to the front of a cheap VR rig and then map the two stereo graphics streams together. The lag may be a bit much for some scenarios but for others it would be an ideal AR implementation where you can even use depth to convey the relative importance of parts of the graphics.
Chuck a couple of FLIRs on there too.
That would be sweet for some AR though my Linux coding skills are pretty rusty and I can imagine it would be pretty android’y.
Would a $5 Kopin display be more manageable?
http://www.goldmine-elec-products.com/searchprods.asp
(Search “kopin”)
Though you’d have to figure how to drive it yourself.
Great find but damn that drive scheme looks complex! This looks like the job for an FPGA though I’ll keep this in mind.
I’ve been wanting to do a glasses-mounted display (preferably one I can see through!) and I was looking at what was out there for tiny OLED displays, because I figured the usual 0.96″ 128×64 I2C ones were too big for what I wanted. I found some 0.66″ 64×48 pixel displays on ebay, same SSD1306 setup as the usual ones.
Just search ‘0.66″ OLED’, or if you want to find all sorts of different sizes, I simply searched for ‘white OLED display’. There’s quite a wide variety, from ones perfect for a single line of tiny text, to ones roughly the size of a 4×20 character LCD…but with a *lot* more pixels. (Plus, if you look, you can find some 3 and 4 inch full color OLED displays which are supposedly easy to work with.) Every time I look at that stuff I get all kid-in-a-candy-shop and eventually realize I can afford exactly *none of it*. ;(
I completely know that feel! I would love to get my hands on some transparent OLEDs but they’re way out of my monetary reach :'(
I can’t even afford more than 1-2 of the regular 0.96″ I2C ones you can find everywhere for <$10. ;'(
It's easy enough to set up I figure. You have the display perpendicular to the final image plane, bounce it off a 45° mirror, through a biconvex lens, down whatever distance it needs to travel to another biconvex lens and 45° mirror that then bounces the image straight across in front of your eye… Where you have a little piece of polycarbonate or whatever you want, at an angle, with mirrored window tint film on it, to receive the image. (Sort of like a teleprompter.)
I'm a little fuzzy on exactly how the optical elements work out (Now that I think about it, that might be one too many mirrors.) because I'm too damn poor to experiment with those, too… But I think it'd be along those general lines.
This setup uses one mirror and one lens https://cdn.hackaday.io/images/9021691467574402234.JPG