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

Hello and sorry if this post doesn’t match with your forum,
I’m a french student of the engineering school of computer sciences : ENSI de BOURGES.
My friend, MARC Alexandre, and I are working on a project using Wiimote Whiteboard and
for this purpose, I translated the Wiimote Whiteboard Java documentation in french.
If you are interested in, please check the following link and give me some feedback :
http://guillaume.aujay.free.fr/fichiers/Help-fr.zip
Presentation tool allowing you to write on your screen.
http://mathmac1.anu.edu.au/~neville/scribblescreen/
I am excited to try this software! However, after at least 20 attempts and multiple downloads I am getting “Bluetooth failed to initialize. There is probably a problem with your local bluetooth stack or API.”What does this mean?
I have been able to connect the Wiimote using DarWiin.
My computer is
iMac7,1
Intel Core 2 Duo
2.4 GHz
L2 Cache: 4 MB
Memory: 1 GB
Bus Speed: 800 MHz
Boot ROM Version: IM71.007A.B00
SMC Version: 1.20f4
Thank you for your help!
hi again = ) , ok o.o .. i try to compile the source on netbeans and Eclipse, and both gave me errors to find some archives..
i import the source and all… and try a lot to put the main in the correct place, but dont work, if u can say me how to compile from ide a will thanks alot = ) (from ant and the xml file i can compile but i want to see the program on ide like netbeans and things like that.. for my particular classes on java) and again, thanks and sorry for my bad english, and i can traslate a little from english to spanish = ) if the users want help in spanish , if u want pass me ur email = ) a lot of thanks
I am running Windows XP sp2 with a MicroInnovations bluetooth device. I got a “Not supported on winsock” runtime error when trying to connect to a Wii peripheral using bluecove. I tried to install widcomm drivers but got a “No Bluetooth device was detected” error in trying to install them.
I solved my problem by following the instructions on this page: http://www.telusplanet.net/public/wladykad/
Supposedly the instructions apply to Vista as well as XP. Note that my bluetooth device was not listed on their site, but the steps worked anyway.
Note: for the “Turn off notebook Bluetooth” step, I had to follow these instructions: http://support.microsoft.com/kb/889814
Hi Guillaume,
thanks a lot for sharing this with us!
It would be even better if you could directly add the french translation to the Wiki. You should be able to figure out how to do this by looking at the already translated pages. If not, I’ll be happy to explain it to you.
Uwe
Hi Andy,
please read these posts: 1, 2, 3, 4, 5.
Uwe
Hi Kurizuto,
you didn’t add the required libraries (the jar files in the folder lib) to the build path. How to do this depends on the IDE you’re using.
I don’t know what you actually want to change in the code, but I suggest you read something about the Java basics first.
I already have a Spanish translator for the user interface, but feel free to translate the documentation in the Wiki.
Uwe
Thanks for sharing!
Uwe
Thanks for sharing!
Uwe
I have same problem with my Sony VAIO VGN-FE21H with also a Toshiba stack.
thanks for all, all now works perfect = )
a lot of thanks
I tried to use Corkboard with wiimote whiteboard and TUIO-messages, but right&left are inverted, do you know if the error is in the code of Corkboard or in your code?
http://code.google.com/p/corkboard/
Hope you can help,
toco
I’ve contacted the programmer of Corkboard,
he inverted the picture, because he used a Inverted Webcam you just have to change one line and it should work.
hey uwe,
i can calibrate fine and, using tracking for my laptop screen or watching the calibration details or ir monitor, it appears as everything should be working fine, but when i try and actually use the mouse tracking with a projector my mouse gets stuck on the right hand side of my laptop screen. i can see it tracking my vertical position correctly, but it won’t work with external projector at all anymore because of this.
i didnt have this issue with 0.9.7 and i can’t find anywhere to redownload that version on your site. could you possibly email me a link for the 0.9.7 or give me an idea about how to fix this problem?
many thanks.
.brian
Hi toco,
it surely would be easy to change. However, I won’t do it since most users want it the way it currently works; at least nobody complained so far.
You can make up for the inverted TUIO data by flipping the upper and lower calibration points. There are two ways to do it:
* Edit the calibration data after a successful calibration, see this post how to edit the data.
* Do the calibration in a different order: Upper right, Upper left, Lower left, Lower right. The problem with this approach is that you don’t see the calibration points.
Sorry for the late reply,
Uwe
Hi Brian,
please give me more details about your setup: number of attached displays, whether you use the primary, secondary, etc. display, display resolutions, screenshot of the main window.
I uploaded version 0.9.7 to http://senduit.com/fc179d.
It will expire in one week.
Sorry for the late reply,
Uwe
Just bought my Wiimote today, after downloading and checking out your implementation. Great job, absolutely amazing stuff, truly has the potential to change educational delivery on a global scale.
Now, I’m tempted to re-learn how to code (haven’t written code in over 10 years), so that I can try to implement InkWell handwriting recognition on this….
Yes shure,
the Corkbord works very well now, I changed the in TUIOClient.m in the TUIO-Framework.
On line 215 it says:
CGPoint newPoint = { 1 – point.x, 1 – point.y};
Change that to say
CGPoint newPoint = { point.x, 1 – point.y};
The same thing happens to me, have you solved it?
Does this software allow me to do both right and left clicking, along with dragging, because i do lot of work on C.A.D.
Hi Michael,
the software currently supports right clicks, but not drags with the right mouse button pressed. Dragging will very likely be supported in the next version of the software. See the documentation for more details.
Uwe
I have downloaded the current version 9.8, on my new iMac and it works great. However, I use an older ibook at school and am so excited about this technology, that I do not want to get disappointed if it does not work. I have built my own IR pen, I think I can find a way to mount the wiimote, but I need to know if this will work on an older mac. Thanks for including mac users.
Hi Brad,
the application requires Java 1.5 or later which Mac OS X 10.3.9 unfortunately doesn’t support.
Please see these two posts for more details: 1, 2.
Uwe
Hi Uwe et al,
We use the Wiimote in one classroom with excellent whiteboard software: Jarnal
http://www.dklevine.com/general/software/tc1000/jarnal.htm
Our IR pen manual can be found on:
http://wyxs.net/web/wiimote/digital_whiteboard.html
Kind regards and thank yoiu for your wonderful work.
Dirk
Hi Uwe,
Your soft works very well. Thank you very much for your efforts.
After using it “basically” as a mouse, I was wondering if it is possible to use it with InkWell feature of Mac OS X, like Wacom devices for example.
But I have not found the way to “force” Inkwell to use the mouse as input device. It seems it really expect a pen. Any idea ?
Hi Uwe
Ich hoffe ich falle nicht unangenehm auf, da ich auf deutsch frage.
Ich bin Medientechnikstudent und denke über ein Bachelorarbeit in der Richtung Headtracking nach.
Meine Frage(n):
Was genau liefert die Wiimote? X-Y-Z- Raumsignale?
Kann man die eigehenden Signale auch mit C++ verarbeiten?
Gibt es diesbezüglich eine Art Grundklasse?
It would appear that I am a little late to the whole scene but I think I have a very interesting suggestion. I don’t have the time to learn JAVA or C# and don’t feel much like programming these days (unless we can do it in ASM).
I have a few relevant qualifications and years of experience in gadget related fun and vocation. I have just been made aware of the johnnylee stuff and have immediately started to play with it. I have a MUCH better suggestion for the implementation of the RIGHT CLICK but I have neither the time nor the patience to play with the software. Would it not be more sensible to use a similar system to the Apple Mac trackpad for the LEFT, RIGHT and SCROLL features?
Have the tip of the pen operate as a normal mouse then add a second IR LED to the back of the pen. Have the software differentiate between ONE LIGHT and TWO LIGHTS such that the flash of the TWO LEDs would mean RIGHT CLICK but the TWO LAMPS MOVING together would imply SCROLLING.
I should also share this concept with Johnny Lee.
Please tell me what you think of this idea? It would be very interesting to see it implemented (in both the Windoze and Mac versions). I eventually want to have the system running on Windoze, Solaris, Lynux and OS X as I am in the process of setting up a new college here in Sydney and would like to use this to make my classrooms technically advanced without costing a fortune.
I look forward to hearing from you.
Dan (A.K.A. Stark Raving Lunatic)
P.S. Time flies like an arrow and fruit flies like a banana!
Hello,
I appreciate your program. I no longer have Windows; I only have two MacBooks with built-in bluetooth. I cannot seem to load the program, either the Mac-specific application or the Java based program. It tells me that “Bluetooth failed to initialize. There is probably a problem with your local Bluetooth stack or api.” I downloaded BlueCove, but I have no idea if that is the problem or how to actually install BlueCove. The directions say to copy Bluecove.jar to the classpath. Would you have any idea what this means or what the problem might be?
Thank you for any help you can provide.
Hi Christian,
I’m afraid I can’t help you. I did a quick search and just found these 2 pretty old threads: 1, 2.
Sorry for the late reply,
Uwe