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.

Android 3.1 devices have USB host mode. Here’s how to use it.

With the coming of Android 3.1 you finally have the option of using the device as a USB host. This may be through a USB OTG (On-the-Go) adaptor, but nonetheless it’s a feature which was sorely missed until now. [Manuel] put together a guide on using Android as a USB host. As you can see, his example hardware is an Arduino board but this is applicable with just about any device.

The tutorial implements a test app for the Android device where a slider will set the brightness of the Arduino’s on-board LED. The Arduino sketch is nothing special, it just reads data received on the UART. This means that it doesn’t care if it’s connected to an Android, PC, OSX, or Linux system, it goes about its business until the RX interrupt updates the data variable.

This will greatly simplify a lot of projects we’ve seen, such as this message scrolling belt buckle. That used extra hardware to make the Arduino the host, a step that is now necessary.

USB host mode for Droid

There’s a simple hack to use your Motorola Droid phone as a USB host. It is a hardware-only hack that doesn’t require you to crack open your phone, root it, or even to change firmware (although device drivers in the stock Android image may be quite limited). The dongle above is used as a key to enable the mode while the phone is booting. This was repurposed from a car charging cable by removing the wires and resistor and shorting the resistor pads. Once the phone is in host mode the dongle is swapped for a simple USB-mini to USB-A socket adapter, built from two cables you probably have lying around. Now you can plug in any device you want.

[Thanks Freezer90]

Accessing BGA pins

[Philip] developed a method of tracking down the pins of a Ball Grid Array. He wanted to do so in order to add USB host functionality to his HP Jordan 720. The method doesn’t directly connect to the BGA but instead finds a via or other access point to serve as a solder point. He first looks up the pin in the BGA datasheet. Once located, he uses the bristle of a toothbrush (teal) to act as a backstop and feeds in some enameled wire (brown) to the appropriate ball. A multimeter is used to check connectivity between the wire and the vias around the chip.

Patience young grasshopper, this should work but it might take a while.

Driving USB peripherals with Arduino

arduino-driving-USB-keyboard

Circuits@Home have managed to host a USB keyboard with an Arduino and display the keyboard inputs on a character LCD. This uses the USB host shield we covered in August. That host shield includes a MAX3421 which is used here to drive the character LCD.

The control code for the keyboard ends up being fairly simple. The keyboard is polled for entries. The HID input is then examined and converted to ASCII codes for use with the LCD screen. This could make for an excellent controller or debugger for embedded systems. The Arduino, shield, and LCD could be integrated into the keyboard itself with an I/O port for connecting to your project. Commands can be typed out and sent through the I/O port when enter is pressed, with feedback displayed on the screen.

The example code provided with this project lays out the framework for hosting peripherals. We’re looking forward to more projects, and code libraries that take advantage of this new functionality.

Arduino USB host shield

UsbHostShield

Circuits@Home has been journaling their development of a USB host mode shield for Arduino, which could bring the platform a veritable explosion of mass storage, keyboard input and countless other peripheral options (and a corresponding raft of new hacks). Currently at the prototype stage, a ready-made shield and library are forthcoming, so keep checking back. Meanwhile, for embedded developers wanting to learn the ropes of USB, the in-progress articles will likely provide some valuable insights.

[thanks Kersny]

Forknife, Android G1 controlled robot

g1bot

When we first saw [Jeffrey Nelson]’s G1 based robot we immediately wondered what the transport for the controls was. The G1‘s hardware supports USB On-The-Go, but it’s not implemented in Android yet. It turns out he’s actually sending commands by using DTMF tones through the headphone adapter. The audio jack is connected to a DTMF decoder that sends signals to the bot’s Arduino. He wrote client/server code in Java to issue commands to the robot. You can find that code plus a simple schematic on his site. A video of the bot is embedded below.

Continue reading “Forknife, Android G1 controlled robot”