I made a couple of design changes to the protoype watch in my YouTube video. I now use an EADOG-102 lcd and this prototype will not have Bluetooth. I also switched to the ATmega1284p. It is Arduino compatible and has 16k RAM!!!!!!!!! Here is the new system laid out on a breadboard:
I got my circuit boards from SeeedStudio's Fusion service the other day. They look really good (the boards not my terrible silk screening skills). It was a great deal. I paid $10 for 5 boards and $7 for shipping. They were cool enough to send me 6 boards (probably because my boards were so small they couldn't utilize the space for anyone else - but that is way cool they did that) and it took about 3 weeks from submission to arrival.
I was going to use a work light and low temp solder to assemble the boards, but based on the good job on the spacing in the layout, I decided to hand solder the first prototype.
I soldered the components up to the sensor assembly and the lcd.
At this point, I want to power up the ATmega1284p and see if it will receive the Arduino bootloader.
Here is where I learned a lot of things I already knew. I initially tried to bootload using an Arduino as the ISP. When I tried to load the 1284p 8Mhz bootloader, It started to go and then hung up. If you notice in my schematic, I decided to use the internal RC oscillator to save component count on the board. The first thing that the Bootloader does is set the fuses to predetermined values. That caused the 1284 to switch to external 8Mhz crystal. I don't have one so the chip became unresponsive. When I realized what I did, I simply soldered two leads to the 1284p pins for the crystal, attached an external 8Mhz crystal and was able to use AVRStudio to reset the chip to use internal oscillator. I used it to load the bootloader too. At this point, I put 3.3V to the board and held a FTDI programmer to the programming port and uploaded the firmware from the Arduino IDE. I was both happy and amazed it worked.
Now that that was verified, I soldered the sensor board and the lcd. The result was the completed prototype.
I specifically designed the size to be able to fit perfectly into the numerous rubber watch cases available for the ipod nano. This one was $3 from Amazon.
And the final assembled watch.
Right now, the watch has modes to display weather data (temp/press/altitude), Accelerometer data, Magnetic field data, I have a mode to set the time. I can view the status page and check remaining RAM (which I have over 14k - thanks 1284p!) and the status of the RTC and sensors, I can set the contrast and 12/24 hour time mode and check the battery voltage too. I have not implemented the Gyro data yet (the gyro is the biggest power hog) and I did not add a speaker to this yet (I have pads for it on the pcboard) and there is no Bluetooth although the FTDI connector has all the connections I need to implement a small transceiver.
I finished a second prootype using the special backlight available for the EADOG-120 display. It adds significant width (backlit watch is twice as wide as non) but it is a pretty cool feature. Since the display uses two different sets of lights, I tied one to the 1284p and the second I hardwired to the battery. This lets me use the backlight without having to wake up the microcontroller, but still gives me software control of the the backlight if I want it constantly on or want to use it as an alarm mechanism. The lcd without the backlight is the one that has a special back that can't be used with a backlight but is really readable in ambient light.
With the massive RAM I have I intend to make the displays more attractive, add animations, and track trends in pressure to forecast weather. I will also add some specialty apps to uttilize the accelerometer as a movement alarm and a golf rangefinder (hold watch at eye length, point your finger at the bottom of flag, then at top, use the orientation data to calculate distance to pin). I will also use the clock display to show more data like battery status and pressure trend.
I would encourage Makers to have at my designs, modify them, improve them, and build your own smart watch. I am working on another version using the 1.3" oLed display. It will not use the sensor board but will be constructed with discrete sensor components. It will also have a USB port for recharging.
Thanks for reading. Hope this has motivated you to try a project like this.
Here is the schematic.