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

  1. Cel says:
    Feature request

    This program is really great! Thank you for making it! :) I have but one suggestion: Make an option to run without calibrating the screen area. My reason for this is that I like to use the system a different way than usual, by having the wiimote at the monitor and then moving the IR pen through the air in front of it. When doing this it is useful to have the largest possible calibrated screen area to make the most out of the tracking space and get the best resolution. So, it would be nice if there was an option to set the Calibrated Screen Area to equal the Wiimote Tracking Area. Perhaps this could be made to happen when the Reset button is pressed.
    Thanks,
    Cel

  2. Uwe says: in reply to Cel
    Re: Feature request

    Hi Cel,

    I understand what you want to do, but setting the Calibrated Screen Area to the whole Wiimote Tracking Area will probably not work as well as you’d expect. Even small perspective variations (e.g. Wiimote is slightly tilted or looking up/down a bit) will distort your IR pen movements. For instance, “drawing” a straight line in midair could result in a curve on the computer screen.
    I’d suggest you do the calibration as usual and use the IR Camera Monitor beforehand to find the limits of the tracking area.

    In case you still want to use the whole tracking area, you could edit the calibration data prior to starting the program. On the Mac, it is located in the folder ~/Library/Application Support/WiimoteWhiteboard. Let’s assume the primary screen with a resolution of 1280×1024 is used, then the file calibration_1_1280x1024.txt will be created after the first successful calibration. It captures the calibration settings and will look something like this:

    001E351309C2
    0.407625 0.827901 128 102
    0.595308 0.739244 1152 102
    0.595308 0.383312 1152 922
    0.405670 0.372881 128 922
    

    The first line contains the Wiimote’s Bluetooth address and mustn’t be changed. The next four lines contain the mapping from the Wiimote’s coordinates (first two values) to the screen coordinates (last two values).
    The Wiimotes coordinates are stored in the range from (0,0) to (1,1), with (0,0) being the bottom left corner of the tracking area.
    In order to use the whole tracking area with the Wiimote being placed at the monitor, the file could be changed to this:

    001E351309C2
    1 1 0 0
    0 1 1279 0
    0 0 1279 1023
    1 0 0 1023
    

    Hope that helps,
    Uwe

  3. sanya says: in reply to nihil
    Re: Success on Linux (with instructions)

    Hi Nihil,
    Did you ever workaround the issue you posted?
    # An unexpected error has been detected by Java Runtime Environment:
    #
    # SIGFPE (0×8) at pc=0xb7f03745, pid=17121, tid=1899125680

    I’m having the same problem, running
    java version “1.6.0_07″
    Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
    Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode)

    Thanks,
    Sanya

  4. Anonymous says: in reply to Uwe
    Re: OS X –> Bluetooth failed to initialize

    It works for me now!!!!

    I had the same problem, and at the end, i download the source code and compile it with ant.

    I decompress the source code in a folder, and in the folder, trough the terminal, I execute ant. It works for me in mac osx 10.5.2, and the build version doesn´t work. My problem was the same, with the initialize of the Bluetooth.

    I dont know if this is a possible solution, but if is interesting for you….

    Thanks for this work and sorry about my english

  5. Kurizuto says:
    what i need to compile the source?

    hi ^^.. i’m the same from that page, i finnaly got my mac… ok ..let’s talk.. Uwe how and what i need to compile the source on my mac?? if u can step by step ^^.. im new on the programmer world o.o .. from the last time i say.. im student from Mexico.. and i improve this technology in my uni.. and have plans for this ^^.. o.o .. so.. please.. ^^.. i need help o.o .. again sorry for the bad english = ) .. and a lot of thanks .. muchas gracias = )

  6. mohamed says:
    Mac os X 10.4.11 Java 1.5 error

    when i try to run your wiimote whiteboard application it tells me it cannot launch the application because it requires a version of Java that is not installed. This application requires java 1.5 or later, but only the following java versions are installed. 1.4.2.1.3.1.3.1,1.4. Updating to a newer version of Mac Os X may resolve this. any information would be much appreciated ive been searching through online and through software update on my powerbook to download the different versions of java but im only running 10.4.11 im also trying to find out how i can upgrade to 10.4.5 thanks in advance

    -mohamed

  7. foxo says:
    read it plz

    hi there
    thnx for the program

    and am in a big problem now and i hope u can help me,, my project for college is the wiimote whiteboard but i need the program in c#

    plz if u have the code i need it

    thnx again

  8. Anonymous says:
    Can this be changed from

    Can this be changed from Java program to Java applet?

  9. Jason says: in reply to Uwe
    Re: Success on Linux (with instructions)

    It worked as described on Ubuntu 8.04 (Hardy), but NOT on 8.10 (Intrepid).

  10. raich says:
    Error Connecting wiimote

    Hi,
    I’m getting connection error with wiimote when I launch the program. The error says: Not supported on bluesoleil
    ———————————————–
    BlueCove version 2.0.3 on bluesoleil
    Nov 4, 2008 12:41:41 PM wiiremotej.WiiDeviceDiscoverer getDevice
    SEVERE: Error getting device!
    java.io.IOException: WiiRemote failed to connect!
    at wiiremotej.WiiRemote.construct(WiiRemote.java:305)
    at wiiremotej.WiiRemote.(WiiRemote.java:216)
    at wiiremotej.WiiDeviceDiscoverer.getDevice(WiiDeviceDiscoverer.java:122
    )
    at wiiremotej.WiiRemoteJ.findDeviceInternal(WiiRemoteJ.java:270)
    at wiiremotej.WiiRemoteJ.access$100(WiiRemoteJ.java:25)
    at wiiremotej.WiiRemoteJ$1.run(WiiRemoteJ.java:354)
    at java.lang.Thread.run(Unknown Source)
    Caused by: com.intel.bluetooth.NotSupportedIOException: Not Supported on bluesoleil
    ——————————————————–
    My wiiremote is NOT connected with my computer’s bluetooth programs or utilities.

    Regards,
    Rana

  11. M Wells says:
    Problem dowloading the software

    Downloaded the software and got an error message.

    The following disc images failed to mount
    wiimotewhiteboard.dn codec overrun

    Trying to get this to work for my wife’s class. Any help is appreciated.

  12. Uwe says: in reply to Kurizuto
    Re: what i need to compile the source?

    Hi Kurizuto,

    first of all I’ll recommend to install the Apple Developer Tools if you want to start programming for the Mac.

    All the libraries you need to compile my source code are included in the source code zip file.
    An Apache Ant build.xml file is included for easy compilation (just type ant in the Terminal to compile and run the software).

    I’ll recommend to use an IDE for serious development. A list of Java IDEs can be found here.

    Uwe

  13. Uwe says: in reply to mohamed
    Re: Mac os X 10.4.11 Java 1.5 error

    Hi mohamed,

    Java 1.5 should be installed and the default version on Mac OS X 10.4.
    Maybe the default is set to an older version (type java -version in the Terminal to find out).
    I guess you already tried the Java Preferences.app (in /Applications/Utilities/Java/).

    Uwe

  14. Uwe says: in reply to foxo
    Re: read it plz

    Hi foxo,

    you found the wrong website. I guess you’re looking for this.

    Uwe

  15. Uwe says: in reply to raich
    Re: Error Connecting wiimote

    Hi raich,

    see this previous post for information about BlueSoleil.

    Uwe

  16. Uwe says: in reply to M Wells
    Re: Problem dowloading the software

    Hi,

    I just downloaded the disc image and had no problems mounting it on Mac OS X 10.4.11 and 10.5.5.
    There are many pages on this topic: Google.

    Uwe

  17. Uwe says: in reply to Jason
    Re: Success on Linux (with instructions)

    Hi Jason,

    please add your knowledge to the Troubleshooting page in the Wiki.

    I encourage everybody to contribute to the documentation.

    Uwe

  18. Uwe says: in reply to Anonymous
    Re: Can this be changed from

    No, it can’t be run in the browser as an applet. One reason is the Bluetooth library I use (see this thread).

    Uwe

  19. Troy says:
    Cannot assign requested address

    I’m using Vista 32-bit and everything is working fine except when I enable the TUIO output.
    I receive the following error in the command window and my TUIO application does not receive any TUIO data:

    java.net.BindException: Cannot assign requested address: no further information
    at sun.nio.ch.DatagramChannelImpl.send0(Native Method)
    at sun.nio.ch.DatagramChannelImpl.sendFromNativeBuffer(Unknown Source)
    at sun.nio.ch.DatagramChannelImpl.send(Unknown Source)
    at sun.nio.ch.DatagramChannelImpl.send(Unknown Source)
    at de.sciss.net.OSCTransmitter$UDPOSCTransmitter.send(Unknown Source)
    at de.sciss.net.OSCTransmitter.send(Unknown Source)
    at de.sciss.net.OSCTransmitter.send(Unknown Source)
    at de.sciss.net.OSCClient.send(Unknown Source)
    at org.uweschmidt.wiimote.whiteboard.tuio.TuioTransmitter.irWarped(TuioT
    ransmitter.java:169)
    at org.uweschmidt.wiimote.whiteboard.WiimoteDataHandler.IRInputReceived(
    WiimoteDataHandler.java:222)
    at org.uweschmidt.wiimote.whiteboard.WiimoteDataHandler.IRInputReceived(
    WiimoteDataHandler.java:163)
    at wiiremotej.WiiRemote$1.run(WiiRemote.java:462)
    at java.lang.Thread.run(Unknown Source)

    I’ve searched the web and haven’t seen much info on this. Any suggestions?

    Thanks.

  20. Anonymous says:
    great success! Thank you!

    We are using your Mac and Cross plateform Wii Remote software in some of our classrooms.
    While we have two other interactive whiteboard products also in use, the Wii remote will be our new system of choice. The savings will allow me to invest in ceiling mounting our digital projectors.

    I created 3 (so far) videos for our staff related to the Wii remotes, please share if you find them helpful, Wii Remote demo, Making an IR pen, & Parts needed for an IR Pen
    Visit the videos @ http://podcast.sad60.k12.me.us/groups/itsupport/

    Thank you for your valuable contribution to the educational!

    Dave Saltmarsh
    MSAD #60
    North Berwick, Maine
    techdir@sad60.k12.me.us

  21. Karl hehr says:
    Newest version Broke my WiiWhiteboard

    I just downloaded 0.98 on my MacBookPro and the application will not launch, I get “Bluetooth failed to initialize….” The previous version worked last night, and the JAVA cross platform version works fine. Is it possible to download the older version?

  22. penteractive.us says: in reply to Descalzo
    Re: pointer 6 inches behind the pen

    I have found that the vast majority of problems that occur with use of the wiimote whiteboard and pen problems are the fault of the user. I provide a cost-effective means to try out the wiimote whiteboard. Are they perfect? No. I have no problems with my pens and I am a teacher who uses them regularly.

  23. Anonymous says:
    Trying

    We are trying to install these in our classrooms. Wonderful software…….. Did it at home

  24. Uwe says: in reply to Troy
    Re: Cannot assign requested address

    Hi Troy,

    which host and port did you use (TUIO preferences)?

    Uwe

  25. Uwe says: in reply to Anonymous
    Re: great success! Thank you!

    Hi Dave,

    thanks for sharing those videos with us!

    Uwe

  26. Uwe says: in reply to Karl hehr
    Re: Newest version Broke my WiiWhiteboard

    Hi Karl,

    that’s odd. The cross-platform and Mac version should behave the same way on the Mac.
    Does that problem occur all the time?

    Nevertheless, I uploaded version 0.9.7 to http://senduit.com/e688ec.
    It will expire in one week.

    Uwe

  27. Karl hehr says: in reply to Uwe
    Re: Newest version Broke my WiiWhiteboard

    Thank you very much. The old one works like a charm. Is there a proper way to upgrade? I just deleted the old one and dropped in the newer version and that did not work. I could email you a screenshot of the error and maybe some log files if that will help.

  28. Troy says: in reply to Uwe
    Re: Cannot assign requested address

    I used the default host and port. When I use a C# program, WiimoteTUIO_v0.4, everything works fine. (http://www.wiimoteproject.com/tech-chat/wiimotetuio-update-v0-4-plus-source/) I would rather use your program, however, because you have all the pieces together.

    I’ve also enabled Java in the Windows firewall with no improvement. Although I don’t think that is the problem anyway because I did not have to do that for WiimoteTUIO_v0.4.

    Troy.

  29. Uwe says: in reply to Karl hehr
    Re: Newest version Broke my WiiWhiteboard

    Hi Karl,

    Is there a proper way to upgrade? I just deleted the old one and dropped in the newer version

    That’s the way to do it, as for any Mac application.

    I could email you a screenshot of the error and maybe some log files if that will help.

    Please do that.

    Uwe

  30. Uwe says: in reply to Troy
    Re: Cannot assign requested address

    Hi Troy,

    in that case I don’t have any more suggestions.

    Could anyone else running Vista please help out by testing TUIO? Just enable it and report whether the error occurred.

    Uwe

Leave a Reply