Skip to content
Daniel Markstedt edited this page Aug 31, 2024 · 177 revisions

Project Notice: This wiki is now read-only

If you want an edit, please file an issue ticket, or ask in Discord.

Thanks in advance for your contributions! :)

What is PiSCSI?

PiSCSI (formerly RaSCSI Reloaded) is a virtual SCSI device emulator that runs on a Raspberry Pi. It is a two piece solution, with a hardware and software component. PiSCSI can emulate multiple SCSI devices concurrently, provides a control interface to attach / detach drives, as well as insert and eject removable media. Simply connect the PiSCSI interface board to your system, launch the PiSCSI software on the Raspberry Pi, and the virtual devices will be accessible as physical SCSI devices!

Where can I get one??

akuker's Tindie Store
- Support one of the develoeprs
- All PiSCSI configurations, daisy chain daughter board plus others
SamplerZone
- Configured and ready to go, out of the box
SCSI Connector
- Multiple versions available for sale in Austrailia.
- Huge assortment of vintage sampler and SCSI accessories
SamplerSpa.de
- Pre-assembled versions available for sale in Germany.
- Great assortment of vintage storage accessories
intriguing industries
- Plug&Play PiSCSI bundles in PotatoFi Cases, as well as DIY Kits
- Comprehensive selection of accessories and other Mac Upgrades
AmigaKit
- Assembled kits with optional accessories
You are welcome to build your own!
- The latest Gerber files (2.7) are available in the piscsi-hw Github repo. You can order these from any PCB manufacturer.
- JLCPCB is commonly used, since they are able to pre-install the tiny resistors in the factory for a low fee.
- Or checkout the Hardware Versions page for other variants.

Want to chat?

Join us on Discord with questions, concerns or to just socialize with some vintage computing users.

Table of Contents

Introduction and history

PiSCSI is forked from RaSCSI, which was originally developed by by GIMONS for use with the Sharp X68000.

The purpose of this repository is to take the awesome work by GIMONS and build upon it, using the open source community. This project was forked from version 1.47 of GIMONS' RaSCSI project. At first it was named RaSCSI 68kmla Edition, then renamed to RaSCSI Reloaded, and finally PiSCSI. Over time, PiSCSI has had significant updates and architectural changes, providing unique capabilities beyond RaSCSI's original feature set. The PiSCSI software maintains compatibility with all RaSCSI board variants.

PiSCSI has been demonstrated on dozens of retro computing platforms and digital samplers. A compatibility list is available showing which platforms have been tested. Additional testing is appreciated, along with updating the system compatibility table with your findings.

Select Tutorial Videos

Warning: Older videos may contain outdated information, since PiSCSI is a rapidly developing project.

Project Comparison

PiSCSI SCSI2Pi RaSCSI BlueSCSI v2 SCSI2SD MacSD
Links to more information Wiki, GitHub Homepage, GitHub Archived homepage Homepage Wiki macsd.com
Cost $$ $$ $$ $ $$ $$$
Primary target systems SCSI standards compliant SCSI standards compliant Sharp X68000 General SCSI General SCSI SCSI Macintosh
Run-time configurable
Web app control interface
Android App
HD device
CD/DVD device
Floppy device
Removable device
MO device
Printer device
Ethernet device
(DaynaPort SCSI/Link)
Host Services device
CD audio
Sharp X68000 host adapter
SASI support
SCSI initiator mode

Raspberry Pi and System compatibility

With many people working on and testing PiSCSI on their own systems, you can find details on what Raspberry Pis and which computers work together. Check out the Compatibility page.

Benchmarks

Benchmark testing has been performed with the PiSCSI on a few different Raspberry Pi models. Please check the benchmarks page for additional details.


Hardware Component

Connection Method

The hardware component of PiSCSI interfaces with GPIO pins on the Raspberry Pi to read/control the SCSI signals. As the Raspberry Pi GPIO pins operate at 3.3v and SCSI signalling is 5v, the PiSCSI interface uses bus transceivers allowing the Raspberry Pi to safely communicate on the SCSI bus. The SCSI I/O signal is used to control the direction of the Data signals, and a dedicated GPIO pin is used to control the direction of several control signals. As of Sept 2020, the suggested transceiver is the SN74LS641-1 from Texas Instruments. As development is still underway, a comparison of different transceivers has been compiled.

Assembling your own

For those who have purchased the DIY kit on Tindie, or have procured your own PCBs and components, check the full size or Zero assembly page for instructions on building your own PiSCSI board.

Alternate Connection Method

Some people have reported successfully connecting the Raspberry Pi GPIO pins directly to a SCSI interface. This may work, but runs the Raspberry Pi GPIO beyond the specifications, and is not recommended.

Expansion options

The PiSCSI board has had an additional header installed exposing the I2C bus. With this you can install additional features like an OLED display. Read more on how to connect an OLED display or a Control Board to the PiSCSI.


Software Component

Downloading and installing the software

Once you have PiSCSI board, instructions on how to setup your Raspberry Pi, and downloading and installing the PiSCSI software can be found on the Setup Instructions page.

Connecting PiSCSI to your computer

Now that you have the PiSCSI board connected to your Raspberry Pi, and have the software downloaded and installed, next is to connect the PiSCSI device to your computer. Details on SCSI devices, termination and cabling can be found on the Connecting the PiSCSI page.

I have the software and everything connected, what next?

With the PiSCSI board attached to your computer, and PiSCSI downloaded and installed, instructions on creating and attaching disk images can be found on the Drive Setup page.

Additionally, a web interface can be used to attach and detach images, manage the images, and the Raspberry Pi itself. More details on the web interface and how to set it up can be found on the Web Interface page.

Clone this wiki locally