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, Indonesian, 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.3)
Some example videos
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 Luca,
the connection process in my app is done by the (closed-source) library WiiRemoteJ.
I guess it’s only accepting Wiimotes made by Nintendo, which all have the name Nintendo RVL-CNT-01.
Are you using a 3rd-party Wiimote replacement, like a Nyko Wand?
Uwe
No, original Nintendo RVL-CNT-01.
In the afternoon I’ll try a different bluetooth dongle.
Hello,
Great application. I’m excited to use it in a classroom setting.
Everything worked on my new MacBook but can’t seemed to get it working on my G4 laptop or my iMac or Mac Pro Tower at school.
The wiimote is recognized, but it won’t calibrate on the screen. The A button works, so I know it’s reading it, but won’t let me calibrate the position.
Any ideas? Using the 1.0 version for all of them.
Thanks,
Adam
I am returning from summer break to start school, and the wiimote worked beautifully last year. This year, on the same MacBook Pro, it won’t recognize the same wiimote I was using last year. I’ve read the threads, but I’ll be honest, I’m an art teacher, and my tech skills are limited. I can’t open the program at all to change the 32 bit as others suggested. The error says “Bluetooth failed to initialize. There is probably a problem with your local Bluetooth stack or API.” There was a bluetooth update a month ago or so, and this is the only thing I can think would have changed it from working. When I try to use the Bluetooth Setup Assistant, it gives me a passkey?! I changed it so there is no passkey. I deleted the wiimote from the computer and reinstalled it. When I go to the bluetooth file exchange and browse files, it shows the device, but when I click browse, it says the device does not have the necessary services. This is the extent of my understanding. Plesae help. School starts tomorrow, and I’d like to get this working again by next week.
Hello,
This project is an amazing idea, it will be great if the software works on any OS!
I’m working on Ubuntu 9.4 and I have downloaded the java source code, first I solve the problems with the libraries dependences, then I try to run the software, but allways I got a error message about the bluetooth: java.lang.IllegalStateException: Bluetooth failed to initialize. There is probably a problem with your local Bluetooth stack or API.(WiiRemoteJ.java:74)
at wiiremotej.WiiRemoteJ.
I realy wish test this software, bun even, when I’m trying the jar version I got the same error,
Somebody could help me? please!
Best Regards.
Hi Adam,
what do you mean by that? Is the Wiimote recognized by OS X or my application?
I assume my app has connected to the Wiimote and the 4-point calibration has been started. Why can’t you calibrate? Is nothing happening? Maybe there’s some stray IR light, such as sunlight or light bulbs…
Sorry for the late reply,
Uwe
Hi Crystal,
you guess right, the Bluetooth update is the culprit. Downloading the latest version should fix this problem.
Btw, setting 32-bit mode can be done in the Finder without starting the app, but this isn’t necessary if you download the latest version.
Please don’t connect the Wiimote via the Bluetooth Setup Assistant, it can only interfere with my app which handles the entire connection process.
Sorry for the late reply,
Uwe
Hi Leon,
can you send me a more detailed error message?
Oh, and did you add bluecove-gpl-2.1.0.jar to the jar version (according to these instructions) and the Java classpath?
Uwe
Hi
Great work.
I have a windows 7 laptop through a school (I’m a teacher) that has internal bluetooth. Unfortunately I can’t install ANYTHING or run any .exe applications, and the admin password is closely guarded so this is not likely to change anytime soon. This is where your program is perfect as it runs through java (already installed!)
The computer will connect to the remote through the ‘devices’ setup wizard, but if I try to connect through this program, it comes up with a ‘not supported on winsock’ error. I thought that I would have been able to connect through the program if it connected through windows o.k. (I’ve disconnected the remote from the windows connection first, as has been mentioned in the post above)
Anway, if someone has any ideas about how I could try to connect the remote to the java program without having to install the widcomm (or other bluetooth) drivers that’d be great
Thanks for your help
Nick.
I know in the Help folder you said –
“If you get an error that the class JaiI18N couldn’t be found then you don’t have Java Advanced Imaging installed. JaiI18N is actually only required to compile the software. The easiest way to fix the problem is to install Java Advanced Imaging.”
Ive installed it but still i get the error. Is there a special processes to install it?
I downloaded all of these and tried them all, Installed them, put the jar file in my cross path.
# jai-1_1_3-lib-windows-i586-jdk.exe
# jai-1_1_3-lib-windows-i586-jre.exe
# jai-1_1_3-lib-windows-i586.jar.zip
# jai-1_1_3-lib-windows-i586.exe
Link – https://jai.dev.java.net/binary-builds.html
Any help is appreciated, thank you.
Hi Uwe,
Actually, nothing happens in when I start the 4-point calibration. No stray IR light or anything. I’m in the dark, literally!!!
The remote is recognized by the program. I am able to get a battery level when I push 1 + 2 buttons. But the Visible IR dots aren’t recognized.
Adam
Unfortunately, it looks like the wii remote is controlled by Bluetooth. Whenever I turn off Bluetooth, the program gives me an error – ‘Bluetooth failed to initialize. There is probably a problem with you local Bluetooth stack or API.’
muy buena tu idea. te felicito. yo sin implementar la idea ya me gusta. muy buen software.
me podrias enviar informacion en mi idioma porfa.
Hello Uwe.
Thanks and congrats for this version 1.0
You might also need to update your “Help/” files.
For Linux, you can tell to use the bluecove-gpl-2.1.0.jar file.
And also tell users to be sure they have a symbolic link libbluetooth.so pointing to their version of libbluetooth (libbluetooth.so.3 under Ubuntu 9.04) in their /usr/lib/ folder. If not, they will run into some errors.
Cheers.
Uwe,
Love the Wiimote software. Unfortunatley for me my work laptop uses a Toshiba Bluetooth adaptor which does not work with JSR-82. So, I still have to use the older software provided by Jonny Lee. Still works fine though.
I do quite a bit of presenting and developing and found lots of issues with existing whiteboard software that just didn’t do what I wanted it to do. So, I wrote my own. Would like some feedback on it and if people are interested may put a bit more effort into a JNA version that supports version of Java back to version 1.4.2. This in combination with your wiimote software should satisfy presenters needs.
Try it out here. I really need to put something together for help but one of the tests of if it’s good, intuitive software for me is how easily you can just pick it up and use it.
NB Requires Java 6u10 for the scratchpad transparency to work.
Launch with java -Xmx1024m -jar Whiteboard-1_0_149.jar (the -Xmx1024m is not necessary unless you plan to create a LOT of images and never clean them out)
AND away you go. Start to draw using the IR pen. (Clearly, you can test it with just the mouse)
Download at https://www.intellectfactory.com/downloads.html
Features which make it a good FREE alternative to expensive software out there already.
Enjoy
PS Will provide source code etc. if people are willing to help improve it. It’s not an open source project yet but could easily become one if there is interest.
This looks cool but it won’t work. I’m on XP and I connected with Blue Soleil. It says it doesn’t support that?
If there’s a fix for that, please contact me.
Hi Nick,
unfortunately I doubt there is an (reasonably easy) solution to this problem.
Sorry for the late reply,
Uwe
Hi John,
as far as I remember, I just did the regular installation of JAI on Windows.
I’d rather guess there is problem with the Java classpath.
Sorry for the late reply,
Uwe
Hi Adam,
the Wiimote indeed communicates with the PC over Bluetooth. Why do you turn Bluetooth off?
Sorry for the late reply,
Uwe
Hi Juego,
I agree that the help needs some update. Would you be so kind to help me out by editing the page in the Wiki? The included help bundled with my software is auto-generated from the Wiki before each release.
Thanks and sorry for the late reply,
Uwe
Hi Gary,
thanks for letting us know about your free software. Unfortunately, I was unable to download it (problem with the webserver?). Anyway, I also recommend you post it at the wiimoteproject.com forums where you can reach a bigger audience.
Sorry for the late reply,
Uwe
Hi Marc,
please see this post regarding BlueSoleil. In theory, my program shouldn’t work with it and there seems to be no (easy) fix.
Uwe
I have done as you suggested and posted to the forum. Thanks for the tip. Best way to improve it is to get some feedback.
Not sure why you cannot download the software. Only thing I can think of is that I have generated my own certificate for HTTPS which is not root signed. You may have been presented with a screen asking you to accept it.
Anyhow, I have opened up an unsecure port temporarily so you should at least be able to get a copy from http://www.intellectfactory.com:9998/downloads.html. If not look at http://www.intellectfactory.com:9998 and click the downloads link directly.
Thanks again
Gary
Hi there
I would like to do the above, but everytime i try, the app thinks that im using both wiimotes on the same screen. Is there anyway around this? can the application ignore one Wiimote and just use one that is in the same room?
Thank you for reading
Jermyn
This may have a simple answer but I’ve working on it for hours and can not figure out how you added “Java Advanced Imaging” in the jar archive. What do you have to do to install it?
On the JAI site you (I am also using windows) there are the four download options. I’ve tried each one and installed the exe and include the JAR file in the cross path. Not sure what i am doing wrong.
You are right. Bluetooth need to be on.
I’m thinking it’s the LED light I have. Will have to keep pursuing this.
Thanks,
Adam
Thanks for this excellent piece of software – I never got to run the Windows version (stuck at connecting with bluetooth).
I was interested in the touchpad mode, so I ticked it on in the Prefs. However… nothing happened and everything behaved normally.
Instead of calibrating my screen, I calibrated using a rectangle piece of paper on my desk. I thought that enabling the touchpad mode would have allowed me to move the pen which would in turn move the pointer (that, in fact, happenned), but not proportionnally to the screen. More like a mouse: you move it to the end of the mouse pad, lift it, move it again to the same end of the mouse pad and you made a long movement on the screen.
I’m not sure if I’m being clear…
If not I apology and thank you again, because this really rocks!
I want to start by saying I love the product and I want to try and integrate it into as many classrooms as I can. The teachers at my school in general are not that tech savvy, but would like to integrate more technology into the classroom. So as a rule of thumb the simpler to use the better.
The biggest problem right now is that the teachers need me to setup the wiimote whiteboard every time they want to use it. I would like to mount it to the ceiling so they are safe from students and ready for the teachers when they need them. However, that makes hitting the 1 and 2 button very inconvenient for the teachers, is there any other way to turn on the wiimote and make it discoverable without having to physically use the remote? Also if I do mount the remotes to the ceiling is there anyway to avoid repeating the calibration process every time the program is turned on (can I make a default calibration)?
Thanks,
Brendan
Hi Jermyn,
this hopefully solves your problem.
Sorry for the late reply,
Uwe