[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.
[陳亮] (Chen Liang) is in the middle of building the ultimate ring watch. This thing is way cooler than the cheap stretchy one I had in the early 1990s–it’s digital, see-through, and it probably won’t turn [陳]’s finger green.
The current iteration is complete and builds upon his previous Arduino-driven watch building experiences. It runs on an ATtiny85 and displays the time, temperature, and battery status on an OLED. While this is a fairly a simple build on paper, it’s the Lilliputian implementation that makes it fantastic.
[陳] had to of course account for building along a continuous curve, which means that the modules of the watch must be on separate boards. They sit between the screw bosses of the horseshoe-shaped 3D-printed watch body, connected together with magnet wire. [陳] even rolled his own coin cell battery terminals by cutting and doubling over the thin metal bus from a length of bare DuPont connector.
If you’re into open source watches but prefer to wear them on your wrist, check out this PIC32 smart watch or the Microduino-based OSWatch.
Roland’s Alpha Juno 2 is an analog, polyphonic synth made in the mid-80s. While it isn’t as capable as the massive synths made around that time, it was very influential synth for the techno scenes of the late 80s and early 90s.
[Jeroen] is lucky enough to have one of these synths, but like all equipment of this era, it’s showing its age. He wanted to replace the character LCD in his Alpha Juno 2 with an OLED display. The original character LCD was compatible with the Hitachi HD44780 protocol, and still today OLEDs can speak this format. What should have been an easy mod turned into editing hex values on the EEPROM, but he still got it to work.
While the original character LCD could display one line of 16 characters, the ROM in the synth didn’t know this. Instead, the display was organized as a 2×8 display in software, with line one starting at address 0h, and line two starting at 40h. For a drop-in replacement, [Jeroen] would need a display the characters organized in this weird 2×8 format. None exist, but he does have a hex editor and an EEPROM burner.
With the Alpha Juno’s firmware in hand thanks to someone who does a few firmware hacks to this synth, [Jeroen] had everything he needed. All that was left to do was going through the code and replace all the references to the second line of the character LCD.
After burning and installing the new ROM, the OLED display was a drop-in replacement. That meant getting rid of the whiney EL backlight in the original display, and making everything nice and glowy for a few nights on a dark stage.
Wireless storage and biometric authentication are both solved problems. But as [Nathan] and [Zhi] have noticed, there is no single storage solution that incorporates both. For their final project in [Bruce Land]’s ECE 4760, they sought to combine the two ideas under a tight budget while adding as many extras as they could afford, like an OLED and induction coil charging.
Their solution can be used by up to 20 different people who each get a slice of an SD card in the storage unit There are two physical pieces, a base station and the wireless storage unit itself. The base station connects to the host PC over USB and contains an Arduino for serial pass-through and an nRF24L01+ module for communicating with the storage side. The storage drive’s components are crammed inside a clear plastic box. This not only looks cool, it negates the need for cutting out ports to mount the fingerprint sensor and the OLED. The sensor reads the user’s credentials through the box, and the authentication status is displayed on an OLED. Files are transferred to and from the SD card over a second nRF24L01+ through the requisite PIC32.
Fingerprint authorization gives the unit some physical security, but [Nathan] and [Zhi] would like to add an encryption scheme. Due to budget limitations and time constraints, the data transfer isn’t very fast (840 bytes/sec), but this isn’t really the nRF modules’ fault—most of the transmission protocol was implemented in software and they simply ran out of debugging time. There is also no filesystem architecture. In spite of these drawbacks, [Nathan] and [Zhi] created a working proof of concept for wireless biometric storage that they are happy with. Take a tour after the break.
Continue reading “A Shareable Wireless Biometric Flash Drive”
If you are a soldering ninja with a flair for working with tiny parts and modules, check out the Open Source Watch a.k.a. OSWatch built by [Jonathan Cook]. His goals when starting out the project were to make it Arduino compatible, have enough memory for future applications, last a full day on one charge, use BLE as Central or Peripheral and be small in size. With some ingenuity, 3d printing and hacker skills, he was able to accomplish all of that.
OSWatch is still a work in progress and with detailed build instructions available, it is open for others to dig in and create their own versions with modifications – you just need to bring in a lot of patience to the build. The watch is built around a Microdunio Core+ board, an OLED screen, BLE112A module, Vibration motor, a couple of LEDs and Buttons, and a bunch of other parts. Take a look at the schematics here. The watch requires a 3V3, 8MHz version of the Microdunio Core+ (to ensure lower power consumption), and if that isn’t readily available, [Jonathan] shows how to modify a 5V, 16MHz version.
Continue reading “OSWatch, an open source watch”
When you think of WiFi in projects it’s easy to get into the rut of assuming the goal is to add WiFi to something. This particular build actually brings WiFi awareness to you, in terms of sniffing what’s going on with the signals around you and displaying them for instant feedback.
[0miker0] is working on the project as his entry in the Square Inch Project. It’s an adapter board that has a footprint for the 2×4 pin header of an ESP8266-01 module, and hosts the components and solder pads for a 128×64 OLED display. These are becoming rather ubiquitous and it’s not hard to figure out why. They’re relatively inexpensive, low-power, high-contrast, and require very few support components. From the schematic in the GitHub Repo it looks like 5 resistors and 7 caps.
The video below shows off two firmware modes so far. The first is an AP scan that reads out some information, the second is a weather-display program. Anyone who’s worked with the ESP modules knows that they have the potential to gather all kinds of data about WiFi signals — one of our favorite demos of this is when [cnlohr] used it to create a 3d light painted map of his WiFi signal strength. Chuck a rechargeable LiPo on this thing, tweak the example code for your needs, and you have a new gadget for wardriving-nouveau.
Continue reading “WiFi Fob Acquaints OLED with ESP”
The USB interface is being increasingly used as a power supply and charging port for all kinds of devices, besides data transfer. A meter to measure the electrical parameters of devices connected to a USB socket or charger would be handy on any hacker workbench. The folks at [electro-labs] designed this simple USB power meter which does just that.
The device measures voltage and current and displays them, along with the calculated power, on the small 0.5″ OLED display. The circuit is built around an ATmega328. To keep the board size small, and reduce component count, the microcontroller is run off its internal 8MHz clock. A low-resistance shunt provides current sensing which is amplified by the LT6106 a high side current sense amplifier before being fed to the 10 bit analog port of the ATmega. A MCP1525 precision voltage reference provides 2.5V to the Analog reference pin of the microcontroller, resulting in a 2.44mV resolution. Voltage measurement is via a resistive divider that has a range of up to 6V. An Arduino sketch reads voltage and current data on the analog ports and displays measurements on the display. The measured data is averaged to filter out noise.
The OLED display has a SPI interface and requires the u8glib library. The project uses all SMD parts, but is fairly easy to assemble by hand and could be a nice starter project if you want to wet your feet on surface mount assembly techniques. It’s designed using SolaPCB EDA software, and the source files for schematic and board layout are available as a ZIP archive. Download the BoM and Arduino code and you have everything needed to build this nifty device.
Thanks to [Abdulgafur] for sending in this tip. And if you are looking for a more comprehensive solution, check the awesome Friedcircuits USB Tester which we reviewed earlier and is available in the Hackaday Store.