diff --git a/BOM.md b/BOM.md new file mode 100644 index 0000000..8bad521 --- /dev/null +++ b/BOM.md @@ -0,0 +1,30 @@ +# Bill of Materials for PowerBook adapter for BlueSCSI + +https://github.com/xunker/bluescsi_pb/BOM.md + +To assemble v1.1 the board, you will need the following components: + +## Required + +Quantity | Thing | Example Part Number +---------|-------|-------------------- +1 | An STM32 "Blue Pill" module and a way to program it with the [BlueSCSI](https://github.com/erichelgeson/BlueSCSI) firmware | +2 | 330 Ohm Resistor Network in SIP-10 package | Bourns 4610X-101-331 +2 | 220 Ohm Resistor Network in SIP-10 package | Bourns 4610X-101-221 +1 | MicroSD Card connector (or use SD-to-MicroSD adapter [as shown here](README.md#microsd-card-j3-and-sd-card-breakout-j7)) | Molex 104031-0811 +1 | 2x20 right-angle **2mm** header for connector J1 | +2 | 1x2 header pins for the termination jumper connectors J4 and J5 | +2 | Jumpers (aka jumper caps, shunts, or shorts) for J4 and J5 | + +## Optional + +Quantity | Thing +---------|------- +1 | 1x4 2.54mm right-angle header for debugging connector +2 | 1x2 header pins for the power selection jumper connectors J9 and J10 +1 | 2x25 2.54 header pins for 50-pin desktop SCSI connector J8 +1 | LED for D1 +1 | Resistor (R1) for LED, any value from 330 ohms to about 1.8k ohms will work +2 | ["low-profile" female headers](https://www.adafruit.com/product/3008) if you do not want to permanently solder the Blue Pill board + + diff --git a/FUTURE_PLANS.md b/FUTURE_PLANS.md new file mode 100644 index 0000000..6417a34 --- /dev/null +++ b/FUTURE_PLANS.md @@ -0,0 +1,35 @@ +# Future plans for PowerBook adapter for BlueSCSI +# April 2021 + +https://github.com/xunker/bluescsi_pb/FUTURE_PLANS.md + +[v1.1](v1.1) is working well so I don't expect any majour changes for a while. + +## v1.2 (possible maintenance version) + +Plans for a v1.2 (maintenance) may include: + +* Jumper to toggle the activity LED + - So you can solder the LED and resistor, but disable it later if you prefer +* Break out power LED + - Provide a power LED (and a jumper toggle) breakout if an external power LED is desired +* Replace J4 & J5 with DIP switches or a single DPDT switch + +## v2.0 (possible full redesign) + +If I continue to develop project in the future, I plan on a full redesign. + +* Use termination ICs instead of resistors + - Lower power consumption + - More accurate termination voltage + - Switchable termination resistance (110-ohm or 2.5k-ohm) for short busses +* Attach J1 & J2 via the PCB edge to make it more like how an actual hard drive connects +* Less-expensive Micro SD card slot +* Automatic switching between TERMPWR, MOTORPWR or USB Power + +If I want to fork the actual BlueSCSI firmware, I would like to add: + +* Separate LEDs for read and write activity +* Read TERMPWR and MOTORPWR voltages and report them on the debugging connector +* LEDs to indicate with SCSI ID is being accessed +* Support OLED debugging display diff --git a/README.md b/README.md index 8b5284b..deab0cd 100644 --- a/README.md +++ b/README.md @@ -7,25 +7,19 @@ - [About](#about) - [Compatibility](#compatibility) - [Board Versions and Gerber Files](#board-versions-and-gerber-files) - - [version 1.1 April 2021 - current](#version-11-april-2021---current) - - [version 1.0 March 2021 - not recommended, modify before using](#version-10-march-2021---not-recommended-modify-before-using) -- [Future Plans](#future-plans) - - [v1.2 possible maintenance version](#v12-possible-maintenance-version) - - [v2.0 possible full redesign](#v20-possible-full-redesign) + - [Future versions of the board](#future-versions-of-the-board) - [Board Tour](#board-tour) - [J1 40-pin mobile SCSI connector](#j1-40-pin-mobile-scsi-connector) - [J2 8-pin connector](#j2-8-pin-connector) - [J8 50-pin desktop SCSI connector](#j8-50-pin-desktop-scsi-connector) - [Termination Resistors Packs and Termination Enable Jumpers J4, J5](#termination-resistors-packs-and-termination-enable-jumpers-j4-j5) - [MicroSD card J3 and SD Card Breakout J7](#microsd-card-j3-and-sd-card-breakout-j7) - - [Power selection jumpers v1.1+ only](#power-selection-jumpers-v11-only) + - [Power selection jumpers](#power-selection-jumpers) - [Powering board by motor power MOTORPWR](#powering-board-by-motor-power-motorpwr) - [Repowering board by termination power TERMPWR](#repowering-board-by-termination-power-termpwr) - [Powering board by USB alone](#powering-board-by-usb-alone) - - [Activity LED D1 v1.1+ only](#activity-led-d1-v11-only) + - [Activity LED D1](#activity-led-d1) - [Bill of Materials](#bill-of-materials) - - [Required](#required) - - [Optional](#optional) - [Caveats](#caveats) - [Termination](#termination) - [Ribbon cable should not be seated fully on connector J1 for me, at least](#ribbon-cable-should-not-be-seated-fully-on-connector-j1-for-me-at-least) @@ -52,78 +46,16 @@ Using the 50-pin connector, I have successfully used it with an Apple IIgs, a Ma # Board Versions and Gerber Files -## [version 1.1](v1.1/) (April 2021) - current - -Changes in order of importance: -* Mounting hole locations adjusted so they match an actual drive -* Connect `RETURN` on 40-pin SCSI connector with signal ground -* STM32 +5 is connected to `TERMPWR` by default, via breakable jumper pad -* Separate jumpers provided for powering via `TERMPWR` or `MOTORPWR` - - *MOTORPWR* is a separate +5v provided to run the drive motor and actuator - - This change will be helpful for debugging power issues where *MOTORPWR* appears to be inconsistent -* Activity LED (`LED_BUILTIN`) broken-out if you want to have an external LED -* Increased `TERMPWR` trace width -* Traces and resistor packs are moved farther away from mounting holes to avoid potential shorts -* Back silkscreen marks location of the key pin (17) within the 40-pin connector -* Moved legends for J1, J2 and J8 so they are next to pin 1 on their respective connectors -* Corners rounded more -* Shorten board by about 5mm - - This is the shortest practical length to maintain all four screw holes -* Numerous changes to the routing of traces +* [version 1.1](v1.1/) (April 2021) - current +* [version 1.0](v1.0/) (March 2021) - deprecated, not recommended ![3D rendering of bluescsi_pb v1.1 board ](images/pcb_v1.1_render.jpg) -## [version 1.0](v1.0/) (March 2021) - not recommended, modify before using +## Future versions of the board -First version. 50-pin-SCSI, termination and SD card worked first time, right out of the gate. However, problems: +See [FUTURE_PLANS.md](FUTURE_PLANS.md). -* The screw holes are slightly too far in from edges -* `RETURN` lines are not connected to signal ground -* Can only power STM32 from `MOTORPWR` *or* USB, no option to power it from from `TERMPWR` alone -* No option to disconnect STM32 from *both* `TERMPWR` and `MOTORPWR` power and use USB power alone without backfeeding - -If you choose to use this board design, please do the following: -* break the `MOTORPWR` trace, as seen in [this image](images/j2.jpg) -* Solder a wire from any ground pin to one of the `RETURN` pins (number 3, 4, 37 or 38) of `J1`. These are 1 column in from each edge, and and connected together. They are next to the `MOTORPWR` pins, the trace you broke above. -* Ensure J9 ("bridge +5v and term power") is always shorted/jumped - -Why the modifications? the `MOTORPWR` pins do not appear to be working the way I expect. The power was being disconnected at unexpected times and I could not see a pattern. Maybe it is a power-saving feature? Until I figure it out and update the board design, I recommend you power the device from `TERMPWR` as usual. - -![3D rendering of bluescsi_pb v1.0 board ](images/pcb_v1.0_render.jpg) - -# Future Plans - -v1.1 is working well so I don't expect any majour changes for a while. -## v1.2 (possible maintenance version) - -Plans for a v1.2 (maintenance) may include: - -* Jumper to toggle the activity LED - - So you can solder the LED and resistor, but disable it later if you prefer -* Break out power LED - - Provide a power LED (and a jumper toggle) breakout if an external power LED is desired -* Replace J4 & J5 with DIP switches or a single DPDT switch - -## v2.0 (possible full redesign) - -If I continue to develop project in the future, I plan on a full redesign. - -* Use termination ICs instead of resistors - - Lower power consumption - - More accurate termination voltage - - Switchable termination resistance (110-ohm or 2.5k-ohm) for short busses -* Attach J1 & J2 via the PCB edge to make it more like how an actual hard drive connects -* Less-expensive Micro SD card slot -* Automatic switching between TERMPWR, MOTORPWR or USB Power - -If I want to fork the actual BlueSCSI firmware, I would like to add: - -* Separate LEDs for read and write activity -* Read TERMPWR and MOTORPWR voltages and report them on the debugging connector -* LEDs to indicate with SCSI ID is being accessed -* Support OLED debugging display - -# Board Tour +# Tour of board v1.1 ## J1 (40-pin mobile SCSI connector) @@ -159,7 +91,7 @@ If you do not have the correct part (or don't like soldering SMD, which is total ![Picture of MicroSD connector pad and SD-to-MicroSD adapter with header pins soldered to it](images/low_rent_microsd_adapter.jpg) -## Power selection jumpers (v1.1+ only) +## Power selection jumpers By default the board is powered by SCSI termination power (`TERMPWR`), and is controlled by the joint JP1 (which is near J9). @@ -186,7 +118,7 @@ If you want to power the Blue Pill module from USB power, you must: * Break joint **JP1** with a small knife * Ensure that **J9** AND **J10** are **NOT** shorted -## Activity LED (D1) (v1.1+ only) +## Activity LED (D1) ![Picture of Disk Activity LED (D1)](images/activity_led.jpg) @@ -196,31 +128,7 @@ The signal is active-low, and current-limiting resistor for the LED is on the *p # Bill of Materials -To assemble the board, you will need the following components. - -## Required - -Quantity | Thing | Example Part Number ----------|-------|-------------------- -1 | An STM32 "Blue Pill" module and a way to program it with the [BlueSCSI](https://github.com/erichelgeson/BlueSCSI) firmware | -2 | 330 Ohm Resistor Network in SIP-10 package | Bourns 4610X-101-331 -2 | 220 Ohm Resistor Network in SIP-10 package | Bourns 4610X-101-221 -1 | MicroSD Card connector (or use SD-to-MicroSD adapter [as shown here](#microsd-card-j3-and-sd-card-breakout-j7)) | Molex 104031-0811 -1 | 2x20 right-angle **2mm** header for connector J1 | -2 | 1x2 header pins for the termination jumper connectors J4 and J5 | -2 | Jumpers (aka jumper caps, shunts, or shorts) for J4 and J5 | - -## Optional - -Quantity | Thing ----------|------- -1 | 1x4 2.54mm right-angle header for debugging connector -2 | 1x2 header pins for the power selection jumper connectors J9 and J10 -1 | 2x25 2.54 header pins for 50-pin desktop SCSI connector J8 -1 | LED for D1 -1 | Resistor (R1) for LED, any value from 330 ohms to about 1.8k ohms will work -2 | ["low-profile" female headers](https://www.adafruit.com/product/3008) if you do not want to permanently solder the Blue Pill board - +See [BOM.md](BOM.md). # Caveats ## Termination diff --git a/v1.0/README.md b/v1.0/README.md new file mode 100644 index 0000000..ff7b6b4 --- /dev/null +++ b/v1.0/README.md @@ -0,0 +1,31 @@ +# PowerBook adapter for BlueSCSI, v1.0 + +https://github.com/xunker/bluescsi_pb/v1.0 + +## March 2021 + +## Deprecation Notice + +This design is deprecated and should no longer be used. Please [see v1.1 instead](../v1.1). + +## Gerber files + +Gerber files can be [found here in the gerber directory](gerber). + +## Notes + +First version. 50-pin-SCSI, termination and SD card worked first time, right out of the gate. However, problems: + +* The screw holes are slightly too far in from edges +* `RETURN` lines are not connected to signal ground +* Can only power STM32 from `MOTORPWR` *or* USB, no option to power it from from `TERMPWR` alone +* No option to disconnect STM32 from *both* `TERMPWR` and `MOTORPWR` power and use USB power alone without backfeeding + +If you choose to use this board design, **please do the following**: +* break the `MOTORPWR` trace, as seen in [this image](../images/j2.jpg) +* Solder a wire from any ground pin to one of the `RETURN` pins (number 3, 4, 37 or 38) of `J1`. These are 1 column in from each edge, and and connected together. They are next to the `MOTORPWR` pins, the trace you broke above. +* Ensure J9 ("bridge +5v and term power") is always shorted/jumped + +Why the modifications? the `MOTORPWR` pins do not appear to be working the way I expect. The power was being disconnected at unexpected times and I could not see a pattern. Maybe it is a power-saving feature? Until I figure it out and update the board design, I recommend you power the device from `TERMPWR` as usual. + +![3D rendering of bluescsi_pb v1.0 board ](../images/pcb_v1.0_render.jpg) diff --git a/v1.1/README.md b/v1.1/README.md new file mode 100644 index 0000000..b8ba61c --- /dev/null +++ b/v1.1/README.md @@ -0,0 +1,43 @@ +# PowerBook adapter for BlueSCSI, v1.1 + +https://github.com/xunker/bluescsi_pb/v1.1 + +## April 2021 + +This design is the current design. It replaces [v1.0](../v1.0). + +## Gerber files + +Gerber files can be [found here in the gerber directory](gerber). + +![3D rendering of bluescsi_pb v1.1 board ](../images/pcb_v1.1_render.jpg) + +![Picture of bluescsi_pb connected to PowerBook 520c](bluescsi_pb_v1.1.jpg) + +## Changes from v1.0 + +Changes in order of importance: +* Mounting hole locations adjusted so they match an actual drive +* Connect `RETURN` on 40-pin SCSI connector with signal ground +* STM32 +5 is connected to `TERMPWR` by default, via breakable jumper pad +* Separate jumpers provided for powering via `TERMPWR` or `MOTORPWR` + - *MOTORPWR* is a separate +5v provided to run the drive motor and actuator + - This change will be helpful for debugging power issues where *MOTORPWR* appears to be inconsistent +* Activity LED (`LED_BUILTIN`) broken-out if you want to have an external LED +* Increased `TERMPWR` trace width +* Traces and resistor packs are moved farther away from mounting holes to avoid potential shorts +* Back silkscreen marks location of the key pin (17) within the 40-pin connector +* Moved legends for J1, J2 and J8 so they are next to pin 1 on their respective connectors +* Corners rounded more +* Numerous changes to the routing of traces +* Shorten board by about 5mm + - This is the shortest practical length to maintain all four screw holes + +![v1.0 and v1.1 side-by-side to show differences](v1_0_and_v1_1_side_by_side.jpg) + + +## Comparison with 2.5in drive + +A 2.5 inch SCSI drive is 100mm x 70mm. This version of bluescsi_pb is 72mm x 67mm, or 77mm x 67mm once the 40-pin connector is attached. + +![Picture of bare bluescsi_pb board attached to bottom of 2.5in SCSI drive to show size differences](drive_comparison.jpg) diff --git a/v1.1/drive_comparison.jpg b/v1.1/drive_comparison.jpg new file mode 100644 index 0000000..336c999 Binary files /dev/null and b/v1.1/drive_comparison.jpg differ diff --git a/v1.1/v1_0_and_v1_1_side_by_side.jpg b/v1.1/v1_0_and_v1_1_side_by_side.jpg new file mode 100644 index 0000000..688c91c Binary files /dev/null and b/v1.1/v1_0_and_v1_1_side_by_side.jpg differ