Gamerlolwind
Well-Known Member
hay everyone,
I'm planning to use the analog stick from a wii Numchuk and use it on a gc controller as a gc control stick.
info from Wiibrew:
Wiimote/Extension Controllers/Nunchuck
"The Nunchuk is identified by the 16-bit constant 0x0000 (0xFEFE encrypted) at register address 0xa400fe. It provides three-axis acceleration data, two digital buttons, and an X-Y analog stick"
Data Format
The Nunchuk reports its information as 6 bytes of data, readable at 0xa40008 and streamable using Data Reporting Modes that include Extension bytes (unused bytes are filled with 0x00). The data is packed into the six bytes as follows (after decryption):
Bit
Byte 7 6 5 4 3 2 1 0
0 SX<7:0>
1 SY<7:0>
2 AX<9:2>
3 AY<9:2>
4 AZ<9:2>
5 AZ<1:0> AY<1:0> AX<1:0> BC BZ
SX,SY are the Analog Stick X and Y positions, while AX, AY, and AZ are the 10-bit accelerometer data (in the same format as described in Wiimote#Accelerometer).
The values returned by the analog stick in the nunchuk enclosure do not encompass the full possible range, but rather have upper and lower bounds. These bounds seem to be in the same range across Nunchuks, but there is some variation. Analog stick X returns data from around 35 (fully left) to 228(fully right), while analog stick Y returns from around 27 to 220. Center for both is around 128.
The accelerometer data uses the full range of 0-1024. However, the full range is only seen when moving or rotating the Nunchuk sharply. To measure still Nunchuk rotation in space, the following approximate bounds apply: X goes from around 300 (fully tilted left) to 740 (tilted right), turning further starts bringing the value closer to 512 (neutral position). Similarly, Y goes from around 280 (tilted backwards) to 720 (forwards). Z goes from 320 (upside-down) to 760 (right-side up).
BC and BZ are the state of the C and Z buttons (0=pressed).
Nintendo games calibrate the center position of the Analog Stick upon power-up or insertion of the Nunchuk. The mechanism for that is unknown.
Wii nunchuk circuit board, top surface
Wii nunchuk circuit board, bottom surface
The official Nintendo wired nunchuk appears to be electrically much simpler than the other controller extensions. It has a single joystick comprised of a 30KΩ potentiometer per axis, two switches, an accelerometer chip, and a microcontroller.
Function Hardware Circuit board surface and mounting
Joystick X axial potentiometer, 30KΩ through-hole
Joystick Y axial potentiometer, 30KΩ through-hole
Accelerometer ST 8XRJ 3L02AE 820 MLT surface mount, top
Microcontroller FNURVL 405 849KM (48-pin QFP) surface mount, bottom
Like the classic controller, the joystick potentiometers appear to be wired in parallel. The accelerometer chip is in the LIS3L02 series from STMicroelectronics. The AE variant is not on their web site; their closest public product is their LIS3L02AT, in the same LGA-8 package, but possibly with a different pinout.
The microcontroller chip appears to be a relabeled NEC (now Renesas) uDP78F05 microcontroller, or a pin-compatible equivalent.
how do i wire this analog stick to my gc controller?
what pins/diagram should i use?
i have two wii numchuck, both official
pics soon.
hope someone can help me out.
I'm planning to use the analog stick from a wii Numchuk and use it on a gc controller as a gc control stick.
info from Wiibrew:
Wiimote/Extension Controllers/Nunchuck
"The Nunchuk is identified by the 16-bit constant 0x0000 (0xFEFE encrypted) at register address 0xa400fe. It provides three-axis acceleration data, two digital buttons, and an X-Y analog stick"
Data Format
The Nunchuk reports its information as 6 bytes of data, readable at 0xa40008 and streamable using Data Reporting Modes that include Extension bytes (unused bytes are filled with 0x00). The data is packed into the six bytes as follows (after decryption):
Bit
Byte 7 6 5 4 3 2 1 0
0 SX<7:0>
1 SY<7:0>
2 AX<9:2>
3 AY<9:2>
4 AZ<9:2>
5 AZ<1:0> AY<1:0> AX<1:0> BC BZ
SX,SY are the Analog Stick X and Y positions, while AX, AY, and AZ are the 10-bit accelerometer data (in the same format as described in Wiimote#Accelerometer).
The values returned by the analog stick in the nunchuk enclosure do not encompass the full possible range, but rather have upper and lower bounds. These bounds seem to be in the same range across Nunchuks, but there is some variation. Analog stick X returns data from around 35 (fully left) to 228(fully right), while analog stick Y returns from around 27 to 220. Center for both is around 128.
The accelerometer data uses the full range of 0-1024. However, the full range is only seen when moving or rotating the Nunchuk sharply. To measure still Nunchuk rotation in space, the following approximate bounds apply: X goes from around 300 (fully tilted left) to 740 (tilted right), turning further starts bringing the value closer to 512 (neutral position). Similarly, Y goes from around 280 (tilted backwards) to 720 (forwards). Z goes from 320 (upside-down) to 760 (right-side up).
BC and BZ are the state of the C and Z buttons (0=pressed).
Nintendo games calibrate the center position of the Analog Stick upon power-up or insertion of the Nunchuk. The mechanism for that is unknown.
Wii nunchuk circuit board, top surface
Wii nunchuk circuit board, bottom surface
The official Nintendo wired nunchuk appears to be electrically much simpler than the other controller extensions. It has a single joystick comprised of a 30KΩ potentiometer per axis, two switches, an accelerometer chip, and a microcontroller.
Function Hardware Circuit board surface and mounting
Joystick X axial potentiometer, 30KΩ through-hole
Joystick Y axial potentiometer, 30KΩ through-hole
Accelerometer ST 8XRJ 3L02AE 820 MLT surface mount, top
Microcontroller FNURVL 405 849KM (48-pin QFP) surface mount, bottom
Like the classic controller, the joystick potentiometers appear to be wired in parallel. The accelerometer chip is in the LIS3L02 series from STMicroelectronics. The AE variant is not on their web site; their closest public product is their LIS3L02AT, in the same LGA-8 package, but possibly with a different pinout.
The microcontroller chip appears to be a relabeled NEC (now Renesas) uDP78F05 microcontroller, or a pin-compatible equivalent.
how do i wire this analog stick to my gc controller?
what pins/diagram should i use?
i have two wii numchuck, both official
pics soon.
hope someone can help me out.