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 is an easy way to store and retrieve programs.
An ST-Nucleo board (a L053R8 I got as a give away from the ST booth at a MakerFaire in Rome), could to the trick, I thought. My first attempt was a remake of a software cassette emulator, which was already circulating in the Sharp hackers' community (PocketTools), which I also submitted as another project here: 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 sold a Floppy Disk driver for the Sharp PCs, the CE-140F, which I didn't even imagine 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 like the well known SD2IEC card for the dear old Commodore 64. I then started building up the interface presented with this project, which is based on the L053R8 ST-Nucleo Board and the online Mbed-OS compiler. This platform makes the project open to future upgrades, in terms of both hardware and software resources.
The project is (as it's clear from the photo) in a prototype stage, but it's fully functional from the hardware standpoint. The connection to the laptop is for power and debug purposes only. I recently moved to a soldered proto board, and I'm now testing a newer version, using a more compact Nucleo L432KC. A standalone power scheme with rechargeable batteries, as well as a custom pcb is in my pipeline of ideas as well.
The software section isn't complete yet, lacking some of the Sharp disk commands handling, but I'm in the process of implementing the most fundamental ones. Nonetheless, the prototype demonstrates the complete concept and shows there's room for making it a nice and handful addition to our beloved retrocomputing devices.
Here's the very first demo I recorded:
Latest code and schematics can be found on github: