Bill's Computer Circus
Don't get caught with your system down.
NOTICE: This web site may not render correctly in older browers like Internet Explorer 5.2 for the Mac. May the gods help you if you are using Internet Explorer on any machine! Otherwise, if this site does not look right on your browser, please let me know what browser you are using (and what version and on what computer). Thanks!
"Visual Basic makes the easy things easier. Delphi makes the hard things easy."
-- unknown
Tuesday, May 25, 2004
 



A couple years ago, I began developing a little device that I call RC4. It was a project that I thought would take a couple of months, and it turned into nearly two years. Well, about a year and a half, actually, before I stopped working on it. But recently, I have picked it up again, because I was so close to completing it, I just can't stand to let it drop.

For all the juicy details about RC4, check out my RC4 web pages if you are so inclined. Be prepared for a dry technical read, however.

Anyway, I have a couple of these really neat embedded computers that I bought for a good deal on eBay. I originally bought one, but it was so cool that I bought another. I decided I wanted to use one as a test bed for RC4. Here is a picture of one of them:



It's not a very good picture, and it is not powered up, so there is nothing interesting on the screen, but at least you can see it. All I know about it is that it was some kind of prototype for some kind of medical device. It has an 80386SX 33MHz embedded computer inside of it that is running DOS. It also has a cool color LCD screen, seven buttons in the front, and a place in the back to plug in a keyboard. And, since I have Turbo Pascal for DOS and I have an extensive library of routines for creating DOS-based programs, I thought it would be a great little platform for all the hard work I did in the past creating those routines. I have an exceptionally cool DOS windowing library that I created and never really used that I am happy about putting to good use now.

Here is a shot of the guts of the device. I have installed my RC4 device inside of it, so now it is one integrated happy little unit:



You can't see a whole lot of detail due to the way everything is mounted, but that's not important. This unit has a way-under-utilized power supply inside of it, which is cool -- lots of room to expand and play. And I found out the other day (Sunday) that it's a pretty hefty power supply, too. It was a near-disaster sitution that fits right in with the Computer Circus theme.

Here's what happened...

Upon installing RC4 into the embedded computer device, I decided that connecting the serial port via the 10-pin header from the embedded PC to RC4 was the thing to do. Fortunately, I had designed and created an RS-232 interface for RC4 that used a 10-pin header for just such a connection. Hey - I was thinking ahead, what can I say?

Well, once I plugged it in and turned on the unit, the power didn't come on. I put my head down to the back of the box to listen to see if the cooling fan was running, and all I could hear was the fan very briefly starting and stopping. The power supply was going on, off, on, off, on, off, etc. At the time, I didn't realize there was a short in the system and that the power supply was shutting itself down to protect itself from damage.

But then, suddenly, it turned on. The fan came on...and started blowing a ton of gray smoke out the back! It was nasty, particularly because my face was right up next to the fan at the time. I'm sure it was a rather toxic plomb.

I quickly shut off the power and opened the door and window to my shop and set up a fan to vent the toxic airborne debris outdoors, then came back to determine what went wrong.

The RS-232 standard uses a DB-9 9-pin connector to connect to a standard 9-pin serial cable. However, the DB-9 connector provided by the embedded computer is connected to the computer via a 10-pin header. That means one pin is not used. Therefore, when I used RC4 with the standard 9-pin setup, everything was happy and good. However, this time, since I used a straight 10-pin ribbon cable to connect the 10-pin header from the computer to the 10-pin header on my serial interface to RC4, I was utilizing all 10 pins.

When I designed the serial interface board for RC4, I didn't know what to do with the "unused" tenth pin...so I tied it to ground. What I also didn't know was that the embedded computer (and maybe this is pretty standard?) provides 5V power on this tenth pin. So, basically, what I had done by connecting RC4 was essentially tied the 5V source directly to ground, creating a dead short. Apparently, this caused the corresponding wire in the ribbon cable to get red hot and melt off all the insulation around it, until the wire actually separated and allowed the power to come up for the devices.

Here's what's left of the 10-wire cable:



I am very surprised that there wasn't any other damage! At least I haven't found any, yet. I made a new cable and cut the trace that tied pin 10 to ground, and plugged it back in and everything worked fine. The RC4 serial interface still worked, and the embedded computer still worked (and the associated serial port still worked) and the power supply still worked... It just worked. Very strange. I guess the ribbon cable wire was the weakest link with the highest resistance, so it acted as a slow-blowing fuse and burnt up. That was actually very fortunate!

Every cloud has a silver lining, as they say. This cloud (of smoke) revealed a silver lining of interest to me: the embedded computer provides power via the serial port connector! This was good news to me, as I was looking for a place and a way to connect RC4 to the power supply of the unit, and this was perfect! All I had to do was make a quick modification to the RC4 serial interface board, and suddenly there was power. It worked out rather nicely!

I have included a modification to the design for my next revision of the board to include a jumper to allow pin 10 to provide power to the board. Woo hoo!

Anyway, here is the workstation I am using to develop the software for this embedded device:



There's actually quite a lot going on in this picture. It makes quite a statement about my computer circus. The monitor (with the blue screen of life on it) actually has two inputs, and I use it for my main desktop computer (that I call "Borg", seen standing just to the right of the monitor). I can easily switch it to the second input that I am currently using to connect to the laptop that is in front of the monitor.

Notice the laptop has no screen of its own. The screen was broken in an unfortunate incident, along with the internal hard drive. I have since put another hard drive in it and it now runs Windows 98 (but I have it configured to boot to DOS, so I am just using it in DOS mode for now). Turbo Pascal 7 can be seen running on the screen.

The monitor is sitting on top of the computer that is hosting my various web pages (like rcnightflying.com and the RC4 stuff I linked to earlier in this blog entry). Also visible is the keyboard for my main desktop computer, a document scanner that I have not hooked up yet, and an Apple PowerMacintosh in the background to the left (currently dead - someone gave it to me, and it has a dead hard drive, so now it just sits, taking up space in my shop).

Anyway, that's enough of that. I just wanted to document my RC4/embedded computer disaster story, especially since it had a happy ending. It seemed very fitting for the Computer Circus.

Wouldn't you agree?

posted by Bill  # 10:17 AM