Adafruit is continuous its experiments in interfacing traditional floppy disk drives to trendy microcontrollers with a shift throughout to the Arduino platform — and has discovered a option to create a fully-functional USB floppy drive in consequence.
Adafruit first confirmed off its work with floppy drives earlier this month, showcasing a mission so as to add assist for the magnetic media – first invented by IBM within the Sixties as eight-inch literally-floppy behemoths earlier than being shrunken all the way down to the extra recognizable 3.5″ “floppy diskettes” many purposes nonetheless use as their save-file icon — to the CircuitPython programming setting. Now, the corporate’s taking a look at doing the identical for Arduino.
“We’re performing some cross-platform code sharing the place the MFM [Modified Frequency Modulation, one of the standards for encoding data on floppy disks] decoding C code goes to be the identical for Arduino and CircuitPython,” Adafruit’s Phillip Torrone explains. “We bought on-the-fly MFM decoding working so we’ve [magnetic] fluxes transformed to bytes, and all of the sectors are verifying proper. Wouldn’t it’s neat if we may use tinyusb’s mass-storage class to make a USB floppy drive?”
Described as “a mission LadyAda has needed since she was a teen,” the proof-of-concept creation connects a 3.5″ floppy drive to an Arduino microcontroller working the tinyusb open supply USB stack. “All we’ve to do is inform USB MSD what number of sectors we’ve bought (18 per monitor, 80 tracks, 2 sides) and provide the 512 byte sectors once we get a SCSI READ10 callback,” Torrone writes, and “it ‘simply works’ as Home windows nonetheless acknowledges and helps FAT12 gadgets!”
Improvement is ongoing — together with a promise so as to add assist for studying Apple II disks, presently poorly supported by rival floppy drive adapter initiatives. A key goal, in the meantime, is the Raspberry Pi RP2040 microcontroller — a $4 half which might dramatically lower the price of constructing gadgets for archiving floppy disks.
Written in partnership with Jeff Epler, the supply code for the ensuing Adafruit Floppy library — which leans closely on the sooner GreaseWeazle and FluxEngine initiatives — has been printed to GitHub underneath the MIT, Artistic Commons Zero, and Artistic Commons Attribution 4.0 licenses.