uweschmidt.org

42 / π ≈ 13.37 

Wiimote Whiteboard

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.

1,066 Responses

  1. Descalzo says:
    OSX Woes

    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?

  2. Descalzo says:
    More info

    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?

  3. Uwe says: in reply to Descalzo
    Re: OSX Woes

    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.

    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.

    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

  4. Brendan says:
    Error sending data

    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

  5. Nebulous says:
    Heya,
    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 :) )

  6. Uwe says: in reply to Brendan
    Re: Error sending data

    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

  7. Anonymous says: in reply to Uwe
    No, the program didn’t quit.

    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

  8. TechTeacher says:
    re: Error Sending Data

    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.

  9. Uwe says: in reply to TechTeacher
    Error Messages

    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?

    More info: the previous release did not have this problem. Also, when run with BlueCove debug enabled, nothing appears abnormal.

    I guess that’s because all errors were simply ignored :)

    This happens consistently 60 seconds after the wiimote connects. Does the code do a status check on the wiimote then?

    Yes, I do a status check every minute to update the battery level. Does the program work normally until the error occurs?

    Uwe

  10. George says:
    Wii Remote and Mac Connectivity issue

    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!!!

  11. Uwe says: in reply to George
    Connection Procedure

    Hi George,

    I can’t get my MBP to connect to the Wii remote. Is there a process i must follow?

    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.

    Im running 10.5.1 I have not upgraded to 10.5.2 yet. Could that be the issue?

    I’m running 10.4.11.

    Uwe

  12. Julien HORS says:
    It works on windows, but I can’t use it…

    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

  13. Anonymous says:
    eratic pointer

    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?

  14. Uwe says: in reply to Julien HORS
    Strange

    Hi Julien,

    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…

    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

  15. George says:
    FINALLY: IT WORKS

    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?

  16. Uwe says: in reply to George
    Drawing & Donations

    I’m glad you got it working, George.

    I find opening folders to be a bit challenging but other than that it works.

    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.

    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.

    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.

    Do you accept donation?

    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

  17. Julien HORS says:
    Wiiremote library

    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

  18. George says:
    Error Message as well

    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.

  19. Uwe says: in reply to Julien HORS
    Low Range Problem

    Hi Julien,

    I directly compared my to Johnny’s program today. I have the exact same issue of a low range with my program.

    It seems that you use the same library as wiiremote … so it seems that the library is the key of the problem…

    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…

    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.

    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

  20. Julien HORS says:
    Wiiremote + Right click

    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

  21. Uwe says: in reply to Julien HORS
    IR Sensitivity & Right Click

    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.

    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…

    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

  22. Julien HORS says:
    Sensitivity + Right click

    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

  23. Uwe says: in reply to Julien HORS
    New Version & Right Click

    Hi Julien,

    I was wondering about sensitivity… It would be nice if wiiremote allows to change this setting. Let us know ;-)

    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.

    Is it possible ?

    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

  24. Descalzo says:
    Hallelujah!

    It works now. I got it to work on my old TiBook. It works like a champ. Thanks.

  25. Julie Ann Spang says:
    Error Sending data

    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

  26. Uwe says: in reply to Julie Ann Spang
    Re: Error Sending data & Updates

    Hi Julie,

    I continue to receive the ‘Error Sending Data’ message. What does it mean?

    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.

    I get the message that a new version is available everytime I open the Wii Whiteboard software, I say ‘no’

    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

  27. George says:
    0.9.1 +++

    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.

  28. Marc says:
    SMART Software

    @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.

  29. Josh says:
    Uwe,
    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

  30. Mogens says: in reply to Uwe
    Sensitivity in the new version

    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 :-)

Leave a Reply