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

Well, here’s the new story. I got an IOGear BT stick and plugged it in. It works better than the Kensington or the built-in BT from the MBP.
But still not good enough. It picks up smooth and steady when I aim the pen right back at the wiimote, but when I use it as a pen to draw on the board/monitor, it picks up nothing, or very very little. It’s very jittery (if visible at all!) when I aim it at the screen. In fact, I ran a test with it and only got it to pick up a reliable signal from the IR pen when I had the wiimote less than 4 feet from the screen.
Then I BootCamped into Windows XP and tried it there. I used the IOGear stick and Johnny Lee’s software and everything was wonderful. Then I tried it with your software and it was horrible. Just like before. I tried it (in Windows) from only 6 feet away and it would not pick up any IR dots. When I used Johnny’s program it was fine.
What could be causing this? What else could I try?
In case anyone is curious, I am using an IR pen made from a Radio Shack IR LED and one AAA battery. I don’t know if this helps. Any ideas on how to make a brighter pen?
Hi Descalzo,
I’m honestly clueless why you’re having this problem since I assume you’re using the exact same setup (same monitor, IR pen, etc.) to run both tests. I also can’t imagine that it is a Bluetooth issue.
Same here. But my IR LED is too weak and I actually haven’t used Johnny’s program on Windows to do a comparison. I’ll do some more tests…
Btw: The new version is out!
Uwe
Hi
I wanted to use this, because it would be very usefull as a teacher. But there’s one problem. I got myself a wiimote this afternoon, but when I start your program I keep getting the error-message:
‘Error sending data’
Am I missing something?
Brendan
I tried it briefly on
Heya,
I tried it briefly on a Macbook, with an Apple remote. That worked, and I could sortof ‘click’ (cover was still on the Apple remote, and of course it flashes rather than lights up), but some time of random clicking, I got the “Error sending data” as well.
Other than that, it did work, and that’s great! Going to consider putting together a pointing device (pens suck as a form factor, I’m gonna see if I can find what I want
)
Did the programm immediately quit after the error message or did it continue to work “normally”?
Btw: I just uploaded pictures of the IR pen I made (also slideshow on this page below the demo video).
Uwe
No, the program didn’t quit. I can only click ‘ok’ on the error-message, but then it reappears. Forced stop works and also pushing the home-button on the wiimote. If I do that and I instantly restart your program it works. very strange indeed.
Brendan
Dupe of Brendan’s problem with same configuration (MB & a Remote). Here’s the java stack trace:
java.io.IOException: Error sending data!at wiiremotej.WiiRemote.sendCommand(WiiRemote.java:502)
at wiiremotej.WiiRemote.requestStatus(WiiRemote.java:809)
at org.uweschmidt.wiimote.whiteboard.WiimoteDataHandler$1.run(WiimoteDataHandler.java:98)
at java.lang.Thread.run(Thread.java:613)
Caused by: java.io.IOException: Connection closed
at com.intel.bluetooth.BluetoothStackOSX.l2Send(Native Method)
at com.intel.bluetooth.BluetoothL2CAPConnection.send(BluetoothL2CAPConnection.java:113)
at wiiremotej.WiiRemote.sendCommand(WiiRemote.java:498)
... 3 more
java.io.IOException: Error sending data!
at wiiremotej.WiiRemote.sendCommand(WiiRemote.java:502)
at wiiremotej.WiiRemote.requestStatus(WiiRemote.java:809)
at org.uweschmidt.wiimote.whiteboard.WiimoteDataHandler$1.run(WiimoteDataHandler.java:98)
at java.lang.Thread.run(Thread.java:613)
Caused by: java.io.IOException: Connection closed
at com.intel.bluetooth.BluetoothStackOSX.l2Send(Native Method)
at com.intel.bluetooth.BluetoothL2CAPConnection.send(BluetoothL2CAPConnection.java:113)
at wiiremotej.WiiRemote.sendCommand(WiiRemote.java:498)
... 3 more
This happens consistently 60 seconds after the wiimote connects. Does the code do a status check on the wiimote then?
More info: the previous release did not have this problem. Also, when run with BlueCove debug enabled, nothing appears abnormal.
Hi, I also got the Error sending data! once today. I looked around the WiiRemoteJ forum and found this:
* Strange Problems with WiiRemoteJ und MacOSX 10.5.1 Leopard
* Strange behaviour under MacOSX
Right now errors message are simply forwarded to the GUI. The reason for that is they would otherwise be unnoticed and the user has no idea what’s going on. I cannot really do anything against these errors since they come from libraries that I just use. I can only change my program to behave more “nicely” when they occur. Instead of displaying a blocking error message there could be an “Error Log Window” or something like that. In case of severe errors the program could gracefully reset itself to initial state or do a reconnect (I have to investigate into that). Other suggestions?
I guess that’s because all errors were simply ignored
Yes, I do a status check every minute to update the battery level. Does the program work normally until the error occurs?
Uwe
I can’t get my MBP to connect to the Wii remote. Is there a process i must follow? Do I need more than just the remote? My bluetooth was on, discoverable. Im running 10.5.1 I have not upgraded to 10.5.2 yet. Could that be the issue? It baffles me as to why i can’t view the remote. Does it show up as a ‘wii remote’?
In the preferences when I did a search, I had selected ‘All Devices’, as there wasn’t an option for remotes…but i only picked up cell phones.
Any suggestions would be helpful!!!
Hi George,
everything is described in the help files accessible via Help ? WiimoteWhiteboard Help in the current (Mac) version of the program. Post again if you still have trouble connecting.
I’m running 10.4.11.
Uwe
Hi,
I was happy to see that this software works on my laptop screen, but I can’t use it on a real white board…
When the wiiwote is 3 meters far from the whiteboard, The IR dot is not “seen” by the wiimote…
It works fine with johnny’s soft (up to 6 meters), but when I use your soft (exactly with the same hardware configuration), I can only use it up to 1 meter…
My IR pen is made of an IR led running at 3V, 130 mA (Not the problem, because it works whith johnny’s soft), no flashes are used…
I don’t know where it comes from…
Regards.
Julien
Thanks for the tips Uwe. I was able to connect the two, however I have a very hard time calibrating anything with my ir pens. One of them is IR LED with 940nm, but I need to have the wii remote almost directly over the pen, otherwise nothing happens. If I use the apple remote, it works but only a bit. I can calibrate, but I find it’s choppy when moving around the screen.
Could it be that my IR LEDS are not powerful enough?
Hi Julien,
Descalzo apprently has the exact same issue. I guess one has to find out the differences between the different Wii Remote libraries, used in my and Johnny’s program, to solve the mystery. That could be difficult…
I actually got my program working today on WinXP SP2 with a recent WIDCOMM stack. Now I can test the difference between my and Johnny’s program as well.
Hi George?, I guess you take a look at the wiimoteproject.com forums, especially the support forum for the Wiimote Whiteboard. I’m sure you’ll find valuable information there.
Uwe
Finally, I got this thing to work. My IR LED were the problem. I took one out of an old remote and switched it and voila…worked like a charm. I find opening folders to be a bit challenging but other than that it works.
Only wish I could ‘draw’ without being in a drawing program…like being able to make circles or write on the screen when a web page pops up. OH well…beggers can’t be choosers though.
Do you accept donation?
I’m glad you got it working, George.
I guess that’s because you’re always jittering a little bit with your hand and the sensor values are also not always stable. It’s less of a problem if you use it with a big screen or projector though.
Yeah, that could be cool. But I don’t think this functionality should be added to the program.
In my opinion, a program should only do one ‘thing’ but do this really well.
The good thing is that you can just use existing programs which make use of the standard mouse. I found Desktastic with a quick search. It apparently does all what you want, I haven’t tried it though.
I actually put a PayPal donate link (“buy me a drink”) on this very page under Support when the new version came out.
Donations are gladly accepted as a form of “Thank you”. I do however not accept donations as a form of payment for requested features. My motivation behind this software is not financial.
So decide for yourself if you want to make a donation
Enjoy,
Uwe
Dear Uwe,
It seems that you use the same library as wiiremote. I had the same (low range) problem when I used wiiremote : Dots where invisible if I was too far (> 1m), so it seems that the library is the key of the problem…
Regards.
Julien
BTW, I’m also getting the error message. It really only becomes a problem when I need to re-calibrate the screen, as the error message doesn’t allow for that, which means I must FORCE QUIT. Other than that little bug, it works okay.
Hi Julien,
I directly compared my to Johnny’s program today. I have the exact same issue of a low range with my program.
What library (“wiiremote”) are you talking about?. I use WiiremoteJ.
I’ll take a look at the Wiimote library that Johnny uses in his C# program. Unfortunately I cannot compare it to WiiRemoteJ since it’s closed-source. I’ll talk to the developer of WiiRemoteJ…
Does that mean that software is working fine although the error message pops up?
This bug will be fixed in the new version for sure. I started to implement some sort of Error Log that can be displayed on demand…
Uwe
Hi Uwe,
I was tryins to say that when I use the soft wiiremote (showing acceleration with graphs, IR dots, Wiimote keys, etc…), I have a low range problem. I have the same problem using your soft (that’s normal because it uses the same library). That’s nice if you can have a look, I hope that wiiremote developer can help.
Just a suggestion for right click : I think that it would be better (if possible) if the user can right click once the second is over. Actually, right click happens when you release the button, but I prefer to wait 2 or 3 seconds to be sure that it works. I mean that the right click should happen directly at the end of the second without releasing the button…
Thanks.
Julien
Hi Julien,
Wiibrew says that there are three known to work IR camera sensitivity settings. Johnny Lee’s program uses this Wiimote library which uses the maximum sensitivity settings. I assume that WiiRemoteJ might use another one. I actually wrote the developer of WiiRemoteJ an email about it a couple of minutes ago.
The right mouse button is pressed after one second and released again if the IR pen is turned off. A click is the combination of press and release.
So you’d prefer that a right click is executed immediately after the 1 second delay?
It’s of course possible but raises one question: After the right click is executed, both mouse buttons are released, but the IR pen might be still on. How are you handling this case? Do you simply ignore all IR data till the pen is turned off and on again? Just proceeding normally wouldn’t be good since each right click would automatically be followed by a left button press. Do you understand what I mean?
Edit: You can change the default delay from 1 second to another value in case you didn’t notice. Just have a look at the preferences (either standard preferences on a Mac or Edit » Preferences on Windows)
Uwe
Hi Uwe
I was wondering about sensitivity… It would be nice if wiiremote allows to change this setting. Let us know
About right click why not try this :
ACTION———————————————————–MOUSE STATE
IR on (moving)————————————————-Left click pressed
IR on (not moving during 1 second)——————-Right click pressed and released
IR on (moving to select list item)———————–Both mouse buttons released
IR off (above item you want to select)—————-Left click pressed and released
In case you want the box to disapear, you only have to release IR pen button outside the item box.
Once this is done (item selected or item box closed), the IR pen is off. Next time it will be on, it turns back to normal (left clic pressed).
Is it possible ?
Julien
Hi Julien,
The new version is out! And it now uses the same sensitivity settings as Johnny’s Windows program. This was only possible due to the new release of WiiRemoteJ that came out today as well.
Your conception for right clicks is possible. Although I can’t find out what’s “under” the mouse cursor. Thus I don’t know if you’re trying to select a list item or do something else. But it’s doable in general. I’ll include this alternative right click implementation in the next version if time permits.
Uwe
It works now. I got it to work on my old TiBook. It works like a champ. Thanks.
Hello Uwe!
I am a computer specialist at Swallow Union Elementary school. I have become extremely interested in the wiimote whiteboard project, and am trying very hard to get this to work, but I continue to receive the ‘Error Sending Data’ message. What does it mean?
I have a bluetooth enabled MacBookPro running leopard. I downloaded the latest version of your software. I am pointing my wiimote at the probook monitor and hit the 1 and 2 buttons. Then I open up the software (I get the message that a new version is available everytime I open the Wii Whiteboard software, I say ‘no’), and then the software starts to look for the wiiremote, but ends in the ‘error sending data’ message. I have seen the error mentioned in other posts, but I did not see what to do to correct it.
Thanks for all you do! This project has amazing possibilities! There is no way we could afford to have this kind of functionalitiy in the classroom!
Julie
Hi Julie,
This error message is just forwared from a library that I use to connect to the Wiimote. I can’t tell you details beyond the obvious meaning.
You can turn off this update check (in the preferences) if you want . But I higly recommend to always use the latest version of the software. The Error Sending Data issue might even be fixed in the current version. Just give it a try. The changes from one version to another are listed in the file CHANGELOG.txt that comes with the application.
I just got Leopard today and will thus be able to investigate into the Error Sending Data problem in combination with Leopard.
Uwe
The new version (just got it today by chance) works like a charm under leopard. The older version was a bit buggy. It was laggy and the error message would not go away. Under the new version the lag issue has been resolved it is a bit more accurate and the error message is gone away. I find the clicking is a bit more improved as well.
If anybody is an educator the software also works great in combination with smartboard notebook http://www.smarttech.com (its a free download)
Good Job on the upgrade.
P.S….will a higher output IR LED allow for the wiiremote to be placed further away from the board? I currently can only have it about 1.5 meters away. Anything further than that and it doesn’t work.
@George:
This is a quote from the SMART website: Please note that SMART software is permitted only for use on SMART products.
So this software can not be used (legally) with Uwe’s software.
I still only can see
Uwe,
I still only can see IR sources if I run the application via the command line using “java -jar …”. Running the application (on the mac) or double clicking the jar starts the program, but I can’t seem to detect the IR pen.
I also see the error sending data error above, but only some of the time. I’ll try to send you the error next time I see it.
Thanks,
Josh
OS X 10.4.11 MBP
I have tried the new version of your program (same hardware) and it still not compares to the original Johnny Lee on a Windows PC – It seems that the sensitivity setting is not enough to explain the difference – with your software I am back to the situation I had with less bright LEDs…jagged and broken lines when drawing and loosing windows when I move them. Using Johnny Lees app eliminates these problems totally.
Other than that it is great software !!! – but I´m back to the long startup with Bluetooth connecting and imouse or Dmouse as free rightclick apps running too. I hope you solve the problem – in the mean time I am going to try out even brighter LEDs.
Mogens