this post was submitted on 09 Jul 2023
537 points (98.6% liked)

Technology

59755 readers
2149 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 2 years ago
MODERATORS
 

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!

top 46 comments
sorted by: hot top controversial new old
[–] bonobi 68 points 1 year ago (4 children)

Yo. This is incredible. I doubt I'll ever have one of those watches but wanted to say how awesome of a job you did. You're seen.

[–] [email protected] 26 points 1 year ago (1 children)

I owned one of these watches on the 90s in am ironman form factor. IIRC it was basically a rolodex (named and phone numbers), which was surprisingly useful before cellphones were mainstream.

[–] [email protected] 4 points 1 year ago

Also a calendar, which was even more useful in everyday office life. What's my next appointment? Gold.

Now that I have a smartwatch, I use a layout (watch face) that shows my next appointment on the main screen. To think we had that 30 years ago! ❤️

[–] julesiecoolsie 11 points 1 year ago (1 children)

This is awesome! Side note for Memmy users.. how do you view all 7 images here? Not working!

[–] Synthead 3 points 1 year ago

Oh dear! I have them hosted on lemmy.world for this post, but every one of the photos (with the exception of the CRT example) is also on my GitHub repo:

https://github.com/synthead/timex_datalink_client

This is where the CRT example screenshot is hosted:

https://github.com/synthead/timex_datalink_crt

[–] FlyingSquid 5 points 1 year ago

I never had one, but oh did I want one.

[–] [email protected] 5 points 1 year ago

Lol I lost one somewhere when I was a kid, miss that watch. It wasn't expensive, Timex slapped the data links stuff into a plastic sports watch.

[–] the_green_bastard 15 points 1 year ago

This is fucking amazing.

[–] [email protected] 13 points 1 year ago (1 children)

Here is an alternative Piped link(s): https://piped.video/watch?v=p3Pzxmq-JLM

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source, check me out at GitHub.

[–] [email protected] 5 points 1 year ago
[–] me8myself 11 points 1 year ago

These watches where pure magic growing up. It's awesome to see someone is still screwing around with them.

[–] [email protected] 10 points 1 year ago (2 children)

You beautiful bastard! I had one of these and thought it was one of the coolest bits of tech I ever owned. Your post generated so much nostalgia over having to hold my watch in just the right aspect to complete the data transfer. I remember people watching me sync and being shocked (although that was perhaps at how much of a nerd I was to have one). I like to think they were reacting to the tech.

Very nice work! Now I just need to find my old watch…

[–] Synthead 6 points 1 year ago* (last edited 1 year ago)

I remember people watching me sync and being shocked (although that was perhaps at how much of a nerd I was to have one). I like to think they were reacting to the tech.

It's hard not to be intrigued! I wouldn't think twice about it!

If you happen to find yours (I hope you find it!), my Notebook Adapter emulator, with a bright white LED attached, is a significant improvement. It can sync a Datalink 150 watch several feet away! In fact, the light is so bright, that if you hold it too close to the watch, it'll saturate the optical sensor and cause transfer errors simply due to its brightness. If you point the LED sideways, this fixes this issue and makes transfers work just about every time. Check it out:

This picture is from my timex-datalink-arduino GitHub repo at https://github.com/synthead/timex-datalink-arduino! Feel free to make your own!

[–] Synthead 2 points 1 year ago

In case you find your old watch, I made a little Discord server with a bunch of archived WristApps, sound themes, and software if you wanna join and pick through it :)

https://discord.gg/nqKcKz2ZbE

[–] 0Empty0 9 points 1 year ago (1 children)

How long did it take you to do this? Impressive!

[–] Synthead 2 points 1 year ago* (last edited 1 year ago)

Thank you! I worked on this on and off in spurts since late summer of last year! I can't seem to keep my hands free of projects, and happened to put a lot of work into it during some relaxing vacations, ha.

Most of the reverse engineering was very satisfying, with puzzle after puzzle being solved in less than a day at the most. However, the protocol 7 Speech model on the DSI e-BRAIN was the most difficult part by far. I sunk several weekends into piecing together its bizarre packet format. I sniffed tons of examples from the original e-BRAIN software sending serial data to the Notebook Adapter in a VM, like maybe 50 examples.

I wasn't even that enthusiastic about reverse-engineering an odd and forgotten toy; I just wanted complete support for all devices with my library in principle. Eventually, I got most of the data figured out, and wrote a few scripts to brute force all the magic numbers in it. Later, I realized that some of the magic numbers were actually hard-coded phrases sent to the e-BRAIN on every transfer. Technically, this could be customized, which would make the e-BRAIN say something unique if it's sitting around and saying random phrases on its own.

[–] [email protected] 7 points 1 year ago

This is incredible thank you op, it makes me wanna make a open source watch that can receive the protocol ;)

[–] kungfu4 6 points 1 year ago

...woah...didn't know ruby was capable of that fun

[–] JesusChrist 6 points 1 year ago (1 children)

Now you made me buy a Timex Datalink.

[–] Synthead 1 points 1 year ago (1 children)

Congratulations! Which one did you go with?

[–] JesusChrist 3 points 1 year ago (2 children)

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.

[–] Synthead 2 points 1 year ago* (last edited 1 year ago) (1 children)

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 :)

[–] JesusChrist 3 points 1 year ago* (last edited 1 year ago) (2 children)

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.

[–] Synthead 2 points 1 year ago

I just created a little Discord server with a bunch of WristApps, sound themes, software, and documentation if you want to come join!

https://discord.gg/nqKcKz2ZbE

[–] Typea93 1 points 1 week ago

I have a dial like this in digital format on my smartwatch. If you're interested, the app in the Play Store is called Watch Face App. I like combining old and new things

[–] Synthead 2 points 1 year ago (1 children)
[–] JesusChrist 1 points 1 year ago* (last edited 1 year ago) (1 children)

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.

[–] Synthead 1 points 1 year ago

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

[–] [email protected] 6 points 1 year ago (1 children)

Damn that's super impressive. I like both watches and tech but have never even heard of these.

[–] MaxVoltage 0 points 1 year ago (1 children)

Dude must have three Tesla's in the driveway

[–] Synthead 4 points 1 year ago (1 children)

I actually refuse to own a Tesla because it's a privacy nightmare 🙃

[–] FlyingSquid 1 points 1 year ago (1 children)
[–] Synthead 4 points 1 year ago

Hahaha no, I like my cars angled, sporty, and from the decade where A-Ha was at their prime 😁

[–] chalupapocalypse 6 points 1 year ago (1 children)

Holy flashback dude, I had one of these in high school!

[–] Synthead 2 points 1 year ago (1 children)
[–] chalupapocalypse 2 points 1 year ago (1 children)

I think it was a 70302, the face looks right but I'm not sure about the band, it's been a while haha

[–] Synthead 1 points 1 year ago (1 children)

Oh nice! I think this is the same model that was used in the Datalink commercial!

Here's a nice photo on Wikipedia with model numbers compared to a great photo :)

[–] [email protected] 1 points 1 year ago

Here is an alternative Piped link(s): https://piped.video/watch?v=p3Pzxmq-JLM

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source, check me out at GitHub.

[–] [email protected] 6 points 1 year ago

Super cool work! Stuff like this can be forgotten so easily.

[–] [email protected] 4 points 1 year ago

amazing work, really appreciate your writeup.

[–] [email protected] 4 points 1 year ago

This is incredibly nerdy but in an awesome way. Excellent dedication to making this work!

[–] [email protected] 3 points 1 year ago

I never knew watches with that type of capabilities existed back then. That's amazing.

[–] [email protected] 3 points 1 year ago (1 children)

omg i used to have one of these!!! so cool what you've done with it 😭

[–] Synthead 1 points 1 year ago

Aw fun, and thanks for the kind words!

You can still snag em on eBay for pretty cheap! I've gotten a couple for $30!

[–] [email protected] 2 points 1 year ago (1 children)

I had one decades ago as well when they first came to the US. Mine was extremely finicky to program. I had hold it very still at a fairly specific distance to my CRT. It was rare for me to be successful on my first try and it was quite slow.

[–] Synthead 6 points 1 year ago

I noticed that the Datalink 50 and 70 watches (along with other protocol 1 devices) are very finicky, yeah. The Datalink 150 and 150s is much better, although not perfect. The success of the transfer needs a bright CRT monitor, and your room should ideally be free of flashing devices, like florescent bulbs and some LED bulbs.

My Notebook Adapter emulator, with a bright white LED attached, is a significant improvement. It can sync a Datalink 150 watch several feet away! In fact, the light is so bright, that if you hold it too close to the watch, it'll saturate the optical sensor and cause transfer errors simply due to its brightness. If you point the LED sideways, this fixes this issue and makes transfers work just about every time. Check it out:

This picture is from my timex-datalink-arduino GitHub repo at https://github.com/synthead/timex-datalink-arduino! Feel free to make your own!