2024-09-22 06:56:20 +02:00
|
|
|
## PSX to USB HID controller converter
|
|
|
|
|
|
|
|
rp2040 (raspberry-pi pico) based device to convert PSX controllers to USB HID
|
|
|
|
gamepads.
|
|
|
|
|
2024-09-22 07:38:03 +02:00
|
|
|
![Photo of psx2usb](./jpg/photo_psx2usb.jpg)
|
|
|
|
|
2024-09-22 06:56:20 +02:00
|
|
|
### Components
|
2024-09-22 07:38:03 +02:00
|
|
|
|
2024-09-22 06:56:20 +02:00
|
|
|
- one rp2040 board with 5 GPIO available
|
|
|
|
- one PSX controller connector (female)
|
|
|
|
|
|
|
|
### Selected pinout
|
|
|
|
|
2024-09-22 07:05:45 +02:00
|
|
|
The PSX connector controller port has the following pinout:
|
2024-09-22 06:56:20 +02:00
|
|
|
|
2024-09-22 07:05:45 +02:00
|
|
|
1. Data
|
|
|
|
2. Command
|
|
|
|
3. 7.5V Rumble motor
|
|
|
|
4. GND (also connected to the shield)
|
|
|
|
5. 3.3V
|
|
|
|
6. Attention
|
|
|
|
7. Clock
|
|
|
|
8. Not connected
|
|
|
|
9. Acknowledge
|
|
|
|
|
|
|
|
![PSX controller pinout](./jpg/controller-pinout.jpg) [Image from consoledev.net]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| PSX signal | rp2040 GPIO | Direction | Description |
|
|
|
|
| ----------- | ----------- | --------- | ----------- |
|
|
|
|
| Data | 13 | IN | Receive ID, buttons and adc data from controller |
|
|
|
|
| Command | 12 | OUT | Send read commands to controller |
|
|
|
|
| Attention | 6 | OUT | Chip select (active low) for controller |
|
|
|
|
| Clock | 5 | OUT | Clock serial communication for DATA/CMD lines |
|
|
|
|
| Acknowledge | 3 | IN | Acknowledge command RX, active low |
|
2024-09-22 06:56:20 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-09-22 07:05:45 +02:00
|
|
|
|
|
|
|
|
|
|
|
### Installation
|
|
|
|
|
|
|
|
* Run cmake && make
|
|
|
|
* Start rp2040 in usb storage mode. Copy psx2usb.u2f to the device.
|
|
|
|
* Reboot rp2040
|
|
|
|
|