This program allows you to use the Wii Remote (Wiimote) to turn any surface into a Low-Cost Interactive Whiteboard. It is based on Johnny Lee’s original WiimoteWhiteboard program that is written in C# and available for Windows only. My program uses Java to allow for (some) platform-independence. I also provide a Mac-only version since I’m a Mac user and this is, up to my knowledge, currently the only such program for the Mac.
For Windows only, Boon Jin has enhanced Johnny’s software and created the shareware program Smoothboard. There is also a SourceForge project that provides other implementations, but it is not getting much attention.
Check out the video and the other cool projects at Johnny Lee’s page if you have no idea what I’m talking about
.
Features in a nutshell
- Open source
- Runs on Mac OS X, Windows, and Linux
- Simple User Interface available in English, Estonian, French, German, Italian, Polish, Portuguese, Russian, Slovene, and Spanish
- Camera Monitor and Calibration Details for better Wiimote placement
- Auto-connects up to 2 Wiimotes
- Right-click support, double-click assistance
- Mouse cursor smoothing

- Screen selection
- Touchpad Mode
- Update notification
- TUIO/OSC support for multitouch applications
More details in the Wiki.
Download (1.0.2)
Documentation & Support
You can post your comments, bug reports, feature requests, etc. at the bottom of this page. The latest documentation is available in the Wiki. You can also find out how you can help.
The wiimoteproject.com forums are a great resource for everything Wiimote. You may use this subforum to discuss everything related to my software. The Smoothboard Wiki also contains useful information for setting up your interactive whiteboard.
Infrared pens
You need a source of infrared (IR) light to use the software. Many people build their own IR pens for that purpose, usually by retrofitting some sort of marker. You’ll find all you need to know here. I started with a simple IR pen made from a battery clip.
There are also IR pens for sale if you don’t want to build one yourself. Several vendors sell different models, the IR Pen marketplace is a good place to get an overview.
You can use the coupon code uwe if you buy from IRPensOnline.com. This will give you a discount of $2 and I’ll get $1.
Compatibility
I only heard of few problems on Mac OS X, using the built-in stack. I also got reports from users who got the program running on Windows using either the Widcomm or BlueSoleil stack. It seems like Widcomm works better, see this post about BlueSoleil. You need to use the BlueZ stack on Linux, see the Wiki or this post for further instructions.
Issue on PowerPC Macs (excerpt from the WiiRemoteJ-README):
Note for Mac OS X PowerPC (PPC) users: you will have to delete the Wii Remote from your previous devices list in System Preferences->Bluetooth->Devices after each connection (every time you connect a given Wii Remote). Even then, the outgoing connection will still fail every other time. There is some sort of bug relating to HCI devices and Apple’s library. Luckily, it was fixed for the Intel Macs.
Further details can be found in the Wiki or the help files bundled with the application.
Subscribe

Hi harnstein,
I can’t really help you debug Johnny’s software or Smoothboard (I guess that’s what you meant with “softboard”) on Windows Vista.
Related to my application:
* There’s no need to install BlueCove yourself, it’s already included in my app. In fact, multiple versions of BlueCove on the Java classpath (possibly different versions) could cause some problems.
* Did you read this post about BlueSoleil?
* Did you read this post about Vista?
I can’t help more since I don’t use Vista.
Uwe
Hi Mirna,
I’ve never compiled it on Windows myself, in theory it should work the same on all platforms.
Other than the libraries included in my source code download, you need Java Advanced Imaging on the classpath (see Source Code in Troubleshooting).
I also included an Ant build script to easily compile & run the software by typing ant at the command line in the root folder of my source code.
Uwe
I downloaded and have used the wiimote software, and it works fine, it will be better when I get another wiimote hooked up and tweek the calibration.
What type of software, if any, is available for use on a mac that actually simulates the Whiteboard software used for Smartboards…..? If none exists for a mac, what is recommended for use with a PC?
Hi,
I’m not the right person to be asked this question. I’m just the developer, not a user
.
You might want to take a look at this and wiimoteproject.com.
Uwe
I cannot manage to connect my WiiMote to the WiiMote Whiteboard app. The app says in the beginning: “BlueCove version 2.0.3 on winsock” and then I get an error popup: “WiiRemote failed to connect! Not supported on Winsock”. I have a ’standard’ XP SP2 PC.
I am sure this is a simple problem… Do you have a page for ‘connection troubleshooting’ or can someone help me?
Thanks
Juergen
Hi Juergen,
Yes, click here (btw, a copy of that page is included in the ZIP file you downloaded).
Uwe
I did this project succesfully with my laptop,
but am finding it quite problematic with the help of projector, i am not getting whether the wiimote is too far to identify the IR light or my IR pen is not enoughly emitting IR light(but it worked on my laptop as am using a normal IR emitter) or am not giving wiimote a perfect angle.
please help me out.
Hi vishal,
I can only refer you to this and that.
Uwe
Hey, great app, I wondering do you know if there is any handwriting recognition software for the mac that uses the mouse as input? Apple has inkwell but it needs a graphics tablet, which is no good. Thanks in advanced
I will be building a set for a course we are filming in our studio. My plan is this:
-Erect a blue screen
-Rear Project the computer on the blue screen in blue hues only (as to not throw off the Chroma-Keyer)
-Set the Wii Remote on top of the projector
-Have talent stand in front of the blue screen and operate the computer.
-Chroma-Key out the blue screen and replace it with the full color feed from the computer.
I’ve worked out everything on paper and it should all work. There are a few things that might snag, the lesser of the two problems is the Wii Remote seeing the IR dot through the blue screen fabric. I’m fairly certain this won’t be a problem. The other problem is a little trickier, I haven’t seen anything that fully answers it, that is whether or not this program will work with the screen backwards (since it’s rear-projected). If anyone has rear-projected with this system, please speak up. If you haven’t, please provide calming words and a lullaby if you don’t mind.
Thanks
Hello,… in my notebook (Toshiba M45-S359) with Ubuntu 8.10 do not work:
“Bluetooth failed to initialize. There is probably with your local Bluetooth stack or API.”
Help me.
Hi Brooky,
Not really. Notebook 3.0 by Circus Ponies might be able to do that. This page says it does, this page says it doesn’t…
Sorry for the late reply,
Uwe
Hi Nubbins,
it should work.
Sorry for the late reply,
Uwe
Hi Rogério,
please see the Troubleshooting page.
Sorry for the late reply,
Uwe
Notebook user manual clearly indicates you need a tablet, and indeed, I tried without: handwriting seemed impossible to me…
(You can download NoteBook and get a trial license. The software is not a trial version, it is a full version).
hi Uwe,
I’ve been giving try to use wiimotewhiteboard Java application on windows. Things work really fine except with one problem, I don’t get my complete screen calibrated.
So let’s say my laptop screen is 1650 * 1050. After I connect wii remote along with calibration procedure, Calibration screen usually shows 40-50% calibration or some time less.
I’m not able to get this calibration to 100% once. am i doing anything wrong here?
otherwise I’m very much impressed with this application. I know this is not a your application issue, but trying to find out any pointers that can help me in getting better.
thanks again,
Rajendra
Hi Rajendra,
you’re doing nothing wrong. As a rule of thumb, the higher the Tracking Utilization the better the software will work since you’re using more of the Wiimote’s field of view. There’s no need to increase that number if everything is working fine.
Uwe
You’ve got a fantastic piece of software here. It works beautifully, and on the off chance that it doesn’t, you’ve built in enough diagnostics to easily figure out the problem.
I’ve got the chroma-key wall up and running, it looks fantastic. I will have to upload a video to show you.
Hi Uwe,
Thanks for the reply. The reason I’m worried is, after calibration done successfully still I can’t access some areas of screen. Areas where I click on screen but nothing happens.
My feel is that Wiimote is not able to catch those events. That’s the reason for frustration. I’ve seen so many videos people are using freely across complete screen. And here with my case though, calibration is done successfully still not able to access all areas of computer screen.
That being said, is there any ideas on how can best mount the wiimote to get best view of screen?
thanks again,
Rajendra
We’ve run through our initial tests with the screen and I’ve posted a proof of concept video here: http://www.vimeo.com/4171603
The video production world is very tight-lipped, and we’re holding some of the details on how everything is done. That being said, this whole WiiMote thing, from Johnny Lee on, has had a very Open Source feel and I’d like to hold to that. So if you’d like to see a run-down of the different technologies we’re combining to do this, email me at scottneb at gmail dot com.
Thanks again, Uwe.
Hello Uwe
Thanks for the great software. It is working very well on my system.
I see you spent time at UBC? I am a visual/film and media artist and Adjunct Prof at UBC in Film/Theatre working with advanced projection techniques. I am not a programmer however, although I do use graphical programming software.
In particular I am working with Isadora (similar to Max/Msp) and am able to send data via OSC into Isadora. I am wondering how hard it would be to use your software to send data via OSC of 4 IR led points. (I see the OSC port number assigned for receiving into Wiimote Whiteboard is 3333.)
I have built a small foamcore board with four corner IR LED’s and your software tracks them very well inthe camera monitor.. much better than the other software I have been using (OSCulator).
Any advice is appreciated.
thank you
jamie griffiths
Hi Jamie,
Yeah, I loved it
.
I’m not sure I understand since this is exactly what my software should be doing if you enable TUIO/OSC.
The data I’m sending roughly adheres to the 2Dcur profile of the TUIO specification.
This is not the port for receiving, this is the port where I’m sending the OSC messages to.
Uwe
Hi Rajendra,
Do you mean certain areas of the screen work without problems and other areas don’t work at all? If so, check that nothing is blocking the Wiimote’s view. Did you try to use the built-in IR Camera Monitor?
Please see this previous post.
Uwe
Hi Nubbins,
that’s pretty neat
.
Thanks for the offer but I neither have the equipment nor do I personally have a use for this.
Others might be much more interested in this…
Uwe
I’m trying to work
Hello,
I’m trying to work with the pixart camera directly over usb and would like to use your whiteboard source code minus the bluetooth and wiimote stuff. Can you point me in the right direction as to where I should start in porting the code to work with the camera directly over a usb interface – i.e. no bluetooth and no wiimote involved?
Aha! Thats great. Thanks Uwe (sorry.. I am new to OSC).
I am tracking the four corner-point IR LEDS into my 3D enabled Visual software to see if I can do a guerilla-style version of a Johnny Lee auto-tracking a projected image onto an object.
I’ll post a video if I have success.
thanks
jamie
ps sunny greetings from UBC
Hi El,
the main class that communicates with the Wiimote by using the WiiRemoteJ library is WiimoteDataHandler (you need to replace it with your own code). Other classes can subscribe to events via the WiimoteDataListener interface which uses the (library-independent) concepts of a Wiimote and IRDots. A Wiimote has a hardware address (used as key in hashtables) and an id (1 or 2). An IRDot has an id (1 to 4), x & y coordinates and a size (currently not used). All other classes (besides WiimoteConnector) of my code make used of these concepts and do not (should not) directly interact with WiiRemoteJ.
Hence, I guess it would be easiest to map (data from) the PixArt camera to these concepts if you want to use my code. Please let me know if this works for you. You can ask me specific questions if you run into problems.
Sorry for the late reply,
Uwe
Does anyone have the WIDCOMM driver ver 5.0.1100’s.link with the patched?
Hello !
First, sorry for my english, but normally I speak french…
It works very well on XP with HP Compaq 6710b and internal card!
A very fun thing would be a storage of the calibration and preferences (for the fixed installations).
With that, for next uses you must just load the program and activate the Wiimote with the “A” touch and the system would be enabled and ready to use
Best regards
JD
I like the large screen I have with my projector in my classroom, but it was hard to reach with an IR “pen” – I rigged up an IR LED on the end of a pointer instead with a switch at the other end – I can use the whole screen that way!
The remote positions well on top of the projector, but that means I have to climb up to turn it on and off (my classroom projector is ceiling mounted) as the remote drains the battery pretty quickly otherwise (as others have noted). Anyone know of a way to plug in the Wii remote directly into a outlet? That would allow me to leave it up on top of the projector and not climb up and down.