Inspiration
What time is it? Well, unfortunately, people think Millennials and Gen Zs can't read analogue clocks, so why not just make some AR glasses that can do it for you!
We heard a call for "Useless Inventions" so we thought, "what is the most overcomplicated, unnecessary, yet still fun idea for a project?" After a session of brainstorming, we settled on AR glasses that turn an analogue clock into a digital clock. Like the true engineers we are, why would we need a cell phone or watch to tell the time, when we could just create the most geeky, and overengineered way to tell the time with a single glance.
What it does
NextTime is our take on augmented reality glasses. The whole premise of NextTime is that it turns an analogue clock into a digital clock.
While wearing the AR glasses, a user can look directly at any analogue clock. Using a camera built into an Arduino on the left side of the glasses, the Arduino detects if an analogue clock is within a specified border range on the camera. In the event that an analogue clock is detected, the Arduino will then send a signal, prompting the current time to be printed on a small display on the right side of the glasses. The text is printed as a mirror image of itself. The lens in front of the glasses then reflects the display back to the user in the correct orientation.
How we built it
We used an AI Thinker ESP32 Arduino as the main board on the glasses themselves, it is an Arduino compatible board with an attached camera and Wi-Fi. It is powered by a 2000mAh LiPo battery connected through a 5v boost converter. The Arduino connects to a wireless hotspot and runs a web server which streams the camera feed and listens for get requests. A python script is run on a desktop computer which takes the video feed from the camera and does real-time opencv processing on it to detect if the user is looking at a clock. If a clock is detected near the center of the user's field of view, a request is sent by the desktop back to the Arduino which indicates a clock is being viewed. The Arduino then pulls the current time from time.nist.gov and displays it on the 1.3" OLED display connected via SPI.
Challenges we ran into
The major challenge we faced was at the beginning of our project. Essentially, the compiling and uploading time for all of our code written using the Arduino IDE was extremely slow. Each time we needed to edit code, it would take at least 5 minutes to re-upload to the Arduino. This made debugging and testing difficult to complete, since we didn't account for the extra time needed for this stage. This is the main reason why we spent over a quarter of hacking time trying to get the display to correctly turn off, when we initially thought it would only take an hour at most. We really struggled to overcome this, but eventually after trial and error, we optimized our debugging process by being very selective in the lines of code we were changing, resulting in as few re-uploads as possible to save time.
Accomplishments that we're proud of
We are proud that we managed to actually make usable augmented reality glasses with fun and mildly comedic functionality. Our time management was amazing and the hardware components worked so much better than we expected.
We all agree that the sole reason that we wanted to participate in this hackathon was to learn and have fun, which, in our opinions, was achieved with flying colours.
What we learned
We learned that programming Arduinos is a lot harder than it looks. There are a lot of libraries available to use, but not all of them do what you want them to, even if you try. We now have a better understanding of how to integrate
Additionally, we learned that you should plan the overall design of your project near the beginning, instead of attempting to attach hardware randomly where there really isn't space for it. This would've saved us the headache discovering that the placement of wires and batteries wasn't suitable. Design plays a large role in the appeal of a project, like it or not. You could have the coolest project features ever, but if it doesn't fit together into one cohesive and well thought out product, no one will pay attention.
What's next for NextTime
There are many areas of improvement for NextTime. Ideally, we would like the hardware to be much lighter, as currently it is very heavy to wear. The extra weight causes the glasses to slightly slip down the user's face, running the risk of falling off, in turn damaging the glasses. Also, we would like to make this detachable rather than a semi-permanent modification to a pair of glasses. This could be done by creating housing for the hardware that can clip onto the arms of glasses.
The main software feature we would like to add is analogue clock hand detection. Currently, the Arduino only detects if an analogue clock is present, and it will display the current time based on the internet time. We could add the functionality of detecting where the hands of the clock are and displaying the time seen on the clock (correct or not) and not just the current time no matter what.


Log in or sign up for Devpost to join the conversation.