• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

RaSCSI Development Thread

landoGriffin

Well-known member
Something I’m trying to think through for the next version.... how to cool the raspberry pi 4. The Pi 4 is awesome, but the cooling needs are a bummer. I’m thinking of mounting a fan to the RaSCSI board. (Similar to the Pi POE hat)
 

Any electrical engineers out there with tips on things to watch for? I’m worried that the fan is going to cause interference with the SCSI signals right next to it. Any thoughts?

 

superjer2000

Well-known member
With a $37 BOM before the Pi are the economics there for this versus a SCSI2SD?  Are there other advantages beside potential future features like potentially Ethernet?

 

NF_

Active member
That's exciting!

There is a problem with the design that will require you to do a cut/jump on the board. (Note: The fix is easier to do BEFORE all of the components are soldered on :) )

https://github.com/akuker/RASCSI/issues/10

That's odd the OSH Park didn't like them. The ones I had made by JLCPCB went through fine. Some of the silkscreens didn't properly get applied, but I haven't taken the time to investigate. If you have the same issue - something that tripped me up during assembly was that U3 and U4 are reversed from U1 and U2. Without the silkscreen markings, its easy to mess this up.
Thank you for the reminder!  I read through the open issues and noticed the issue, but appreciate the reminder. Unfortunately I don't have the skills to update the board layout to fix this and submit the updated files.

My DK order arrived yesterday, just waiting for the boards to ship now.  I'll post updates on my progress once the parts are here.

 

NF_

Active member
Something I’m trying to think through for the next version.... how to cool the raspberry pi 4. The Pi 4 is awesome, but the cooling needs are a bummer. I’m thinking of mounting a fan to the RaSCSI board. (Similar to the Pi POE hat)
 

Any electrical engineers out there with tips on things to watch for? I’m worried that the fan is going to cause interference with the SCSI signals right next to it. Any thoughts?
I very little about board design and layout, but maybe the board have some additional layers which would give you extra room to reroute some traces. To handle signal degradation/noise have the outer most layers solid as to act as a shield. With the important traces rerouted and shielded, you could create a hole in the board to accommodate an existing fan.  I'm not sure this is a great idea as a fixed hole size for a fan won't address the variety of cooling options people will want to apply to their RPi4s.

Another idea is to turn this into an external board, to be connected via a ribbon cable to the Pi, and not affixed to the Pi like a traditional hat.

Again, not really versed in this sort of stuff, so all criticism is welcome.

 
Last edited by a moderator:

NF_

Active member
With a $37 BOM before the Pi are the economics there for this versus a SCSI2SD?  Are there other advantages beside potential future features like potentially Ethernet?
I can't speak for others, but in my setup I'm adding a serial port to the RPi to connect to a Macintosh SE via the modem port. With that I can console into the Pi using any terminal program. If that goes well, I can always setup a  PPP gateway and use the Pi to get on the internet. Again that's just my use case, but if I used a SCSI2SD, I'd still need the RPi to do the serial port stuff.

 
Last edited by a moderator:

cheesestraws

Well-known member
With a $37 BOM before the Pi are the economics there for this versus a SCSI2SD?  Are there other advantages beside potential future features like potentially Ethernet?
Personally, I want one of these as a prototyping/dev/play platform rather than to replace a scsi2sd.  I want to learn more about how SCSI works and what fun stuff could potentially be implemented over SCSI that currently isn't.  And yes, you can run side dæmons on the Pi that will do other stuff, too (though I'd imagine you'd want to be slightly careful to make sure that it can still do the SCSI stuff with low enough latency?)  So I'm not sure that thinking of this as a replacement for the scsi2sd is necessarily useful (there isn't really a need for that?  The scsi2sd seems to work pretty well, and has excellent economies of scale).  Perhaps this is better thought of as a way of adding a coprocessor to vintage machines that happens to run over SCSI and may run over other interfaces as well.

 

landoGriffin

Well-known member
With a $37 BOM before the Pi are the economics there for this versus a SCSI2SD?  Are there other advantages beside potential future features like potentially Ethernet?
scsi2sd is an awesome product. I'm glad it has taken off as much as it has. I think it serves a different audience.

Ditto to what others said. Its not economics. For me, its just a fun project. I'm not hoping/expecting to make any money or have this be a big project. I would guess that most of us on this forum don't work with 68k Macs because we NEED to, but because we want to. For me, this allows me to apply some of my embedded software interests to my love of the 68k Macs.  :lisa2:

For me, its not just the hd emulation potential of this device, but the other things we could do with it in the future.

- I'm really hoping to add a HTML 1.0 interface so that you can control the emulated CD-ROM. You could upload all of your ISOs to the Raspberry Pi and use the web interface to switch disk images. I haven't dug into it enough, but does scsi2sd allow you to change CD images?

- Ethernet has been done with the scuzzynet board (also very cool). But, again, it'd be awesome to integrate that functionality into the same system.

- I'm imagining that zip drives are going to start failing in the next few years, so I'd like to have some sort of emulated "removable" storage capabilities.

- GIMONS (the original developer) write a driver that allowed the X68000 to directly access the Linux file system. If we can duplicate this concept, you could use the RaSCSI to access NFS and/or network shares that normally aren't accessible to classic Macs.

- (Crazy long term goal) Emulating one of the SCSI display adapters would be awesome. You could theoretically use the Raspberry Pi as an additional display for the all-in-one Macs.

One note on the economics.... I've been researching Asian parts suppliers, and I believe I can get the price down substantially. Maybe 50%? Its just going to take longer to get them. For small builds, it was more economical to buy from a US supplier and pay the higher prices.

 

landoGriffin

Well-known member
I very little about board design and layout, but maybe the board have some additional layers which would give you extra room to reroute some traces. To handle signal degradation/noise have the outer most layers solid as to act as a shield. With the important traces rerouted and shielded, you could create a hole in the board to accommodate an existing fan.  I'm not sure this is a great idea as a fixed hole size for a fan won't address the variety of cooling options people will want to apply to their RPi4s.
For the setup I have right now, I just have a REALLY long pin header above a normal Pi4 case. 

image.png

Another idea is to turn this into an external board, to be connected via a ribbon cable to the Pi, and not affixed to the Pi like a traditional hat.
Very true - you can always do that. 

So, maybe I'm over-thinking this. I'm using a Pi4 for development (it compiles soooo much faster). But realistically, you don't need anything above a Pi Zero for normal use. I'm open to more opinions, but I think I'm going to drop the idea of a fan for now. (Plus, its going to take up waaaaay to much board real estate.

image.png

 

NF_

Active member
Just floating another idea, but what if the RaSCSI was mounted below the RPi instead of above.  It would require the user reorient the RPi GPIO header to face downwards, but wouldn't require any changes to the RaSCSI PCB to work.

Since I've ordered 5 boards, I am going to try this out. With a Pi zero w attached on top It would make for a compact package. Putting the larger PCB be on the bottom might make for a better configuration if someone chose to design a case for the whole thing. Putting it on the bottom also addresses your concerns about cooling, but certainly wouldn't fit any existing case.

 

landoGriffin

Well-known member
Just floating another idea, but what if the RaSCSI was mounted below the RPi instead of above.  It would require the user reorient the RPi GPIO header to face downwards, but wouldn't require any changes to the RaSCSI PCB to work.
Sounds like a good idea to me!

Building upon that idea, I designed a small stacking board that could go on top of the base RaSCSI board to add another DB-25 port. This way, you could just have the RaSCSI in your normal SCSI chain (if you need to)

(Forgive my crude attempt at 3D graphics... ;-) )

image.png

I made quite a few more updates to the RaSCSI board to get the cost further down. I switched the Pull-up and Pull-downs to surface mount parts, shrunk the board so that it is not deeper than the Rasberry Pi model B's.  And for the fun of it, I'm having them built with Black soldermask. 

I'm also trying some different bus transceivers that are $0.22 (74AHC245) instead of $3.30 (74LS641-1). This board could end up being significantly less expensive!!

https://github.com/akuker/RASCSI/wiki/Transceiver-Comparison

I only did a minimal order again. With the number of changes I did, I'm sure I messed something up :)  Still hoping to do a big group order sometime in August.

 

landoGriffin

Well-known member
I got frustrated trying to emulate the Apple CD-ROM firmware (so that RaSCSI works with stock Apple CD-ROM drivers). So, I switched to playing with the web interface to control the RaSCSI.

I'm trying to develop everything so that it is compatible with Netscape 4, so you can control it directly from your Mac. I've intentionally not included any images so that it is a text-only interface.

Here's a wireframe of what I came up with. I'd love to get some feedback on this! I'm not a UI designer, so I'm open to suggestions!

image.png

I'm starting with ztto's rascsi-php project (https://github.com/ztto/rascsi-php). However, this is using a bunch of javascript functions that aren't compatible with Netscape 4. So, I'm trying to update it to simplify the Javascript and move more of the complexity to the php code running on the Raspberry Pi. If anyone happens to have a PDF of a HTML or Javascript book from the mid 1990s, I'd appreciate it! 

Archive.org has "developer.netscape.com" archived from the 1990's, but there are some dead links.

http://web.archive.org/web/19991012215641/developer.netscape.com/docs/manuals/js/client/jsref/index.htm

 

NF_

Active member
Building upon that idea, I designed a small stacking board that could go on top of the base RaSCSI board to add another DB-25 port. This way, you could just have the RaSCSI in your normal SCSI chain (if you need to)
Nice!  That's super smart.  Made me think a stacked DB-25 connector like on this page.

image.png

I made quite a few more updates to the RaSCSI board to get the cost further down. I switched the Pull-up and Pull-downs to surface mount parts, shrunk the board so that it is not deeper than the Rasberry Pi model B's.  And for the fun of it, I'm having them built with Black soldermask. 

I'm also trying some different bus transceivers that are $0.22 (74AHC245) instead of $3.30 (74LS641-1). This board could end up being significantly less expensive!!

https://github.com/akuker/RASCSI/wiki/Transceiver-Comparison
Very cool. I may end up building a few and selling the extras. Still waiting for the PCBs to be delivered. They're in transit now.

Once you're satisfied with the product and we have a few tested and working, maybe we can put a post on r/retrobattlestations or similar.

I'm keeping an eye out for an DB-25 to HDI-30 to connect the RaSCSI connected to some older powerbooks. I've also got a SPARCstation to test with.  Will need to find a suitable 68pin SCSI connector first.  Honestly that's low priority right now, but will probably get more excited about it once I have the board, RPi and software all working.

 
Last edited by a moderator:

NF_

Active member
If the design gets to a point where it's fairly locked-down, I'd be happy to design a 3D-printed enclosure for it. I'll post the files when I'm done. I would just need a PCB and parts list.

Here's my resume!
Man, that is an awesome resume!  Very cool of you to offer case design for this project.  Having a proper enclosure for the RaSCSI would be a real treat.

 
Last edited by a moderator:

NF_

Active member
I'm trying to develop everything so that it is compatible with Netscape 4, so you can control it directly from your Mac. I've intentionally not included any images so that it is a text-only interface.

Here's a wireframe of what I came up with. I'd love to get some feedback on this! I'm not a UI designer, so I'm open to suggestions!

View attachment 35948

I'm starting with ztto's rascsi-php project (https://github.com/ztto/rascsi-php). However, this is using a bunch of javascript functions that aren't compatible with Netscape 4. So, I'm trying to update it to simplify the Javascript and move more of the complexity to the php code running on the Raspberry Pi. If anyone happens to have a PDF of a HTML or Javascript book from the mid 1990s, I'd appreciate it! 

Archive.org has "developer.netscape.com" archived from the 1990's, but there are some dead links.

http://web.archive.org/web/19991012215641/developer.netscape.com/docs/manuals/js/client/jsref/index.htm


Man, you're making excellent headway on the web interface.  I was just thinking about the need to manage this unit from a shell.  No problem for people comfortable doing so, but a web interface really makes the product accessible to more people. Your choice to keep the page simplistic is the way to go. The less features the web interface has, the less things can break / need documentation / need support.

On that note, I can assist with the documentation if you like. Not a professional by any means, but understand the value of good documentation for a given product.

Re: feedback, the separation of the "current device configuration"   and "Add a new device" section breaks apart the SCSI ID list of devices unnecessarily. It would be easy enough to have a connect/disconnect button, or a status indicator showing if an ID is connected or disconnected.  Think like the table cell being a different colour to indicate connected/disconnected.  Or just having one of the columns for "Connected" and a YES or NO for the row to indicate if it's connected or not.  

Excuse the spreadsheet format, but you get the idea.

image.png

Collapsing it down will also save on page space, which will help on computers with lower resolution displays. 

Again, thanks for your contribution to the project.

 

landoGriffin

Well-known member
When I tried to run it, I get a "landoGriffin_is_awesome.iso file not found" error ;-)  I like this layout a lot better!! Thank you for the feedback!

I would definitely appreciate any assistance with the documentation you (or anyone else) can offer! I changed the settings on the wiki to allow other people to make edits (assuming you have a github account)
https://github.com/akuker/RASCSI/wiki

If you're not able to edit the pages, send me your github ID and I'll explicitly add you to the page. I'm a little uneasy of leaving the wiki publicly editable, but we'll see how things go.

Side note - if anyone has any tips on getting Netscape 4 to show different fonts correctly, I'd welcome the input! This page renders fine with Chrome (with the Arial font). But Netscape still shows it with the default font.

https://github.com/akuker/RASCSI/blob/master/src/php/rascsi.php

 

cheesestraws

Well-known member
Re: feedback, the separation of the "current device configuration"   and "Add a new device" section breaks apart the SCSI ID list of devices unnecessarily. It would be easy enough to have a connect/disconnect button, or a status indicator showing if an ID is connected or disconnected.  Think like the table cell being a different colour to indicate connected/disconnected.  Or just having one of the columns for "Connected" and a YES or NO for the row to indicate if it's connected or not.  
Yeah, this is a nice UI for this, well thought :)

 

NF_

Active member
When shopping for somewhere to make the PCBs I uploaded gerber.zip to OSH Park but they report the design is missing a copper layer.  Not sure what's up with that. I did put the order through with JLCPCB without issue
Wahoo!  The PCBs arrived today!  At first glance with untrained eyes they look great!  Have a couple of projects on the go right now, but once they're done will dig into populating and testing.

 

NF_

Active member
I would definitely appreciate any assistance with the documentation you (or anyone else) can offer! I changed the settings on the wiki to allow other people to make edits (assuming you have a github account)

https://github.com/akuker/RASCSI/wiki

If you're not able to edit the pages, send me your github ID and I'll explicitly add you to the page. I'm a little uneasy of leaving the wiki publicly editable, but we'll see how things go.
Awesome, will do.  Started editing the main wiki page and changed the supported RPi list into a table. Have been looking at other github wiki pages for inspiration on improvements. If you see any issues with the changes I make, feel free to revert

 

landoGriffin

Well-known member
Awesome, will do.  Started editing the main wiki page and changed the supported RPi list into a table. Have been looking at other github wiki pages for inspiration on improvements. If you see any issues with the changes I make, feel free to revert
The changes you made look awesome. Thanks!

 
Top