Making & Using BlueSCSI SD Card Adapters for Vintage Apple Macintosh Computers

I recently picked up my first compact Apple Macintoshes, a 1991 Mac Classic and a 1992 Mac Classic II, both of which were in good condition but needed repair and refurbishment.

Aside from the classic issues of leaky electrolytic capacitors and exploding PRAM batteries, compact Macintoshes often have old-school 40MB/80MB Quantum SCSI 3.5″ mechanical hard drives, which are pretty unreliable due to their age, and can be difficult to get files onto and off of using a modern PC.

As part of their refurbishment, I therefore wanted to look into using a modern flash drive in place of the original hard drives (i.e. an SD card) using some form of SCSI adapter.

A couple of years ago, I used an SD2SCSI to replace the failed 80MB Quantum hard drive in my 1993 Apple Macintosh LC-III – however, this was an expensive solution (upwards of £80.00) which was difficult to configure and use, and even then, they are difficult to find in the current market (as of the second quarter of 2022).

A really nice open-source, open-hardware solution that has come onto the market since then is the BlueSCSI – this is based around the ST Microelectronics STM32F1 “blue pill” minimum development board, and is easy to source, build, and configure.

There are two different variants of the BlueSCSI design: an internal adapter with a 50-pin SCSI connector, and an external design with a DB25 SCSI connector. Both of these are documented thoroughly on the BlueSCSI GitHub page.

There are several options for getting either of these variants, as follows:

  • Buy an assembled, tested BlueSCSI adapter from one of the sellers on BlueSCSI.com.
  • Buy a kit from one of the sellers on BlueSCSI.com, and build it yourself.
  • Source all the necessary parts (including a PCB) and build it yourself.

Because I had some vouchers available for PCBWay, I decided to source and order some BlueSCSI PCBs and all of the components required to build some myself.

Sourcing the Necessary Parts

All of the necessary design and firmware files are available on the BlueSCSI GitHub page, plus lots of helpful documentation including a “getting started” guide and an assembly guide – the PCBs are also (very helpfully) available as shared projects on the PCBWay Shared Projects page, one for the internal design, and one for the external design.

I decided to order a set of the internal PCBs (10 total) through PCBWay, because of how easy it is to order their shared project PCBs, and I had a very good experience overall.

Aside from the PCBs, several other components are required – per internal adapter (without LED connections), this includes:

A pre-prepared bill of materials for most parts from Mouser Electronics is available here.

Care should be taken when sourcing the required STM32 “BluePill” boards, as lots of clones and “fakes” are available on the market – most of these have been tested and apparently have good compatibility, but this is not guaranteed (details here).

Building the BlueSCSI Adapters

Once I had all the parts I needed, I got to building the adapters – this is a relatively simple process, and there is an excellent assembly manual for both the internal version and the external version of the BlueSCSI.

The only surface-mount part on the adapter is the microSD card socket – as such, it makes sense to fit this first. I did this quite simply using my hot-air station and some leaded solder paste, however it’s also possible (thought trickier) to do this with a soldering iron.

Then, it’s just a case of installing the rest of the through-hole parts, taking care to ensure that the orientation of the connectors, diodes, and resistor packs is correct.

All of the parts and their values are marked clearly on the silkscreen, which is very useful.

The 20-way pin headers can then be soldered to the BluePill board – these can either be soldered to the BluePill, or a 40-pin socket can be fitted, which is what I did. The BluePill needs to be installed with the programming pins nearest to the SD card slot.

Programming the STM32 “BluePill”

Once the BlueSCSI firmware is loaded, it is possible to update it over USB – however, “fresh” boards do not have that option. As such, I needed to program mine using a standalone programming adapter, following this useful guide.

I chose an ST Microelectronics STLINK/V2 programming interface, as I have used these in the past and have experience with them.

STM32 “BluePill” programming header pinout.
STLINK/V2 20-way programming header pinout.

I connected the four pins on the “BluePill” programming header to the STLINK/V2, using a 4-way female-female 2.54mm pitch Dupont ribbon cable: GND needs to be connected to any of the GND pins on the programmer (pins 4, 6, 8, 10, 12, 14, 16, 18, or 20); SWCLK needs to be connected to SWCLK on the programmer (pin 9); SWIO needs to be connected to SWDIO on the programmer (pin 7); 3.3V needs to be connected to any of the VAPP pins on the programmer (pin 1 or pin 2).

Both the “BluePill” target and STLINK/V2 should then be connected to a PC via USB.

There are several options for programming software – I used the STM32CubeProgrammer software for PC for this purpose. Simply connect to the STLINK/V2 programmer, and update the onboard firmware as required – then, choose a BluePill firmware file (.bin) and program the device using the default settings.

Firmware files (.bin) are available for download from the BlueSCSI releases page – there are several different types depending on the exact microcontroller on your version of the STM32 “BluePill” board. For my version, I needed to choose the firmware file “BlueSCSI-v1.1-20220626-STM32F1.bin”.

If the adapter is working and an SD card is detected correctly, the power LED should stay on and the activity LED should flash once on power-on. If you’re having problems, there is a very nice troubleshooting guide available here.

Preparing an SD Card

Aside from the adapters themselves, you’ll need a microSD card for file storage – the BlueSCSI has very good compatibility for most SD card types, as described here. I just used some cheap 16GB Integral parts, formatted for exFAT using a Windows 10 PC.

Once you’ve prepared an SD card, it’s possible to add a hard drive image, or even multiple images – there are some blank and pre-loaded examples available here, which will need to be named appropriately for the BlueSCSI as described here.

The naming convention is “HDxy_zzz.hda”, with a maximum file name length of 32 characters – note that you may mount multiple drives simultaneously to different SCSI IDs.

  • HD = Hard Disk.
  • “x” = SCSI ID to attach to (0-7, though 7 on a Macintosh is the System).
  • “y” = LUN ID (usually 0).
  • “zzz” = Sector size. (usually 512. 256, 512, & 1024 is supported).

For example, I used “HD00_512 7.0.1-500M.hda” as the name for a System 7.0.1 install.

Using the BlueSCSI Adapters

I wanted to replace the 40MB internal mechanical hard drives inside both of the Mac Classics, but seeing as both were still working, I wanted to take a backup of each.

With System 6 and System 7, this is a relatively simple process – you just need to copy the contents of the drive across to another one, and “christen” the system folder on the clone drive by opening it in System OS.

Because I had made up internal BlueSCSI adapters but I wanted to connect them externally to perform the clone, I needed to hook them up using a 50-way IDC to DB-25 adapter and a standard male-to-male SCSI cable.

I loaded a blank image onto each SD card, then booted up each system.

If the blank image is detected correctly, you should get a prompt to initialise it.

The desktop file should be rebuilt, and the external drive should be accessible.

It was then just a case of copying all of the files across, then “christening” the system folder.

After backing up the drives, I tried booting from each of the clone SD cards to make sure that the backup was successful, which it had been. This can be done with the BlueSCSI connected internally or externally, as the only connected hard drive.

Installing the BlueSCSI Adapters

Now that the BlueSCSI adapters were working and I’d cloned the internal hard drives over to them, I wanted to remove the mechanical drives and fit the BlueSCSIs.

This was a relatively simple process, which started with removing the drive caddy – on the Mac Classic and Classic II, this is held in place with four cross-head screws.

The hard drive is held into the drive caddy with four cross-head screws.

With the original drive removed, it was time to fit the BlueSCSI adapter, which requires a 3D-printed fitting bar – this is available to buy from the creator, which I didn’t realise at the time, so I used the open-source design files and had several parts made by PCBWay, and bought some of the appropriate PCB mounting screws (M2.5 x 5mm).

The fitting bar can then be installed into the drive caddy. From the factory, the Mac Classic comes with a relatively short (approximately 15cm) internal SCSI cable, which means I had to install the BlueSCSI upside down and hanging over the back of the caddy.

The drive caddy can then be reinstalled into the machine, which is just the reverse of its removal – if you’re doing this yourself, make sure that the two locating hooks at the front of the caddy are fitted correctly, otherwise the FDD won’t line up correctly.

Then, a quick check to make sure everything was still working, which it was.

Review of PCBWay

I’m quite new to ordering custom PCBs (as a hobbyist, at least), so I thought I’d write a quick review of PCBWay to help out other new starters. These are the fourth set of PCBs that I’ve ordered from PCBWay and I’ll definitely be buying more in the near future – I’d eventually even like to work my way up to developing my own circuit designs and layouts. It was also my first time out-sourcing 3D-printing, and I’d definitely do this again too.

The minimum order quantity for the small BlueSCSI PCBs was 5 at $5.00 per set, but 10 PCBs were also $5.00 (bargain!). Ten 3D-printed fitting braces were around $60.00.

When you add a design (or designs) to your online shopping cart, they will go through a short review process by your assigned sales rep. In my case, this took less than an hour.

Once you’ve placed your order, you are taken to a detailed order manufacturing screen, where you can track the process through each exact manufacturing step. I chose a 24-hour build time for this project, which was standard at no extra cost, and my boards were shipped the next working day.

Shipping via DHL (2-4 working days) between China and the UK cost around £20.00 for this order, and the parts arrived safely and extremely quickly. There are cheaper shipping options available (i.e. China Post), but these will take significantly longer to arrive, and there are medium-cost options (including PCBWay’s own shipping service) which are a compromise between delivery time and cost.

For this order, I wasn’t subject to any import charges, but this may apply to orders of greater value – these are the responsibility of the buyer, and will be paid following delivery.

My order was well packed, and the parts are all of a very good quality, and work exactly as intended! PCBWay’s communication and service throughout the process was also very good, and I’m very pleased with my experience overall.

The PCBWay Shared Projects page is extremely useful for quick prototyping, or for those like myself who don’t currently have any of their own designs. Its integration with the ordering process is seamless, so it’s very easy for hobbyists to get boards made. Shared project authors also get paid for their work when you buy, which is fantastic.

There are lots of shared projects available for vintage computing enthusiasts in particular, and PCBWay seems to have a good standing in the community. If anyone has a project that they would like to share on the PCBWay page, they can do so here.

I hope this helps any PCB and/or 3D-printing newbies like myself! If you have any questions, let me know and I’ll try to help out if I can.

You can claim your $5.00 PCBWay new user voucher here, if you so wish.

Published by themightymadman

My name is Adam Wilson - I'm an electronics engineer based in the North East of England, UK, and I like tinkering with old junk. In my spare time, I collect, repair, refurbish, and (sometimes) sell vintage computer systems and peripherals, typically from the 1980s (the likes of Commodore, Sinclair, Acorn, Apple, Amstrad, and Atari).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: