Wii Hacks, News, and Info. Find out about Wii Hacks and tricks such as: Converting video to Wii format. Running homebrew software and Games. Compile Wii Linux. Wii Home Control. Wii Web Browser. Wii WiFi Functionality
I came across this on Ajaxian. It looks like opera has opened up the Wii Internet Channel to developers. You can now use Javascript to poll data from all 4 wiimotes.
The Wii Remote data is accessed through the opera.wiiremote object. This object offers a single method opera.wiiremote.update(n) which is used to obtain the status of an individual Wii Remote. The method expects a single parameter; the Wii Remote number. The number is zero-based, so it starts at 0 for the first remote, and ends at 3 for the fourth remote. The method returns a KpadStatus object, which has several properties that give information about the remote. [source]
While not pracitcal, and definitely not secure, some clever engineers have hooked up a wiimote to their electronic lock, and can now open their door with the flick of the wiimote.
Check out their Video on YouTube:
The translation of the original site can be found here.
OK, ok, they've beat me. My wii-mote controlled smarthome is cool, but this wii-more controlled robot arm is freaking sick!
Two guys wrote some addon software for glovepie that allows them to record gestures. By performing those gestures with the wiimote, it activates their robotic arm to start a maneuver. They strapped a sword and a tennis racket to it's hand and took a video of it swinging the sword and hitting tennis balls. Check out the video:
I have been playing around with the Wii remote lately, and this is my first prototype combining Wii remote input + physics! It's a virtual version of a toy, where you flick a stick back and forth between other sticks.
created with the Ogre 3D rendering engine, and Newton Game Dynamics physics engine... Wii remote input via cWiiMote library.
Cadex has documented his findings on the nunchuk in the wiili wiki. He is able to get some of the status from the controller expansion device . He writes:
I found the first piece of the expansion port communication puzzle, I'm able to get at least parts of the status of an attached Nunchuk controller. This is really just a first step, but by telling you what I found out, probably other people will soon find out more
The data at 0x04A4000A-0x04A4000C seems to be acceleration data (values "85 D9 61" in the hexdump above). These values seem to be similar, but still a bit different from the acceleration values provided by the Wiimote (values seem to jump when certain boundaries are reached)
Bit 0 of the byte at 0x04A4000D shows the state of the "Z"-button; the state of the "C"-button does not seem to be contained in that byte though.
The byte at 0x04A40008 seems to contain the X value of the Nunchuks joystick, 0x04A40009 the Y value
Data seems to get repeated every 0x100 bytes (see example), so probably bits 8-15 of the address (= the third byte) is ignored when reading from the Nunchuk, only addresses 0x04A40000-0x04A400FF are relevant (see example)
It seems to make a difference at which address one starts to read the data. Reading 0x10 bytes starting at 0x04A40000 will contain the interesting values, whereas reading 0x10 (or 0x0F) bytes starting at 0x04A40001 will return completely different data.
Writing an other value than 0x01 or writing to a different address in the 0x04A4004- region changes the middle part of the data being returned.
So you just got your greasy hands on a wii-mote. What can you do with it? You may have heard about people doing crazy things like playing the drums with it, and you may have seen videos on youtube of nerds using it to control their PC mouse. Despite all of the comments you may read below the videos on youtube, most of the videos are not fake. There are really people playing electronic instruments, playing half-life, controlling emulators, navigating google earth, and even more stuff I promised not to show you yet...
This post is all about Wii-Motes and Mii's. If you still have not gotten your Wii-Mote connected to your computer now is the time to get a known working wii compatible bluetooth adapter and join in on all the fun. Once your bluetooth adapter is connected, follow these simple instructions to connect the wiimote to your bluetooth adapter.
Once you have a driver installed and your wiimote's HID device is connected, you are ready to download some apps.
Wii-Mote Apps for Windows For Windows you will definitely want to check out GlovePIE along with a host of other scripts. These scripts will allow you to control all kinds of applications. GlovePIE is really a great program because it allows you to map buttons and values on the wii-mote to trigger keypresses in other applications.
Transferring Mii's A new version of MiiTransfer has been released. MiiTransfer 0.9.1 (released 12/13) should work with most, if not all, BT stacks.. The original version only supported the Microsoft Bluetooth stack. Download the latest bins and source code here: http://sourceforge.net/projects/wdml/
Even better, one of the visitors to this site has created a GUI to make using MiiTransfer even easier. SWiitPii was so kind as to give me all the credit, but the truth is, I did not write a line of code for this program. In any case you can download the MiiTransfer Gui Kit here. I have tried it myself and I was able to easily transfer about 20 Celebrity Mii's from WiiModWii Transfer Station to my Wii in a few minutes. It is basically the .0.9.1 version of the MiiTransfer binaries from sourceforge along with another .NET program that runs the correct command line parameters for you. It works great, thanks for the software SWiitPii! If you need help with this app there is a support forum here
MiiPlaza.net is now hosting Mii's. They have a large community of people, and I see good things coming from their site real soon. If you can't wait and just want to download as many Mii's as possible, then head on over to WiiModWii's Mii Transfer Station to download the latest celebrity mii's and other user submitted Mii's. Otherwise if your picky of what Mii's go into your Wii, and you need to see pictures of them before you download, goto MiiPlaza.
You can not break your wii by uploading Mii's from the internet. Any corrupted bits in the .mii file and the Wii won't even display it. Have fun!
WMD is a python script for linux that will allow you to comminucate with the wiimote and fully supports motion data, IR pointer functionality and button presses. e-Hernick, the WMD author can explain it better:
actually there is a lot more.. It has advanced, multi-mode, adaptive, distance-dependent, predictive, smoothed pointer control. It has advanced, fully scriptable graphing capabilities for accelerometer data As well as primitive motion analysis The ability to map any Wiimote button to any key, key combination or mouse button. The ability to configure all the parameters that tweak every algorithm
-WMD is a Linux Driver for the Nintendo Wii Remote -WMD lets you use the Wiimote as a mouse -WMD lets you use the Wiimote as a keyboard -WMD lets you use the Wiimote as a vibrator -WMD is dangerous and experimental -WMD could make your Wii explode!
WMD has been greatly improved over the last few days, with live graphing and gesture graphing support! Get it now at http://www.ForTheWiiN.org
Sounds great! Thanks for all of your hard work e-Hernick!
MiiTransfer is a small application for reading and writing data to the internal memory of the wiimote. Using this app you can easily transfer mii's from your wiimote to your pc, and back to your Wii.
This is exciting, because now Wii hackers can begin trading Mii's using sites such as WiiModWii's Mii Transfer Station: http://www.wiimodwii.com/miis/
Here is how to transfer Mii's from your Wii to your Wii-Mote to your computer. Once on your computer you can upload and download Mii's from the internet, then transfer them back to your wii-mote and back into your Wii.
First you will need a bluetooth adapter and a Wii-mote. The first release of MiiTransfer ONLY works with the Microsoft Bluetooth Stack. Yes this is the same MS Stack that will NOT work with GlovePie or many of the other wii-mote apps. If you are using another BT you need to go into device manager and update the driver. The next version of MiiTransfer should be more compatible with other Bluetooth Stacks.
If you can not wait for the next release here is how to change you bluetooth stack: Open Device Manager and goto your bluetooth adapter. Right click and goto properties. Goto teh Driver tab and press Update Driver. Select 'Install from a list' then 'Don't search i will choose a driver', now uncheck the box that says 'Show compatible hardware' and find the Microsoft Bluetooth Stack. Select it and press next until it's finished installing. It may tell you to reboot, but I did not need to, just unplug and replug the USB Bluetooth dongle.
Now you should have the Microsoft BT icon on the task tray. Open that icon, and start the BT connection wizard. Have it search for devices, and press buttons 1 and 2 on your wiimote to ut it into discover mode. After it finds the wiimote, you may need to press buttons 1 and 2 again to finish the bluetooth connection process. If it asks you to use a passcode press 'skip' or click the bubble that says not to use a passkey.If everything went well you will now be connected to the Wii-Mote.
You are now ready to launch the Mii transfer program. Download it from here and extract it. There are a bunch of batch files included in the download archive. Simply run the readslotALL.bat file to read all of the mii's from your wiimote.
Next goto the Mii Transfer website and upload your Mii's or download new Mii's you want to put into your Wii. Once you have these Mii's on your computer, transfer them back to the wii-mote using the writeslotX.bat files.
You will need to manually rename each mii to mii0.mii, mii1.mii, etc and put them in the same directory as your batch files. Finally go into the Mii channel, hit the icon of the wii-mote on the right, and unload all of your new Mii's into your Mii Space.
Please upload your best Mii's to the Mii Transfer Station. They would like to build up a large database of Mii's and eventually have an online Mii generator.
Also, in case you are interested, Mii Data structure can be found here. It would be nice to have a little editor app to modify the .Mii files from the PC.
Here is some info on the Mii data that is found in the wii-mote. There are 2 blocks of Mii Data, but we're not sure if it alternates between the two, or if it uses both. The data is a hash, so it's not as simple as changing the hex bits to change the look of your Mii. There is a way to update the CRC on the data and it's being investigated now. Here is some Mii Data from the WiiBrew Wiki thanks to Marcan and other hackers on IRC EFnet #wiidev:
Block format
Each block begins with a four-byte magic number / ID code 'RNCD'. Six unknown bytes (mostly zeroes) follow. Then follow the individual Mii data blocks. The last two bytes of the block are a CRC-16 CCITT of the previous 750 bytes (polynomial 0x1021, starting value 0x0000). C code to update CRC
Mii format
Strings are apparently stored in Unicode format (UTF-16), big-endian. Each Mii is 0x4a bytes:
2 unknown bytes (sometimes zeroes)
10 wide chars Mii Name (zero padded, non-terminated) (20 bytes)
32 bytes Mii settings and info (not yet figured out)
10 wide chars Mii creator (20 bytes)
You can test these codes using Simple HID Write. It's some sample program for Delphi programmers, but until someone else writes a more specific app for doing this stuff, it works. You can download it from here if you want to check out what your Wiimote's Mii data looks like.
To read Mii Data block 1: Report ID: 17 Command: 00 0F CA 02 EF
To read Mii Data block 2: Report ID: 17 Command: 00 12 BA 02 EF
Can someone put together a quick app that will read and write data from the wiimote mii data storage to a file on the computer? Big Red Pimp posted this Wii-Mote Test app which is close, but still does not fully support Mii Data.
Next step: figure out how to rewrite the hash to make our own mii with the info here, but this comes much later, for now it would be neat to be able to trade mii data block with other wii hackers as an easy way to bus multiple wii's around to other wii consoles without messing with friend codes and emails.
typedef struct { // addr: 0x00 & 0x01 u16 invalid:1; u16 isGirl:1; u16 month:4; u16 day:5; u16 favColor:4; // 0 - 11 (changing to 1111, along with setting the preceeding bit // results in a grey shirt, some values over 11 will crash the Wii // when trying to change the favorite color). u16 unknown:1;
// addr: 0x02 through 0x15 u16 name[MII_NAME_LENGTH];
It's good to see the Japanese have started to hack their Wii's already! Well, wii-motes anyway...
Hirolog posted this Wii-Mote Application for OSX which allows you to control and monitor several features of the Wii-Mote using OSX. There is also a mouse mode, but the calibration of my wii-mote must be different because my mouse pointer keeps going to the bottom left corner of the screen when it's active.
CarlKenner, has posted his wiimote application to the WiiLi forums. This is an amazing accomplishment on it's own, but to add even more to the coolness of this is the fact that Carl DOES NOT EVEN HAVE A WIIMOTE!
Kudos to Carl for writing this software, and having it work on the first try without the actual hardware. I am downloading the files now to test them out and I'll have a full report for you tomorrow on how it all works. Until then you can try it out for yourself by downloading the Windows wii-mote drivers here: http://www.wiili.org/forum/download-windows-driver-here-t294.html
This was a special promo item given out to Nintendo Club Members in Japan. It does not have the hardware of a retail wiimote, it is simply a wii-mote shell with hardware inside to emit infared signals. Does anyone know how this is programmed? Is it a learning remote, or does it have preset codes for each brand of TV like a radioshack universal remote?
With bluetooth drivers for the Wii Remote on the way, it's only a matter of time before people (like me) are actually doing things like this with the real wii-motes. This is just a big tease as to what's to come in the next few months. Stay tuned for more info! Fun stuff is in development...
Cliff has released an app for Mac OSX which will allow you to pair the Wiimote with your Mac to view and send commands. This is NOT a full blown driver, but now that the initial hooks have been made it will be much easier for other developers to get in on the action to start coding the other parts of the driver.
Marcan has posted a video showing his progress on WiiMote Development. He has a nifty little program that will allow you to see graphs of the data that comes from the remote as you wave it in the air. By using these measurements and calculations developers will eventually be able to predefine gentures and movements of the wii-mote in their software applications. http://youtube.com/watch?v=9iBaKsh5z_o Great work Marcan! When will we be able to get our hands on this demo app so we can see the pretty colors on our own screen?
Volsung, Wiilii, and others are busy documenting all of the math involved in the wii-mote over on the Wiili Wiki: http://www.wiili.org/Motion_analysis
Also Cliff in IRC Efnet #wiidev has made progress on a linux i/o driver for the wii-mote. Nothing to test yet, but when code is released you can be sure it will be posted here.
I figured out a little trick with the wii-mote last night. The wii-mote is paired with the Wii, so you usually will not see it when you do a bluetooth 'discover all devices' on the PC.
But, If you press buttons 1 and 2 at the same time on the bottom of the wiimote it puts it into a discovery mode where the lights on the bottom are blinking. Now if you try to discover nearby devices on your pc you should see the wii-mote and can attempt to pair it.
UPDATE 11/26/06 5PM: You can also put it into discovery mode by pressing the sync button under the battery cover. The remote doesn't actually have a passkey, however once it is connected, the 3 services it advertises are non standard bluetooth services. Until someone writes a wii-mote driver we can't do much with this hardware.
Progress has been made! some developers have made the initial connection to the bluetooth remote and can now control the LEDS and force feedback.
The developer has posted a patch for getting bluetooth communication working and even posted a little script that makes the lights on the remote dance.
Looks like it's time to break out the Math books, Andy on the Wiili forums has figured out how to log linear force data.
They have begun to write the algorithms which will be used to detect movement, speed and rotation of the wii-mote when it is connected to a pc or mac.
* Linear force data can be logged using a SET_REPORT HID request on Output channel 12. The first parameter is a force feedback parameter while the second must be 31. Some other 3X numbers work for the 2nd parameter and do different things, but I'm not sure what exactly. Logging can be turned back off using 30. (example to turn logging on: 52 12 02 31) When logging data data with 31 the last 3 bytes of data represent the forces with ~80 being 0 force. The 1st bit represents the side to side force, the 2nd is the lengthwise force and the 3rd is the up-down force.
I've been thinking about purchasing a WiiMote when they become available in order to start working on a linux mouse driver for it. Since it communicates using bluetooth this seems to be the most appropriate place to do development. Anyway, I've never done much with bluetooth or drivers before so I'm going at this as a bit of a learning project. If anyone else is interested let me know. I'll be reading though source code, but if anyone has any suggestions about where to start or what documentation to check out let me know that as well.
I would LOVE to see this happen. It is a great remote. It has a nice weight to it, and the buttons are easy to get to. To be able to use it as a pointer in linux would be fantastic!