ESFloppy - An Open-Source Floppy Emulator For Mac, Lisa, Apple II, and Apple ///

AlexTheCat123

New Tinkerer
Feb 27, 2025
13
26
3
Columbia, SC
If you're familiar with my LisaFPGA project, you may know that it included an onboard ESP32-based Sony 400K/800K floppy emulator. But after I finished implementing the minimal floppy emulation needed to satisfy the Lisa, I figured it might be fun to try and extend it to support other Apple machines and drive types as well. And as you'll see, I was quite successful!

If you want a (rather long) video demo of everything the device can do, you can go watch that here:

The board can currently emulate:
- Sony 400K/800K drives for both Mac and Lisa.
- Dual Twiggy drives for the Lisa; this is the only emulator I know of that can do this.
- Up to 4 simultaneous Hard Disk 20 drives of any capacity for the Mac; it supports Apple Partition Map images too, so a BlueSCSI image will mount as well.
- Dual Disk II emulation for the Apple II.
- Up to 4 UniDisk 3.5" SmartPort floppy drives on compatible Apple II models.
- Up to 4 SmartPort hard drives on compatible Apple II models.
- Up to 1 (internal) or 3 (external) Disk /// drives on the Apple ///.

In Sony 400K/800K mode, ESFloppy has the same neat feature that Floppy Emu has where you can select a .sit, .hqx, or .bin archive on your SD card, and it'll automatically create a container disk image around it in RAM, allowing you to easily transfer files to a Mac without needing to manually copy them into disk images.

I'm hoping to do 1.44MB emulation at some point in the future too. There's no technical challenge preventing it from being done; it's just that MFM is a completely different paradigm from all of the other GCR-based protocols, so that's why I haven't tackled it yet.

The hardware is really simple, and simplicity means that it's really cheap! The only chip on the board is an ESP32-S3, and pretty much everything else is just passives. No CPLDs or anything like that. The dual-core ESP32 is able to split the workload in a similar way to a CPLD-based system like the Floppy Emu by dedicating one core to the higher-level UI and SD card tasks, and dedicating the other core to the low-level disk I/O.

I used my rather mediocre CAD skills to design a 3D-printable case for it, but I'm working with someone to design a really nice frosted acrylic case like what Floppy Emu has. Hopefully that turns out well!

As with all of my projects, ESFloppy will be fully open-source on my GitHub page, and I'll also be selling them through MacEffects for anyone who just wants to buy one. If you think you might want to buy one, fill out this form so that I can judge demand and figure out how many to order. Everything is essentially completely done and tested at this point, so it's just a matter of ordering them and doing some final testing. I've been dedicating pretty much all of my time outside of school to this since early July, and it's nice to finally be done!
 

Attachments

  • esfloppy_standalone_picture.png
    esfloppy_standalone_picture.png
    383.1 KB · Views: 7

techknight

Moderator
Staff member
Dec 2, 2021
132
132
43
North Carolina
If you're familiar with my LisaFPGA project, you may know that it included an onboard ESP32-based Sony 400K/800K floppy emulator. But after I finished implementing the minimal floppy emulation needed to satisfy the Lisa, I figured it might be fun to try and extend it to support other Apple machines and drive types as well. And as you'll see, I was quite successful!

If you want a (rather long) video demo of everything the device can do, you can go watch that here:

The board can currently emulate:
- Sony 400K/800K drives for both Mac and Lisa.
- Dual Twiggy drives for the Lisa; this is the only emulator I know of that can do this.
- Up to 4 simultaneous Hard Disk 20 drives of any capacity for the Mac; it supports Apple Partition Map images too, so a BlueSCSI image will mount as well.
- Dual Disk II emulation for the Apple II.
- Up to 4 UniDisk 3.5" SmartPort floppy drives on compatible Apple II models.
- Up to 4 SmartPort hard drives on compatible Apple II models.
- Up to 1 (internal) or 3 (external) Disk /// drives on the Apple ///.

In Sony 400K/800K mode, ESFloppy has the same neat feature that Floppy Emu has where you can select a .sit, .hqx, or .bin archive on your SD card, and it'll automatically create a container disk image around it in RAM, allowing you to easily transfer files to a Mac without needing to manually copy them into disk images.

I'm hoping to do 1.44MB emulation at some point in the future too. There's no technical challenge preventing it from being done; it's just that MFM is a completely different paradigm from all of the other GCR-based protocols, so that's why I haven't tackled it yet.

The hardware is really simple, and simplicity means that it's really cheap! The only chip on the board is an ESP32-S3, and pretty much everything else is just passives. No CPLDs or anything like that. The dual-core ESP32 is able to split the workload in a similar way to a CPLD-based system like the Floppy Emu by dedicating one core to the higher-level UI and SD card tasks, and dedicating the other core to the low-level disk I/O.

I used my rather mediocre CAD skills to design a 3D-printable case for it, but I'm working with someone to design a really nice frosted acrylic case like what Floppy Emu has. Hopefully that turns out well!

As with all of my projects, ESFloppy will be fully open-source on my GitHub page, and I'll also be selling them through MacEffects for anyone who just wants to buy one. If you think you might want to buy one, fill out this form so that I can judge demand and figure out how many to order. Everything is essentially completely done and tested at this point, so it's just a matter of ordering them and doing some final testing. I've been dedicating pretty much all of my time outside of school to this since early July, and it's nice to finally be done!

Oh heck YES! Love it
 

Ron's Computer Videos

Active Tinkerer
Oct 15, 2021
236
318
63
If you're familiar with my LisaFPGA project, you may know that it included an onboard ESP32-based Sony 400K/800K floppy emulator. But after I finished implementing the minimal floppy emulation needed to satisfy the Lisa, I figured it might be fun to try and extend it to support other Apple machines and drive types as well. And as you'll see, I was quite successful!

If you want a (rather long) video demo of everything the device can do, you can go watch that here:

The board can currently emulate:
- Sony 400K/800K drives for both Mac and Lisa.
- Dual Twiggy drives for the Lisa; this is the only emulator I know of that can do this.
- Up to 4 simultaneous Hard Disk 20 drives of any capacity for the Mac; it supports Apple Partition Map images too, so a BlueSCSI image will mount as well.
- Dual Disk II emulation for the Apple II.
- Up to 4 UniDisk 3.5" SmartPort floppy drives on compatible Apple II models.
- Up to 4 SmartPort hard drives on compatible Apple II models.
- Up to 1 (internal) or 3 (external) Disk /// drives on the Apple ///.

In Sony 400K/800K mode, ESFloppy has the same neat feature that Floppy Emu has where you can select a .sit, .hqx, or .bin archive on your SD card, and it'll automatically create a container disk image around it in RAM, allowing you to easily transfer files to a Mac without needing to manually copy them into disk images.

I'm hoping to do 1.44MB emulation at some point in the future too. There's no technical challenge preventing it from being done; it's just that MFM is a completely different paradigm from all of the other GCR-based protocols, so that's why I haven't tackled it yet.

The hardware is really simple, and simplicity means that it's really cheap! The only chip on the board is an ESP32-S3, and pretty much everything else is just passives. No CPLDs or anything like that. The dual-core ESP32 is able to split the workload in a similar way to a CPLD-based system like the Floppy Emu by dedicating one core to the higher-level UI and SD card tasks, and dedicating the other core to the low-level disk I/O.

I used my rather mediocre CAD skills to design a 3D-printable case for it, but I'm working with someone to design a really nice frosted acrylic case like what Floppy Emu has. Hopefully that turns out well!

As with all of my projects, ESFloppy will be fully open-source on my GitHub page, and I'll also be selling them through MacEffects for anyone who just wants to buy one. If you think you might want to buy one, fill out this form so that I can judge demand and figure out how many to order. Everything is essentially completely done and tested at this point, so it's just a matter of ordering them and doing some final testing. I've been dedicating pretty much all of my time outside of school to this since early July, and it's nice to finally be done!

Thank you, Alex!