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,259 Responses

  1. Dan says:

    Hello, Trying this at our school. Using macbook 13″ white unibodies. Is there an issue with NON-NINTENDO wii remotes? Or does anyone know of a mac based forum that would have a list of working bluetooth adapters/wii remotes (original or clones)? Has anyone successfully connected to the 13″ macbooks with 10.6 and a clone remote?

    Thanks,
    Dan.

  2. Andrew says:

    Hi Uwe,

    I recently bought a wiimote in the hopes of using it with my iMac (10.6.8).

    The version they had in the store was the one with ‘MotionPlus inside’. It shows up as ‘Nintendo RVL-CNT-01-TR’.

    Do you know if this device is compatible? I can’t connect it through your software or even pair it using the Mac’s ’setup bluetooth device’.

    Thanks,
    Andrew

  3. Allen says:

    I’m pretty sure the maker if this software has completely forgotten about this website, the last time he posted here was in 09, it’s 2012, i myself have unsubscribed from updates, your best bet is to find an active forum for this type of thing.

  4. Dave says: in reply to Dan

    Disclosure: In the interest of openness please be aware that I sell Wii whiteboard solutions.

    We have tried various non-Nintendo Wii remotes and whilst they can work the quality of the camera is certainly an area where all of the 3rd party remotes that we have tested have cut costs. Nintendo remotes can work from a far greater distance from the board and consequently can cover much greater areas. Many 3rd party remotes lose their ability to ’see’ at distances greater than 2 metres whilst we have used Nintendo’s successfully at more than 6 metres.

    We have used both original and motion-plus remotes successfully with Windows and Smoothboard software but have not tried these on the Mac – Smoothboard does have a Mac version of the software, but it is not free.

    Afraid we cannot comment on Mac bluetooth connectivity ( I really must get a Mac :) , on Windows since XP Service Pack 2 the native bluetooth drivers work so essentially any bluetooth dongle will work so long as you don’t install its own drivers.

    Dave
    irpens.co.uk

  5. Andrew says: in reply to Allen

    Hi Allen,

    Thanks for your response. I did notice the lack of activity but gave it a shot anyway. I’ve seen some other mentions of the new wiimote on different sites. Despite being intended for the same device (the wii), it seems like a few alterations have to be made for independent software to be able to read its output properly. I haven’t seen anyone who has got it completely figured out yet but the new controller is only 2 months old or so. This does mean, however, that without an update this whiteboard software will never work with newer wiimotes.

    I’ll turn my attention elsewhere. In the meantime I ordered an old wiimote. :)

    Andrew

  6. Dave says:

    We’ve been using the motion-plus remotes with Windows and there was no changes required using the Smoothboard software that Boon Jin sells.

  7. Andrew says: in reply to Dave

    That’s interesting.

    BTW there are 2 new versions of the wiimote with motion plus. The newest of the two (with a TR at the end of the device name) was only released late last year and is difficult to get in some parts of the world right now. Perhaps you’re thinking of the earlier version? I know that others had no issues with that one either. Of course I could be wrong.. see http://wiibrew.org/wiki/Wiimote#SDP_information

    Andrew

  8. Guénard Xavier says:

    Hello

    I am a french teatcher, and i implemented a wiimote whiteboard installation in my classroom, which works well with smoothboard. But i would like to try wiimote whiteboard java as well. I installed java on my eeepc 1001 PX with windows 7 starter edition, and when i launch the file “Lancement WWBat.bat” with the command “java -jar “C:\Program Files\WiimoteWhiteboard\wiimotewhiteboard.jar”, the software Whiteboard opens itself, i click on the two 1+2 buttons on my wiimote, and then i have a windows message that tells me : “Wiiremote failed to connect ! Not supported on winsock. La connexion a échoué. merci d’essayer à nouveau”.
    Each time i tried i have the same problem. What could i do the solve the problem?
    Thanks a lot to everybody.
    Regards

  9. Gerard Bekking says:

    After installing WhiimoteWhiteboard on debian 6 I only get the following error message:
    Bleutooth failed to initialize.
    There is probably a problem with your localo Bluetooth stack or API

    Thank you for looking in to this

  10. Uwe says: in reply to James McLain

    Hi James,

    With a google search, it seems that if I had turned on screen 2 and re-started the Java Wii broard program the targets would all fit, and be on the projected image. Is this true?

    my app fetches all connected screens and their resolutions upon startup. Hence, it will not adjust when you attach screens or change the resolutions after it’s been started.

    Also is there a text file or settings screen where I could FORCE Java Wii whiteboard the the screen and resoution that I want?Thank you.

    The calibration settings are written to an ordinary text file, which you could manually change or overwrite if you want. Where this file is stored depends on you operating system…

    Sorry for the late reply,
    Uwe

  11. Uwe says: in reply to Adam Coppock

    Hi Adam,

    The only time whiteboard will even open up is if my bluetooth is on but then the mouse goes crazy when it finds the remote. What do you recommend?

    this sounds like everything is working, there are just other sources (sunlight, lightbulbs, etc.) of infrared light my app recognizes and hence uses to control the mouse.

    Sorry for the late reply,
    Uwe

  12. Uwe says: in reply to Tom

    Hi Tom,

    Have you had any issues using wii remotes on OS 10.7?

    I’m running 10.7.2 myself and it works. Although I can’t comment on whether the connection process is more unreliable as compared to previous versions of the OS.

    Sorry for the late reply,
    Uwe

  13. Uwe says: in reply to Aries S. Perez

    Hi Aries,

    Hi, is there a way for you to come up with the same smart board app for the iPad 2 as well?

    I won’t do it and I’m not sure if this is even possible at all, i.e. whether Apple provides the necessary (low-level) access to Bluetooth.

    Sorry for the late reply,
    Uwe

  14. Uwe says: in reply to Brad

    Hi Brad,

    HELP ME!I have all 4 “Visible IR dots” seen, by adjusting my lighting, but can’t get my IR pen to calibrate.Any suggestions?

    from your error log it seems that the problem occurred when my app tried to connect to another, second, Bluetooth device. If you only need one Wiimote, use the runtime option org.uweschmidt.wiimote.whiteboard.wiimotes set to 1.

    Sorry for the late reply,
    Uwe

  15. Uwe says: in reply to Dante Buckley

    Hi Dante,

    Just wanted to let you know that this was a great starter project for our Teched Out club…got any more hands on projects with this equipment?

    you might find the Wiimote Logger interesting, which let’s you record data that you can analyze later with any spreadsheet program.

    Sorry for the late reply,
    Uwe

  16. Uwe says: in reply to Allen Balkema

    Hi Allen and eduardo,

    i just keep getting this error saying could not connect and “not supported on winsock”…

    please read the FAQ about this problem.

    Sorry for the late reply,
    Uwe

  17. Uwe says: in reply to ros

    Hi ros,

    I really want this to work on my linux laptop so I can use it in school…
    Caused by: javax.bluetooth.BluetoothStateException: BlueCove com.intel.bluetooth.BluetoothStackBlueZ not available…

    please read the FAQ about this issue.

    Sorry for the late reply,
    Uwe

  18. Uwe says: in reply to John

    Hi John,

    Will Wii Whiteboard work with a Low-Cost Multi-Touch Sensing through Frustrated Total Internal Reflection?

    I’d speculate that this is possible in theory, but the image might be too noisy for the Wiimote to “see clearly”.

    Sorry for the late reply,
    Uwe

  19. Uwe says: in reply to YikWah

    Hi YikWah,

    Hi there! I have a problem pairing my wiimote to my macbookpro (OSX 10.7.2). My wiimote times out before it is able to be paired to my computer, and then whiteboard cannot find my wiimote.

    you shouldn’t pair the Wiimote to OS X, since my app handles the entire connection process. It probably helps to disconnect the Wiimote from OS X…

    Sorry for the late reply,
    Uwe

  20. Uwe says: in reply to Dan

    Hi Dan and Andrew,

    Is there an issue with NON-NINTENDO wii remotes?

    the clone Wiimotes are problematic to the best of my knowledge. At least the Nyko Wand doesn’t seem to work. I don’t have any clone Wiimote to test this myself.

    The version they had in the store was the one with ‘MotionPlus inside’. It shows up as ‘Nintendo RVL-CNT-01-TR’.Do you know if this device is compatible? I can’t connect it through your software or even pair it using the Mac’s ’setup bluetooth device’.

    On the other hand, the newer Wiimote model with integrated MotionPlus should work just fine, as I have one of those myself and successfully connected and used it.

    Sorry for the late reply,
    Uwe

  21. Uwe says: in reply to Andrew

    Hi Andrew,

    BTW there are 2 new versions of the wiimote with motion plus. The newest of the two (with a TR at the end of the device name) was only released late last year and is difficult to get in some parts of the world right now. Perhaps you’re thinking of the earlier version?

    I probably have one of these earlier Wiimotes with MotionPlus, don’t have it here right now to check.

  22. Uwe says: in reply to Allen

    Hi Allen,

    I’m pretty sure the maker if this software has completely forgotten about this website, the last time he posted here was in 09, it’s 2012,

    I have not forgotten about my website, although you’re right that I don’t post much and haven’t done so in a while. Btw, my last comment before today was from summer 2011, and not 2009.

    i myself have unsubscribed from updates, your best bet is to find an active forum for this type of thing.

    I personally don’t use my application in practice, hence I agree that your best bet to find solutions to the most common problems is actually to “talk” to other people at forums like wiimoteproject.com.

    Uwe

  23. Uwe says: in reply to Guénard Xavier

    Hi Guénard,

    …i click on the two 1+2 buttons on my wiimote, and then i have a windows message that tells me : “Wiiremote failed to connect ! Not supported on winsock. La connexion a échoué. merci d’essayer à nouveau”.

    please read the FAQ about this problem.

  24. Uwe says: in reply to Gerard Bekking

    Hi Gerard,

    After installing WhiimoteWhiteboard on debian 6 I only get the following error message:
    Bleutooth failed to initialize.
    There is probably a problem with your localo Bluetooth stack or API

    please read the FAQ about this issue.

  25. max kleemann says:

    I bought a wiiremote Plus today. I am working on a MacBook Pro 13″ Snow Leopard. I can’t get it to work with wiimotewhiteboard and need some help. If this is not the place to post something like that, it would be very kind if you could tell me about the appropriate place.
    When I launch the WiiMoteWhiteboard mac-app nothing happens when I press button 1+2 on the wii (although the wii’s blue buttons are blinking)
    when I check the log of wiimotewhiteboard I get:

       FINE     15:50:54  WiiRemoteJ: Found Nintendo RVL-CNT-01-TR (2C10C153998B)
       FINE     15:50:54  WiiRemoteJ: Nintendo RVL-CNT-01-TR is NOT a known device.
    

    any clue what that means?
    If I co to console.app I get:

    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		... 18 more
    04.02.12 16:01:35	[0x0-0x1fe5fe4].org.uweschmidt.wiimote.whiteboard.WiimoteWhiteboard[25157]	BlueCove version 2.1.0 on mac
    04.02.12 16:01:36	[0x0-0x1fe5fe4].org.uweschmidt.wiimote.whiteboard.WiimoteWhiteboard[25157]	Feb 4, 2012 4:01:36 PM org.uweschmidt.wiimote.whiteboard.calibration.WiimoteCalibration notifyListener
    04.02.12 16:01:36	[0x0-0x1fe5fe4].org.uweschmidt.wiimote.whiteboard.WiimoteWhiteboard[25157]	INFO: Calibration Event: SCREEN_CHANGED
    04.02.12 16:03:15	[0x0-0x1fe5fe4].org.uweschmidt.wiimote.whiteboard.WiimoteWhiteboard[25157]	BlueCove stack shutdown completed
    

    When I launch the java version I gett a pop-up saying: “Bluetooth failed to initialize. There is probably a problem with your local Bluetooth stack or API”.
    When I go to the console.app I get:

    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]	JarClassLoader: Warning: Unable to load native library: java.lang.NullPointerException
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]	Native Library bluecove not available
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]	java.lang.IllegalStateException: Bluetooth failed to initialize. There is probably a problem with your local Bluetooth stack or API.
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at wiiremotej.WiiRemoteJ.(WiiRemoteJ.java:74)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at org.uweschmidt.wiimote.whiteboard.WiimoteConnector.connect(WiimoteConnector.java:48)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at org.uweschmidt.wiimote.whiteboard.WiimoteDataHandler.(WiimoteDataHandler.java:84)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at org.uweschmidt.wiimote.whiteboard.WiimoteWhiteboard.startup(WiimoteWhiteboard.java:99)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at org.jdesktop.application.Application$1.run(Application.java:171)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:677)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at java.awt.EventQueue.access$000(EventQueue.java:85)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at java.awt.EventQueue$1.run(EventQueue.java:638)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at java.awt.EventQueue$1.run(EventQueue.java:636)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at java.security.AccessController.doPrivileged(Native Method)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at java.awt.EventQueue.dispatchEvent(EventQueue.java:647)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]	Caused by: javax.bluetooth.BluetoothStateException: BlueCove library bluecove not available
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at com.intel.bluetooth.BlueCoveImpl.loadNativeLibraries(BlueCoveImpl.java:381)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at com.intel.bluetooth.BlueCoveImpl.detectStack(BlueCoveImpl.java:434)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at com.intel.bluetooth.BlueCoveImpl.access$500(BlueCoveImpl.java:65)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at com.intel.bluetooth.BlueCoveImpl$1.run(BlueCoveImpl.java:1020)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at java.security.AccessController.doPrivileged(Native Method)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at com.intel.bluetooth.BlueCoveImpl.detectStackPrivileged(BlueCoveImpl.java:1018)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at com.intel.bluetooth.BlueCoveImpl.getBluetoothStack(BlueCoveImpl.java:1011)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at javax.bluetooth.LocalDevice.getLocalDeviceInstance(LocalDevice.java:75)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at javax.bluetooth.LocalDevice.getLocalDevice(LocalDevice.java:95)
    04.02.12 15:58:02	[0x0-0x1fe2fe1].com.apple.JarLauncher[25095]		at wiiremotej.WiiRemoteJ.(WiiRemoteJ.java:67)
    
  26. 熊泽林 says:

    Thanks a lot

  27. Gerard Bekking says: in reply to Uwe

    Hello Uwe

    I tried that with several versions of the library starting with the latest version and it made no difference.
    Would it be possible that an other program or library is interferring ?

    Gerard

  28. jimandy says: in reply to 熊泽林

    In reply to max: I too have a MacBookPro (15) running Snow Leopard and got the older Wii to work. You may have tried this already but here is my procedure.
    1. Turn off Bluetooth (if on).
    2. Turn on Bluetooth but make sure “discoverable” is NOT checked.
    3. Launch the Whiteboard app and try the Wii again (push buttons 1+2)
    4. If you have a problem and want to try again, quit the app and delete the Wii from the Bluetooth list of devices else restarting the app will fail for sure.

    Note: I used a homemade IR pen to interface directly with a 24″ external monitor with Wii about 2 feet away.

  29. Carrie says:

    Hello,
    I am a first grade teacher and I have just begun the wiimote adventure :) I find it much easier to use this program. I have had many problems with smoothboard. I seem to be bumped off the internet quite frequently tho. This was not the case before I started using the wiimote whiteboard. Am I doing something wrong? I like to use the interactive activities from the internet with my kids. Is there a drawing element like smoothboard?

Leave a Reply