Intro: Pong Watch
Time for another retro project, this time a wearable - always on - Pong Watch. Inspired by the classic video game, Pong.
Here is the video of it in action.
Step 1: Parts List
Watch casing - Cheap 99p LED watch from eBay. This makes things a lot easier as I didn't fancy designing or building a watch case. I just performed a few mods to it.
Display - Monochrome OLED with I2C interface. Just a few quid from eBay.
Processor - Microchip PIC 12F1840 8 pin Micro Controller from eBay for a few quid.
Battery - rechargeable Li-ion 052025 25mm x 20mm x 5mm from eBay for a few quid.
Li-ion charger - TP4056 Lithium charger module from eBay for a few quid.
Step 2: Write Software and Test
I used Microchip MPLABX to write some test code in C (attached) and downloaded it via PICKIT3 to the PIC 12F1840 and hooked it up to the OLED display. The PICKIT3 at this point was also supplying power to the circuit. The I2C was bit bashed in the code, but the PIC 12F1840 has a hardware I2C built in that I should really be using, that way the internal clock doesn't need to run so fast saving on power. Unfortunately, it shares the same pins as the PICKIT3 programmer which interferes with the I2C pull ups meaning I would have to unplug the programmer to test which would result in me losing power to the device. It worked fine as it was and I decided I just wanted to get this thing built without exploring further features of the micro controller.
Step 3: Fit OLED Display Into Watch Case
Time for a little modification to the watch case. I had to remove some of the inside of the watch case to fit my OLED display into it. Luckily the OLED window is the same size as the original LED watch window so I could leave it as it was, just a shame about the "LED WATCH" text on the front of it, but more on that later. So, fit the display and retest.
Step 4: Modify Board for PIC Micro Controller
Now came the tricky part. With the OLED fitted in the watch case there was no room for any other circuit boards so the PIC had to be soldered onto a spare area of board. Luckily, most of board is ground plane so using a sharp blade I could cut up the ground plane and make my own pads to solder the PIC to and just use thin wire to connect it up to the various places needed.
Step 5: Add Switches to Board
Next was to add tiny switches around the outside of the board that would line up with the buttons on the watch casing. This was very fiddly and in one place it wasn't possible due to the OLED components being too close to the edge. This worked out ok tough, as I decided to do more mods to the case and add a mini USB socket that I could use to power and program the PIC.
Step 6: Modify Li-ion Charger Module
The battery charger module was far too big for the case so the size needed to be reduced. The charger IC could not be de-soldered as it has a pad on the underside which I could not get to, so I removed the non essential components like the indicator LEDs and resistors, moved the capacitors closer to the IC and cut the board to a much smaller size as well as sand down the back of it to make it thinner. Then I just glued it into a space on the OLED board and hooked it up with more tiny wires. I also wired up the switches too. By feeding the output of the battery via a diode and the 5v from the charger input via a diode to the PIC and OLED power rail I could charge the battery while powering the watch directly and it wouldn't interfere with the charging output to the battery.
Step 7: Fit Board Into Watch
The board was ready to go into the watch casing and wire up the USB connector, which not only supplied the board with power but allowed be to hook up the 3 remaining USB pins to the PIC for reprogramming. The PIC does not have a USB interface, I just used the USB pins to take the programming signals from the PICKIT 3 to the PIC. Unfortunately during case modification for the USB I scratched the mirrored surface on the inside of the glass, so I decided to remove all of the inside of the glass coating and spray on the inside my own black border.
Step 8: Attach Battery
Finally I had to wire up the battery permanently to the circuit. Place it carefully in the case and screw the back on.
Step 9: Finished Result
Final result is a Pong Watch.
On a full charge, the watch plays pong all day long with no problems, so as long as I remember to charge it every night it will never run out of charge.
The PIC clock is derived from an internal oscillator which isn't that accurate, so currently the watch is out by a few minutes each day. My next version of the watch with make use of a real time clock IC for better time keeping. I will also add some code that will allow me to play Pong against the Watch.