A blurry photo of the legendary USB Cart of Death

Raymond Chen

Some time ago, I talked about the USB Cart of Death. This appears to have drawn a lot of attention, with some people wanting to see a picture of this fearsome assemblage of hardware.

Commenter “dimples” found an old promotional video for the Windows NT build process, and at time code 4:21, there’s a brief appearance of the USB Cart of Death.

The USB Cart of Death

That’s the steering wheel on the left, and a horrible tangle of USB devices on the right.

In that interview, we briefly talked about the bluescreen error at a Windows 98 demo. Commenter patrickm.635 explained (which I partially corroborated with another source) that the development team had a scanner that they had tested and validated in the lab. However, the demo team didn’t use that scanner. Instead, the demo team went to a local electronics store and bought a scanner off the shelf.

Oh great, so now we’re running a demo of beta code, with hardware that’s never been tested, using a protocol specification whose ink is barely dry.

On stage, during the USB power negotiation, the scanner reported itself as a bus-powered device (meaning that it promised not to draw more than 500mW), but it ended up exceeding this limit. This faulty hardware triggered an untested error condition, and that caused the bluescreen.

Of course, they didn’t know at the time that that’s why the system crashed. They only discovered this after bringing the offending scanner back to Redmond and debugging what went wrong.

As a painful reminder of this error condition, the scanner was mounted on a World War II infantry helmet and worn by one of the engineering managers to the War Room meetings for the remainder of the project.

6 comments

Discussion is closed. Login to edit/delete existing comments.

  • Gershom Poretz 0

    Wow now we have an actual picture of the cart of death! I remembered that you mentioned about the Cart of Death in your interview with Dave Plummer.

  • Bryce Chidester 1

    Hi Raymond — Love the blog! Were both YouTube links meant to point to the same video from Dave’s Garage? Additional correction, I believe that USB power request is supposed be “500mA” and not “mW”.

    • George Tokmaji 0

      USB 1.0 / 1.1 allowed bus-powered devices to draw up to 100mA at 5V, or 500mW. Support for negotiating up to 500mA would only be added with USB 2.0 in 2000, whereas the demo took place in 1998.

      • Simon Farnsworth 0

        USB 1.1 (I’ve not looked at USB 1.0) has the same power levels as USB 2.0 – you can draw up to 100 mA at 5V as soon as you’re connected, and once you’re granted permission, you can draw up to 500 mA. When you’re in suspend and set as a remote wakeup source, you can draw 1/200th of the power you’re allowed when not in suspend; if you’re in suspend, but not remote wakeup, then you’re limited to 0.5 mA.

        This is described in chapter 7 of USB 1.1; it’s not completely clear (unlike USB 2.0) about how you get permission to draw up to 500 mA, but it does say (in chapter 10) that if you offer a configuration descriptor that says you’ll draw more power, and the host selects that configuration, then you are allowed to draw more power.

        The only significant change between USB 1.1 and USB 2.0 is that USB 1.1 hosts tended to be harsher on devices that drew more current than permitted, where by the time USB 2.0 came around, most hosts pretty much allowed 500 mA from the get-go even though they could be stricter.

  • Ian Boyd 0

    I have an image in my head of the cart-of-death. I must have just pictured it from the 15 year old blog post and the part in the book, and forgot that is wasn’t real.

  • Stefan 1

    “As a painful reminder of this error condition, the scanner was mounted on a World War II infantry helmet and worn by one of the engineering managers to the War Room meetings for the remainder of the project.”

    I want to see a picture of that!

Feedback usabilla icon