Pictures first:
A bunch of good progress. In no particular order:
- I assembled the rev 4 PCB assembled with no apparently showstoppers. I have a few cosmetic / mechanical issues to fix in rev 5, but nothing that prevents me from wearing the watch. I did have a bit of a hard time soldering it, but I blame that on either my solder paste or flux expiring, or on some weird interaction with the black soldermask.
- I modified the memory LCD driver to use hardware SPI instead of bitbanging. In my admittedly unscientific tests, this drops the time for a full screen redraw from ~170ms to ~39ms, approximately a 4x speedup. Most of the CPU awake time is currently spent redrawing the screen, so switching to hardware SPI (which uses DMA) means that the CPU can sleep for this whole process. I don't have a great way of measuring current consumption at the moment (I don't have a scope), so I don't know exactly how much of a power savings this is. I was able to find a Nordic forum post suggesting that the DMA peripheral draws up to 1.5mA when active, but even if that's true, a (1.5mA * 40ms) process that happens once per second is equivalent to a 60uA constant current draw. That's acceptable in my book, if not completely ideal.
- I was successfully able to interface with the BMA400 accelerometer, which I chose in part for its ability to raise interrupts on single and double taps (while running at ~15uA). I can now double-tap the watch to enable the screen light, which is extremely handy.
- I got the vibration motor working. It's exactly the same circuit as the backlight (with one resistor value changed), so I'm not sure why it didn't work before. I don't currently have a use for it, but it's cool that it works.
- Electrically, the flashlight daughterboard finally works. However, when I mounted it in a prototype case, it made the watch hard to assemble and ruined the aesthetic. It may be back to the drawing board for the flashlight and two buttons mounted to that board. I've found some interesting options to replace the buttons on that side, like a wheel or multiposition switch. Or maybe I'll just forgo buttons entirely on the hand side -- the three buttons under the white TPU bar (on the wrist side) work fine, and I can design an interface that only uses 3 buttons + tap if I need to. I would like to have a fourth mechanical button, though. I need to keep thinking about that.
The little bit of bad news: something weird is going on with the power system. I had two MCP73831's (the battery charger IC) go up in proverbial smoke within an hour of each other a few days ago, on two different revisions of the board. The only things in common were the battery, which may (?) have had a loose lead, and the USB cable. Hopefully it was the battery, and now that I've replaced the lead it'll all be fine. Hopefully.
The work continues! I'm approaching the point where the fact that I have no idea how to write an android app is going to bite me, so good tutorials and examples (especially ones that do BLE things in the background) would be highly appreciated in the comments :)
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.