Skip to content

Commit

Permalink
update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Mr-Bossman committed Jun 22, 2024
1 parent beffc1a commit a5d8856
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 8 deletions.
46 changes: 39 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,32 @@
# SD_Swap

## A development tool which swaps an SD card between a USB3 card reader or a SBC.
## A development tool which swaps an SD card between a USB3 card reader and a SBC.

### About

SD_Swap allows reflashing of an SD card connected to the DUT (Device Under Test), without physical contact with the device. The board is designed in such way that it fits into micro SD card slots. Thanks to this, there is no need for special cables with a micro SD adapter, though it may be beneficial to add an extention to avoid accidentally breaking your boards SD connector if someone yanks the cable.

This project was inspired by the [SDWire](https://wiki.tizen.org/SDWire) project.
The major improvements are:
- USB-C
- USB3.0 read/write speeds
- Simplified design/control
- Solder jumpers to disconnect LEDs
- Dim LEDs so you wont get blinded

I have got SD write speeds up to 65MiB/s so 520Mbit/s

### Rational

After seeing the [SDWire](https://wiki.tizen.org/SDWire) project I was disappointed by the complexity as well as the lack of USB3. So this project is uses the REALTEK RTS5306E controller which many USB3 to SD adapters use. The chip has power suspend functionality which we can use as a GPIO for switching hosts. The suspend option will shut off the SD cards power but not the controllers; it also has build-in RW protection as to finish writes before switching to the SBC

The SDWire project uses a USB to GPIO chip for this, but they have two power controlled USB ports on the board as well as the above mentioned method.

### Software
To swap the SD card between the host PC and the SBC you run
`./swap.sh 0` or `./swap.sh 1`. 1 is the host PC while 0 is the SBC. You can also chose which device to use if you have multiple attached. To do this run `./swap.sh 1` to print the found devices and type `./swap.sh 1-4 1` or another usb number. I have future plans to write this script for Windows and OSX.
`./swap.sh 0` or `./swap.sh 1`.

`1` is the host PC while `0` is the SBC. You can also chose which device to use if you have multiple attached. To do this run `./swap.sh 1` to print the found devices and type `./swap.sh 1-4 1` or another USB number. I have future plans to write this script for Windows and OSX.

```
$ ./swap.sh -h
Expand Down Expand Up @@ -48,15 +70,25 @@ echo PC
echo ${YOUR_USB_NUM} | sudo tee /sys/bus/usb/drivers/usb/bind
```
### Hardware
The hardware is still WIP, but I have a mostly working prototype.
#### LEDs
- D2 is the **red/blue** status LED it will be **blue** when the in passthrough mode, and **red** when the USB3 controller is reading/writing to it.
- D1 is the **yellow** activity LED and blinks when the USB3 controller is reading/writing.
- D3 is the **red** power LED and is active when the USB3 controller has power.

**NOTE**: The **red** power LED will not be on if the USB cable isn't 5V providing power.


![Front image of PCB](https://github.com/Mr-Bossman/SD_Swap/blob/master/images/Front.jpg?raw=true)
![Back image of PCB](https://github.com/Mr-Bossman/SD_Swap/blob/master/images/Back.jpg?raw=true)
<!--
![Front image of rendered PCB](https://github.com/Mr-Bossman/SD_Swap/blob/master/images/Rendered_Front.jpg?raw=true)
![Back image of rendered PCB](https://github.com/Mr-Bossman/SD_Swap/blob/master/images/Rendered_Back.jpg?raw=true)
-->

### About
After seeing the [SDWire](https://wiki.tizen.org/SDWire) project I was disappointed by the complexity as well as the lack of USB3. So this project is uses the REALTEK RTS5306E which many USB3 to SD adapers implement, the chip has suspend functionality which we will use as a GPIO for switching hosts. The suspend option will shut off the SD cards power but not the controllers; it also has build-in RW protection as to finnish writes before switching to the SBC

The SDWire project uses a USB to GPIO chip for this, but they have 2 power controlled USB ports on the board as well as the above mentioned method.
### TODO
- write script for Windows and OSX.
- Edit pick n' place csv
- Label stat leds
- Add use switching regulator
- Add E-Fuse
- Update readme
1 change: 0 additions & 1 deletion TODO
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
Edit pick n' place csv
Label stat leds
regen sch and images
Add use switching regulator
Add E-Fuse
Update readme

0 comments on commit a5d8856

Please sign in to comment.