Quantcast
Channel: Interactive Dreams
Viewing all articles
Browse latest Browse all 1857

CD-i member TwBurn describes how to build an USB to CD-i convertor using the CD-i controller library.

$
0
0


TwBurn received the final parts and he just made the description how to create a USB2CDi adapter yourself: "Got the mini host shields today, soldered up pins and attached it to my prototype board and got it to work.  Time to make a final/integrated prototype now. Now I just need to see if I can get/make a housing for it, I published some schematics/manual below.. One of the output pins unfortunately doesn't work on this one, but since I only need 2 out of 4 (for one controller) that wasn't really a problem. On my other prototype (where everything does work) I did manage to succesfully test 2 player support (using an analog stick and a USB controller) - I've been unable to pair two controllers to one BT dongle, and I can't find my small USB hub anywhere so can't test two USB devices. Description is up: https://github.com/TwBurn/cdi-controller-library/wiki"

1. Materials

  • Arduino Pro Micro 3.3v
  • USB Host Shield Mini
  • Logic Level Shifter (4 pin)
2. Schematic




The schematic above shows how you need to connect everything. The pins of the Arduino Pro Micro line up with the pins of the USB host shield, so you can use headers to solder them on top of each other. However:

  1. The reset pin of the USB host shield lines up with a GND pin on the Arduino, this one needs to be connected to VCC instead.
  2. By default the VCC is hooked up to the VBUS of the USB connector, which is 3.3V. Most USB devices will work on 3.3V, but in order to get 5V on the VBUS, you need to cut a trace on the board (indicated in the schematic) and hook up the VBUS pad to the RAW pin on the Arduino.
Both of these can be done by soldering two wires on the back of the USB Host shield.

The Logic Level Shifter is needed to convert the 3.3V signals of the Arduino to the 5V which is used by the CD-i player. The pin connections listed in the schematic are made in a way that supports two controllers at once (integrated splitter).

When built in this way the example sketches can be run without any alterations.

3. Alterations to create a compact design

In order to create a very compact version, I've soldered the Logic Level Shifter (rotated 180 degrees from the schematic) on top of the Arduino Micro, connecting all six pins (LV1 to LV4) to digital outputs on the Arduino (pins 2 to 7) - connecting "LV" to pin 4, and "GND" to pin 5. This does require an alteration to the sketches, namely the following code needs to be added to the top of the setup() function:
pinMode(4, OUTPUT);pinMode(5, OUTPUT);digitalWrite(4, HIGH);digitalWrite(5, LOW);
This configures pins 4 and 5 as output, and provides 3.3V on pin 4 and ground on pin 5.

[Thanks, TwBurn]

Viewing all articles
Browse latest Browse all 1857

Trending Articles