Xbox 360 hard drive to SATA adapter

Click this image to return to the main index. This project is actually the result of another project that I thought would be totally simple but quickly got out of hand. I'll spare you the details; ultimately I want to get access to the data on an Xbox 360 hard drive.
The Xbox 360 hard drive is actually just a standard laptop form factor drive in a fancy plastic case with a proprietary connector. The file system on the 360 drive has some relation to the original Xbox drive file system, which in turn was based on the FAT32(?) file system. I'm actually unclear on this subject - the file system of the drives in the two console versions may be the same or they may not be - I really don't know. It's kind of a moot point because third-party utilities exist that will read the drive (Xplorer and Xport for example) - I just need to hook the drive up to the computer. I could just pop it out of its case, but that woids the varranty.
Like most projects, the first thing I do is a quick search on Google to see if anybody else has done the work for me, or at least done something similar.
Hack-a-Day had an article detailing what appeared to be a homebrew adapter gone commercial. The site the project was on is now gone, but Web Archive has it, including these photos:

(Photos from 360sata.com, reproduced here for posterity.)
There was also a link to the retailer who was actually selling the device at the behest of the original developer. The original device is (apparently) no longer for sale, but there is a similar looking device in the store. There were more professional looking adapters for sale, but 50USD seemed overkill for something I might use three times and then never look at again.
In parallel, while I was looking up adapters, I found myself curious about what pinout was of the proprietary connector. After a surprisingly long search I stumbled across a document (Xbox_360-HandC-V1_4.pdf) by one Speedy22 - it's a fantastic resource detailing most of the internal and external connectors found the in Xbox 360, including the hard drive connector.
With the photos above I could probably make knock offs reverse engineer develop my own board, but Speedy22's doc confirmed the pinout of the connector. At this point I decided to build my own adapter - ultimately it wasn't the cheapest option, but it would net me experience and it seemed like fun.

In the interest of completion I should point out that after the project was finished it was pointed out to me that there is a plethora of cheap (sub-10USD) devices out there that would connect Xbox 360 HDDs to a computer via USB (a range of items I had somehow missed in my initial search). They appeared to power the drive solely off the USB bus which struck me as rather stupid. When I was doing research for my project I looked into using USB as a power source but the least power hungry laptop drive I could find sucked down 450mA nominal - add a 10% safety margin (mostly to account for current draw during spin up) and its getting extremely close to the max current limit imposed by the USB spec. Of course we haven't even looked at the current draw for the SATA->USB logic yet. I can see a hard drive manufacturer being able to guarantee the current draw of a drive and custom interface electronics in an sealed external enclosure, but using these made-to-a-price-point adapters with mystery drives?
Amazingly, Microsoft actually sells a product that does exactly this: it's called the Xbox 360 Hard Drive Transfer Kit. I haven't seen solid proof it works with a normal computer; technically it is only intended for use with an Xbox 360 console which makes me wonder if Microsoft tweaked the Xbox 360 USB ports to deliver more than 500mA of power - or conversly they are very careful to only use drives that won't max out the USB bus.
Whatever. Good to know, but I didn't want to muck with USB anyway.


XboxHDD

Parts
3M 5607-4200-SH SATA connector (right angle, surface mount) (
datasheet, local copy)
Diodes Inc AP1117E50G-13 SOT-223 (3 leads + tab) 1A +5V linear regulator (datasheet, local copy)
0.1uF ceramic capacitor
100uF electrolytic capacitor
2.1mm DC barrel jack
5mm LED (red)
150 ohm resistor (for LED)

In the homebrew/commercial design above, the drive pins were broken out to a SATA jack and a Molex 8981 series power connector (or a knock-off thereof). I have two problems with those 8981 connectors: they're 2USD each (in small quantities from Digikey) and are usually a total pain to pull apart. They aren't really intended for desk use and neither are the power supplies they are usually attached to for that matter. I figured I could build a suitable on-board power supply for less than two bucks.
I was surprised to find linear regulators in the SOT-223 package that were rated to one ampere current out. I was even more surprised to find them going for as low as fifty cents. The one I went with cost about 0.75USD(?) - I selected it primarily because it had a higher max input voltage (18 volts) than all of the other devices in the same price bracket. The caps, LED, DC jack, and resistor are all nondescript generics. Total cost for the lot comes in at under a buck, if you shop right. If you're really pressed for cash you should be able to source all of these parts from consumer electronics scrap.


Files

Gerber files (back/front copper/mask/silkscreen, outline, drill file) for board: xboxhddV2.20100708.zip

All file in this segment are in gEDA gschem format.
Schematic (gEDA gschem format): xboxhdd.sch
Power barrel jack, right angle: dcbarreljack_rightangle.sym
AP1117 SOT-223: di_ap1117_sot223.sym
Generic SATA connector: sata.sym
Xbox 360 HDD edge connector: xbox360hdd_consoleside.sym

All files in this segment are in gEDA PCB format.
Layout (gEDA PCB format): xboxhdd.pcb
Power barrel jack, right angle: dcbarreljack_rightangle.fp
5607-4200-SH SATA connector: 3M_SATA_RA_7.fp
Xbox 360 HDD edge connector: xbox360hdd_consoleside.fp


Notes
[2010-06-14]
Sent the initial board design in to be fabricated.

[2010-06-15]
Microsoft just announced the Xbox 360 S at E3 2010. It uses a different hard drive box that is NOT compatible with the original Xbox 360. I have no idea what kind of connector is used on the new hard drive box - I'm hoping that it is the same connector as on the original 360 but given what my luck stat is I wouldn't bet on it.

[2010-07-03]
Prototype boards arrived. Built up one, and then proceeded to discover that I had swapped the A and B channels on the SATA connector footprint.
*sigh*
Here are some glamor shots anyway:
Photo of adapter from a corner of the Xbox HDD edge connector Photo of adapter from the corner near the power indicator LED Photo of solder side of the adapter

[2010-07-06]
I'm not a big fan of point-to-point wiring but I'm even less of a fan of tossing a ~10USD board because a couple of pins are flipped:
Photo of rewired SATA connector from the side Photo of rewired SATA connector from the back Photo of reqired connector plugged into an Xbox 360 harddrive
Just lifted up the offending pins on the connector and used some 30 guage wire-wrap wire to connect the appropriate points together.
And, hey! It worked! Here is a dump from dmesg:

[ 8921.870085] usb 1-2.1.4: new high speed USB device using ehci_hcd and address 7
[ 8921.983807] usb 1-2.1.4: configuration #1 chosen from 1 choice
[ 8921.985054] scsi8 : SCSI emulation for USB Mass Storage devices
[ 8921.985141] usb-storage: device found at 7
[ 8921.985143] usb-storage: waiting for device to settle before scanning
[ 8926.980282] usb-storage: device scan complete
[ 8926.981032] scsi 8:0:0:0: Direct-Access     Hitachi  HTS542560K9SA00  C3JP PQ: 0 ANSI: 2 CCS
[ 8926.981631] sd 8:0:0:0: Attached scsi generic sg5 type 0
[ 8926.984272] sd 8:0:0:0: [sde] 117210240 512-byte logical blocks: (60.0 GB/55.8 GiB)
[ 8926.985253] sd 8:0:0:0: [sde] Write Protect is off
[ 8926.985257] sd 8:0:0:0: [sde] Mode Sense: 00 38 00 00
[ 8926.985259] sd 8:0:0:0: [sde] Assuming drive cache: write through
[ 8926.986767] sd 8:0:0:0: [sde] Assuming drive cache: write through
[ 8926.986771]  sde: unknown partition table
[ 8927.316633] sd 8:0:0:0: [sde] Assuming drive cache: write through
[ 8927.316638] sd 8:0:0:0: [sde] Attached SCSI disk
		
Here's what the same drive looks like in Windows (XP Pro 32-bit):
Cropped screenshot of the Windows Disk Manager; the Xbox drive appears to be unpartitioned and unformatted
[2010-07-08]
I noticed that everything connected to the trace that was connected to the tab on the linear regulator was getting extremely warm. In the interest of thermal management I laid out some extra copper around the tab pad and on the underside of the board (note the huge vias). It didn't seem to be a huge problem (no smoke or discoloration) so I didn't redesign the board with a 'proper' heatsink.
All in all, that worked out pretty well! Project = finished.


DISCLAIMER
All content is owned by its respective creators/licence holders.
Unless otherwise stated, everything else: Copyright © 2009-2010, Chlazza