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. French documentation

    Hello and sorry if this post doesn’t match with your forum,
    I’m a french student of the engineering school of computer sciences : ENSI de BOURGES.
    My friend, MARC Alexandre, and I are working on a project using Wiimote Whiteboard and
    for this purpose, I translated the Wiimote Whiteboard Java documentation in french.
    If you are interested in, please check the following link and give me some feedback :
    http://guillaume.aujay.free.fr/fichiers/Help-fr.zip

  2. Jeanne says: in reply to Uwe
    Re: Drawing & Donations

    Presentation tool allowing you to write on your screen.

    http://mathmac1.anu.edu.au/~neville/scribblescreen/

  3. ANDY says:
    Wiimote bluetooth connection

    I am excited to try this software! However, after at least 20 attempts and multiple downloads I am getting “Bluetooth failed to initialize. There is probably a problem with your local bluetooth stack or API.”What does this mean?
    I have been able to connect the Wiimote using DarWiin.
    My computer is
    iMac7,1
    Intel Core 2 Duo
    2.4 GHz
    L2 Cache: 4 MB
    Memory: 1 GB
    Bus Speed: 800 MHz
    Boot ROM Version: IM71.007A.B00
    SMC Version: 1.20f4

    Thank you for your help!

  4. Kurizuto says:
    i try to compile the source on ide (on netbeans and eclipse)

    hi again = ) , ok o.o .. i try to compile the source on netbeans and Eclipse, and both gave me errors to find some archives..

    init:
    deps-jar:
    Created dir: /Users/macbook/NetBeansProjects/WiimoteWhiteboard/build/classes
    Compiling 82 source files to /Users/macbook/NetBeansProjects/WiimoteWhiteboard/build/classes
    /WiimoteWhiteboard/src/apple/dts/samplecode/osxadapter/OSXAdapter.java:54: warning: unmappable character for encoding UTF-8
    Copyright © 2003-2007 Apple, Inc., All Rights Reserved
    /WiimoteWhiteboard/src/org/uweschmidt/wiimote/whiteboard/WiimoteConnector.java:5: package wiiremotej does not exist
    import wiiremotej.WiiRemote;
    /WiimoteWhiteboard/src/org/uweschmidt/wiimote/whiteboard/WiimoteConnector.java:6: package wiiremotej does not exist
    import wiiremotej.WiiRemoteJ;
    /WiimoteWhiteboard/src/org/uweschmidt/wiimote/whiteboard/WiimoteDataHandler.java:13: package org.jdesktop.application does not exist
    ...
    Note: Recompile with -Xlint:deprecation for details.
    100 errors
    1 warning
    BUILD FAILED (total time: 1 second)
    

    i import the source and all… and try a lot to put the main in the correct place, but dont work, if u can say me how to compile from ide a will thanks alot = ) (from ant and the xml file i can compile but i want to see the program on ide like netbeans and things like that.. for my particular classes on java) and again, thanks and sorry for my bad english, and i can traslate a little from english to spanish = ) if the users want help in spanish , if u want pass me ur email = ) a lot of thanks

  5. rghosh says:
    widcomm, “No Bluetooth device was detected”, etc.

    I am running Windows XP sp2 with a MicroInnovations bluetooth device. I got a “Not supported on winsock” runtime error when trying to connect to a Wii peripheral using bluecove. I tried to install widcomm drivers but got a “No Bluetooth device was detected” error in trying to install them.

    I solved my problem by following the instructions on this page: http://www.telusplanet.net/public/wladykad/
    Supposedly the instructions apply to Vista as well as XP. Note that my bluetooth device was not listed on their site, but the steps worked anyway.

    Note: for the “Turn off notebook Bluetooth” step, I had to follow these instructions: http://support.microsoft.com/kb/889814

  6. Uwe says: in reply to Guillaume AUJAY
    Re: French documentation

    Hi Guillaume,

    thanks a lot for sharing this with us!
    It would be even better if you could directly add the french translation to the Wiki. You should be able to figure out how to do this by looking at the already translated pages. If not, I’ll be happy to explain it to you.

    Uwe

  7. Uwe says: in reply to ANDY
    Re: Wiimote bluetooth connection

    Hi Andy,

    please read these posts: 1, 2, 3, 4, 5.

    Uwe

  8. Uwe says: in reply to Kurizuto
    Re: i try to compile the source on ide (on netbeans and eclipse)

    Hi Kurizuto,

    you didn’t add the required libraries (the jar files in the folder lib) to the build path. How to do this depends on the IDE you’re using.
    I don’t know what you actually want to change in the code, but I suggest you read something about the Java basics first.

    and i can traslate a little from english to spanish

    I already have a Spanish translator for the user interface, but feel free to translate the documentation in the Wiki.

    Uwe

  9. Uwe says: in reply to rghosh
    Re: widcomm, “No Bluetooth device was detected”, etc.

    Thanks for sharing!

    Uwe

  10. Uwe says: in reply to Jeanne
    Re: Drawing & Donations

    Thanks for sharing!

    Uwe

  11. Anonymous says: in reply to Phileas
    Re: Toshiba stack not okay

    I have same problem with my Sony VAIO VGN-FE21H with also a Toshiba stack.

  12. Kurizuto says:
    thanks a lot = )

    thanks for all, all now works perfect = )

    a lot of thanks

  13. toco says:
    TUIO/Corkboard right/left inverted

    I tried to use Corkboard with wiimote whiteboard and TUIO-messages, but right&left are inverted, do you know if the error is in the code of Corkboard or in your code?

    http://code.google.com/p/corkboard/

    Hope you can help,
    toco

  14. toco says:
    Re: TUIO/Corkboard right/left inverted

    I’ve contacted the programmer of Corkboard,
    he inverted the picture, because he used a Inverted Webcam you just have to change one line and it should work.

  15. Brian says:
    the newest version broke my whitboard (2)

    hey uwe,

    i can calibrate fine and, using tracking for my laptop screen or watching the calibration details or ir monitor, it appears as everything should be working fine, but when i try and actually use the mouse tracking with a projector my mouse gets stuck on the right hand side of my laptop screen. i can see it tracking my vertical position correctly, but it won’t work with external projector at all anymore because of this.

    i didnt have this issue with 0.9.7 and i can’t find anywhere to redownload that version on your site. could you possibly email me a link for the 0.9.7 or give me an idea about how to fix this problem?

    many thanks.
    .brian

  16. Uwe says: in reply to toco
    Re: TUIO/Corkboard right/left inverted

    Hi toco,

    it surely would be easy to change. However, I won’t do it since most users want it the way it currently works; at least nobody complained so far.

    You can make up for the inverted TUIO data by flipping the upper and lower calibration points. There are two ways to do it:
    * Edit the calibration data after a successful calibration, see this post how to edit the data.
    * Do the calibration in a different order: Upper right, Upper left, Lower left, Lower right. The problem with this approach is that you don’t see the calibration points.

    Sorry for the late reply,
    Uwe

  17. Uwe says: in reply to Brian
    Re: the newest version broke my whitboard (2)

    Hi Brian,

    please give me more details about your setup: number of attached displays, whether you use the primary, secondary, etc. display, display resolutions, screenshot of the main window.

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

    Sorry for the late reply,
    Uwe

  18. James Klock says:
    Amazing work

    Just bought my Wiimote today, after downloading and checking out your implementation. Great job, absolutely amazing stuff, truly has the potential to change educational delivery on a global scale.

    Now, I’m tempted to re-learn how to code (haven’t written code in over 10 years), so that I can try to implement InkWell handwriting recognition on this…. :)

  19. toco says:
    Re: Re: TUIO/Corkboard right/left inverted

    Yes shure,
    the Corkbord works very well now, I changed the in TUIOClient.m in the TUIO-Framework.
    On line 215 it says:
    CGPoint newPoint = { 1 – point.x, 1 – point.y};
    Change that to say
    CGPoint newPoint = { point.x, 1 – point.y};

  20. Anonymous says: in reply to Pascal L
    Re: Hi ! I’m using ubuntu 7.04

    The same thing happens to me, have you solved it?

  21. Michael says:
    left and right click?

    Does this software allow me to do both right and left clicking, along with dragging, because i do lot of work on C.A.D.

  22. Uwe says: in reply to Michael
    Re: left and right click?

    Hi Michael,

    the software currently supports right clicks, but not drags with the right mouse button pressed. Dragging will very likely be supported in the next version of the software. See the documentation for more details.

    Uwe

  23. Brad SWEET says:
    Which version should I use for an iBook G4, running 10.3.9?

    I have downloaded the current version 9.8, on my new iMac and it works great. However, I use an older ibook at school and am so excited about this technology, that I do not want to get disappointed if it does not work. I have built my own IR pen, I think I can find a way to mount the wiimote, but I need to know if this will work on an older mac. Thanks for including mac users.

  24. Uwe says: in reply to Brad SWEET
    Re: Which version should I use for an iBook G4, running 10.3.9?

    Hi Brad,

    the application requires Java 1.5 or later which Mac OS X 10.3.9 unfortunately doesn’t support.
    Please see these two posts for more details: 1, 2.

    Uwe

  25. Dirk says:
    Whiteboard stuff

    Hi Uwe et al,
    We use the Wiimote in one classroom with excellent whiteboard software: Jarnal
    http://www.dklevine.com/general/software/tc1000/jarnal.htm
    Our IR pen manual can be found on:
    http://wyxs.net/web/wiimote/digital_whiteboard.html
    Kind regards and thank yoiu for your wonderful work.
    Dirk

  26. Christian says:
    What about InkWell writting recognition ?

    Hi Uwe,

    Your soft works very well. Thank you very much for your efforts.
    After using it “basically” as a mouse, I was wondering if it is possible to use it with InkWell feature of Mac OS X, like Wacom devices for example.
    But I have not found the way to “force” Inkwell to use the mouse as input device. It seems it really expect a pen. Any idea ?

  27. Kevin says:
    Just a Question

    Hi Uwe

    Ich hoffe ich falle nicht unangenehm auf, da ich auf deutsch frage.

    Ich bin Medientechnikstudent und denke über ein Bachelorarbeit in der Richtung Headtracking nach.

    Meine Frage(n):

    Was genau liefert die Wiimote? X-Y-Z- Raumsignale?
    Kann man die eigehenden Signale auch mit C++ verarbeiten?

    Gibt es diesbezüglich eine Art Grundklasse?

  28. Dan says:
    Right click and scroll suggestion

    It would appear that I am a little late to the whole scene but I think I have a very interesting suggestion. I don’t have the time to learn JAVA or C# and don’t feel much like programming these days (unless we can do it in ASM).

    I have a few relevant qualifications and years of experience in gadget related fun and vocation. I have just been made aware of the johnnylee stuff and have immediately started to play with it. I have a MUCH better suggestion for the implementation of the RIGHT CLICK but I have neither the time nor the patience to play with the software. Would it not be more sensible to use a similar system to the Apple Mac trackpad for the LEFT, RIGHT and SCROLL features?

    Have the tip of the pen operate as a normal mouse then add a second IR LED to the back of the pen. Have the software differentiate between ONE LIGHT and TWO LIGHTS such that the flash of the TWO LEDs would mean RIGHT CLICK but the TWO LAMPS MOVING together would imply SCROLLING.

    I should also share this concept with Johnny Lee.

    Please tell me what you think of this idea? It would be very interesting to see it implemented (in both the Windoze and Mac versions). I eventually want to have the system running on Windoze, Solaris, Lynux and OS X as I am in the process of setting up a new college here in Sydney and would like to use this to make my classrooms technically advanced without costing a fortune.

    I look forward to hearing from you.

    Dan (A.K.A. Stark Raving Lunatic)

    P.S. Time flies like an arrow and fruit flies like a banana!

  29. Anonymous says:
    Difficulty

    Hello,

    I appreciate your program. I no longer have Windows; I only have two MacBooks with built-in bluetooth. I cannot seem to load the program, either the Mac-specific application or the Java based program. It tells me that “Bluetooth failed to initialize. There is probably a problem with your local Bluetooth stack or api.” I downloaded BlueCove, but I have no idea if that is the problem or how to actually install BlueCove. The directions say to copy Bluecove.jar to the classpath. Would you have any idea what this means or what the problem might be?

    Thank you for any help you can provide.

  30. Uwe says: in reply to Christian
    Re: What about InkWell writting recognition ?

    Hi Christian,

    I’m afraid I can’t help you. I did a quick search and just found these 2 pretty old threads: 1, 2.

    Sorry for the late reply,
    Uwe

Leave a Reply