famiclone6502 / DIY_Datalink_Adapter

Timex Datalink Notebook Adapter emulator for Raspberry Pi Pico or Arduino, works with the original software to sync your watch.
BSD 3-Clause "New" or "Revised" License
24 stars 1 forks source link

Timex Notebook Adapter not found error #1

Closed Kup86 closed 1 year ago

Kup86 commented 2 years ago

Greetings,

First of all, thank you very much for working on a replacement for the Timex Datalink adapter. It is something very much needed as for many bulky CRTs are not an option

Sadly, I have ran into an issue: When choosing 'Serial' in the Timex Win95 application, I get a "Timex Notebook Adapter Not Found" error. It appears that the laptop doesn't recognise the arduino as an adapter.

I am using a Thinkpad 380D running Windows 95 and the arduino is connected though the DB9 serial port.

As far as I can tell I have followed the instructions to the letter including adding the Libraries. Everything is connected according to your instructions - Checked several times. Not sure what could be wrong, any help would be appreciated.

famiclone6502 commented 2 years ago

Thank you @Kup86 for opening an issue, I'm happy to hear that someone else has attempted to build my project!

I'm sorry you're having issues, but I can offer troubleshooting steps that may help isolate the problem.

When the software is saying it's not found, it means it didn't get a valid response from the adapter. That could mean it thinks no adapter is connected, or it didn't like the response the adapter gave (which came up a lot during development).

First, can we verify which type of cable you are using? Is it a null modem cable? Or are you using a null modem adapter on a serial cable? You may want to try different cables.

Can you test this with another machine? Even a virtual machine?

Do you have a multimeter or continuity tester? Check that the cables are making a good connection from the Arduino board to the serial board. I would also get an error like this if the Dupont connectors were loose. Sometimes bending them a little would help.

Which voltage did you choose for the serial board? Try switching between the 3v configuration and 5v configuration. Did you get a 2-pack? If you have a second one, try swapping them out.

Are you able to test any other Arduino sketches that utilize the serial board with a terminal program?

Just to be sure, are you running 2.1d? I believe this is the final version, which is still available on their website.

Lastly, try and old version of PuTTY that's compatible with Windows 95 (like version 0.61, which also has serial) to communicate with the Arduino. If you type x it should repeat x, and if you type ? it should show a version. If you're getting responses, we may need to adjust the timing in the sketch to make the software happy, or we may need to check the software's responses with a program like portmon. I'm hoping it's not this, but I would like to verify that it works with other hardware before going down this route.

Let me know if any of this helps. I would love to hear if this eventually works out.

Thanks!

Edit: Also, does the red LED ever blink when using the software? This should help verify if the software is talking to the Arduino.

Kup86 commented 2 years ago

Thank you very much for replying with such a thorough response. I tried doing the following as you suggested:

I am guessing there is something wrong with the HAT or cable. I have ordered a couple of new serial cables from Amazon. Unfortunately I haven't been able to find a HAT that is different to the one I have (Female with a Micro-USB port) which could also be the problem. The one you linked is sold out.

I will just have to trouble shoot as the cables arrive as not sure what else could be wrong. I am completely new to Arduino so hopefully I have done things correctly from the code upload perspective and Libraries. From Youtube and online guides, I appear to have done it correctly.

Regarding the LED, no never blinks probably because it never gets to do the handshake.

I will let you know as the items arrive and I am able to try them. Hopefully someone else has a go to so we can all learn from different experiences.

famiclone6502 commented 2 years ago

I just checked and the serial hat I linked to is back in stock. I highly recommend getting the same exact hat.

I'm not able to find the hat you're describing. Can you share a link?

It really could be a bad combination of cables and connectors. I've got multiple serial cables with gender changers and adapters. Usually only one configuration works with a particular piece of hardware, it's not just an Arduino problem.

Since there's no sign of life, also be sure you saw an uploaded successfully message in the Arduino software with no errors.

Thanks for getting this far with it. I made this project with the goal that someone with no Arduino knowledge could build it, so I will update the documentation with any lessons learned here.

Kup86 commented 2 years ago

Thanks again for replying.

As far as I can tell from Arduino IDE, the code uploaded with no issues reported . Libraries are also installed. I have added a screenshot showing the "Done Compiling" & "Done Uploading" results in IDE. Unless I am misunderstanding something, it looks to have uploaded ok.

sketch

The serial hat still shows as unavailable on Amazon US (and AU), it could be because I am in Australia. There is a similar posting on ebay with it but it says "Does not ship to your country" so that could be it as the seller does not sell internationally. It's not available anywhere else that I can see.

The hat I have is this one which appears to be the most common one I can see sold locally: https://www.auselectronicsdirect.com.au/rs232-converter-to-ttl-serial-module-for-arduino-p?gclid=Cj0KCQjw0umSBhDrARIsAH7FCodDEHmuUl3sD3zxeSaUbvhO_iD26a3FYm6tozGgt07gMBUSm7finv8aAmOwEALw_wcB

I have also tried using it as 3v , 5v and even tried powering it by using its USB port. No result.

I am thinking of trying this one - What do you think?

https://www.amazon.com.au/Converter-Breakout-Connector-Terminal-Communication/dp/B08GKN8W1X/ref=sr_1_12?crid=1HN2B4D6VDB8O&keywords=RS232+ttl&qid=1650157887&sprefix=rs232+ttl%2Caps%2C219&sr=8-12

I am determined to making this work so I appreciate your inventiveness of coming up with a method and helping me out.

Edit:

I tried to experiment a bit - when I plug the arduino to USB on my Win10 PC, it gets assigned COM3. So I decided to start DOSbox with Win3.1 and passthrough to COM3. I tried the timex software there and although it still didn't recognise it (as expected), I got the RX LED on the board flashing which is the most reaction I ever had. I know you mentioned this doesn't work and I didn't expect it to but is this a sign that the Arduino side of things is at least ok?

famiclone6502 commented 2 years ago

The upload looks good.

I apologize as my recommendations were US centric. I think I can recommend a few things that might be available in Australia.

This one on Amazon.com.au looks more appropriate: Ableconn PI232DB9M Compact GPIO TX/RX to DB9M RS232 Serial Expansion Board for Raspberry Pi https://www.amazon.com.au/dp/B00WPBXDJC

I think this one on Aliexpress is similar to mine, and it ships to Australia: https://m.aliexpress.com/item/32677883245.html (This is going to take longer to arrive but is much cheaper. You may also want to check other vendors there for similar items.)

Per your note, the USB port on the Arduino is a separate COM port, the hardware serial. My program does not use that, and is just how you upload the sketches. I couldn't get hardware serial to work, and it would also need compatible drivers for Windows 9x. In the future, I would like to eliminate the software serial and ttl serial hat to make the project simpler to build.

Kup86 commented 2 years ago

Bought the one fro Aliexpress as its cheaper and hopefully a closer replication of your setup. Let's see how it goes once it arrives. Hopefully it won't be too long but then again something like this has already waited 20 years :) If someone noobish like me can replicate your design, it would be great for all the people with datalink watches who presently have it in a draw or just as a trinket.

Once everything arrives, I will let you know how it went. Looking forward to it and thank you again for all your help. Cheers!

Kup86 commented 2 years ago

Got it working!! :)

I decided to play around with it so I swapped the RX& TX cables (Must be labelled backwards on the Hat) and noticed that Putty was now talking to it. Could get its version number, etc. Tried it first in DOSbox Win3.1 - Didn't work although I could see the HAT LEDs lighting up which gave me hope.

I then tried it on the 380D laptop and the software accepted it! I was stoked but still not there yet as I couldn't get the watch to beep to the Sync LED (which was now working). I swapped it with a clear one and the watch started to beep! It took a fair few goes to get the right angle and lighting but it managed to sync the sample data successfully!

What an awesome thing you have done! Congratulations :)

I will now see if I can house it in a nice 3D printer case that will help with the LED angle for the watch. Thank you again for all your help and fantastic work! Everyone who owns a datalink should try this as you have done a great service for us.

famiclone6502 commented 2 years ago

Oh perfect! I'm so glad to hear that you figured it out! I didn't think about RX/TX labeling being a problem, I will update the documentation to mention checking it.

Also your experience with the sync is also good feedback. I would love to print a 3D case, as I do have a 3D printer. Unfortunately, I am not good at making cases and haven't figured that out yet. I welcome contributions, if you want to create a case. I can just link to your Thingiverse page or even add it to the repo (with credit, of course).

I appreciate the kind words. I'm just happy someone else finds it useful and was able to build it successfully! Congratulations on building your first Arduino project! Have fun with your Timex!

Kup86 commented 2 years ago

Tried it several times now so its easy to repeat. Works great!

Now that I know my HW setup works, I tried VMs on Win10 for the sake of convenience as most people wouldn't have a 90s laptop kicking around. I have been trying to make it work in VMware Workstation Player and DOSbox with direct to COM port pass through. In Hyper terminal within both, it works with the version command and returning the 'x'. However the Timex software doesn't like it and says adaptor not found.

I think you mentioned that you got it working on a VM. What settings aside from passthrough did you use? It is also very possible that the timex software simply doesn't like my USB to serial adapter. Cheers.

Edit: Tried it on a WinXP laptop that has a physical db9 serial port and USB ports. The Timex software installs on it ok.

PXL_20220419_045408184

famiclone6502 commented 2 years ago

When using a virtual machine, you don't directly present the USB adapter. I'm using Windows 98 SE in VMware Workstation. In the settings for the VM, I added a Serial Port, enable connect at power on, and set it to use the assigned COM port of the adapter under "use physical serial port."

If you connect the serial adapter when the VM is on, it will prompt you to ask if you want this device connected to the VM or the physical host. You actually want to connect it to the physical host and set the above.

I haven't tried, but I don't think DOSBox would be suitable. You may need to use an unofficial branch of it that supports peripherals better. I also haven't tried Win 3.1 yet.

I was not able to get a USB adapter to work on my Windows 98 laptop, it actually glitched quite a bit. I think it may be a driver issue. But, the physical COM port works great.

It could be an issue with the USB adapters, as I only got one of mine to work. There's a lot of counterfeit chips in them these days. The chip manufacturer's official driver detects those (plus older official ones) and basically refuses to work properly in Windows 10. But, they'll work fine in Linux. I recommend getting one that's been vetted, like from Adafruit (I believe they ship internationally from the US). But, if the one I link to in the documentation is available in Australia, that is the exact one I used.

Also, you probably know this, but make sure PuTTy is closed before opening the Timex software. They can't both access the COM port at the same time.

If you don't mind, can you show off a photo of your build? :)

Kup86 commented 2 years ago

Yeah I have been setting up as you have so it has to be the cheapy adapters that are the issue. I will try to see if I can source the one you are using. As mentioned, in both DOS Box and VMWare, the Putty command responses work fine.

Sure here is my messy setup :)

PXL_20220418_134323984

Thank you again :)

famiclone6502 commented 2 years ago

I've ported this over to the Raspberry Pi Pico for use with Virtual Machines, it does not require any additional hardware (just the Pico itself via USB). It should be much cheaper and available worldwide.

Let me know if this helps.

Kup86 commented 2 years ago

Wow that is awesome! Makes it a bit more streamlined for anyone to use. I should get myself a pico and try it out. I was already going to for the Gamecube mod so may as well get two :)

Your old design still has a place as it evokes the original datalink device and suited for using original hardware. I was working on a 3D Print design for it so learning my way around Freecad but was hijacked by having to change jobs and a whole bunch of work that came with it. It has been in the back of my mind so hoping to get back to it.

famiclone6502 commented 2 years ago

If I can find appropriate USB-CDC drivers that will work with Windows 9x, it's possible a direct connection will work with the Pico. So far my efforts just crash the OS. Maybe Windows 2000 or even XP would work out of the box, but I've not had a chance to test this yet.

If you do revisit and make a 3D case, I would love to print it!