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!
Wow… You’re a special kind of nerd lol. Mad respect to you.
Very impressive. At risk of sounding dumb: what can you do with it now that you’ve reverse engineered it?
I mostly just wear my watches to keep local time and check UTC time with the second time zone, and will use the timer WristApp as it’s really convenient :)
These days, watches serve hardly any utility since almost all of us have a phone in our pocket, so they’re more statement pieces and jewelry than anything. I do like to quickly check time on my wrist, but mostly I wear them cause I’m proud of my work :)
play DOOM I assume
Jesus crist, that’s actually fucking incredible, thank you so much for sharing!! How long have you been working on this project?
Thank you very much! I’m glad you dig! I started working on this around the end of the summer of last year, and have worked on it on and off in spurts :)
Most of the development has been fairly quick and fun. I wouldn’t be stuck on most of the hard stuff for more than a day or so, with the big exception being the DSI e-BRAIN’s speech data. Holy crap, that was difficult. Look at this nasty thing. It is full of magic numbers and conditionals that all play with each other. I experimented with test data in the software in a VM and captured it with a logic analyzer for several weekends. I wasn’t even interested in making the e-BRAIN toy work; I just wanted a feature-complete library. But I kept pushing and kept achieving little wins, and eventually I wrote a script to brute force different parts of the data, which actually worked!
Damn, that’s absolutely incredible. This is 100% the coolest thing I’ve seen on lemmy so far- I’m not familiar with this family of watches and their features, what exactly is the e-brain toy? I may have to go look up some demos on youtube, this is genuinely fascinating lol
Wow, thank you for your kind words! I’m glad you dig!
This is the DSI e-BRAIN! It is a talking PDA with a speaker and two buttons on it!
As far as I know, this is the only Datalink device that was made to be a toy that was targeted towards kids. I really dig this, cause the CRT transfer of the Datalink stuff really is fascinating, and it makes the CRT transfer the heart of what makes this toy interesting. And it was 2001 after all, so a talking PDA with CRT transfer certainly made us geeks-in-progress feel that “wow, technology” spark!
In the original Windows client software, you can see how there are calendar events for school starting and ending, and there are silly sound effects like burps and farts:
If you’d like to see more about what the e-BRAIN is capable of, you can take a look at my “Using TimexDatalinkClient with Protocol 7” documentation that helps provide equivalent code examples to screenshots of data in the original software:
https://github.com/synthead/timex_datalink_client/blob/main/docs/dsi_ebrain_protocol_7.md
Neat, right?
Had to find a moment where I had energy to sit down and read/process.
Lol, thats genuinely so amazing. The idea of using a CRT display for data transfer in the first place is cool as hell, but it’s even cooler that even the kids PDA toy implemented it. As a kid I would have been absolutely enthralled by everything about this, especially the watch, but the idea that it works with a PDA also is INCREDIBLE. Maybe if I had one I would actually have know what was happening when lol. These days I depend on the calendar in my phone for everything, maybe I could have gotten a head start
Something about the fact that you’ve made it possible for people to actually interact with all the wild features these watches have brings me so much joy. I have no doubt someone who loved these, or for whom it’s their grail watch will stumble across your work and it’ll make their year ❤️. There’s so much incredible stuff here that would have been largely lost to time were it not for your work!
Amazing! I had a datalink a long time ago, and I think that was the one where people made some custom games. One of them was Yahtzee, which was actually really fun. You selected dice by turning the crown (if no datalinks exist with crowns then it must have been a different watch).
Thank you! Is there a chance that you had one of the later USB Datalink watches? It did have a fancy crown that could be used to interact with the watch!
Yes! I checked Wikipedia and I had both the Ironman (that uses flashes) but then later I got the Ironman USB that has the crown! Maybe I have it in a box somewhere…
Oh that’s so neat! I only have the optical ones, but I’ve been curious about the USB ones, too! I hope you find it!
BUT DOES IT WORK UNDEWATER!
(THIS IS INCREDIBLE)
Hahaha, yes it does! All Timex Datalink watches have 100 meters of water resistance except for the Motorola Beepwear Pro. The Beepwear Pro uses a zinc-air battery that must be exposed to air to produce current. So no windsurfing and receiving pages for you ;)
Thanks for the kind words! <3
Thanks of doing nerds god work
This is freaking cool. I didn’t even know these weirdos existed