ArduinoFDC: A project to test 3.5" amnd 5.25" floppy drives

17 views
Skip to first unread message

Joseph Corda

unread,
Sep 21, 2025, 8:02:27 PMSep 21
to Altair 8800
Greetings...
Just wanted to share a project I found helpful to easily test unknown 3.5" and 5.25" floppy drives.  The  ArduinoFDC designed by David Hansel, works with double density (DD) as well as high density (HD) disk drives.  (See Link below)

ArduinoFDC is a sketch that implements a floppy disk controller.  It works with Arduino Uno, Leonardo, Nano, Pro Mini, Micro and Mega.  It can read, write and format 5.25" DD (360KB), 5.25" HD (1.2MB), 3.5" DD (720KB) and 3.5" HD (1.44MB) disks." 

A 34 pin floppy cable can be wired right to the Arduino or better yet order a few shields (which I recommend).  The gerber files are linked in the read-me on this link below.


Please note,  I'm just a user of this item,  but I wanted people to know about its existence and thank David Hansel for creating another great tool for the community.

Joe

Walt Perko

unread,
Sep 21, 2025, 8:38:44 PMSep 21
to Altair 8800
Hi, 

The problem with that is it tests newer floppy drives ... I think the 5.25" Double Density (360KB) drive is the closest to our vintage S-100 computers.  It would be nice to find an Arduino UNO setup that could be used to test the drives generally used on the Altair 8800 ... Shugart 8"/Pertec 8" etc.  

single-sided, single-density (SSSD)” floppy drives were the earliest generation of both 8-inch and 5.25-inch floppy mechanisms. These drives could only use one surface of the disk and only supported FM (frequency modulation) encoding (≈ single density).

Here’s a breakdown:


8-inch era (early 1970s → mid-1970s)
  • IBM 33FD (used in the IBM 3740 Data Entry System, 1973)

    • The very first standard 8″ floppy drive.

    • SSSD → 77 tracks, 26 × 128-byte sectors → ~250 KB capacity.

  • Shugart SA-800 (1974)

    • First OEM 8″ drive for non-IBM systems.

    • SSSD (250 KB, FM).

  • Shugart SA-801 (1975)

    • Double-sided version; but when used in single-side mode, was still SSSD.


5.25-inch era (mid-1970s → late 1970s)
  • Shugart SA-400 (1976)

    • The very first 5.25″ floppy drive.

    • SSSD only, 35 tracks, FM.

    • Capacity ≈ ~110 KB.

  • Early Tandon and Qume 5.25″ mechanisms (late 1970s)

    • Many started as SSSD before evolving into double density (MFM) and double sided.


Common “SSSD” formats
  • 8″ IBM 3740 format → 250 KB (the “classic” SSSD 8″).

  • 5.25″ early CP/M & Apple II DOS 3.2 → ~110–140 KB (Apple used GCR but still single-sided, single density).


Summary:
Drives that are single-sided, single-density include:

  • 8″: IBM 33FD, Shugart SA-800, early Memorex/Pertec 8″ drives.

  • 5.25″: Shugart SA-400 (and compatibles), early Tandon/Qume drives.

They represent the very first generation of floppy technology — before double-sided and double-density became the norm by 1977–1979.



The Shugart SA-800 is the classic 8-inch floppy drive — the one that basically set the standard in the mid-1970s. Unlike the earlier SA-900 (14-inch), the SA-800 family (and its successors, SA-801, SA-850, etc.) established formats that became widespread.

Here’s the breakdown:


Physical Media
  • Disk size: 8-inch flexible magnetic disk

  • Medium: Double-sided or single-sided, soft-sector, removable

  • Track density: 48 TPI (tracks per inch)


Drive Characteristics
  • Rotation speed: 360 RPM

  • Track count: 77 usable tracks per side

  • Index hole: 1 per revolution (used for sector timing on hard-sector disks)

  • Head load: Mechanical solenoid with felt pad against medium


Recording Formats

The drive itself doesn’t impose a fixed “format”; that’s determined by the controller. But these were the standard formats used:

  1. Single-Density (FM encoding)

    • Data rate: 250 kbps

    • Sectors per track (typical): 26

    • Capacity:

      • Single-sided: ~250 KB

      • Double-sided: ~500 KB

  2. Double-Density (MFM encoding)

    • Data rate: 500 kbps

    • Sectors per track (typical): 16 × 256-byte or 26 × 128-byte sectors

    • Capacity:

      • Single-sided: ~500 KB

      • Double-sided: ~1.0–1.2 MB


Common Formats Seen on SA-800
  • IBM 3740 format (1973):

    • 77 tracks, 26 × 128-byte sectors, FM, single-sided → ~250 KB

    • This was the original 8-inch standard.

  • CP/M “double density” format (late 1970s):

    • 77 tracks, 26 × 128-byte sectors, MFM, single-sided → ~500 KB

  • Double-sided MFM formats (e.g. used by DEC, NCR, others):

    • 77 tracks × 2, 1024-byte sectors, MFM → ~1.2 MB


Summary:
The Shugart SA-800 supported 8-inch soft-sector diskettes, with either FM (single-density) or MFM (double-density) recording. The most common capacities were 250 KB (IBM 3740, single-sided, FM) and 1.2 MB (double-sided, MFM), though variations existed depending on the controller and operating system.


The Shugart SA-400 was the first 5.25-inch floppy disk drive, introduced in 1976. It essentially shrank the 8-inch SA-800 concept down to a half-sized disk. Like the SA-800, the actual format depended on the controller, but a few standards became dominant.


Physical Media

  • Disk size: 5.25-inch flexible magnetic disk

  • Medium: Single-sided, soft-sector (later double-sided versions followed)

  • Track density: 48 TPI

  • Tracks: 35 (standard on the SA-400)

  • Rotation speed: 300 RPM

  • Index hole: 1 per revolution


Recording Methods

  • FM (Frequency Modulation) → Single Density

    • Data rate: ~125 kbps

    • Typical format: 26 × 128-byte sectors per track

    • Capacity:

      • Single-sided, 35 tracks: ~110 KB

  • MFM (Modified FM) → Double Density

    • Data rate: ~250 kbps

    • Typical format: 16 × 256-byte sectors per track (or 18 on some systems)

    • Capacity:

      • Single-sided, 35 tracks: ~180 KB

      • Double-sided versions (SA-410/SA-450): ~360 KB


Common Formats Seen

  • CP/M machines (e.g., NorthStar, Osborne, Kaypro) often used 35-track, 10- or 16-sector layouts, varying in sector size.

  • Apple II (with Woz’s custom controller) used the SA-400 mechanics but a very non-standard format:

    • 35 tracks, variable sector encoding (13 or 16 sectors/track), GCR rather than FM/MFM.

    • Capacities: ~113 KB (DOS 3.2), ~140 KB (DOS 3.3, ProDOS).

  • IBM PC (1981) later adopted 40-track 5.25-inch drives (similar lineage but not SA-400), setting the familiar 160 KB / 320 KB / 360 KB standards.


Summary:
The Shugart SA-400 supported 5.25-inch, 35-track, single-sided disks, with either FM (single density, ~110 KB) or MFM (double density, ~180 KB) encoding. Many early microcomputers adopted it, sometimes with custom formats (like Apple’s GCR).


.

Patrick Linstruth

unread,
Sep 21, 2025, 8:43:38 PMSep 21
to Altair 8800
I have not looked at the Arduino code, but if it doesn't already support those formats, it probably could. It's just a SMAP (Simple Matter of Programming).

It's amazing how little the floppy interfaces changed over time.

--
You received this message because you are subscribed to the Google Groups "Altair 8800" group.
To unsubscribe from this group and stop receiving emails from it, send an email to Altair-8800...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/Altair-8800/59886e1e-9438-4aae-983f-ea5ef40f38f3n%40googlegroups.com.

Walt Perko

unread,
Sep 21, 2025, 8:49:36 PMSep 21
to Altair 8800
Hi, 

That sounds like a much more affordable tester than the Floppy Exerciser project that already requires obsolete components.  


.

Joseph Corda

unread,
Sep 21, 2025, 9:06:42 PMSep 21
to Altair 8800
Greetings
Yes definitely it was for more "modern floppy drives" (LOL never thought I would type that line),  but it did worked for me to test both the drives and the media.  As once I had a tested drive I could test used "unknown" media.  Also I'm sure all the drives and media I tested were soft sector type.

Also I haven't looked at the code but .. it would be interesting to see how difficult it would be to get it working with a 8" drive.  Currently
I do not have a functional 8" drive.   
Joe

Terry Fox

unread,
Sep 21, 2025, 10:34:05 PMSep 21
to Altair 8800
A few years ago I wrote several floppy drive exercisers to aid in Shugart 8xx series eight inch drives.  I had versions that worked on Arduino NANO (I think), Teensy 4.x, and finally Raspberry Pi RP2040.  It controlled the physical parts of the drives, but didn't read or write data.  I got sidetracked with other stuff for data work at the time.  Below is the picture of my last version, that used a small LCD and small I2C keyboard.  It did control Shugart SA-851 (DSDD) fine.  I was also playing with LCD graphics (using LVGL) at the time, hence the fake bottom progress bar.  I still have significant parts of these.  (I switched to the RP2040 because it was much faster and could probably handle data reading and writing easier.

The MCMCU chips are voltage converters IIRC, and the drive itself was driven by the trusty standard 74LS07 ICs.

It would be nice to finish this project up (and make a PC board)... someday.
Terry
IMG_8555.jpg

Terry Fox

unread,
Sep 21, 2025, 11:00:13 PMSep 21
to Altair 8800
THe primary reason I did not add reading/writing data at the time is that most microcontrollers are too slow to handle processing the data, unless you use assembly code for the data processing.  Since I'm not into Arduino assembler and bare-metal, I stopped at that point.  I was planning to see if the RP2040 could handle data timing with its fancy SIO submodules.
Reply all
Reply to author
Forward
0 new messages