Skip to content

Commit 0cf2854

Browse files
committed
Added some information to README
1 parent e680c22 commit 0cf2854

File tree

1 file changed

+55
-2
lines changed

1 file changed

+55
-2
lines changed

README.md

Lines changed: 55 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,55 @@
1-
# gcspark
2-
Low-cost USB adapter for Gamecube controllers
1+
# GCSpark
2+
3+
The goal of this project is to create a low-cost, easily buildable USB adapter
4+
for Gamecube input peripherals.
5+
6+
## Why?
7+
8+
I own a Wii dance mat and want to play [StepMania](https://www.stepmania.com)
9+
on it.
10+
11+
Existing commercial solutions tend to be expensive, and cheaper clones are
12+
known to have issues. Previously published DIY projects use overpowered
13+
(and thus expensive) microcontrollers, are hard to build for inexperienced
14+
people and/or do not implement rumble.
15+
16+
## Overview
17+
18+
I decided to choose the [Digispark](http://digistump.com/products/1) Attiny85
19+
development board as the base of this project. Clones of it are affordable and
20+
very easy to source. The integrated USB plug/port simplifies wiring, and using
21+
it as an USB device via [V-USB](https://www.obdev.at/products/vusb/index.html)
22+
is well-documented. Since it is a development board, no ISP is required to
23+
program it.
24+
25+
Gamecube controllers expect both a 5V and a 3.3V supply and operate on 3.3V
26+
logic level. To cut down on the amount of external components, a breakout board
27+
for the AMS1117 LDO is used to supply 3.3V. The bidirectional level shifting
28+
will be done using a traditional circuit based around the 2N7000 MOSFET, which
29+
is hopefully able to switch at the required 1 MHz.
30+
31+
Instead of emulating a USB PID (physical interface device) for rumble support,
32+
which other developers seem to have no luck with, the Microsoft XInput protocol
33+
will be used. Plain USB HID support may be added in the future, either
34+
switchable (if memory limitations allow it) or as alternative firmware.
35+
36+
## Cost Estimation
37+
38+
The following estimation is based on the lowest AliExpress prices, including
39+
shipping to Europe, at time of writing. Some components are primarily available
40+
in bulk, and the PCS column shows the bulk size.
41+
42+
| Count | Component | Est. Cost | PCS |
43+
|-------|-------------------------|-----------|-----|
44+
| 1 | Digispark (clone) | $1.30 | 1 |
45+
| 1 | AMS1117 breakout board | $1.20 | 5 |
46+
| 1 | GC extension cable | $2.00 | 1 |
47+
| 1 | Perfboard | $1.00 | 5 |
48+
| 1 | 2N7000 MOSFET (generic) | $0.80 | 20 |
49+
| 2 | 10K resistors | $0.70 | 100 |
50+
| | Sum | $7.00 | |
51+
52+
The extension cable is only required for the female connector. If one is willing
53+
to cut off the cable of their controller and hardwire it into the adapter, it
54+
can be omitted. Shoving solid wire (e.g. Dupont connectors) in the male GC
55+
connector may also work as a short-term solution.

0 commit comments

Comments
 (0)