Floppy Drive Keyboard Is Inefficient Fun

Most of us are used to a typical 101-key setup for typing on our machines. Mobile and touchscreen devices have offered alternative interfaces over the years, but generally still sticking to QWERTY or other similar layouts. [foone] cares not for convention however, building a text-entry device based on the iconic floppy disk.

The build starts with a standard PC floppy drive, hooked up to an interface board to allow it to work over USB. It’s hooked up to a Raspberry Pi, which runs a Python program that listens out for media insertion events. When a new disk is detected, it reads the volume label, and sends it over to a Teensy LC which simulates a USB keyboard attached to the host PC. The setup uses 29 disks, for A-Z, !, shift, and space. It’s all stuffed inside a SCSI disk enclosure which helpfully provides a power supply along with the classic beige 90s aesthetic.

While you’re probably not going to be typing out your dissertation on this thing, it makes for an excellent conversation piece. We’ve featured some of [foone]’s eclectic work before, too. Video after the break.

39 thoughts on “Floppy Drive Keyboard Is Inefficient Fun

  1. It’s especially cool how you used 3D printed models of Microsoft “save” icons.

    A very creative solution to a non-problem, solved in a non-practical way. :) If you had one of the old TEAC dual-format FD505 drives (https://gekk.info/uimages/1533247010281.png) that put both a 5.25 and 3.5 in the same half height space, you could have used the bigger disks for upper case and the smaller for lower case.

    I like the name too.

    1. I have one of those dual floppy drives. Of course the motherboard I had then was one of the first to eliminate support for two floppy drives. There wasn’t any point to limiting to a single floppy drive as an interim step to dropping them entirely.

    2. Ok… The better solution would be to have 29 floppy drives all on the same ribbon cable with the select lines enabled by a matrix drive enabler and 1 disk in each drive. Then create an optical reader for punch tape or punch cards. For each letter needed. The optical punched media reader then would step 1 increment and via the matrix drive selector enable the correct drive to read the disk for the key entry. After the key disk has been read disable the drives and step for the next optical paper read…

    1. I think that compared to this, that you could make a useless machine useful… have a row of 8 and your ASCII lookup table and flip switches for the binary character code you need… and it clears the bit automatically for you for the next one. Might want to have them set kinda slow though.

      1. I remember 2 friends spending a couple hours entering 8 bit code into an IMSAI computer by hand to put in a program. It was all lost at the end when they hit the “Load” button rather than the “Save” button!!!

  2. If someone did this with those really old floppies, the ones that had to be flipped over for side 2 you could get 2 letters per disc. That was a thing wasn’t it?

    1. Or, with the 3.5″ discs he is already using check if the floppy is writable.

      Flipping the write tab could either act as shift, eliminating the shift disc or be used to access a second letter to cut down the number of discs needed. I guess the other idea, using the flip discs could also have been a way to not need a shift disc.

      With some really low level programming maybe the servo in the floppy drive could play a quick jingle to indicate that it has finished with the current disc. Would that risk damaging the drive and/or floppy?

        1. You cannot flip a 3.5″ floppy over, however you CAN flip a 5.25″ floppy over in the drive but it only does any good with floppy systems that read only one side like Apple ][ drives. (unlike MS-DOS PC drives) I used to use both sides of 5.12″ floppies in my Apple ][ drive when I was a wee lad without much money to buy extra floppies.

    2. Yes when drives only had one head. The early media may only have had enough of the special sauce on one side though, so it took a bit for double sided media to come along that you could flip. Now in DOS you could probably mess around with drivparm or something and configure your own disk formats so you have the bottom side as drive A: and the bottom side as B: but that would do no good for 3.5″ as you can’t physically flip them to indicate your choice of side to read. So unless you had a switch to flip for choice of side (upper/lower case???) then you’d need to do it with older 5.25s (Maybe need to knock a punch out of the edge to make them work “upside down” also)

      1. I’ve been a computer (ab)user since 1983 and have used ones significantly older than that. Never have I ever seen a truly single sided floppy disc. Originally they’d test the discs on both sides then instead of binning the ones with a failure on one side they’d put them in the sleeves with the good side toward the head in single side drives.

        Eventually the defect rate dropped to essentially zero so it didn’t matter, or discs marked single sided were only tested on one side of the media but there was a 99.99999999999999% chance the untested side was fine. ISTR maybe one time having a 5.25″ disk marked single sided having bad sectors on the off side.

        With my TI-99/4A I had one Verbatim floppy that had a fingerprint, a ball point pen mark, and a spot where I’d carefully cleaned off some grape jelly from the disc. That disc formatted double sided single density without error every time. Got it with a batch of TI stuff, after cleaning it (because discs were $$$ back then) I figured there was no way at all it’d format or it’d have a ton of errors.

  3. It needs a web component, and a “lightweight” framework. ie:

    -the raspberry pi read the volume label
    -that is sent to a arudino
    -the arudino send that to a framework
    -the framework sends it to another raspberry pi
    -the raspberry pi sends it via a framework to a teensy
    -the teensy decodes the framework and types the character.

    the lightweight framework should only need a quad core, and only 16gb of memory or so, so any old junk computer will do.

    these days, everything needs a third party framework. if it doesn’t have some sort of web component, it’s just trivial.

  4. Yo dog I heard you like micro’s … lets see if I missed any, for a “keyboard”, there’s a mico in the USB adapter, there a pi running linux, then a tensy to convert it back to usb.

  5. He needs to use this to write Chinese and since it takes about 2500 characters to have an average conversation that would mean 2500 floppies! (By the way floppies weigh about 19 g each so that’s about 47 kg of floppies, get a bigger table!)

  6. Reminds me of the need to “Insert Disc 5” or so to load the content for the next scene in a game, such as the diplomacy screens for Sid Meier’s Civilization.

  7. Old Macintosh floppy drives had a powered eject mechanism so you could play “toaster” with it when bulk copying lots of discs. Think of how much easier and more cool this task would be with a drive like that if you incorporated the eject function into the process. :-)

  8. What would be a slick floppy disk hack is to modify a drive so its head positioning is exactly halfway between the proper tracks. I’ve heard of that happening accidentally where a guy had one drive that got itself misaligned that badly. So he put it in a PC with Linux. Then he could boot one PC to DOS and the other to Linux with the same floppy.

    What would be extra nifty is to have a way to switch the head alignment between correct and 50% off, and modify the 50% off disks to somehow automatically change the head alignment when inserted. That way one floppy could be double formatted and in any normal floppy drive it’d boot one system but in the modified drive it’d boot the other system.

    And the modified drive should work normally with unmodified disks so the “magic” disks can only have their hidden tracks accessed in the modified drive.

    Even trickier would be to have the alignment software controlled so that the normal format commands shift the modified drive’s head alignment to normal.

    So then you have norrmal disks that boot any PC normally, and “magic” disks that boot any PC with a “magic” drive to a different OS than they do PCs with normal drives, and if someone tries to format the “magic” disk it can’t get rid of the hidden system.

  9. Now with this project complete it is time to set up an augmented reality program that “projects” the entire qwerty keyboard out on a football field and you type by visiting each letter using GPS as your tracker.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.