Jump to content
erichelgeson

Arduino SCSI device - Work in Progress

Recommended Posts

Hi all,

 

I’ve been working on building the ArdSCSino-stm32 https://github.com/ztto/ArdSCSino-stm32 (original) https://github.com/erichelgeson/ArdSCSino-stm32 (my fork) to see if it’s a suitable replacement for SCSI Hard Drives in our vintage Macs. I’ve mentioned it in passing a few times on the forums but now I’ve made some progress I wanted to share!

 

There is still a lot left to do, but I'm to a point where I'm looking for feedback!

 

This is my first hardware project - I find it amazing that you can create a PCB in KiCad and have it printed and shipped in a week or two. I’ve learned a lot with help from the RaSCSI discord peeps and owe a lot of my progress to them. Thanks!

 

My goal for this device:

A single purpose Macintosh focused SCSI <-> SD device that is inexpensive and easy to configure.

 

The hardware build is quite simple - the board from zotto has just a 50 pin header and the arduino. Though it’s missing features such as SCSI termination. 

 

The software on the other hand is not as easy to compile. It uses an older “core” that requires quite a few steps to install all the necessary components - it took me quite a while to find the right combination of steps from random github tickets and instructions to finally get it to compile. Flashing is a bit tricky as well as the procedure is documented a few different ways online - though I’ve finally got it down after much trial and error (and one burned out arduino!)

 

With the software compiling I’ve converted all the comments from Japanese (only via Google translate so if anyone who speaks Japanese natively could let me know if it’s right or not :). Then started adding in Mac specific configurations such as showing as a Quantum Fireball so it appears genuine. I’ve also been adding in config file support for a few of the optional knobs that can be set.

 

One of the biggest features missing on the hardware side is SCSI Termination. I’ve added that into the PCB and will be ordering a min order this weekend to validate it all works.

 

After SCSI termination is validated working I’ll be removing the arduino and just placing the stm32 chip on the board itself.

 

Performance is good! It sits between a LC and MacII on Norton 3.5 disk perf. I said good - not great. It will be a good replacement for anything 030 and under - and adequate drive in an 040 - but would not use it for a boot drive in a PPC.

 

The goal is to be inexpensive - you could do this all yourself as I have but shipping is the real killer here - it raises the price over 4x at 5 boards.

 

What I’d like to know is:

 

  • Is there interest in the community for a board like this?
  • It’s not really easily end user flashable/upgradeable, though that simplicity is really a feature.
  • Would you use it internally or want a pluggable external drive?
  • Since the drive is small (72mm x 44mm) I’ll likely be 3d printing a bracket for mounting internally.
  • I need a better name than ArdSCSino - it doesn't really roll off the tongue - ideas welcome!

 

Thanks!

 

Here's a few photos of the design so far and it working on my LCIII.

 

large.1574368630_ScreenShot2020-10-17at10_38_12AM.png.ed7c18b80d2ac5e82ee92672e1e7e10a.pnglarge.1520605602_ScreenShot2020-10-17at10_38_21AM.png.04ab7c005a475c4feb7d09ba806a2b4d.pnglarge.PXL_20201015_135730524.jpg.d06156553c599142cc0cb8416d474930.jpglarge.PXL_20201009_193754845.jpg.7fa629442754599c33b1272f757470d7.jpg

 

Edited by erichelgeson

Share this post


Link to post
Share on other sites

Yeah I’d like to make or buy a few. I think for most people the problem with scsi2sd is the price. Maybe you can call it Econoscsi? ScsiEmu? Scuzduino? Stm32scsi? Auduscsi? Some call the stm32 board the “blue pill” board so maybe bluescsi? 
 

lastly if I was given the choice between no termination and permanent termination I’ll take the permanent.  

Share this post


Link to post
Share on other sites
16 hours ago, 360alaska said:

bluescsi

That was my top contender too - I'm getting the next round in blue to see how close it matches the blue pill. Termination should be enabled or disabled via two  jumpers (and maybe the same switch as RaSCSI if it all works out.)

 

Edit: I looked at these inline scsi terminators too - but they're a bit expensive and discontinued - though you can find a few similar on ebay.  https://www.monoprice.com/product?c_id=&amp;cp_id=&amp;cs_id=&amp;p_id=806&amp;sep=1&amp;format=2

Edited by erichelgeson

Share this post


Link to post
Share on other sites
16 hours ago, Byte Knight said:

Will you include an Elsa brush with each order?

gotta make due with whats around - needed something to hold it up while testing :D

 

Also hello from South of St. Cloud! Could hand deliver you one next time I drive to my buddies house in Norwood/Young America :)

Share this post


Link to post
Share on other sites

Very interested; depending on the price, I'd be down for several. Heck, I'd be down for several blank PCBs and a BOM at Mouser; I have no issues assembling something like this. I've got several Macs that have dead hard disks and can't exactly afford to drop a SCSI2SD in every one of them.

Share this post


Link to post
Share on other sites

Great work.

 

Just my 2cts:

- I personally wouldn't replace the Nano with an stm32. The board will only be marginally smaller (that 50 pin header is huge!), and this would make updating the code a lot trickier (that's kinda why I went with a PDIP ATtiny in a socket for the QuadrATX, but I still need a "programmer", which most people don't have). If you turn the Arduino around (or install it on a strip/header), updating will be a breeze. Since there can't be that many hardware improvements (once you've added an LED, some termination blocks and possibly a floppy power connector, there isn't much to change) contrary to the software which can only be improved as you spend more time on it.

 

- Name. How about Scuzzino ? Sounds italian and there's no copyright...

 

 

Edited by BadGoldEagle

Share this post


Link to post
Share on other sites
16 hours ago, BadGoldEagle said:

Great work.

 

Just my 2cts:

- I personally wouldn't replace the Nano with an stm32. The board will only be marginally smaller (that 50 pin header is huge!), and this would make updating the code a lot trickier (that's kinda why I went with a PDIP ATtiny in a socket for the QuadrATX, but I still need a "programmer", which most people don't have). If you turn the Arduino around (or install it on a strip/header), updating will be a breeze. Since there can't be that many hardware improvements (once you've added an LED, some termination blocks and possibly a floppy power connector, there isn't much to change) contrary to the software which can only be improved as you spend more time on it.

 

- Name. How about Scuzzino ? Sounds italian and there's no copyright...

 

 

I'll echo all of these sentiments, and Scuzzino sounds amazingly on-point!

Share this post


Link to post
Share on other sites
16 hours ago, BadGoldEagle said:

I personally wouldn't replace the Nano with an stm32.

Thanks for that feedback - and you're right - it's mostly for me to learn more about PCB design and to say I could :)

Share this post


Link to post
Share on other sites
16 hours ago, 360alaska said:

I can design a pcb for you if you want.

Appreciate that - though I'd like to take a stab at learning more myself after I get the initial designs done for termination and do some software updates. If you'd be willing, once I get there, to bounce the designs off you and get feedback, that'd be great!

Share this post


Link to post
Share on other sites
18 hours ago, erichelgeson said:

gotta make due with whats around - needed something to hold it up while testing :D

 

Also hello from South of St. Cloud! Could hand deliver you one next time I drive to my buddies house in Norwood/Young America :)

It's a deal!  I was wondering what part of MN you were from.  We need to find a few more locals so we can have a LAN party!

Share this post


Link to post
Share on other sites

Consider me interested, the more SCSI options, the better, especially if it can be made more affordable for the Macs that won't fully utilize the speed offered by other solutions anyways. What I'd also be interested in, is whether a PowerBook specific board could be made, to accommodate the smaller pinheader, and HDD mounting inside the PBs. It certainly looks small enough to fit within the space of a 2.5" SCSI HDD drive.

Share this post


Link to post
Share on other sites
20 hours ago, Byte Knight said:

LAN party

Thats honestly why I go visit him a few times a year :) Though not lately...

18 hours ago, Daniël Oosterhuis said:

PowerBook specific board

At 72mm x 44mm I'd think it would - though I don't have any PowerBook to test it on (though I should get one...) Just a matter of wiring up the pin out to that connector.

Share this post


Link to post
Share on other sites

The STM32F103C8 is only rated to sink up to 150mA total across the device; even with only 1 active terminator on the bus that limit will probably be exceeded. It might be worth limiting the SCSI bus to just this one device and omit the terminator? Alternately, buffer chips driving the output lines would also fix the problem, but that'd obviously increase complexity and cost.

Share this post


Link to post
Share on other sites
16 hours ago, saybur said:

even with only 1 active terminator on the bus that limit will probably be exceeded

Good point! I don't have any active terminators so hadn't consider that.

16 hours ago, saybur said:

It might be worth limiting the SCSI bus to just this one device and omit the terminator?

By limiting to just this one device - you're just saying in documentation? There is no way in software or hardware to prevent this I wouldn't think?  Passive termination is needed even if it's the only device on the chain I've found for the ztto version (have been using a unpowered drive at the end of the chain or the RaSCSI to do this while testing.)

 

Thanks for the feedback, that's why I put it out here now!

Share this post


Link to post
Share on other sites

Yeah, just in the documentation so people know not to connect external terminators. Apart from asserting /RST anytime another target tries to talk I doubt there is a way to force having just one device.

 

If the transfer speeds are low you might be able to get away with some pretty nonstandard termination that wouldn't exceed the power budget. Maybe try something super simple, like 1K pull-ups to 3.3V? There are transmission line effects to consider, but that's black magic I have no experience with.

 

AFAIK there were some Macs that had automatic termination supplied by the mainboard as well, which might cause grief in some setups.

Share this post


Link to post
Share on other sites

Placed the order of 5 for the latest rev prototypes (with passive term) this morning. Should be a week and a half till they get here and I can put them through their paces.

Share this post


Link to post
Share on other sites

I love this idea! I wonder if these are small enough to fit powerbooks too? Either way, I think cheaper SCSI emulators for old Macs are a good thing. It always hurts me a little to buy a product that costs more than the computer itself did, and I think as long as performance is on part with spinning metal, it's okay. Count me in for PCB interest.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×