I reverse-engineered all Timex Datalink watches and devices, the Notebook Adapter, and the CRT graphics in Ruby!

Synthead@lemmy.world to Technology@lemmy.world – 453 points –

Heya! I thought I'd mention that I've been doing a bunch of development on the optical Timex Datalink watches! I have been carefully sniffing data from the original Timex software with a logic analyzer, and have fully reverse engineered every Datalink protocol, the serial Notebook Adapter, and even the CRT syncing graphics! This means that every Datalink device, including every Timex and Motorola watch, all PDAs, and the funny e-BRAIN talking toy is supported!

For those that aren't familiar, the Timex Datalink is a watch that was introduced in 1994 that is essentially a small PDA on your wrist. The early models (supported by this software) have an optical sensor on the top of the face that receives data via visible light.

The original data transfer method involves drawing patterns of lines on a CRT monitor for the watch to receive with the optical sensor. CRTs use electron beams that draw scan lines one-by-one from top to bottom, then it returns to the top and repeats for the next frame. This means that the electron guns turn on when its drawing a white line, and and turn off when its drawing the black background. This produces flashing light as the graphics are drawn, which is ultimately received by the optical sensor and decoded by the Timex Datalink device.

For laptop users, Timex also offered the Datalink Notebook Adapter. Instead of using a CRT monitor, the Notebook Adapter simply flashed a single LED light. This adapter is fully supported by the Timex Datalink software, and sends the same data as a CRT.

However, Notebook Adapters are rare and expensive now, so I reverse-engineered one! Here's my timex_datalink_client Ruby library communicating with my DIY Datalink Notebook Adapter to emit data to a Timex Datalink watch!

And if you want to try the reverse-engineered CRT graphics, I got you covered! I reverse-engineered that, too!

As a fun tidbit, these watches are flight certified by NASA and is one of four watches qualified by NASA for space travel! Here's a shot of James H. Newman wearing a Datalink watch on the Space Shuttle for STS-88!

Here is my Ruby library with all options for all watches reverse-engineered into a tidy model-based syntax!

Here is a Notebook Adapter emulator that is fully compatible with all Timex software on old and new machines, and also works with my library too!

And if you have an anchor that happens to contain an electron beam and wanna try it, here's my library for drawing graphics to a CRT to transfer data!

This has all been done over months of careful effort with lots of VMs, Pentium machines, Windows 98SE, logic analyzers, and solving data puzzles little by little. On July 4th, 2023, I'm proud to announce that I have reverse-engineered every Datalink device with 100% feature compatibility! This is definitely a passion project by all means, and I thought I'd pop in and share this passion with y'all!

Enjoy!

45

You are viewing a single comment

The gold Timex Datalink 150, like the one you have in the first 2 pictures. Both your watches look really nice! I also went ahead and bought a couple Raspberry Pi Picos to use as adapters.

I just added support for the Raspberry Pi Pico to https://github.com/synthead/timex-datalink-arduino today!

Thanks! I'll check it out when my watch gets here. Hopefully, sometime this weekend. I joined the Discord and it looks great! It's really thorough and easy to navigate. I was able to get in touch with one of the original wristapp devs, so I invited them to join the Discord.

Oh wow, that's fantastic! It would be a real treat to have them come say hi!

Hey thanks! That's my favorite one! Congratulations!

Your 150 supports WristApps, which are little 6805 binaries that get uploaded into ~780 KiB storage over the Datalink connection! It's tiiiiiny, but enough to have programs for useful things like countdown timers, small games, etc. I'm kinda thinking of making a collection of links to WristApps somewhere to keep these things from getting lost to time.

Here's a fun example!

https://www.pouet.net/prod.php?which=87121

And here's a video of it :D

https://www.youtube.com/watch?v=T9GiiOL-B8U

For the Notebook Adapter emulator, the RPi Picos should work great, too! Adjust the GPIO pin to the onboard LED, and it should just work! The whole thing is mostly just passing serial data around, making an LED light up, and sleep statements :)

Thanks for the info! I will start tinkering with it at soon as it gets here. I would highly recommend savings the apps somewhere so that they don't get lost to time.

I found these old websites when I was looking for information on the watches. Only two of them are still up. The Yahoo forum for the Datalink had 6000 members, but all the information is gone now.

These websites are still up:

http://www.toebes.com/Datalink/datalink.html (tutorials)

http://datalinkwristapps.free.fr/index.php5?n=Main.HomePage

Yahoo forums (members only):

https://web.archive.org/web/20110519100657/http://tech.groups.yahoo.com/group/timexdatalinkusb/

https://web.archive.org/web/20120324194034/http://tech.groups.yahoo.com/group/timexdatalinkusbdevelop/

Personal websites of Datalink developers:

https://web.archive.org/web/20110921025856/http://www.rayandanja.com/Toys/TimexUSB/TimexUSB.htm

https://web.archive.org/web/20110903194915/http://www.ooparts-universe.com/prgs/index.html

I assume you probably already found this stuff, but I just thought it was interesting.