BlueSCSI v2 Pico - Low cost, open hardware, fast SCSI device!

  • Please can you read through and vote on the following proposition for changes to the board structure by clicking here.

eric

Administrator
Staff member
Sep 2, 2021
1,176
1,989
113
MN
bluescsi.com

New release v2025.07.07

Updating​

Note: You can only use the new SD Bootloader after you flash this release via .uf2.
https://github.com/BlueSCSI/BlueSCSI-v2/wiki/Updating-Firmware

Changes​

SD Card Bootloader Added Back​

We've restored the ability to update your firmware via SD card. Place the appropriate bin file onto the root of your SD card and power cycle the BlueSCSI.

Note you must flash the .uf2 this release to get the boot loader, then use the .bin files for future updates.

Fixes: #77

Present SD Card as USB Mass Storage​

Plugging your BlueSCSI into a computer will now present the SD card as a USB Mass Storage device. This allows you to easily copy files to and from the SD card without needing to remove it from the BlueSCSI.

NOTE: The USB connection speed is USB 1.1. This can be disabled via the ini setting EnableUSBMassStorage=false.

https://github.com/BlueSCSI/BlueSCSI-v2/wiki/USB-Thumb-Drive-Mode

USB -> SCSI Bridge Mode​

Want to boot your Windows 11 computer off that old SCSI drive? This will allow you to do that. This is currently disabled in this build as it needs more testing.

Fixes #212, Replaces PR #221.
https://github.com/BlueSCSI/BlueSCSI-v2/wiki/USB-Bridge

Present SCSI Images via USB Mass Storage​

Instead of presenting the SD card contents, you can present the images on the BlueSCSI to your computer. This allows you to work with files directly on an image. Note: Your computer must support the file system of that image.

Enable it via: USBMassStoragePresentImages=true

Fixes #13

https://github.com/BlueSCSI/BlueSCSI-v2/wiki/USB-Thumb-Drive-Mode

Fast20 20MB/s SCSI Bus Timings​

We now support Fast20 SCSI bus timings, which allow for up to 18MB/s transfer speeds.

See: https://github.com/BlueSCSI/BlueSCSI-v2/wiki/Ultra-SCSI-Fast20-OverClock

Buttons on all hardware​

Allow users to hook up to two buttons to any BlueSCSI hardware. It will automatically configure them to any removable drives such as CDs. You will can also manually set them if you have more than two removable drives.

Buttons are available on all hardware revs, see Buttons

Interactive USB Console​

You can now interact with the BlueSCSI via a USB Serial connection. Currently, the available commands are: reboot, reboot into bootloader, and reboot into USB Mass Storage mode. This is useful for debugging and development. Ideas for new commands are welcome! This replaces PR #215.

Other​

  • Updated frameworks:
    • SdFat 2.2.3 (Fixes #258)
    • Arduino core 4.3.0
  • Bug fixes:
    • Fixed issue with ROM drive overwriting firmware (#98)
    • Fixed PicoW/Pico LED on common firmware
    • Don't warn on non-Apple images, instead check if it's an HFS volume
  • Features
    • Default to 200MHz clock now that it's the default in the PicoSDK
    • No longer auto join any open WiFi SSID. Use ini or the WiFi utilities to join
  • Various other bug fixes and improvements.

Thanks to all the contributors!

And thanks to you for using BlueSCSI.
 
  • Like
Reactions: Kai Robinson

Fizzbinn

Active Tinkerer
Nov 29, 2021
264
270
63
Charlottesville, VA
Wow.

So, just to bring the average reader of this thread "up to speed" (he he)...

As per what is written here, those super fast transfer rates reported by @Androda require a "SCSI card that supports Ultra SCSI (Fast20)." That means we can't just flash our BSv2 units with the latest firmware, then plunk it into something like a largely stock PowerMac 9600 and expect any faster performance than older BSv2 firmware. An UltraSCSI card is required.
BlueSCSI cant go faster than the bus it's on - but since you mentioned a 9600 which has a 10MB/sec bus you actually will see a ~5-10% improvement just with the overclock. If you checked the release notes too we bumped the base clock up to 200MHz as Pi Foundation upped them a while ago. So you will get a bump next time you update, but to get the biggest bump, You'll need an Ultra card. Coincidentally my 9600 has a U160 card in it.

I was trying to figure out a drive for my newly acquired Power Computing PowerCenter Pro, which happens to have shipped with a Ultra/20Mb SCSI Adaptec 2930 SCSI PCI card... Looks like I need to pick up another BlueSCSI!

IMG_7330.jpeg


I have a Sonnet ATA66 PCI card in my PM 7300 sporting a PATA SSD but with this new speed bump BlueSCSI seems likes its getting more competitive price/performance wise for PCI Macs! The ATA PCI cards are not exactly cheap and it looks like there are a bunch of Adaptec 2930 PCI cards on eBay for $20-$30, although I'm not sure about the firmware. I wonder what other Mac Ultra SCSI compatible adapters are out there. Might already be a list somewhere...
 
Last edited:
  • Like
Reactions: JDW and eric

KennyPowers

Active Tinkerer
Jun 27, 2022
325
362
63
I'm sure others were probably already aware of this, though maybe had never tried it on real hardware, but I was happy to discover that BlueSCSI's floppy emulation happily mounts 2.88MB floppy images created from flux dumps, so now there's a decent archival path for 2.88MB NeXT floppies (assuming you find a 2.88MB drive with separate power and pair it with a specific Greaseweazle model): https://www.nextcomputers.org/forums/index.php?topic=6025.0
 
  • Like
Reactions: PL212 and JDW

Fizzbinn

Active Tinkerer
Nov 29, 2021
264
270
63
Charlottesville, VA
Power Computing PowerCenter Pro 180 with stock bundled Adaptec 2930B SCSI card (AHA-2930B MAC).
- Desktop BlueSCSI 2022.12a - Pico 1
- SanDisk Industrial 16GB Micro SD Memory Card Class 10 UHS-I MicroSDHC
- FWB Hard Disk Toolkit PE 2.0.6 SCSI driver
15.954MB/sec read, and 7.382MB/sec write.

8_0 Ultra_result.jpg


For this Adaptec 2930B SCSI PCI card I needed to use an Adaptec control panel to enable "UltraSCSI". I can't find mention of needing to do that in the Power Computing docs so I wonder if the one I have was disabled in the past, perhaps for compatibility with a different drive.

This ever so descriptively named "Board Control" control panel (version 2.0.1 A, 1996) for the 2930B can be downloaded from the Macintosh Garden: Adaptec 2930BU Driver (PowerComputing). To enable (or check) the speed, open the control panel, select your card then choose "Target Options..." from the Special menu.
 
Last edited:

Fizzbinn

Active Tinkerer
Nov 29, 2021
264
270
63
Charlottesville, VA
I had an unassembled BlueSCSI v2 PowerBook / 2.5 Inch SCSI 2022.11b kit that I finally got around to building (it's going to go in a PowerBook 165c I'm fixing up). I put in a Pico W in anticipation of using the DanaPORT WiFi feature and also did the "wake from sleep fix" for older BlueSCSI boards documented here:


I had some 1/4 watt resistors that I'm sure were overkill but with some careful lead bending I'm pretty happy how it turned out!

IMG_7411.jpeg


IMG_7427.jpeg


IMG_7428.jpeg
 
Last edited:

eric

Administrator
Staff member
Sep 2, 2021
1,176
1,989
113
MN
bluescsi.com
@Androda was busy over the new years break https://hachyderm.io/@TechByAndroda/115820927411081128

For all you CD Audio fans out there, get ready: #BlueSCSI V2 is going to support audio output soon, on hardware versions 2023.09a and later!
Over the Christmas break I took a look at the two audio output options available to the framework (I2S and S/PDIF). I2S unfortunately doesn’t pan out for V2 because we only have two spare GPIO, and I2S needs three. S/PDIF on the other hand requires only a single signal line.
With a cheap S/PDIF converter box in hand, I have successfully updated the framework to make it functional on Pico and Pico 2. Currently only one clock speed is supported for S/PDIF but we might be able to make it work in other modes.
The primary changes are:
* Not using the SPI peripheral (it’s not available on our two spare pins), switched to PIO
* Getting the clock divider right
Next Steps:
* Software release
* Hardware design, to make something which plugs into the QWIIC port for ease of use
 

eric

Administrator
Staff member
Sep 2, 2021
1,176
1,989
113
MN
bluescsi.com
New release - pretty big! Please let me know if you have any questions about any features or fixes.


BlueSCSI v2026.02.08-RC1 - Superb Owl​


If you run into any issues please open a Discussion.

This is a release candidate for all versions of BlueSCSI v2 and Ultra/Ultra Wide.

There will be an Release Candidate 2 as well merging in the recent Wi-Fi optimizations from @jcs wifi-speed and @RobSmithDev #317.

Updating​

BlueSCSI v2​

  • Use BlueSCSI v2 Universal for the Pico/PicoW based BlueSCSI.
  • Audio Builds are available and due to memory constraints are provided as a separate uf2s.

BlueSCSI Ultra/Ultra Wide​

  • Use the uf2 corisponding to your device.

SD Card​

  • Use .bin file.

Future​

We have a much nicer update system in the works with one uf2 for all - stay tuned!

New Features​

  • CD Audio Output - BlueSCSI can now output CD audio over S/PDIF or I2S depending on model. Supported on Pico, Pico 2, and Ultra/Ultra Wide. DAC required. (6b10879, b63afa7 - @androda)
  • BlueSCSI Toolbox Performance Boost - File transfers are now up to 11.5x faster thanks to larger transfer buffers. Fully backwards compatible with existing BlueSCSI Toolbox clients. (41ecbe9 - @erichelgeson)
  • BlueSCSI Toolbox Metadata API - New API for retrieving device metadata through the Toolbox interface. (279d991 - @erichelgeson)
  • Improved Fragmented Image Performance - Enabled FastSeek for fragmented disk images, improving read performance on fragmented SD cards. (01ebebd - Ian Scott @polpo)
  • Arbitrary Sector Size Imaging - Initiator mode now supports imaging drives with non-standard sector sizes (e.g., 520-byte sectors used by some enterprise drives). (a342253 - @erichelgeson)
  • Configurable SCSI Timing Delays - New INI settings allow fine-tuning SCSI bus timing for compatibility with picky devices like EMU EMAX, Akai samplers, and SGI workstations. (700b28f - @erichelgeson)
  • Configurable Initiator Start Sector - Initiator mode can now begin imaging from a specified starting sector on a per-device basis. (1751310 - @androda)
  • USB Device Name - BlueSCSI now correctly identifies itself as "BlueSCSI" when connected via USB, using standard Pico SDK product IDs. (b104c1e - @erichelgeson)
  • Multi-bin CUE Handling - Directories with a mix of .bin and .cue files now correctly associate .bin files with their .cue sheets automatically. (ea61cbf - @erichelgeson)

BlueSCSI Ultra / Ultra Wide​

More information about BlueSCSI Ultra/Ultra Wide can be found at https://bluescsi.com/ultra
  • Initial 16-bit Wide SCSI support - Hardware-accelerated 16-bit wide SCSI bus with synchronous transfer speeds up to 20MHz, wide bus negotiation, and dual-core optimized parity generation. (7fbcc34 - @PetteriAimonen, @morio)
  • Ultra and Ultra Wide board support - Full support for the new BlueSCSI Ultra (RP2350-based) and Ultra Wide (16-bit SCSI) hardware platforms. (2ed8fdc - @androda)
  • Wide SCSI (16-bit) data transfers - Ultra Wide supports full 16-bit wide SCSI data transfers with hardware-accelerated DMA. (2ed8fdc, ee85a89 - @androda)
  • Wide initiator mode - Initiator mode works on Ultra Wide with automatic bus width negotiation. Can image both 8-bit and 16-bit SCSI devices. (ec19528, ee85a89 - @androda, @PetteriAimonen , @morio)
  • Fixed DMA state crash on Ultra Wide - Resolved a race condition in the 16-bit DMA accelerator that caused crashes after 6-byte SCSI commands. (b75b27e - @PetteriAimonen)
  • Fixed initiator mode on Ultra - Corrected a typo that prevented initiator mode from functioning on Ultra boards. (d691d7c - @erichelgeson)
  • Bus width reset on SCSI bus reset - Ultra Wide now correctly resets to 8-bit bus width when a SCSI bus reset occurs, then re-negotiates wide transfers. (b0268dc - @erichelgeson)
  • SCA drive bay support - Ultra Wide boards can now be installed in SCA (80-pin) drive bays with proper signal handling and LED control. (14e6acc, d8f8d5c - @androda)
  • Hardware initiator/USB mode switch - Ultra and Ultra Wide boards support a hardware switch to toggle between initiator and USB MSC modes without changing INI settings. (ec19528 - @androda)
  • SCA detection limited to Wide boards - SCA drive bay detection is now correctly restricted to Ultra Wide hardware only. (196c87b - @erichelgeson)
  • Improved sync negotiation logging - Synchronous transfer negotiation is only logged when speed increases, reducing log noise. (5f321c6 - @erichelgeson)
  • Fixed GPIO assignments - Corrected GPIO pin number assignments for Ultra hardware. (c285331 - @androda)
  • Dynamic DMA channel allocation - I2S audio and Wide SCSI DMA channels are now dynamically allocated to avoid conflicts. (22b15a3, 0a546f8 - @androda)

BlueSCSI v2​

  • S/PDIF audio output support - New build targets (BlueSCSI_Pico_Audio_SPDIF and BlueSCSI_Pico_2_Audio_SPDIF) enable S/PDIF digital audio output on any desktop 50-pin BlueSCSI v2 board. Works on both Pico (RP2040) and Pico 2 (RP2350) boards. (6b10879, b63afa7 - @androda)
  • S/PDIF setup failure handling - Graceful recovery when S/PDIF hardware initialization fails. (49dc901 - @androda)
  • Network and audio coexistence - Reduced network packet queue size to accommodate S/PDIF memory requirements, allowing both networking and audio to work simultaneously. (5117441 - @erichelgeson)
  • Removed Arduino dependencies - Migrated from Arduino framework to native TinyUSB and Pico SDK for USB, timing, and peripheral access. (7dc5476, fc518b8, 59de2dd - @erichelgeson)
  • Voltage regulation fix - Properly set voltage regulator for clock speeds above 200MHz. (c75ba7d - @erichelgeson)

Bug Fixes​

  • Fixed SCSI timing accuracy - The 100ns timing delay now correctly scales across all supported clock speeds (125-252MHz) instead of producing inconsistent 44-88ns delays. (23b69a7 - @erichelgeson)
  • Fixed SCSI timings out of spec - Corrected bus timing values that were outside the SCSI specification. (bb9a504 - @erichelgeson)
  • Fixed multi-bin CUE track boundaries - Corrected track boundary calculation for multi-bin CUE files where each track is in a separate .bin file with stored pregap. (e85043e - @erichelgeson)
  • Fixed integer underflow in cue parsing - Allows Mac Decent II to parse correctly (fda07d95 - @erichelgeson)
  • Fixed initiator mode on Pico W / DaynaPORT builds - Resolved a conflict between the WiFi driver and SCSI initiator mode that caused initiator failures on Pico W boards. (63d643b - @erichelgeson)
  • Fixed X68000 SASI compatibility - Corrected command descriptor block length for X68000 SASI drives. (9903f2c - @erichelgeson)
  • Fixed BSY signal handling - BlueSCSI no longer incorrectly asserts BSY when reading the REQ line. (cafa219 - @androda)
  • Fixed SEL output pin handling - Improved SCSI selection phase signal output. (9ac34e9 - @androda)
  • Fixed freeze on startup without SD card - BlueSCSI no longer hangs on boot when no SD card is inserted. (4792e18 - @androda)
  • Unit Tests - Helps us developers catch issues before releases. 26 test suites with 2287 assertions. (@erichelgeson)

New INI Settings​

[SCSI] Section​

SettingDefaultDescription
PhaseChangeDelay100 (SCSI-1) / 0 (SCSI-2)Delay in microseconds after SCSI phase transitions. EMU EMAX needs 100. SGI O2 may need 15. (700b28f - @erichelgeson)
DataPhaseDelay400 (SCSI-1) / 0 (SCSI-2)Delay in microseconds before entering data phases. Required by Akai S1000/S3000 samplers. (700b28f - @erichelgeson)
BusFreeDelay2 (SCSI-1) / 0 (SCSI-2)Delay in microseconds when entering bus free state. (700b28f - @erichelgeson)
SCAModelLEDEnablefalseEnable LED control for SCA drive bay installations (Ultra Wide SCA only). (d8f8d5c - @androda)

[SCSI0] - [SCSI7] Sections​

SettingDefaultDescription
InitiatorStartSector0Starting sector for disk imaging in initiator mode. Set per SCSI ID. (1751310 - @androda)
 
  • Like
Reactions: PL212 and Nitram78