Bill of Materials

Reference(s) Qty Value Package
R1 1 470 0402
R2 1 37.4K / 1% 0402
R3, R4 2 12K / 1% 0402
R5, R7 2 100 0402
R6, R8, R10 3 10K 0402
R9 1 1M 0402
C1 1 47uF 1206
C2, C14, C16, C17 4 1uF 0402
C3, C18, C19 3 10uF 0603
C4, C5, C10, C11, C15, C20-C22 8 100nF 0402
C6-C9 4 10nF / 10% 0402
C12, C13 2 10pF 0402
D1 1 LED 0603
FB1, FB2 2 100-450 Ohms at 100mHz 0603
U1 1 JM20330 LQFP-64
U2 1 RT9059GQW DFN-10 EP
U3 1 MIC5305-1.8YML DFN-6 EP
Y1 1 25MHz +/- 50ppm 4 pin 2.0x1.6 mm
CN1 1 2mm pitch 2x22 header
CN2 1 TE 2199230-3 or 2199230-5 or 2199230-1

Notes/Alternatives:

C - I used 10V or higher MLCCs for all capacitors, with X5R or X7R dielectric on all but C12/C13.

C12/C13 - These were calculated for a crystal with 10pF load capacitance spec. Recalculate if using a crystal with a different load capacitance.

D1 - Any LED with current rating >=5mA and forward voltage <=3v.

U1 - The datasheets suggest that JMH330 and JMH330S might be compatible with this design, but I haven't tested them. If you try this, make sure JP1 is set to Device 0 for JMH330 or Device 1 for JMH330S.

U3 - MIC5323-1.8YMT or MIC5319-1.8YML can be used here if you change C16 and C17 to 2.2uF.

CN1/CN2 - More on these below.

All components (except C1, D1, and the connectors) should be less than 1.2mm tall to maximize clearance for the SSD.

IDE Connector

Because DOMs are so poorly standardized, there are a multitude of options for the IDE connector. To accommodate this, there are two PCB variants that I've named "A" and "B".

Horizontal DOMs are available in several styles, so you'll have to look at your device to determine which PCB to use and on which side to mount the connector. Be sure the adapter fits above/around nearby components.

For the most common style of vertical DOM, use PCB type B with a right angle female connector mounted on the top of the board. There are other styles, though, so check your device carefully.

To replace a 2.5" IDE hard drive, use PCB type A with a right angle male connector mounted on the top of the PCB. The adapter will plug in with the bottom of the PCB facing the same direction that the label faces on a normal hard drive.

Some motherboards have shrouded male connectors that won't accept female connectors with a housing more than 4mm wide. Many right angle female connectors have protrusions wider than that, so you may have to modify them slightly to fit.

The key pin (20) is marked on the silkscreen. Be aware that some motherboards have all 44 male pins populated, so if the adapter has a female connector, you may not want to plug that pin. If the adapter has a male connector, though, there's no reason not to remove pin 20.

M.2 Connector

The specified part number here leaves about 2.5mm of clearance between the M.2 PCB and the adapter PCB. 1.2mm of that is taken up by the main IC package, so any SSD with components on the bottom side thicker than 1.3mm may not fit.

Almost every M.2 connector I've looked at, regardless of manufacturer, has an identical PCB footprint. I have no idea if this is defined in the M.2 specification, but it means that compatible connectors are available in a wide range of heights. You could easily choose a taller one to fit bulkier SSDs, or a shorter one that would only be compatible with single-sided SSDs. Make sure it has "B" keying, though.

The holes for the M.2 mounting screw are slightly over 2mm, though you can drill them out or adjust the design files to make them 3mm if needed.

PCB

The PCB is 4 layers, 0.8mm thick, and is designed for JLCPCB's 7628 stackup. The features aren't too small, so you should be able to order this from most board houses that offer a 4 layer stackup with similar controlled impedance specs. It was designed in Kicad 6.0, and the slight teardrop pads were made with this plugin.

Usage

There are two solder jumpers on the bottom side of the board. The first, JP1, is self-explanatory. It sets the bridge IC to either Device 0 or Device 1 on the IDE bus.

The second, JP2, controls the behavior of IDE pin 34, and needs a bit of explanation.

With the 80 conductor cables introduced in ATA/ATAPI-5, pin 34 serves two different purposes. The connection between pin 34 of the two device connectors carries the PDIAG signal from Device 1 to Device 0. An intentional break in the cable isolates this from the host connector, which instead has pin 34 grounded. This grounded pin indicates that an 80 conductor cable is present, and that the host is allowed to use high speed transfer modes above UDMA2.

As far as I can tell, the standard never addresses a situation where a device connects directly to the host without a cable. As a result, some hosts that are designed to use DOMs never operate above UDMA2 unless the DOM itself grounds pin 34.

I have no idea what happens if you try to run multiple devices on an IDE bus with pin 34 grounded at the device connectors, so to stay on the safe side, the default behavior is to expose the bridge IC's PDIAG signal.

If the adapter is the only device on the bus, and you find that transfer speeds are limited to UDMA2 even though the host controller supports higher transfer modes, cutting the jumper connection between the pads labeled "PDIAG" and soldering between the pads labeled "CBLID" will ground pin 34 and may improve transfer speed.