uweschmidt.org

nothing too important

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, 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.2)

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.

850 Responses

  1. Si says:
    quick question…

    Hi everyone,

    I’m a mac user and I wanted to say thanks for the whiteboard software. It looks great, I’m off to buy my LEDs tomorrow!

    I just wanted to ask, if you’re using two wiimotes, does the software output 8 blobs or just 4?

    I want to try finger tracking, and I was wondering how many inputs I’d be able to use.

    also. does anyone know if there’s a mac version of this media centre out there?

    http://www.multigesture.net/2007/09/17/multitouch-media-application-v2-release/

    I’m trying to create one with XCode, but I’m learning the real basics at the moment and it might well take me forever!!

    Thanks everyone. this is some real cool stuff… I can’t sleep cos I’m too excited about getting some leds… how often does that happen?!

  2. Laura says:
    bluetooth adapter

    If my macbook has bluetooth built in, do I still need a bluetooth adapter? I was looking at a webpage for teachers to build this interactive whiteboard and they recommend the Trendnet Advanced Bluetooth Adapter, but do I need it? Thanks!

  3. Uwe says:
    Re: Connection timeout / Failed to connect

    Hi,

    I’m not really sure what the problem is; and I don’t have Windows Vista to reproduce the error.
    However, what seems odd to me is this part of the trace:

    SEVERE 13:08:27 WiiRemoteJ: Error getting device!

    java.lang.IllegalStateException: cannot open system clipboard

    at org.uweschmidt.wiimote.whiteboard.gui.LogWindow$LogHandler.publish(LogWindow.java:101)

    I just set the cursor position to the end of the text in the Log Window so that one doesn’t have to scroll down to see the latest messages. I’m not sure whether this plays a part in your problem or is just an unrelated issue.

    Sorry for the late reply,
    Uwe

  4. Uwe says:
    Re: quick question…

    Hi,

    I just wanted to ask, if you’re using two wiimotes, does the software output 8 blobs or just 4?

    The number of dots is 4 at maximum.

    does anyone know if there’s a mac version of this media centre out there?

    http://www.multigesture.net/2007/09/17/multitouch-media-application-v2-release/

    I’ve actually used this app on my Mac; it works just as any other Flash app.
    See this previous post that explains TUIO, Flash and Multitouch.

    Sorry for the late reply,
    Uwe

  5. Uwe says:
    Re: bluetooth adapter

    Hi Laura,

    If my macbook has bluetooth built in, do I still need a bluetooth adapter?

    No, not in combination with my software. Using a 3rd-party Bluetooth adapter may work, but the internal one is probably better supported.

    I was looking at a webpage for teachers to build this interactive whiteboard and they recommend the Trendnet Advanced Bluetooth Adapter, but do I need it?

    Maybe this webpage was talking about the situation on Windows machines.

    Sorry for the late reply,
    Uwe

  6. Uwe says:
    Comments

    As you’ve probably noticed, the comments are now spread over two pages. The reason is Drupal (the CMS used on this site) only has options for up to 300 comments per page. I could “hack” this, but it’s probably time to separate comments into multiple pages since it takes quite long to load the page, especially for users without broadband connections.
    I could let every visitor choose how to display comments, but it can and will break links to existing comments (either from other comments or external websites). What do you think?

    Links to comments on the second page are already broken (they go to the first page). This is a bug of Drupal; I currently don’t have the time to deal with that. Let me know if you know of a solution for this problem.

    Uwe

  7. Laura says:
    It’s Working

    Thank you for your expertise & software. I got my whiteboard working today. I bought an IR stylus from Amazon, but the clicker is on the end which is not too comfortable, so I will possibly try to make my own. I’ve never soldered before so . . . we’ll see. Thank you again! You’ve made a poor teacher very happy!

  8. bamstam says:
    You roxxorz

    Thank you so very much for creating a this amazing software on Mac for everyone to use! You are roxxorz!!!!11!!1!1!

  9. A Possible improvement

    Not sure how this would work, or if it would, but a way to configure a sensor bar (could be powered with usb) would make this awesome cause the wiimote would replace the pen and u could click to ur hearts content more naturally, and this could be evolved to replace the mouse from a far.

  10. Uwe says:
    Re: A Possible improvement

    Hi Phil,

    I don’t understand what you mean. Maybe you can elaborate on your idea…

    Uwe

  11. Thibaud Lopez Schneider says:
    Pinch like the iPhone and Microsoft Surface?

    Hi Uwe,

    First of all, please let me repeat that Johnny Lee and you totally rock! This new world of accessible e-whiteboards is completely fantastic and exciting.

    I have a new feature request for you. It would be awesome to pinch the whiteboard with two LED and simulate a mouse scroll. I’m thinking of pinching a Google Maps to zoom in and out; as Google Maps already reacts to the mousewheel it should be easy to implement. I’m also thinking of pinching a picture to zoom in and out, like Microsoft Surface or the iPhone. I’m also thinking of pinching a web page to zoom in and out; as browsers like Internet Explorer and Firefox already react to CTRL+mousewheel it should also be easy to implement.

    Keep up the good work!

    /Thibaud Lopez Schneider

  12. Uwe says:
    Re: Pinch like the iPhone and Microsoft Surface?

    Hi Thibaud,

    I agree that multi-touch interaction with the operating system would be pretty cool. However, I don’t think this functionality should be added to my software. I suggest instead to write another program that uses the already available TUIO messages from my software.

    Laurence Muller has also released an application called tDesk that brings multi-touch interaction to Windows XP.

    Uwe

  13. Travis says:
    OSX – ERROR

    I got Wiimote Whiteboard to work multiple times until one time upon startup, I received this error:

    INFO 22:45:06 Calibration Event: SCREEN_CHANGED
    FINE 22:45:27 WiiRemoteJ: Found Nintendo RVL-CNT-01 (001B7A2C0637)
    FINE 22:45:27 WiiRemoteJ: Nintendo RVL-CNT-01 is a WiiRemote.
    INFO 22:45:28 WiiRemoteJ: btl2cap://001B7A2C0637
    SEVERE 22:45:38 WiiRemoteJ: Error getting device!
    java.io.IOException: WiiRemote failed to connect!
    at wiiremotej.WiiRemote.construct(WiiRemote.java:301)
    at wiiremotej.WiiRemote.(WiiRemote.java:214)
    at wiiremotej.WiiRemoteDiscoverer.getWiiRemote(WiiRemoteDiscoverer.java:94)
    at wiiremotej.WiiRemoteJ.findRemote(WiiRemoteJ.java:208)
    at wiiremotej.WiiRemoteJ.access$100(WiiRemoteJ.java:22)
    at wiiremotej.WiiRemoteJ$2.run(WiiRemoteJ.java:284)
    at java.lang.Thread.run(Thread.java:613)
    Caused by: javax.bluetooth.BluetoothConnectionException: Failed to open connection(2) [0xe00002cd]
    at com.intel.bluetooth.BluetoothStackOSX.l2OpenClientConnectionImpl(Native Method)
    at com.intel.bluetooth.BluetoothStackOSX.l2OpenClientConnection(BluetoothStackOSX.java:717)
    at com.intel.bluetooth.BluetoothL2CAPClientConnection.
    (BluetoothL2CAPClientConnection.java:33)
    at com.intel.bluetooth.MicroeditionConnector.openImpl(MicroeditionConnector.java:401)
    at com.intel.bluetooth.MicroeditionConnector.open(MicroeditionConnector.java:510)
    at javax.microedition.io.Connector.open(Connector.java:95)
    at wiiremotej.WiiRemote.construct(WiiRemote.java:295)
    … 6 more

    This just keeps repeating as long as I try to connect the remote. Now I can no longer connect the Wiimote to my MacBook Pro (Leopard). Does anyone know how to fix this problem?

  14. Anonymous says:
    greater than four points

    Is there some way to use multiple wiimotes to see greater than 4 points. I am trying to work on a multi-touch table where I could potentially play the piano on-screen (ir illumination will come from ftir) and 4 points would be pretty limiting. thoughts?

  15. aoc gold says:
    Re: I am the technology

    I had no idea this kind of technology existed. We have a Wii set up in our offices (we’re creatives) and have often considered an interactive whiteboard for brainstorming sessions. This has just saved us a couple grand on new technology.

    Thank you very VERY much!

  16. Uwe says:
    Re: OSX – ERROR

    Hi Travis,

    since nobody else had any suggestions I’d just guess that the Bluetooth connection wasn’t terminated properly for some reason and subsequent connection attempts hence fail.
    I assume rebooting the OS solves the problem…

    Sorry for the late reply,
    Uwe

  17. Uwe says:
    Re: greater than four points

    Is there some way to use multiple wiimotes to see greater than 4 points.

    A single Wiimote won’t report the position of more than 4 points at any given time. You could however try to use blinking IR lights to eventually get the positions of all lights after some time by only using a single Wiimote.
    There’s some math to be done to figure this out properly…

    Sorry for the late reply,
    Uwe

  18. Descalzo says:
    Sensitivity

    You’ve noticed by now that I’m big on sensitivity as an issue with this program. I was just starting to despair, as ever since school started (a week and a half ago), I’d been having serious issues with this program. The sensitivity has been degrading constantly!

    I finally discovered the problem. The LED was wearing out. I tried a different IR pen and it works like a champ.

    Just throwing this out there so you guys will know that these things wear out eventually.

    FYI, the LED I had been using was from a broken TV remote, so I had no idea what the specs were, it just seemed pretty reliable. And it was, for quite a while. So I guess the moral is: don’t trust LEDs you know nothing about.

  19. djavidj says:
    one Problem

    Hello

    I managed to make this work one time but now instead of detecting my IR pen, the software detects my wiimote as mouse controller….
    Can you help me please ?

    I’m on macbook
    Thank you

  20. Uwe says:
    Re: one Problem

    Hi, I don’t understand what you mean by saying “the software detects my wiimote as mouse controller”. Can you elaborate?

    Uwe

  21. Hugo Gattoni says:
    A lot of questions (Sorry…)

    Dear JCL,

    I´m trying to test your (GREAT!) solution for future use by around 200 teachers in a University in Brazil. I will buy the control and I will build the LED Pen. Please, answer my questions (sorry for the long list and my poor “Englich”):

    1.- Please tell me if 2 wiimotes is equal to 2 remote controllers. If so, I need to buy 2 remote controls. Right? What is the best model (Part number will be good with maker name)?
    2.- More power on the LED, more distance from the screen to the controller will be possible? I saw LEDs for 3 mm diameter 6000 mcd and 5 mm for 8000 mcd. Are they good? Look for it on http://alan-parekh.vstore.ca/index.php/cPath/4_6/sort/2a/products_id/13
    3.- Can I use LEDs not RED? I suppose no.
    4.- When I install your software on my Windows Vista Home Premium it will make modifications on the Windows Vista?
    5.- I have a Toshiba Satellite. Do you know if someone had problems using it?

    Thanks for the answers. As soon as I conclude the tests I will send immediatly one more message to you. Congratulations!

  22. A lot of questions

    Hugo:

    About your question #3
    You must use “IR” Leds (Infra-Red LED)
    See my wiimote page here:
    http://clinik.net/wiimote/wiimote_info_my_pen_2.php
    and see the IR Led tech specs

    Agora em português, viva Hugo:
    Para funcionar com a câmara que está embutida no comando Wiimote precisas de ter uma Led de infra-vermelho (IR Led).
    Não importa a cor do plástico que protege a parte superior. O que importa é emitir um feixe de luz infra-vermelho. Semelhante aquelas que existem nos comandos das televisões!
    No meu site explico bem como a construir e também tenho especificado qual a IR Led que eu uso (e funciona bem… embora muito se especule sobre qual as melhores características…)

    Nota: quando estiveres a montar a tua caneta, não te esqueças que a IR Led (como qualquer led normal) tem um lado positivo (que deve ir ter ao lado positivo da bateria) e um lado negativo (que deve ir ter ao lado negativo da bateria). Já agora… a perna maior dos Leds indica o polo positivo.

    Eu uso este programa Wiimote Whiteboard com o meu Mac (10.5) e funciona bem!
    Abraços
    Cheers

  23. Uwe says:
    Re: A lot of questions (Sorry…)

    Hi Hugo,

    this is not Johnny Lee’s website, you can go to his site if you want to contact him.

    About your questions:

    1.- Please tell me if 2 wiimotes is equal to 2 remote controllers. If so, I need to buy 2 remote controls. Right? What is the best model (Part number will be good with maker name)?

    Wiimote is just a shorter word for Wii Remote. You just need a single Wiimote to get started with the Whiteboard. I’m not aware of different Wiimote models…

    4.- When I install your software on my Windows Vista Home Premium it will make modifications on the Windows Vista?

    What do you mean by “modifications”? Make sure to see this post if you want to use my software with Windows Vista.
    Also check out Johnny Lee’s original software and Boon Jin’s Wiimote Smooth Board and choose the software that works best for you.

    All your other, general, questions are best addressed at the wiimoteproject.com forums.

    Uwe

  24. Hugo Gattoni says:
    Re: A lot of questions

    Thanks! You really help me. And in Portuguese! Very good!
    Hugo Penido Gattoni

  25. Hugo Gattoni says:
    Re: A lot of questions (Sorry…)

    Thanks for your answer.
    I told about “Windows modifications”: changes in something like DLLs, changes in internal modules, remove of some programming module, and so on.
    I´m happy you understood my “Englich”…
    Bye.
    Hugo Penido Gattoni

  26. Uwe says:
    Re: A lot of questions (Sorry…)

    Hi Hugo,

    I told about “Windows modifications”: changes in something like DLLs, changes in internal modules, remove of some programming module, and so on.

    My software doesn’t modify anything like this, and I think the other ones I mentioned, by Johnny Lee and Boon Jin, don’t do either.

    However, my software requires Java to be installed on the computer; the other ones need the .NET Framework in order to work.

    Uwe

  27. Michael says:
    Great Job!

    Great job!
    Will be using this in my moms classroom after school outfitted most of them – but not her’s – with $ 1K + smart-boards.

    Is anyone interested in doing this professionally?

    i.e. helping schools stop wasting their money on overpriced unneccesary solutions?
    I wonder whether you (Uwe and Johnny Lee would mind the commercialization of the software in connection with providing set-up / installation services.

    Once again, love your work!!!
    Haette auch in D schreiben koennen. Bin seit 8 Jahren in NY …
    Tschoe

  28. Uwe says:
    Re: Great Job!

    Hi Michael,

    I wouldn’t mind at all if someone was doing this professionally, using my software.

    Glad you like it,
    Uwe

  29. F. Delente says:
    Re: Success on Linux (with instructions)

    Hello.

    I’m on linux SlAMD64 12.1, I have Java 1.6 installed.
    I followed your instructions step-by-step but WiimoteWhiteboard still doesn’t start. I get

    Native Library bluecove not available
    java.lang.IllegalStateException: Bluetooth failed to initialize. There is probably a problem with your local Bluetooth stack or API.
    	at wiiremotej.WiiRemoteJ.(WiiRemoteJ.java:57)
    

    followed by tons of other lines… among them

    Caused by: javax.bluetooth.BluetoothStateException: BlueCove library bluecove not available
    

    However bluecove and bluecove-gpl are both in the lib/ dir inside the jar:

    $ unzip -l WiimoteWhiteboard.jar
    Archive:  WiimoteWhiteboard.jar
      Length     Date   Time    Name
     --------    ----   ----    ----
           22  09-16-07 19:33   .version
         1046  09-16-07 19:32   OneJar.class
         1710  09-16-07 19:32   com/simontuffs/onejar/Boot$1.class
         1915  09-16-07 19:32   com/simontuffs/onejar/Boot$2.class
         1418  09-16-07 19:32   com/simontuffs/onejar/Boot$3.class
        16249  09-16-07 19:32   com/simontuffs/onejar/Boot.class
         1454  09-16-07 19:32   com/simontuffs/onejar/Handler$1.class
          863  09-16-07 19:32   com/simontuffs/onejar/Handler.class
          259  09-16-07 19:32   com/simontuffs/onejar/IProperties.class
          868  09-16-07 19:32   com/simontuffs/onejar/JarClassLoader$1.class
          974  09-16-07 19:32   com/simontuffs/onejar/JarClassLoader$ByteCode.class
        25169  09-16-07 19:32   com/simontuffs/onejar/JarClassLoader.class
            0  06-13-08 16:43   META-INF/
          210  06-13-08 16:43   META-INF/MANIFEST.MF
            0  05-28-08 02:53   lib/
       318595  02-16-08 03:40   lib/AppFramework.jar
        47160  03-07-08 23:16   lib/NetUtil.jar
        68438  02-28-08 16:02   lib/WiiRemoteJ.jar
       485219  05-28-08 02:31   lib/bluecove-2.0.3-20080528.003139-81.jar
        70787  01-06-08 14:54   lib/miglayout15-swing.jar
        11103  09-20-07 18:29   lib/swing-worker.jar
         1748  02-22-08 00:44   one-jar-license.txt
            0  06-13-08 16:43   main/
       156983  06-13-08 16:38   main/WiimoteWhiteboard.jar
        59687  06-12-08 19:43   lib/bluecove-gpl-2.0.3-20080612.174321-73.jar
     --------                   -------
      1271877                   25 files
    

    Any hint? Thanks!

  30. Uwe says:
    Re: Success on Linux (with instructions)

    Hi, I replied to you on bluecove-users. Let’s continue the discussion there.

    Uwe

Leave a Reply