After my old Sharp PC-1403 popped off a dusty box, where it laid almost forgotten for a dozen years, or two, I immediately wondered about how I could interface it with my standard laptop, or "modernize" it. 

What I think the Sharp was missing the most at the time was a convenient way to store and retrieve programs to and from its memroy. Entering a BASIC listing by hand has always been the most frustrating task, in the older days of personal computing. Yes, a cassette interface did exist, and it was also software-emulated on modern architectures too (PocketTools). I also had an STM32 L053R8 Nucleo board (which I got as a give away from the ST booth at a MakerFaire in Rome, years ago), so I made my first attempt starting a remake of a some of the PocketTools functionality on the STM32 platform, which I already submitted as a different project: https://hackaday.io/project/186083-sharp-pocket-computer-st-nucleo-1st-attempt

While searching for info in the Sharp community, I found out that Sharp used to sell also a Floppy Disk driver for the Sharp PCs, the CE-140F, which I didn't know the existence about, at the time. Not just that. A very smart guy wrote software emulators for a number of similar devices (https://pockemul.com/), including the Sharp ones, and he was so kind to share with me the results of his reverse engineering work on a real device.

I soon realized that emulating the CE-140F with a microcontroller and an SD-Card could be far more useful than the cassette interface. Something similar to the well known SD2IEC card for the dear old Commodore 64. I then started building up the interface presented here. My initial prototype was still on the L053R8 board, using the Mbed-OS as the software platform. Mbed-OS makes the project open to future upgrades, in terms of both hardware and software resources, and its online IDE makes the process of development and debugging easy enough for me. Alternatives are possible of course, but I don't want to dive too much in the description of the Nucleo capabilites, here.

Here's a demo I recorded on the prototype, showing how LOAD and SAVE operations are performed:

https://www.youtube.com/watch?v=3_DliJE_47g

The project is still in progress, on both the hardware and software fronts, but it's already fully functional as is at present. After the experimental prototypes, I recently moved to a PCB version, based upon a compact Nucleo L432KC (see photos). Connection to a laptop is required for power and debug purposes, but a standalone power scheme, with rechargeable batteries maybe, is in my pipeline of ideas too.

The software is still lacking some of the Sharp disk commands handling, but the most fundamental ones are emulated already. I'm in the process of implementing the rest, while I hope to engage more developers in this effort, after having the PCB manufactured and delivered to many Sharp-PC retro-computing collectors and enthusiasts.

Everything is open-source, so latest code, schematics and more technical details can be found on github:

https://github.com/ffxx68/Sharp_ce140f_emul