Skip to the content
4 layers47 × 27 mmSD Swap, the printed circuit board in 3D

A development tool which swaps an sdcard between a usb3 card reader or a SBC.

Size
47 × 27 mm
Copper layers
4
Thickness
0.83 mm
Parts
44
Nets
62
Pads
260
Tracks, vias
504, 157
Pours
8
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
16 Dec 2022
Updated
9 Jun 2025

Overview

SD Swap is an open-source printed circuit board by Mr-Bossman, from the Mr-Bossman/SD_Swap repository on GitHub. It is a 4-layer board of 47 × 27 mm with 44 parts on 62 nets, routed with 504 tracks and 157 vias.

It is built around the RTS5306E-GR, 74LVC2G14GW and TS3A27518ERTW, with the BAT54CW among its other parts. Its parts include 16 capacitors, 11 resistors, 7 ICs, 4 diodes and 1 transistor.

Main components

4

README

README.md

SD_Swap

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 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

IMPORTANT

Faster SD cards may not work on some single board computers as the timing and capacitance on the SBC side is not right.

Rational

After seeing the 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 sdswap -t or sdswap -c.

-c is the host PC while -t is the SBC. You can also chose which device to use if you have multiple attached. To do this run lsusb to show available the devices and type sdswap -a 1-4 -c in the format of busNumber-deviceNumber. I have future plans to write this script for Windows.

text
$ sdswap -h
Usage: sdswap [-h] [-p] [-c | -t] [-l location] [-a address] [-s serial] [-i VID:PID]
  -h, --help          Show this help message.
  -p, --print         Prints the block device
  -c, --controller    Switches to PC.
  -t, --target        Switchest to target.
  -l, --location      Set location.
  -a, --address       Set address.
  -s, --serial        Serial number.
  -i, --id            Set the PID and VID.
  -e, --exact         Use exact location.
If no options are given, the script will print the current status of the SDswap device.
If --print and --controller are given at the same time, the script will wait for the
SDswap device to be attached to the PC and then print the block device path.

Examples:
# sdswap
SDswap is attached to PC.

# sdswap -p
/dev/sda

# sdswap 0
Multiple devices found.

To manually controll the port use:

text
export YOUR_USB_NUM="1-4" #hub1 port4
echo 0 | sudo tee /sys/bus/usb/devices/${YOUR_USB_NUM}/power/autosuspend_delay_ms
echo auto | sudo tee /sys/bus/usb/devices/${YOUR_USB_NUM}/power/control

echo SBC
echo ${YOUR_USB_NUM} | sudo tee /sys/bus/usb/drivers/usb/unbind

echo PC
echo ${YOUR_USB_NUM} | sudo tee /sys/bus/usb/drivers/usb/bind

Hardware

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 Back image of PCB

TODO

  • Fix SBC side timeing
  • Write program for Windows.
  • Fix serial number not working
  • Edit pick n' place csv
  • Label stat leds
  • Add use switching regulator
  • Add E-Fuse
  • Update readme

Parts

44
QtyValueFootprintReferences
150.1uCapacitor_SMD:C_0201_0603MetricC1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C14, C15, C16
36.2KResistor_SMD:R_0201_0603MetricR4, R5, R11
36.2KResistor_SMD:R_0603_1608MetricR1, R2, R3
3nLEDJumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP1, JP2, JP3
2100Resistor_SMD:R_0201_0603MetricR7, R8
25.1KResistor_SMD:R_0201_0603MetricR9, R10
110KResistor_SMD:R_0603_1608MetricR6
112MHzSD_Swap:Resonator-3.2x1.3mmY1
11uCapacitor_SMD:C_0402_1005MetricC13
174LVC2G14Package_TO_SOT_SMD:SOT-363_SC-70-6U1
193AAxxATPackage_TO_SOT_SMD:SOT-23-6U4
1ACTIVITYLED_SMD:LED_0603_1608MetricD1
1AZ1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U7
1BAT54CWPackage_TO_SOT_SMD:SOT-323_SC-70D7
1PCB_SDSD_Swap:PCB-SDU3
1POWERLED_SMD:LED_0603_1608MetricD3
1PROG/PASSLED_SMD:LED_RGB_1210D2
1Q_Dual_PNP_PNP_E1B1C2E2B2C1Package_TO_SOT_SMD:SOT-23-6Q1
1RTS5306EPackage_DFN_QFN:VQFN-32-1EP_5x5mm_P0.5mm_EP3.5x3.5mmU2
1SD_SOCKETSD_Swap:105162-0001U6
1TS3A27518ERTWPackage_DFN_QFN:WQFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mmU5
1USB_CUSB-C:USB_C_Receptacle_Amphenol_10137061-00021LFJ1

Similar boards

  • 4 layers190 × 110 mmWith GL3224, the printed circuit board in 3D

    With GL3224

    Benjamin-girard-1/magnetometer-node-old

    282 parts
  • 4 layers137 × 79.5 mmTGX4, the printed circuit board in 3D

    TGX4

    hexeguitar/TGX4

    Teensy 4 based guitar amp emulator

    297 parts66
  • 2 layers75 × 82 mmEsp8266-midi, the printed circuit board in 3D

    Esp8266-midi

    tadas-s/OSC2Midi

    ESP8266 based OSC <-> MIDI WiFi bridge

    33 parts34MIT
  • 4 layers210.8 × 74.9 mmBkm-10rlternative, the printed circuit board in 3D

    Bkm-10rlternative

    skumlos/bkm-10rlternative

    Project aiming to replicate the BKM-10R/11R remote for Sony professional CRT monitors.

    257 parts17
  • 2 layers66 × 51.5 mmWiFi Gate Controller, the printed circuit board in 3D

    WiFi Gate Controller

    mikelawrence/WiFi-Gate-Controller

    WiFi enabled Gate Controller Addon to US Automatic Gate Opener

    91 parts8MIT
  • 2 layers80 × 90 mmWiFi Septic Controller, the printed circuit board in 3D

    WiFi Septic Controller

    mikelawrence/WiFi-Septic-Controller

    WiFi enabled Septic Controller

    104 parts8MIT
  • 6 layers83.5 × 99.4 mmTAPRx888, the printed circuit board in 3D

    TAPRx888

    TAPR/TAPRx888

    The TAPR rx888 replacement board project

    225 parts6MIT
  • 2 layers39 × 66.5 mmBC250-Power, the printed circuit board in 3D

    BC250-Power

    Needleroozer/bc250-power-board

    Power Distribution PCBs for the BC-250 cards

    39 parts5

Questions

How big is the SD Swap PCB?

It measures 47 × 27 mm and has 4 copper layers, 0.83 mm thick.

What parts does the SD Swap use?

44 parts, built around the RTS5306E-GR, 74LVC2G14GW, TS3A27518ERTW and BAT54CW. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the SD Swap KiCad files?

From the Mr-Bossman/SD_Swap repository on GitHub, at the commit this page was made from: the board is board/SD_Swap/SD_Swap.kicad_pcb and its schematic board/SD_Swap/SD_Swap.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the SD Swap design in my own project?

Its repository states no licence, so its author keeps all rights: ask Mr-Bossman before reusing the design.