Hey!
Recently there was not much going on with Wolfie due to my work and vacation (chip shortage played its role too), so I decided to do a second "old projects" series writeup, this time about smartwatches I used to build.
The whole thing started when I was attending history classes at my junior high/high school. It was a huge pain for me as I had to memorize a lot of dates and events, which is not what I was (and still am) good at. I thought I could use my engineering skills to build a device that would help me a bit during the tests and at the same time improve my PCB design/ programming skills.
I decided to build an electronic watch with an LCD display that could not only show the time and date, but also display some small size text. I wanted to use a microSD card for storage, an AVR microcontroller, and an old Nokia display (back then it was hard to find any low-cost displays online). The hardware was pretty basic, but what about the main functionality? Basically, you'd just put some plain text file on the SD card and the watch would display and scroll the text file, when the cheatsheet function was activated. The best thing was that the cheatsheet could not be triggered unintentionally, without a special pen I was using to write tests. The pen would have a small magnet build in, and only it could activate the hidden option. This was a nice safety feature in case the teacher saw the watch displaying a wall of text and wanted to take a closer look (which actually didn't happen even once). Ok, so turning the cheatsheet on was pretty simple, but what about turning it off without much interaction with the device? I decided to implement a mechanism that would enable me to go back to the clock screen, by just using the smartwatch hand/wrist. In the first prototype, there was a flat push button on the strap, normally located under the wrist. The only thing you had to do when the teacher was approaching was to just slightly push the strap against the desk to activate the button. In the next iterations, I just added an accelerometer so that all you had to do was slightly move the hand or put it in a certain predefined position, and the text disappeared.
I couldn't find any photos of the first prototype based on a Nokia 3310 display as it was a long time ago. I hope I find them eventually, but for now you have to believe me it actually existed :P. Since 3D printers were not as popular at the time, I remember making the case from hand-cut laminate pieces and the whole device looked a bit crappy. Even though, it worked fine and helped me (and some of my friends) to pass some of the most tedious classes.
The next prototype was no longer only about cheating. I was inspired by my friend's Polar smartwatch that had a built-in GPS receiver and could serve also as a bike computer. I decided to upgrade my watch with a color LCD, a GPS receiver, a vibration motor, and some more features. Here's how it looked like:
|
early prototype with the GPS module mounted on the strap (yeah the cables didn't last long) |
Still a crappy-looking design, but not long after taking this photo I got a Prusa i2 printer and made it look a bit better:
I created two designs, one a bit thicker with a GPS receiver and another one without the GPS option which was thinner, as I could fit the battery in a PCB cutout region.
GPS variant - back side |
GPS variant - front side |
|
regular variant |
As you can see the PCBs were made at home and looked really bad with all the fixes and Kapton tape (but hey, it worked back then!)
I remember there was a simple menu with icons - you could even decode some *.bmp images from the CD card and check GPS coordinates, ground speed etc. It turned out the watch is a rather poor bike computer as it kept loosing GPS signal in the woods (yeah the receiver was under the PCB and the LCD...).
Even this watch wasn't enough - I wanted to make a touch-screen version. Unfortunately the only types of touchscreens available back then were the resistive ones that, as we all know, are rather annoying. After some search I've found out that Nokia had a nice touch panel on the C3 model, which did not require as much pressure to activate. I decided to go for it and at the same time I had to get a larger display (yes, also from Nokia phone):
The PCB was rather crazy and till this day I'm still wondering how I got it to work without any major issues (especially since it has an external SRAM memory, the SD card is connected using SDIO bus and the LCD is controlled by a parallel 8080 bus). It was made at home using photoresist dry film and all the developing and etching processes. The thing that annoyed me the most was hand-soldering all the vias..
|
developed photoresist |
|
etched laminate |
|
ready PCB |
|
other side of the PCB
|
The PCB contained a lot of modules like a MP3 hardware decoder with headphone amplifier, Bluetooth low energy module, wifi module, external SRAM memory (yeah on this poor 2-layer layout...), RTC, touchscreen controller and a micro SD card. Actually, it was a huge overkill especially when it comes to energy saving.
|
and old graph of all the peripherals |
Going for a more powerful STM32 microcontroller enabled me to make some more advanced stuff such as decoding *.JPEG photos or even playing a low frame-rate motion JPEG video (
link). The cheatsheet option was still available, but this time not only using text but also photos.
|
diy calculator demo
|
I remember wearing this watch everyday (and all the previous ones) and getting a lot of questions as it was quite enormous for a wristwatch. Even though, it was a nice conversation starter, especially during any "robotic" events and contests. One thing I had to remember was to take it off before taking a shower :P
I hope you liked this piece of my projects history. I had so much fun designing those I thought it was definitely worth a blog post. Sorry for the bad quality photos, but these are the only ones I had. It seems I wasn't taking as many photos of my projects back then. In the end I must warn you - (if you havent figured it out yet) - the PCB and software design of each of these smartwatches is really poor and I would not recommend you building one. In case you were really desperate, there are some nice alternatives like this one: https://open-smartwatch.github.io/