Adafruit is constant its experiments in interfacing traditional floppy disk drives to trendy microcontrollers with a shift throughout to the Arduino platform — and has discovered a technique to create a fully-functional USB floppy drive consequently.
Adafruit first confirmed off its work with floppy drives earlier this month, showcasing a undertaking 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 right down to the extra recognizable 3.5″ “floppy diskettes” many purposes nonetheless use as their save-file icon — to the CircuitPython programming surroundings. 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 now we have [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 undertaking LadyAda has needed since she was a young person,” the proof-of-concept creation connects a 3.5″ floppy drive to an Arduino microcontroller operating the tinyusb open supply USB stack. “All now we have 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 after we get a SCSI READ10 callback,” Torrone writes, and “it ‘simply works’ as Home windows nonetheless acknowledges and helps FAT12 units!”
Growth is ongoing — together with a promise so as to add assist for studying Apple II disks, presently poorly supported by rival floppy drive adapter tasks. A key goal, in the meantime, is the Raspberry Pi RP2040 microcontroller — a $4 half which might dramatically minimize the price of constructing units 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 tasks — has been printed to GitHub beneath the MIT, Inventive Commons Zero, and Inventive Commons Attribution 4.0 licenses.