So it’s been a while since I last posted about my OLED watch, and I’ve done a lot of work on it! (And also broke it multiple times)
It’s taken me a lot of work to get this far, and I developed EVERYTHING from the ground up. The electronics design, the PCB layout, the RTOS and firmware drivers, the graphics engine, the user-mode app code, and even USB communications apps. I’ve used C, C#, and Python extensively in this project, and Altium Designer for the schematic and PCB.
Overall it has been an awesome learning experience, and if I was to make another one I would do a lot of things differently!
Here’s a few features of my firmware:
- USB HID Communication (No PC drivers required!)
- Watch face for telling the time (Kind of required…)
- Date & Upcoming events
- Accelerometer reading
- RTOS Kernel debug info
And some features planned for the future:
- Bluetooth 4.0 (Still need to get the IC for it though)
- Magnetometer readings
- Smart alarm clock that wakes me up at the ideal time, by detecting my sleeping patterns through the accelerometer
- Auto screen on by rotating or shaking my wrist
SMD Rework
If you’ve read my last blog post, you’ll know that I ripped the USB traces off my last PCB! I ended up using my hot-air reflow station to transfer the components to a spare PCB, and luckily it all powered up and worked after that! Here are some photos of my reflow process:
Notice how I soldered the OLED directly to the PCB, I had used a connector in my last board but it added extra distance to the OLED cable, so it wouldn’t fit into the case. Soldering directly to the PCB gave me a few more millimeters to work with!
For more detail: OLED Watch Is Alive!