Adding floppy disk support to CircuitPython, step 2
OK now that we’ve gotten the motor up and running, and the drive selected in step 1 – we know our wiring is correct. step 2 is getting data out! unlike almost all protocols we’re used to, there’s no clock pin on floppy data. it comes out in MFM format (at least, this floppy disk format does) which means we get a series of ~500kHz open-drain pulses with short negative widths, and varying positive widths that indicate flux transitions. now the *proper* thing to do here is use a PLL to sync up with the pulses since the motor speed can vary a few %, then convert the pulse widths to bits of data. but we’re gonna do it dirty to start, and just busy-poll the pin using a fast register gpio read and collect pulse widths, then maybe decode and bitpack them on the fly. not sure if this is workable yet, but it looks OK so far: just started collecting the data pulses and they seem to be binnable.
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!
Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: A New Arduino MicroPython Package Manager, How-Tos and Much More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi
EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey