Upgrading WiiMote IR Camera sensitivity | WiiMote libwiiuse.so | Pimp / Hack your Wiimote
Here's a short post about upgrading your WiiMotes' IR camera sensivity. I'm using WiiMoteJ - the WiiMote Java API for accessing data (IR data, motion data, etc.). The underlying native library is called "libwiiuse.so" which has been implemented in C for linux and windows. I am pretty sure you'll find the same values in lib CWiid (another WiiMote lib). Get the wiiuse library src here: Wiiuse onSourceforge
Here's the problem: the WiiMote IR sensitivity can be scaled from 0-5. "0" as you can imagine, is the lowest possible sensivity, "5" as you might NOT expect is by far not the highest sens. According to wiibrew.org these are the default wiiuse register values for level 0 to 5.
02 00 00 71 01 00 64 00 fe fd 05 Wii level 1
02 00 00 71 01 00 96 00 b4 b3 04 Wii level 2
02 00 00 71 01 00 aa 00 64 63 03 Wii level 3
02 00 00 71 01 00 c8 00 36 35 03 Wii level 4
07 00 00 71 01 00 72 00 20 1f 03 Wii level 5
You can find those values in: wiiuse_intel.h included in the /src directory.
#define WM_IR_BLOCK1_LEVEL1 "\x02\x00\x00\x71\x01\x00\x64\x00\xfe"
#define WM_IR_BLOCK2_LEVEL1 "\xfd\x05"
#define WM_IR_BLOCK1_LEVEL2 "\x02\x00\x00\x71\x01\x00\x96\x00\xb4"
#define WM_IR_BLOCK2_LEVEL2 "\xb3\x04"
#define WM_IR_BLOCK1_LEVEL3 "\x02\x00\x00\x71\x01\x00\xaa\x00\x64"
#define WM_IR_BLOCK2_LEVEL3 "\x63\x03"
#define WM_IR_BLOCK1_LEVEL4 "\x02\x00\x00\x71\x01\x00\xc8\x00\x36"
#define WM_IR_BLOCK2_LEVEL4 "\x35\x03"
#define WM_IR_BLOCK1_LEVEL5 "\x07\x00\x00\x71\x01\x00\x72\x00\x20"
#define WM_IR_BLOCK2_LEVEL5 "\x1f\x03"
Now you just need to replace the desired level, like level 5 for the highest sens with the following hex values:
00 00 00 00 00 00 90 00 41 40 00 (max sensitivity)
Just recompile the code 1. make 2. (sudo) make install. You'll find the libwiiuse.so located in /usr/lib
On my opinion the IR sensivity range increased up to 2-3 meters. It would be great if anyone could affirm this result. Be advised, try this on your own risk - but I guess :) you can't mess up your WiiMote this way...Comments are welcome - also if you need more detailed help on this topic.
More info:
WiiBrew
Compile libwiiuse / WiiUseJ
- fl0's blog
- 1972 reads
Recent blog posts
- Convert mov, mp4, avi, flv to ogv | ffmpeg2theora
- Stop Disabling SELinux! | Drupal and SELinux, Drupal doesn't send mails [SOLVED]
- Blender 2.59 + iCub SIM + Kinect = Movement Imitation
- Blender 2.59 + Kinect = Controlling Robot Arms in Game Engine
- Virtual (robot) Flobi - Motion Capture Playback Demo
- LimeSurvey | Default Password Change | Redirect to login page [SOLVED]
- Lighttpd | Can't have more connections than fds/2: 1024
- Warp1337 Theme for you!
- OpenNI Java Wrapper Test | Ubuntu 11.10
- Web history with Screenshots and stuff | Web archive
What is Flattr ? Flattr is the worlds first social micro-payment system The idea had already been initiated in 2007, but the first release was in 2010 due to typical geeky laziness. Flattr was founded to help people share money, not just content. https://flattr.com/about

















Comments
Post new comment