Wiimote Projector Whiteboard

[Johnny Lee]’s back again with his Wiimote interactive whiteboard. Commercial versions of these things are expensive and heavy. His technique doesn’t even need a projector, just a computer, a Wiimote and a simple IR emitting pen. The pen is just a stylus with an infrared LED in the tip. Hit the video after the break, and you can grab the software from his site here.

74 thoughts on “Wiimote Projector Whiteboard

  1. wow… and to think that’ i’ve been trying to get my school to buy the $50 cord to get the $2k digital whiteboard, which we aren’t supposed to use anyway, to work again. /sarcasm

    anyway, amazing. i’ll have to set up one of these in my house. i’ve been looking for an easy-yet-awesome way to remotely control my computer from 100+ feet away. sure i could use a remote, but that’s not nearly as cool as having a digitally projected version of my screen which i can control by a pen.

  2. Is there a similar application of this for webcams instead? Yeah, I know the whole point of this is wiimote hacks but hes just using it for the camera and the camera is just heavily filtered for IR from the sounds of it.

    It is very impressive how it all works though. I can’t begin to imagine how he got it to process locations based on a single camera and simple calibration.

  3. re: web cam control, check out the tag project Interactive laser drawing (graffiti) on this site (laser hacks), Hmm, wonder if you could use a red laser pointer with this, like the green with the laset tag project… speriment time.

  4. Wait a second.. It’s possible to have two WiiMotes connected to a computer at a time right? So, couldn’t you use a very similar approach to get the position of a light source in 3-dimensions just by using the cameras from 2 remotes?

  5. #11, I was thinking this the whole time during the demo, not only for 3d, but for handling more points & points that get blocked by the user’s body. Would make this work infinitely better imo.

    Still that is freakin sweet.

  6. I guess there are no comercial IR pens available??

    I know IR leds are just $1.99 at RadioShack, but if there was one online for $9.99 that ran off watch batteries, I’d buy it just to demo it to teachers and my tech staff.

    Guess I’ll be breaking out the soldering iron.

  7. You can use a regular red led, not just IR. The wiimote is sensitive of primarily IR but red led’s contain a high enough content of IR to work in my experience. Just get a clear red LED (one where the emitted light is red as opposed to just a frosted or “painted” red lens)

  8. I do find this terribly amazing and no doubt I’ll be trying it out this weekend, but a question I must ask is this:

    Why only now are these kind of hacks coming out? Could this not also be done with a webcam with some fully exposed negatives over the lens? Maybe the Wiimote made it more practical by giving us the relatively cheap battery operated IR cam with bluetooth built right in.

  9. To those asking why the wii mote and not a webcam is distributed processing. The WIIMOTE is what handles the ir to space computations, not the computer. A webcam does not do that. It’s like video cards with hardware mpeg2/4 decoders. The wiimote allows for up to 4 different ir sources being tracked and turned into x,y calculations. The whiteboard and multitouch just map those x,y coordinates and move the mouse based on that.

  10. random john:
    On your blog you mention the camera calibration step…
    “The game blanks the screen and then shows a red dot in each corner. The camera captures the location of these dots and then uses that information to translate the laser location from camera coordinates to game coordinates”

    Any chance you could do a write up on that? Maybe release your code? I’ve been trying to work out how to build the projection matrix but all the info on the net is way above my head.

  11. dan (#34),

    I’m going to be presenting on the thing at PyCon and opening up the source at that point. For now I’ll give you the quick and dirty explanation.

    I worked out the math for doing an accurate four point calibration but before I implemented that I decided to implement a very naive version that wasn’t nearly as complex. As it turned out the simple version was accurate enough for my purposes, especially given the fact that the camera is well aligned with the projector so I don’t get much keystoning with either device.

    What I do is put a red dot in a corner until the camera “sees” it and then proceed to the next corner.

    Then I define a bounding box within the camera view. I do this very simply by taking the topmost Y value as the top of the box (it could have come from either the upper left or upper right) the leftmost x value as the left of my box and so on. So within the camera’s 640×480 view I have a smaller area that is mapped to the screen. It might be from (80,100) to (500,389) or something like that.

    If my game surface is 800,600 then I need to translate a point from that box to the 800,600 surface. Let’s say that I find the red dot at (400,220) in the camera’s coordinate system. First I subtract (80,100) to get (320,220). Then I divide by the width of the box (480,289) and multiply by (800,600) to finish the translation. In this case the result is (533,456).

    If I had a lot of keystoning then I’d need to do use a more accurate transform but the quick and dirty one was always within a few pixels.

  12. if you remove the IR protection off of a conventional laser pointer get two of them you could do the same thing right? but from far away.. and not have to stand up.. you could even attach them to your head and have a remote to turn them on so you could just point you head where you want to go and mano.. im gona try it..

  13. I hope many are trying out this brilliant thing, because so am i.
    I also hope someone (with the knowledge about) could set up a tutorial about how-to make a fine working pen!
    looking forwards, Michael.

  14. If you match your IR LED to your power source then it should be pretty easy to make a working pen. For instance, this IR LED at Radio Shack takes 1.2V DC. You could hook it up to a switch and just about any rechargeable battery (most are 1.2v) and you’d be good to go. If you need more space to house the battery pick a pen/marker with a wider body for the project. I would think that some of the kid’s Crayola markers would work well with a AAAA or N sized cell. Then you can have a wireless pen and not have to mess around with cords.

  15. that is awesome. And to think I just bought a $200 touchscreen add-on for my laptop. Well the good thing is that thanks to my sister being the Nintendo marketing rep for this region, I’ve got a Wii and Wiimote on the way(no standing in line, or overpaying some Wii “scalper”..YAY!!)

  16. I’m not sure if you could get pressure sensitivity… unless perhaps you used the same style the wiimote does? 2 dots and the “closeness”?

    I just have to say that’s freaking amazing!

  17. Oh and also, it shouldn’t be very difficult to create a 3d tracking program with three (or even a weak one with 2) or more wiimotes – you’d just have to use some triangulation computations… that would be amazing though!

  18. i tested out the windows wiimote utility yesterday nite. worked w/o a hitch. It has the ability to read all the wiimote stuff (tilt, nunchuk, etc). Gonna try to build the pen this weekend.

  19. I made the ir pen today and its working fine. But I can’t get the whiteboard thing to work at all. This is for 1 reason: the wiimote can’t simply see the IR-pen. This is because IR-leds beam angle is usually +-25 degrees, and this is definitely not enough to wiimote, which is 90 – 130 degrees from front of IR-pen. But still, you managed to get it working…how?

    I tried my IR-pen by simply using it when I’m in Wii’s sensor bar calibration menu; wiimote sees my pen perfectly when its pointing wiimote. When I begin to rotate my pen, it dissappears when angle becomes greater than ~30 degrees, just like IR-specifications says.

    Any ideas how to solve this problem?

    Thanks in advance!

  20. Wow very cool! Definately trying this if a Mac version appears!

    As for the previous comment, does the surface you are using reflect IR light? If so you don’t need to worry (as much) about the low beam angle.

  21. Got it to work! It seems my IR-led wasn’t bright enough on 20mA current, so I increased it to 60mA and it works perfectly. I downloaded Tux Paint (Open source painting program for kids) and hooked my laptop into TV. Boy oh boy do they LOVE IT! Thanks for the author for this worderful hack!

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.