Video: PS3 uDraw Tablet Accessory as a PC Mouse / Tablet Demo

108w ago - Today PlayStation 3 developer BrandonW has shared a video demo and driver along with source code for a PS3 uDraw Tablet accessory being used as a PC Mouse / Tablet.

Download: PS3 uDraw Tablet Driver v1.0.0 / SVN

To quote: The PS3 uDraw tablet/accessory comes with a USB dongle which shows up as a standard HID device when plugged into a PC, so I threw together some documentation and a "driver"/application to allow using it on a Windows PC as a standard mouse.

Documentation (Where ambiguous, assume little endian.)

There are 0x08 bytes that can be sent on the device's OUT interrupt pipe -- I don't know what these are. There are 0x1B bytes constantly received on the device's IN interrupt pipe, described below:

Offset Description

0x00 Button status information:
Bit Description
0 Set means square is being held down.
1 Set means cross is being held down.
2 Set means cricle is being held down.
3 Set means triangle is being held down.
4 No idea, but it set itself while playing around. More playing around reset it.
5 Unknown / nothing.
6 Unknown / nothing.
7 Unknown / nothing.
8 Set means select is being held down.
9 Set means start is being held down.
10 Unknown / nothing.
11 Unknown / nothing.
12 Set means the PS button is being held down.

0x02 D-pad status information:

Description Value

0x00 UP being held down.
0x01 UP+RIGHT being held down.
0x02 RIGHT being held down.
0x03 DOWN+RIGHT being held down.
0x04 DOWN being held down.
0x05 DOWN+LEFT being held down.
0x06 LEFT being held down.
0x07 UP+LEFT being held down.
0x0F Nothing pressed.
0x03 Unknown, HID report desriptor indicates X, Y, Z, and Rz and range 0x00-0xFF.

I can't get these to ever change from 80 80 80 80. 0x07 Position data:

Offset Description

0 Unknown / nothing.
1 Unknown / nothing.
2 Unknown / nothing.
3 Unknown / nothing.
4 0x40 when using the pen, 0x80 when using the finger and something crazy when pinching/stretching.
5 0x00 normally, seems to be the distance between two fingers when pinching/stretching.
6 Starts at 0x74 and goes up to 0xFF depending on how hard the pen is held down, 0x60 when not pressed.
7 Unknown / nothing.
8 Minimum X grid that something is being pressed in (0-7, see below). 0x0F if not pressed.
9 Minimum Y grid that something is being pressed in (0-4, see below). 0x0F if not pressed.
10 X offset from top-left corner of current grid of press point, or 0xFF for not pressed.
11 Y offset from top-left corner of current grid of press point, or 0xFF for not pressed.

0x13 Accelerometer data, four 16-bit little endian values -- all 0x0200 when not sync'd:

Offsets Description

0x00-0x01 X axis value; 0x200 at rest, increases to ~0x215 when tilting left vertically, decreases to ~0x1EA when tilting right vertically.
0x02-0x03 Y axis value; 0x200 at rest, decreases to ~0x01E6 when tilted fully forward, increases to ~0x215 when tilted fully backward.
0x04-0x05 Z axis value; around 0x01EC at rest, increases to 0x200 when tilted fully forward, backward, left, or right, increases to ~0x217 when fully upside down.
0x06-0x07 Unknown, never seems to change from 0x200.

The tablet is broken up into an 8x5 grid of 256x256 each. As the tablet's resolution is 1920x1080 (which doesn't divide evenly), the last row and column are slightly smaller:

Bytes 8 and 9 of the position data indicate which grid/box is currently being pressed, and bytes 10 and 11 indicate the X and Y coordinates within the grid/box.

You can get the absolute coordinates of the point being pressed with:

I make absolutely no guarantees about the completeness or accuracy of this, but hopefully it helps you out a little.

Here's a little video of it.


Comments 3 Comments - Go to Forum Thread »

Quick Reply Quick Reply

BerserkLeon's Avatar
#3 - BerserkLeon - 108w ago
if there's any sensitivity at all in the device (press down on the tablet harder for a bigger brush size) I imagine this would be a decent replacement for some bamboo/wacom tablets... but I don't see that information here

HeyManHRU's Avatar
#2 - HeyManHRU - 108w ago
Yeah, I was about to buy one for my Xbox 360 but I really so no use to it. It's like when I used Mario paint for the first time, I was amazed, but after like a week I got bored from it.

GrandpaHomer's Avatar
#1 - GrandpaHomer - 108w ago
Nice, those being sold out dirty cheap lately on Amazon, someone might find this fairly useful.
