On this site:

RS-232 level converter

This is a basic TTL to RS-232 converter built around the well-known MAX-232 integrated circuit. I needed it to talk to the controller of my failed Seagate hard disk.
In October 2010 suddenly my computer's hard disk died. No crash, no dramatic sounds, it just seemed to have disappeared when I started up the computer. The BIOS couldn't see it let alone identify it or determine its status. This was odd. It had “turned into a brick”. I concluded the controller board on the disk had failed, because normally the BIOS can talk to the controller even if the disk has unrecoverable errors. This was a 500 GB Seagate Barracuda disk from the 7200.11 series. Searching on Internet I found reports of a firmware error on this specific type of disk, and instructions on how to fix them. The problem and a number of warnings are given on MSFN and here. A concise and accurate description of the problem can be found at dataclinics who offer to fix your disk for money. Instructions on how to recover such a bricked disk yourself can be found at Maple Leaf and Tweakers forum and the first links mentioned.

I followed the instructions on MSFN found here. Though I wasn't sure about the reliability of this procedure, I felt I should hold on to this last straw. What was there left to lose now? I dearly wanted my files and mails back.

I read that to re-initialise the disk controller, you have to connect a terminal to a TTL serial port on the controller board, start the system monitor and issue some commands through this serial interface. This is very much like we worked with small computers in 1980. A shiver of early personal computing nostalgia went through my spine. Back to basics.

To connect the controller's TTL serial port to my laptop I needed a level converter. I decided to build the level converter using the MAX-232 IC. I just followed the circuit specified in het Maxim MAX-232 datasheet. This IC has a charge pump on board to convert the +5V TTL voltage power to + and -10V for the RS-232 signal. This eliminates the need for a separate voltage converter.

I soldered the circuit on a piece of perfboard. Connected it to a 5V supply. I checked the + and -10V that looked more like 8V. Then I connected the TTL input to the TTL output and typed some letters in the terminal emulator program of my laptop. Nice echo. I passed the loopback test.

I connected the TTL connector to the controller board and followed the instructions. When I powered up the controller and typed “ctrl-Z” a prompt appeared on my screen. Hooray, the TTL adapter worked and I could talk to the controller.

    The RS232 converter hooked up to the failed Seagate disk. Laptop outside view.

The RS232 converter hooked up to the failed Seagate disk. Laptop outside view.

After this, I carefully followed the instructions and was able to salvage my hard disk. The TTL converter I'll keep in a drawer till next time. (but will I have still a laptop with a serial interface by then?)

Copyright © 2012 by Onno's E-page         published 2012-08-11