Skip to content

FCare/USBTo3DO

Repository files navigation

USBTo3DO

Connecting USB controller to the 3do

Goal of the project

Plug a set of modern controllers to an original 3DO to emulate D-Pad, FlightStick and mouse. Still support original 3DO controllers using daisy chain.

License

The full project is delivered under MIT License. You can fork, build, even sell this if you wants to.

Need more info

I may organize some batches for interested users which can not build it themselves. If you are interested, you can mail to usb23do@gmail.com Be sure that you can have one the controller listed here. Adding more controller is not guaranteed.

Supported controllers

List of tested USB controllers

As of today, it does not support USB HUB. So if you are using a wired controller, you will need an adapter per wired controller. When you plug a USB adpater able to handle multiple controller (like wii adapater, saturn adapter or Xbox360 wireless receiver), then you can connect multiples controllers.

In case you installed the daisy chain connector, you can plug other USB adaptors or original controllers, Daisy chain will work.

Videos

What is required

Here is a picture of the v1.1 PCB:

PCB V1.1

How to add a dedicated mapping

In order to add a specific mapping, you have to edit hid_gamepad.c or vendor_gamepad.c and add in the map array the VID, PID and corresponding mapping function. Once this is done, you have to compile a new FW and update the RP2040 device.

How to compile

  • Tested on UBUNTU 20.04

git clone https://github.com/FCare/USBTo3DO.git
cd USBTo3DO
git submodule update --init --recursive
mkdir build;cd build
cmake ../
make -j16

then flash RP2040 with the built uf2 file.