Pro Controller
The Wii U Pro Controller is a modified version of the Classic Controller Pro that has been designed to work with the Wii U console.

USB
The Wii U Pro Controller registers itself as a "USB-Input device" when connected to a Windows computer. Its VID is 0x0b6a, and its PID is 0xa132. Windows does not register the device as a gamepad, only as a "USB-Input device". libusb-win32 recognizes the controller as a "USB Charger"
Bluetooth

The Wii U Pro Controller connects using the same procedure as a regular Wiimote, except it has no option for "temporary" syncing (the 1+2 method). Authentication/pairing is still optional, the controller can work without it but it must be performed at least once (and the created link key retained) to enable "one-touch" reconnection.
Note that the Wii U Pro Controller does not have the 0x1700 bytes of accessible EEPROM memory normally found in wiimotes, any attempt to read from this area will cause the controller to disconnect. The mapped extension register area (0xA40000) can be accessed as normal, the other register areas are unknown.
Information gathered from linux "hcitool info"
OUI Company | Nintendo Co., Ltd. (40-F4-07) |
Device Name | Nintendo RVL-CNT-01-UC |
LMP Version | 2.0 (0x3) LMP Subversion: 0x1d8d |
Manufacturer | Cambridge Silicon Radio (10) |
Features | 0xbc 0x02 0x04 0x38 0x08 0x00 0x00 0x00 |
Other Bluetooth properties (Obtained from Windows' Device Manager)
Name | Nintendo RVL-CNT-01-UC |
Vendor ID | 0x057E |
Product ID | 0x0330 |
Bluetooth Class | 0x000508 |
Communication
The Pro Controller can be identified with a result of 0xA4200120 from a 4-byte read of register address 0x(4)A400FC. Bytes received from Data Reports are encrypted by default, see Wiimote/Extension_Controllers for ways to ways to decrypt the bytes.
Data Format
Bit | ||||||||
Byte | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | LX<7:0> | |||||||
1 | LX<15:8> | |||||||
2 | RX<7:0> | |||||||
3 | RX<15:8> | |||||||
4 | LY<7:0> | |||||||
5 | LY<15:8> | |||||||
6 | RY<7:0> | |||||||
7 | RY<15:8> | |||||||
8 | BDR | BDD | BL | B- | BH | B+ | BR | 1 |
9 | BZL | BB | BY | BA | BX | BZR | BDL | BDU |
10 | 1 | Battery<2:0> | Wired | Charging | BSL | BSR |
Button values are 0 when held. Wired and Charging are 0 when true
Side A
Side B
Printed Circuit Board
This post contains scans of the Wii U Pro Controller PCB's different layers:
https://bitbuilt.net/forums/index.php?threads/wii-and-wii-u-controller-scans.1845/