# Floppy disk drive interface

Each generation of floppy disk drive (FDD) began with a variety of incompatible interfaces but soon evolved into one de facto standard interface for the generations of 8-inch FDDs, 5.25-inch FDDs and 3.5-inch FDDs. For example, before adopting 3.5-inch FDD standards for interface, media and form factor there were drives and media proposed by Hitachi, Tabor, Sony, Tandon, Shugart and Canon.

## Sizes
### 8 inch

The de facto standard 8 inch FDD interface is based upon the Shugart Associates models SA800/801 FDDs and models SA850/851 FDDs.$^{:171}$ The signal interface uses a 50-pin PCB edge connector which mates to a flat ribbon cable connector. Separate connectors are provided for both AC and DC power, as many 8 inch drives used AC spindle motors.

### 5.25 inch

The de facto standard 5.25 inch FDD interface is based upon the Shugart Associates SA400 FDD.$^{:169}$ The signal interface uses a 34-pin PCB edge connector which mates to a flat ribbon cable connector. DC power is provided on a separate connector. The 34-pin connector is similar in pinout to the standard 50-pin connector for 8 inch FDDs.

### 3.5 inch

The de facto standard for 3.5 inch drives uses a 34-pin header mating to an IDC Berg connector, collectively slightly smaller than the PCB edge pin connector and mating socket used for the 5¼ inch standard but with the same 34 pin definitions as the 5¼ inch standard. A separate connector is provided for DC power. A 'universal' cable would have four drive connectors, two for each size of FDD, although cables which have only two drive connectors are common. The cable is normally a ribbon cable. For IBM-compatible floppy controllers, a twist in the cable reverses the order of conductors 10 through 16 for the second connector. This allows two drives connected to the same cable to be addressed by the host controller without having to select drive assignments with jumpers on the drives themselves. Only two drives may be connected to such a cable. If there are four drive connectors at least two must remain unused.

## Signal and control interface

3.5-inch and 5.25-inch drives connect to the floppy controller using a 34-conductor flat ribbon cable for signal and control. Most controllers support two floppy drives, although the Shugart standard supports up to four drives attached to a single controller. A cable could have 5.25-inch style connectors, 3.5-inch style connectors, or a combination. After IBM introduced the "twist" to floppy cables, and when both 5.25-inch and 3.5-inch drives were in common use, many cables had four connectors: one of each type before the twist, and one of each type after the twist. These cables still only supported two drives, one before and one after the twist, but they allowed using one cable for any combination of drives with differing connectors. This type of cable is called a universal cable.
When multiple floppy disks are connected, many pins are shared, including the read and write data pins. As a result, early floppy drives required jumpers to be set on the drive to tell it which controller commands it should receive. When introducing the PC, IBM sliced the cable between the first and second drive, and twisted seven of the conductors, effectively flipping the four conductors which specifically addressed the first or second drive. (The remaining three were ground only, so were not affected by the twist.) As a result, all drives could have their jumpers set to be drive "B", but if they were connected after the twist, they would appear to the controller as drive "A". This eliminated the need to change selection jumpers in the drive, and eventually many floppy drives were manufactured without jumpers at all, instead being hardwired as drive "B". As the IBM PC created a market for clones and compatibles, many manufacturers adopted the same cable twist system, although jumpers may still be required on systems that are older, or not based on the IBM PC.
The drive that is at furthest end of the cable additionally would have a terminating resistor installed to maintain signal quality.
The following explanation of pinout is for reference only.
Floppy drive connector pinout (host controller as a reference) :
| Pin number | Abbreviation | Description | Notes | Type |
| 2 | DENSEL | Density Select 1=Low/0=High | The default use is 0 | Output |
| 4 | RSVD | Reserved | No connection or connect to the ground | |
| 6 | RSVD | Reserved | No connection or connect to the ground | |
| 8 | INDEX# | Index | 0=Index | Input |
| 10 | MOTEA# | Motor A Enable | 0=Motor Enable Drive 0 | Output |
| 12 | DRVSB | Drive Select B | | Output |
| 14 | DRVSA | Drive Select A | | Output |
| 16 | MOTEB# | Motor B Enable | 0=Motor Enable Drive 1 | Output |
| 18 | DIR# | Direction Select | Low Current/Direction in uPD765 controller | Output |
| 20 | STEP# | Head Step | Fault Reset/Step in uPD765 controller | Output |
| 22 | WDATA | Write Data | | Output |
| 24 | WGATE# | Floppy Write Enable | 0=Write Gate | Output |
| 26 | TRK0# | Track 0 | Fault/Track 0 in uPD765 controller | Input |
| 28 | WPT# | Write Protect | 0=Write Protect | Input |
| 30 | RDATA | Read Data | | Input |
| 32 | HDSEL#/SIDE | Head Select / Side select | Two uses, see application or use for details. (Side select:1=Side 0/0=Side 1) | Output |
| 34 | DSKCHG# | Disk Change | 1=Disk Change/0=Ready | Input |
| 3 | RSVD | Reserved | No connection or connect to the ground | |
| 5 | N/C | No connection | Pins usually do not exist here to prevent the male plug from being inserted in the opposite direction | |
| Odd pins 1 thru 33 | GND | Ground | Except for the 3rd and 5th pins | Power |
"#" indicates that the low electric level is effective (aka "active low").
Motor A,B is also known as Motor 0,1.
Since floppy disks are rarely used nowadays, "MOTEB#" and "DRVSB" pins are not connected in motherboards designed with floppy disk data interfaces, and only one floppy disk drive can be connected.
Floppy drive A/B twist pinout :
| Wire | Controller | Drive A | Drive B | Description |
| 1-9 | 1-9 | 1-9 | 1-9 | No Change |
| 10 | 10 | 16 | 10 | Motor Enable Drive 0/1 |
| 11 | 11 | 15 | 11 | Ground, No Change |
| 12 | 12 | 14 | 12 | Drive Select 0/1 |
| 13 | 13 | 13 | 13 | Ground, No Change |
| 14 | 14 | 12 | 14 | Drive Select 0/1 |
| 15 | 15 | 11 | 15 | Ground, No Change |
| 16 | 16 | 10 | 16 | Motor Enable Drive 0/1 |
| 17-34 | 17-34 | 17-34 | 17-34 | No Change |