USB Keyboard And Mouse For The PS4

If you’d like to play BattleCallSpaceMarine on the Playstation 4 with a keyboard and mouse – and have an unfair advantage over everyone else playing on a console – you’d normally be out of luck. Sony implemented a fair bit of software to make sure only officially licensed controllers are able to talk to the console. It took a while, but [Frank Zhao] has figured out why keyboard and mouse doesn’t work on PS4, and created a device to enable these superior input devices.

Sony engineers decided – or were told – that the PS4 shouldn’t be able to connect to any old USB device. To that end, they made the console issue challenges to a DualShock controller to make sure the official controller is always connected over Bluetooth.

[Frank]’s device solves this problem by taking the USB output from a keyboard and mouse, doing the CRC calculations, and sending them out over Bluetooth. Because the PS4 constantly issues challenges and responses of the authentication procedure, a real DualShock controller needs to be connected to the device at all times. Still, if you want a keyboard and mouse on the PS4, this is the way to do it.

All the sources and layouts are up on [Frank]’s github where you’re free to create your own. This isn’t a finished product quite yet; [Frank] still needs to do a redesign of the circuit. Judging from the response of his earlier attempt at keyboards and mice on the PS4, though, this may be a successful product in the works.

An Arduino Library For The PS4

PS4 Controller

Looking to interface your Arduino with the PS4 controller? [Kristian] has updated his USB host library with support for the controller. The library makes it easy to read most of the inputs from the controller. Currently the buttons and joysticks work, and support for the light sensor, rumble, and touchpad is on the way.

To get this working, you will need the USB Host Shield for the Arduino and a Bluetooth dongle. Once you have the hardware setup, you can use the library to pair with the controller. When connected, simple function calls will let you read the state of the device.

While this does require some additional hardware to connect, all of the code is open source. If you’re looking to experiment with the PS4 controller yourself, [Kristian]’s work could be a helpful starting point. Of course, all of the source is available on Github, and the example sketch shows how easy it is to roll the PS4 controller into your own Arduino project.

UsbXlater For PS4 Keyboard And Mouse Action

USB

[Frank Zhao]—an awesome guy, an inadvertent Hackaday contributor, and an Adafrut fellow—has come up with a device to use a keyboard and mouse with Playstation 4 games. He calls it the UsbXlater, and even if [Frank] can’t get it working with his PS4, it’s still going to be an awesome tool.

On the board are two USB ports and an STM32F2 microcontroller. The micro provides a USB host interface and a USB device interface, enabling it to translate mouse movements and keystrokes into something a PS4 can understand.  While this project was originally designed to use a keyboard and mouse on [Frank]’s shiny new PS4, it’s not quite working just yet. He’s looking for a few gamer/dev folks to help him suss out the communication between a keyboard/mouse, the UsbXlater, and a PS4.

Of course, even if this device is never used for what it’s designed for, it’s still a very, very interesting tool. With two USB ports, the UsbXlater could act as a signal generator for USB devices and hosts, analyze USB traffic, or provide other applications that haven’t even been thought of yet.

[Frank] is hitting his head against the wall trying to figure out the PS4 protocol, so if you have some USB skills, feel free to hit him up for a blank PCB, though preference falls to people who will game with it and to those with a USB traffic analyzer. If you lack the skills for USB development, [Frank] is still looking for a better name for his device.

Modifying A PS4 Dualshock4 Controller To Use A Mouse And Keyboard

[Mori] wanted to use his keyboard and mouse to play his favorite games on the PS4, so he decided to modify his Dualshock4 controller to feed it custom input signals.

In the heart of this build is an STM32F407 discovery board, which is connected to a USB hub. To perform this hack, [Mori] tore open the Dualshock4 controller to find the PCB traces coming from the sticks and buttons. He then used the STM32F407 and 2 Digital to Analog Converters (DACs) to create similar signals. Unfortunately for us, [Mori] only released the schematics but not the firmware. Our guess is that he had to configure the microcontroller as a USB host, enumerate the mouse/keyboard, parse the HID reports and feed the controller the corresponding inputs.

We embedded a video of the hack in action after the break. If you own a PS4, you may also want to see how to disable the Dualshock LEDs.

Continue reading “Modifying A PS4 Dualshock4 Controller To Use A Mouse And Keyboard”

Using XBox One And PS4 Controllers With Everything

The controllers from the last generation of consoles served their purpose well. They were there for us when we wanted to experiment with an I2C bus, and they stood by when we wanted to build a quadcopter out of parts just lying around. A new generation of consoles is now upon us, and with them come new controllers. Controllers for which Arduino libraries haven’t been written yet. The horror.

Until those libraries are developed, there’s ChronusMAX, a USB dongle that allows you to use XBox One controllers on a PS4, PS4 controllers on the XBox, mice and keyboards on both systems, and both types of controllers on your PC.

The folks behind ChronusMAX put up a video demoing the XBox One controller working on the 360, PS3, and PC, with another video showing the same for the PS4 controller. As far as what we can see from the PC demos, everything on these controllers can be read, right down to the accelerometer data on the DualShock 4.

Although this is a commercial product, we’re surprised we haven’t seen a more open version by now. From the looks of it, it’s a very small device with two USB ports and a firmware upload utility. Microcontrollers with two native USB ports are usually encased in large packages, so there might be some very clever engineering in this device. Let us know when someone does a teardown of one of these.

Thanks [Josh] for sending this one in.

Hackaday Links: November 10, 2013

hackaday-links-chain

[Henryk Gasperowicz], the wizard of electrons who makes LEDs glow for no apparent reason, has put up another one of his troll physics circuits. We have no idea how he does it (he does say he’s using wireless energy transmission) so a few solution videos would be cool, [Henryk].

Altoids tins make great electronic enclosures, but how about designing your PCBs to fit mint and gum containers? Here’s a Trident USBASP, a tiny Tic Tac ISP thingy, and a Mentos USB to JTAG interface.

By the end of this week, the PS4 will be out, along with the new PS4 camera. It’s a great camera – 1280×800 at 60Hz – but unless someone develops a driver for it, it shall forever remain tethered to a PS4. Luckily, there’s a project to develop a PS4 camera driver, so if you have some USB 3.0 experience, give it a shot.

Multimeter teardowns? [David]’s got multimeter teardowns. It’s an HP 3455A, a huge bench top unit from the 80s. This is, or was, pro equipment and strange esoteric components definitely make a showing. ±0.01% resistors? Yep. Part two has some pics of the guts and a whole ton of logic.

The US Air Force Academy just moved their embedded systems course over to the MSP430. Course director [Capt Todd Branchflower] just put all the course materials online, with the notes, datasheets, and labs available on Github.