DS4toPS2 is a project designed for the Raspberry Pi Pico W, enabling you to control a PlayStation 2 console using a PlayStation 4 controller.
- Control a PlayStation 2 console with a PlayStation 4 controller over Bluetooth
- Designed for Raspberry Pi Pico W microcontroller
- Supports various functions of the PlayStation 4 controller, including buttons, analog sticks, and vibration feedback
To get started with DS4toPS2, follow the steps below:
- Raspberry Pi Pico W microcontroller
- PlayStation 2 console
- PlayStation 4 controller
- USB cable (to connect Raspberry Pi Pico W to PlayStation 2 console)
-
Clone this repository to your local machine:
git clone https://github.com/TonyMacDonald1995/DS4toPS2.git
-
Connect the Raspberry Pi Pico W to your computer using a USB cable.
-
Build and flash the firmware onto the Raspberry Pi Pico W.
-
Connect the Raspberry Pi Pico W to the desired controller port on the PlayStation 2.
-
Power on the PlayStation 2 console.
-
Ensure that the PlayStation 4 controller is fully charged and turned off.
-
If the Playstation 4 controller has not already been paired to the Raspberry Pi Pico W, press and hold the "PS" and "Share" buttons on the PlayStation 4 controller simultaneously until the LED on the controller starts double flashing. This initiates the pairing process with the Raspberry Pi Pico W.
-
Once the pairing is successful, the Raspberry Pi Pico W will start emulating the PlayStation 2 controller input, allowing you to control the console using the PlayStation 4 controller.
The DS4toPS2 project includes the following configuration files:
-
controller_simulator.c
: This file contains the MAC address of the PlayStation 4 controller, which is hardcoded. Make sure to update this file with the correct MAC address of your controller before building and flashing the firmware. -
psxSPI.pio
: This file includes the GPIO pin assignments for the Raspberry Pi Pico. If you need to modify the pin assignments, make the necessary changes in this file before building and flashing the firmware. -
btstack/src/classic/hid_host.c
: This file in the BTStack library. You need to modify the hardcoded value of the defineMAX_ATTRIBUTE_VALUE_SIZE
to 512. Locate the line in the file and make the necessary change to ensure compatibility with the PlayStation 4 controller.
The DS4toPS2 project utilizes the psxSPI.pio
file from the PicoMemcard project. I would like to extend my gratitude to the developers of the PicoMemcard project for providing this essential component.
This project is licensed under the GNU Public License Version 3.
Contributions to DS4toPS2 are welcome! If you have any ideas, suggestions, or improvements, please feel free to open an issue or submit a pull request.
If you encounter any issues or have any questions regarding the DS4toPS2 project, please open an issue on the GitHub repository.
DS4toPS2 is a single developer project and is not affiliated with or endorsed by Sony Interactive Entertainment or any other related parties. Use this project at your own risk. I am not responsible for any damage caused to your PlayStation 2 console, PlayStation 4 controller, Raspberry Pi Pico W, or any other hardware or software components.
I hope you find DS4toPS2 useful for your PlayStation 2 gaming experience. Enjoy playing your favorite games with the convenience of a PlayStation 4 controller!