last update: 31 Mar 2010 My other stuff ...

my other stuff

March 31 2010:   v1.15 released!   (Balance Board & MotionPlus support + fixes!)

This is going to be the final release of the library for the forseeable future - I'm just too busy to spend more time on it.

It includes fixes for the Motion+ detection on Windows stacks, as well as several other fixes and enhancements - see included History.txt for details.

Also check the ReadMe & License files, then join my mailing list to exchange ideas & solve issues with other users.


This marks the likely-final release of my free (BSD-ish style) fully-featured Wiimote (Nintendo Wii remote controller) native C++ library:

Watch it in action:

See more projects on my WiiYourself! Showcase Channel
(or get yours featured there!)

Originally based on Brian Peek's Managed Wiimote Library (check it out if you need .Net support), I've since rewritten and extended it considerably:

  • supports multiple Wiimotes
  • supports Nunchuks, Classic Controllers, Motion+, Balance Board & Guitar Hero peripheral  (with reliable connections)
  • reads battery / buttons / acceleration / IR (4 dots) / triggers / joysticks  (with deadzones)
  • estimates orientation  (including Pitch and Roll)
  • can set LEDs & rumble  (with optional async duration)
  • supports all Bluetooth stacks (auto-detects output method)
  • experimental speaker support  (square wave & sample playback, but glitchy)
  • supports polling and/or callbacks
  • detects connection loss / breaks.
  • threaded to multitask smoothly
  • extensive debug output.


  • only runs on Windows  (could be ported, contributions welcome)

Download Version:
1.15 (see the ReadMe, License & History.txt)

I didn't have time to document it beyond the (extensive) code comments and included demo app - check Brian's article for a good overview & general 'Wiimote with Windows' info.  Join my mailing list to collaborate with or get help from other users, or to stay notified of future releases (although this is likely the final version).

Hardware/software requirements:

  • Bluetooth receiver (built-in or USB dongle) with HID device support (list of known devices - but note that my lib is more compatible as it supports & detects two different output methods).

  • Most (all?) Bluetooth stacks (software drivers) should work, provided they support HID devices.  The built-in MS ones work, as do BlueSoil/Widcomm/Toshiba ... (always use the latest version).

    Some stacks are nicer to use than others, the MS one in XP for example is a pain (but works).  You can also download other stacks, but they're usually time-limited demos.

Projects using WiiYourself! : get your project listed - send details to my mailing list.
WiiRemote プログラミング
Japanese book all about programming for the Wii Remote.  Covers several libraries including WiiYourself! (with topics such as WiiRemote performance measurements, the speaker, the latest WiiYourself! beta & the WiiMotionPlus addon).

watch large version
Akimbo 2
Original lightgun-style game, using two wiimotes simultaneously!  Check out the video of the game in action.
WiiCam & Wiimote Server for Maya
Wiimote/Nunchuk enables the popular 3D design program, including the ability to simulate hand-held cameras.

Wireless Gimbaled Camera: Blimp Deployment
uses WiiYourself! to wirelessly control the rotation of a camera mounted on a blimp for aerial shots.

DarkMatter Design's Boro-Toro game
entry into the
Dare to be Digital competition - entrants had 10 weeks to create a video game from scratch.

Thanks to these guys for hacking & publishing the wiimote protocols:
  WiiLi - WiinDows -