ps1-memory-card-usb
PublicLoading 3D model… large boards can take a moment.
PS1 Memory Card USB
An RP2040 board shaped to fit a PlayStation memory-card shell, with native USB-C and push-push microSD storage. It targets the open-source PicoMemcard firmware pinout and was designed end-to-end in Fabdesk.
Prototype status: the PCB is fully routed and passes KiCad PCB DRC with zero errors and zero unconnected items. It has not yet been manufactured or bench-tested. Review the design and prototype cautiously before connecting it to a console.
What is on the board
- RP2040 in QFN-56, W25Q16 16-Mbit QSPI flash, and BOOTSEL button
- USB-C device port with both connector orientations wired, 5.1 kΩ CC pull-downs, and 27 Ω data termination
- Push-push CS-204 microSD socket on the bottom side
- Console and USB power-source isolation: console 3.3 V and regulated USB 3.3 V are Schottky diode-ORed
- ABM8-272-T3 12 MHz oscillator network with 15 pF load capacitors and 1 kΩ damping resistor
- Eight PS1 memory-card edge contacts and the reference shell outline/mounting holes
- Four copper layers, 1.6 mm thickness, and filled GND planes on F.Cu/B.Cu
Firmware pin mapping
| Function | RP2040 GPIO |
|---|---|
| PS1 DAT | GP5 |
| PS1 CMD | GP6 |
| PS1 SEL | GP7 |
| PS1 CLK | GP8 |
| PS1 ACK | GP9 |
| microSD DAT0/MISO | GP16 |
| microSD CD/DAT3/CS | GP17 |
| microSD CLK | GP18 |
| microSD CMD/MOSI | GP19 |
| Status LED | GP25 |
Repository layout
circuit.tsx— authoritative Fabdesk/tscircuit sourceoutline.ts— PS1 memory-card board outline derived from PicoMemcardfabdesk.json— four-layer routing and manufacturing constraintsboard.kicad_pcb,board.kicad_sch,board.kicad_pro— generated KiCad project; the PCB is the final routed boardboard.dsn,board-final.ses— final Specctra routing exchange filesrenders/— top and bottom board rendersreports/final-drc.json— KiCad 10 DRC resultexports/gerbers/— Gerbers and Excellon drill outputexports/bom.csv,exports/positions.csv— cleaned BOM and pick-and-place dataexports/fabrication.zip— ready-to-review fabrication bundle
Rebuilding in Fabdesk
Open this directory as a Fabdesk project and build circuit.tsx. The committed board.kicad_pcb contains the final FreeRouting route and GND fills. Regenerating KiCad from circuit.json will recreate an unrouted board, so keep or branch the committed PCB before converting again.
Manufacturing constraints used for the final board:
| Constraint | Value |
|---|---|
| Copper layers | 4 |
| Board thickness | 1.6 mm |
| Minimum trace width | 0.10 mm |
| Minimum clearance | 0.10 mm |
| Via diameter / drill | 0.45 / 0.20 mm |
| Minimum copper-to-edge | 0.20 mm |
The final PCB reports 465 routed track segments, 43 vias, zero DRC errors, and zero unconnected items. The remaining DRC notices are cosmetic generated-footprint silkscreen/text warnings. Fabdesk's current circuit-json-to-KiCad converter emits incorrect metadata for some custom schematic symbols, so KiCad ERC output is not used as the release gate; circuit.tsx, the PCB netlist, and PCB DRC are authoritative.
Ordering notes
- Confirm every BOM row without an LCSC number before assembly.
- J3 is assembled on the bottom, so this is a double-sided assembly.
- Specify a durable edge-contact finish; hard gold is preferred for repeated insertion.
- Verify shell fit, card-contact pressure, USB clearance, and power rails on an unpowered console or fixture before live testing.
exports/fabrication.zipis a reviewable starting package, not a substitute for your fabricator's upload preview and rule check.
Credits and license
The mechanical outline and console-contact placement are derived from dangiu/PicoMemcard, licensed under GPL-3.0. The RP2040 support circuit follows Raspberry Pi's Hardware design with RP2040.
This repository is licensed under the GNU General Public License v3.0. See LICENSE.
PlayStation is a trademark of Sony Interactive Entertainment. This is an independent open-hardware project and is not affiliated with or endorsed by Sony.
No comments yet. Be the first to ask about this board.