Skip to the content
PCBKitNew board
2 layers100 × 40 mmDdr ps2-controller, the printed circuit board in 3D

Ddr ps2-controller

kcuzner/ddr-ps2-controller5

A Dance Dance Revolution Controller for the PlayStation 2

Size
100 × 40 mm
Copper layers
2
Thickness
1.6 mm
Parts
79
Nets
40
Pads
205
Tracks, vias
337, 46
Pours
3
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
21 Sep 2019
Updated
11 Sep 2022

Overview

Ddr ps2-controller is an open-source printed circuit board by kcuzner, from the kcuzner/ddr-ps2-controller repository on GitHub. It is a 2-layer board of 100 × 40 mm with 79 parts on 40 nets, routed with 337 tracks and 46 vias.

It is built around the ATTINY20-MMH and DMN63D8LDW. Its parts include 18 resistors, 8 capacitors, 8 diodes, 8 connectors and 3 ICs. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

2

README

README.md

Dance-Dance-Revolution PS2 Controller

Kevin Cuzner

Introduction

This is my attempt at a low-cost, but high quality DIY DDR controller which is compatible with the Sony PlayStation 2.

The firmware is based loosely on my Pop-N-Music PS2 Controller. though I've rewritten it to be closer to my current style.

Although it would be cool to use an STM32 or other advanced ARM controller, that is overkill for what this is. Turns out, a $0.60 AVR microcontroller can meet all the digital requirements without even needing a 3.3V regulator. To that end, here is the main featureset:

  • ATTiny20 microcontroller (QFN package, 12 I/O). There are two personalities:
    • The PSX bus interface. This takes input from up to 6 buttons and operates the upstream PSX bus to the PlayStation 2.
    • The switch controller. This takes input from up to 4 foot switches and produces a single output which is cabled to the PSX bux interface board.
  • Single PCB which fits both personalities.
  • Edge-facing LEDs for pad illumination.
    • Strangely enough, it was cheaper to just use a constant-current controlled LED driver than to use a discrete MOSFET of an appropriate size.

Project Status

  • This project has not been fully assembled or tested. But:
  • Firmware builds and installs on both board personalities.
  • The LED/Switch boards work great! Mostly. Some quirks with the LEDs always being partially on, but whatever.
  • With a USB-PS2 adapter I've verified on an oscilloscope that the controller board can be polled and that it appears to send back the correct responses. So the PSX bus implementation is at least superficially correct.
  • The switch boards can connect to the controller board and on an oscilloscope I've verified that everything toggles.

Some things still remain I can think of off the top of my head:

  • I need to test it with an actual PS2. Now to convince my wife to let me touch her PS2...
  • I need to verify that the button/switch mappings are correct for a dance pad. I unfortunately didn't mark the PCB silkscreen in any way for that, so I'm going to have to resort to colored tape, paint, or something else to keep the myriad cables straight while wiring this up.
  • I need to actually construct the wood/metal/plastic enclosure for this. I have a plan, but it's not posted here.

References

Parts

79
QtyValueFootprintReferences
8LEDddr-ps2-controller:Wurth_WL-SMSW_LEDD1, D2, D3, D4, D5, D6, D7, D8
610KResistor_SMD:R_0402_1005MetricR1, R2, R3, R4, R13, R14
40Resistor_SMD:R_0402_1005MetricR5, R6, R7, R17
3RResistor_SMD:R_0402_1005MetricR8, R9, R10
20Resistor_SMD:R_0603_1608MetricR15, R18
21uResistor_SMD:R_0402_1005MetricC3, C4
247uCapacitor_SMD:C_1210_3225MetricC5, C6
2CCapacitor_SMD:C_0805_2012MetricC7, C8
2Conn_01x01MountingHole:MountingHole_4.3mm_M4_Pad_ViaMH1, MH2
2MIC2860-PPackage_TO_SOT_SMD:SOT-363_SC-70-6U2, U3
2SPRResistor_SMD:R_0402_1005MetricR11, R12
10.1uResistor_SMD:R_0402_1005MetricC2
110uCapacitor_SMD:C_0603_1608MetricC1
11KResistor_SMD:R_0402_1005MetricR16
1ATtiny20-MMHPackage_DFN_QFN:QFN-20-1EP_3x3mm_P0.45mm_EP1.6x1.6mmU1
1BTN0ddr-ps2-controller:JST_EH_3_RAJ1
1BTN1ddr-ps2-controller:JST_EH_3_RAJ2
1BTN2ddr-ps2-controller:JST_EH_3_RAJ3
1BTN3ddr-ps2-controller:JST_EH_3_RAJ4
1BTN4ddr-ps2-controller:JST_EH_3_RAJ7
1BTN5/UPSTREAMddr-ps2-controller:JST_EH_3_RAJ8
1DMN63D8LDWPackage_TO_SOT_SMD:SOT-363_SC-70-6Q1
1ISCPddr-ps2-controller:CnC_3020_10_0300J5
1PS2Connector_PinHeader_2.54mm:PinHeader_1x09_P2.54mm_VerticalJ6

The 48 most common of 79 parts.

Questions

How big is the Ddr ps2-controller PCB?

It measures 100 × 40 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Ddr ps2-controller use?

79 parts, built around the ATTINY20-MMH and DMN63D8LDW. 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 Ddr ps2-controller KiCad files?

From the kcuzner/ddr-ps2-controller repository on GitHub, at the commit this page was made from: the board is kicad/ddr-ps2-controller.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Ddr ps2-controller design in my own project?

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

Similar boards

  • 2 layers36.8 × 34.7 mmTinylab proto1, the printed circuit board in 3D

    Tinylab proto1

    espotek-org/Labrador

    EspoTek Labrador is a USB device that transforms your PC or smartphone into a fully-featured electronics lab. This repo holds all of the source code!

    79 parts1.2k
  • 6 layers69 × 54 mmOpen control board, the printed circuit board in 3D

    Open control board

    variegated-coffee/all-purpose-espresso-controller

    Espresso electronics are usually proprietary affairs with little to no expandability. The purpose of this project is to give everyone an open source alternative with lots of features and flexibility.

    201 parts14CERN-OHL-P-2.0
  • 4 layers170 × 100 mmIo master, the printed circuit board in 3D

    Io master

    csinko/io-master

    Dominate the I/O!

    674 parts4MIT
  • 2 layers77.3 × 70.1 mmHexpansion, the printed circuit board in 3D

    Hexpansion

    skyler84-tildagon-addons/goosepansion

    Untitled Goose Game inspired capacitive touch reversible goose honker

    23 parts3
  • 2 layers33.2 × 34.6 mmTinylab proto1, the printed circuit board in 3D

    Tinylab proto1

    EspoTek/Labrador_backup

    Backup of the Labrador repo, pre-cleanup.

    59 parts1
  • 2 layers91 × 70 mmShotpuck panel, the printed circuit board in 3D

    Shotpuck panel

    Rixard86/shot-tracker

    A Ø40 × 10.4 mm puck that bolts onto the free face of an Avalon riser weight (the weight's own 5/16-24 bolt, one size longer, goes through its centre), detects each shot with a 6-axis IMU, records the bow's motion…

    221 parts
  • 2 layersChannel Test, the printed circuit board in 3D

    Channel Test

    LHRIC/Monorepo-26-27

    Monorepo for the 26-27 Season

    24 parts4
  • 4 layers89 × 72 mmNovaFPGA Dev Board, the printed circuit board in 3D

    NovaFPGA Dev Board

    MAHESH-THILAK-K/ADDITIONAL-PROJECT

    172 parts1Apache-2.0