Thanks for all the feedback.
I can’t add much to what I already said about sensitivity. It just doesn’t always behave the same way. I guess there might be a slight difference in the IR camera initialization sequence between the Wimote library I use and the one Johnny uses in his program. The good news is that I talked to the guy who found out a lot of the stuff we currently know about the Wiimote’s camera. He told me (two days ago) to expect “huge developments in this area in the next week or two”. Let’s hope for that :)
The problems George is having are probably related to sensitivity and Bluetooth issues. I sometimes get connection errors as well. Java in combination with Bluetooth isn’t very mature and reliable either. That’s something we unfortunately have to live with for now but I expect improvement in the future as well. I’ll gladly send you version 0.9.1 although I don’t think it will solve any of your problems.
Concerning the Log: shows some information of what’s going in the background error messages are shown as well made visible on demand or automatically when SEVERE errors occur not stored on disk * no change in 0.9.2
Uwe
Thank you for your suggestions, Carlington.
A window such as described above which would show exactly what the IR-camera sees (this would help the placement effort)
Done, will be included in the next release.
A mouse-movement smoothing option, essentially this would interpolate between the actual locations and not move to any given mouse-location directly. This would help to create more flow in Illustration applications.
This is a good idea but I don’t think there is a single best way to do it though. I’ll add this feature with the option to select a “mouse smoothing strategy”. The user may thus be able to choose among various “strategies” (where “no smoothing” will be one of them) which can be extended in the future.
A tripod is suggested for the final placement of the Wiimote, make sure that any movement cause minimal disturbance/vibration to the Wiimote.
I actually own a kind of small flexible tripod called Gorillapod. This in combination with the Wiimote could be a cheaper and more flexible alternative to a big and heavy tripod. I just see they have the model Go-Go that can be used with a suction-cup clip or high-bond adhesive clip to attach the Wiimote. This is just an idea which I haven’t tested.
Uwe
Changes: Added IR camera monitor to assist positioning the Wiimote Added mouse movement smoothing (currently only simple moving average using last 7 points). Works pretty well and is enabled by default. * Minor GUI adjustments
Uwe
Thanks for your work and this new update.
:-)
The Java version will not work on Linux in its current state for two reasons: The current binary release of BlueCove (2.0.2) is bundled with the program. Linux BlueZ support was added in BlueCove version 2.0.3 as additional GPL licensed module. I can’t distribute the GPL module with my software for legal reason (as far as I understand).
So you basically need to install a recent BlueCove 2.0.3 snapshot and the additional GPL’d Linux module. Then try to run the program like this:
java -cp bluecove-2.0.3-SNAPSHOT.jar:bluecove-gpl-2.0.3-SNAPSHOT.jar -jar WiimoteWhiteboard.jar
I guess it won’t work though since BlueCove 2.0.2 is already bundled with my program and will thus be conflicting with the snapshot of 2.0.3. You could also compile the source code yourself and use it with the replaced BlueCove libraries if you know how to do that.
I’ll be away snowboarding for a couple of days and get back to you when I return.
Uwe
First off, thank you for porting this to osx. I use this to turn my monitors into touch screen monitors. Instead of a pen, I have made a glove with an IR led on the top of the index finger and a momentary switch on the tip. So when i touch the screen the led turns on. This works out great, but I do have a suggestion. I have a dual monitor set up and it would be great if i could do this across both monitors. When I would calibrate I would ideally like it to give me 2 points on the left side of the left screen and 2 points on the right side of the right screen. Also, if I were to use this with multi-touch capable software would a second touch register? Wasn’t sure if being able to see how many visable ir dots there were and the ir camera also meant that this was possible.
Not sure why, but I keep getting issues with jaiI18n not being able to be resolved. Figure I am missing something in my project setup within eclipse 3.3? Any ideas that could get me pointed in the right direction please?
Thanks
is it possible to have a single click to control the mouse and a double click to activate the mouse click. like on the track pad? i also wanted to say thank you for porting this over to the mac it really is an amazing program.
Hi, I’m the first one who tried with the Apple Remote, I made a IR pen for maybe one week And I just downloaded the very last version and the differences between the two versions are amazing. It is much smoother, and I still can’t believe the drawing I made with photoshop. The new setting are PERFECT, it is exactly what needed to be done. There is no word to express how happy I’m to use this whiteboard. Maybe the last point that must be done is using two IR led at the same time, the first one (always lighten) just to move but not click the mouse and the second one to left click. I’m french so I hope I was enough clear in my comment !!!
bye
tibo
Tibo, the problem most people have found with 2 LEDs is that if they are close enough the wiimote can only see one blob.
I didn’t notice until now that the class PerspectiveTransform uses JaiI18N in case of errors since I have Java Advanced Imaging (and hence JaiI18N) installed on my system. JaiI18N is actually only required to compile the software since errors in PerspectiveTransform shouldn’t occur in the way I use it. Hope that explains things a bit. The easiest way to fix the problem for you is to install Java Advanced Imaging as well.
Uwe
Multi-screen support: It’s possible and I was already considering this when I added the screen selection. I’m still thinking about the right way to do it though. It will be included in a future release with high probability.
Multi-touch support: Not planned since the software is all about controlling the mouse cursor of the operating system (which doesn’t support multiple mice). They only thing I could do is to output the available position data of all 4 IR dots in a format that a multi-touch capable program understands.
Trackpad-like mouse control: This could be done but may I ask why you want to do this? Doing right-clicks won’t work either.
Two-LED support: Doesn’t work that well (Descalzo already pointed out one reason). The Wiimote frequently sees two IR dots in my setup here at home. One from the IR LED and one from its reflection on the screen (when I hold the IR pen at some distance).
Please participate in the poll about the hosting situation.
Uwe
Uwe, Yes, outputting the position of all 4 IR dots would be wonderful. You have my vote. Thanks for all your work!
Josh
I am of the same opinion as the previos poster, Josh. I would be very happy to see a multi-touch integration. Maybe you could implement TUIO-messages. As far as I know, there are several flash-applications that uses these messages to implement multi-touch.
Thanks for your wonderful work!
Simon
I actually already implemented the TUIO protocol and successfully tested it on Windows with this Multitouch Flash Puzzle. I couldn’t get any multitouch Flash apps to work on Mac OS X though. I’m also not quite sure about the “best” format of the TUIO messages to make it compatible with most multitouch apps. But the next release will definitively have the capability to send out TUIO messages.
Information on multitouch in general and especially help to get multitouch apps to work on Mac OS X is highly appreciated and will speed up development of that feature in the Whiteboard program.
Uwe
I have already tried to combine the wiimote software with flash-multi-touch applications on my own. There is an windows software comparable to johnny lees ones that sends TUIO messages to a server and port. (http://code.google.com/p/wiimotetuio/). I tried to get the Multimedia Application from multigesture.net to work (http://www.multigesture.net/2007/09/17/multitouch-media-application-v2-release/) but I needed an software that “translate” TUIO messages to flash. That’s what I think Flosc does (http://code.google.com/p/flosc/). For me the setup worked under windows to control the multimedia application with 2 ir-pens.
I hope that will help you a little bit.
Changes: Now using BlueCove 2.0.3 snapshot for Linux compatibility Added TUIO message output for Multitouch applications * Changed screen selection
Uwe
Hi all, perhaps someone can give me a hint.. im using widcomm and a win xp system with java 1.5006 theese are the messages i get out of the log file.. would be great if someone has an idea greetings alex
FINE WiiRemoteJ: Nintendo RVL-CNT-01 is a WiiRemote.
INFO WiiRemoteJ: btl2cap://001DBC45CF47
SEVERE WiiRemoteJ: Error getting device!
java.io.IOException: WiiRemote failed to connect!
at wiiremotej.WiiRemote.construct(WiiRemote.java:301)
at wiiremotej.WiiRemote.
Hi Alex,
does this happen all the time? Did you try it like ten times? Are you using the latest version (0.9.4)?
Uwe
Hi Uwe, thank you for releasing the new version with TUIO. It work’s great (it was really funny to use the flash games like puzzle and so on). But unfortunatley I’ve still got problems with the sensivity. The last few days I only tried it in a very small setting. The projected image was about 1,5 meter in diameter and the wiiremote was about 1 - 1,5 meters away from the wall. Today I tried it at work with auf high resolution beamer and a projection size about 2-3 meters. Because of the size, the wiiremote has to be farer away than 1,5 meters. Unfortunately then no infrared light is seen by the wiiremote. When I try the exact same setting with Johnny Chung Lees software everything works great. I already tried to search on my own in the WiiremoteJ board but I would use the same sensivity settings that you use (00 00 00 00 00 00 90 00 41 40 00 Suggested by inio (max sensitivity)) I hope that the libary will be improved in the next few days or weeks.
But all in all, your software is outstanding
Great job, i like it very much!
Which key data of the IR-LED would you recommend? My assembly just works if i point directly to the wiimote, it doesn’t reflect on the screen of my iMac.
Hi everybody, First, sorry if my english is not perfect. I try to use this soft under windows vista with a MSI bluetooth USB stack and blue soleil. The program run but my wiimote isn’t detected. I’ve always : “Searching for Wiimote”. Is someone succes in using this soft under vista or have someone a solution ? Thanks Sylvain
I am making a multitouch interface with max msp jitter, an internal ir refraction screen, and a wii mote to track ir touches on the screen.
I get ir coordinate data into max using osc and OSCulator, for the time being.
I need to perform a calibration, much like J. Lee’s whiteboard does. BUT I’m not sure how the calibration works. I have looked at the source code, and I’m having trouble understanding the math. (i’m not a programmer, just a max doodler). Can any one explain in more detail than what is provided in the source?
I understand I need to deform an input matrix to an output matrix. In max there are objects to deform one matrix into another : jit.repos, jit.mxform2d. I can’t figure out how to use these to imitate what the whiteboard calibration stage is doing.
Any help would be greatly appreciated?
Alternatively, if someone knows how to modify the whiteboard code so that it sends the XY data for each of the four points to max, that would also do the trick. You could use OSC protocol, which is what I am currently using (see OSCulator). That way I could use the whiteboard’s calibration tool, and just receive precalibrated xy values in max.
THANKS! Great work! ke10
OK! I just read about TUIO, and I realize it IS OSC and can therfor send data to max.
GREAT! I’ll try this out…
thanks again!
ke10
I ran some more tests today finally. I haven’t been used the Wiimote Whiteboard in about 3 weeks or so, but finally had time/opportunity to run it through the ringer today. I tried the Mac version and Johnny’s version in Parallels, and Johnny’s is still better for me. I can’t figure it out. I know I’m not the only one who’s having this trouble, and I know there’s only so much that can be done, but I thought I’d mention it any way.
I’m working on ways to move the Wiimote closer to the screen, and hopefully that will help out. I’m really looking forward to letting one of my older Macs take over the whiteboard duties.
Yoohoo! My prototype works wonderfully. I have multiple gl objects tracking multiple ir points.
Using: WiimoteWhiteboard for MAC, receiving TUIO in MAX and controlling objects in jitter.
Thanks!
ke10
I tried this on a computer running Leopard, and it works as well or better than Johnny’s version did. It may be a fluke, but it was impressive the way it worked right away.
WOW, what a great piece of software! Thanks a LOT!
Anybody tried to put a pressure switch (à la drawing tablet pens) to trigger the IR LED insted of a push button switch?
As a maths teacher, I’d REALLY like to write with my pen (and save my school a thousand dollars or so), but it’s somewhat complicated for me to get used to push and release the switch each letter I write on the board.
Thanks!
Luc
This math teacher here:
http://www.wiimoteproject.com/wiimote-whiteboard/0-learning-curve-durable-light-pen/msg2235/#msg2235
built an IR pen with a pressure switch. I’m thinking of making one like it.
That’s exactly what I had in mind… except my idea would probably have implied the use of much, much more elecric tape :p
I just wanted to let you know that I’m still alive and reading the messages here :) I’m kinda busy with another (not Wiimote-related) project for about one more week or so.
TUIO seems to work fine, nobody complained so far. What do you think should be improved next? (e.g. support for multiple Wiimotes to improve reliability, localization)
Any other problems or ideas, which are not directly related to my software, are best addressed at the wiimoteproject.com forums. I don’t mind discussing them here but you’ll reach a lot more people there.
Uwe
Hi
I’m having trouble getting tuio messages working - I’m familiar with the protocol (I use reactivision already), but am getting nothing in host apps with tuio enabled - mouse is being controlled fine - should I see anything in the log that will help me troubleshoot tuio?
Cheers
Nick
of course as I post it started working - no idea what made it start where it wasn’t before.
Thanks for the great app.
Nick
I’m a student teacher currently working in a district that only has Macintosh computers running osx. They have a neat student response system called Qwizdom that turns any keynote presentation into a multiple choice exam/quiz. The students then use a small rf remote to respond with their answers. Anyway, what I would like to do is somehow be able to present the slides and be able to draw on them. I can do this in powerpoint, but currently I’m limited to keynote. Is there anyway I can accomplish this? I tried this program, but it doesn’t want to work :( http://www.apple.com/downloads/macosx/productivity_tools/highlight.html Many thanks! -Mark
It occurs to me that following on what lee has done, it would be good to have two pens a red (LEFT) and a blue (RIGHT) pen. Both will have switches. Then the left switch can be used as a left_mouse_button click and the right switch can be the right_mouse_click.
Multitouch can begin by doing the following: Within the frame of an open window, with both pens lighted, a horizontal/vertical/diagonal increasing/decreasing separation would scale up/down the window horizontally/vertically/diagonally.
The same would then hold for any other window. Of course fancier manipulations would be difficult under standard 2D window managers.
Possible to incorporate these ideas into your software?
Unfortunately, I’m not a software guy.
Thanks Great work. I’m still waiting for my components to arrive to build my own!
Hi Mark,
the program Highlight you mentioned worked just fine for me under Leopard. I couldn’t test it with Keynote since I don’t have it installed on my machine. I found the commercial software Desktastic when someone previously asked about drawing on the desktop.
Uwe
Hi,
It occurs to me that following on what lee has done, it would be good to have two pens a red (LEFT) and a blue (RIGHT) pen. Both will have switches. Then the left switch can be used as a left_mouse_button click and the right switch can be the right_mouse_click.
The problem is to distinguish between multiple pens. You talk about a red and a blue pen but how is the software knowing which light dot belongs to which pen? I agree that it would open up possibilities to have multiple distinguishable pens. But this is not possible with simple “on/off” IR pens.
Even if I had the possibility to do it, I wouldn’t incorporate into my software. I would instead recommend to make an independent application that makes use of the TUIO multitouch messages to accomplish the desired behavior.
Just my 2 cents, Uwe
Hey! I was wondering if you can use 2 wiimotes - I have a large projected area I’d like to cover. I believe Johnny Lee had said multiple wiimotes would give you better camera resolution. Can you do that with this software?
Thanks!
Evan
Hi Evan,
I already thought about adding this feature. It would help in case the Wiimote’s view to the IR pen is blocked from a certain angle (case 1), or to cover a larger area as you pointed out (case 2). It could also be used to track the location of the IR pen in 3D (case 3) like they did here, especially check out the video.
Case 1 and 2 are substantially easier to do but there are still several questions: Support only 2 or even more Wiimotes? What if the position data coming from the Wiimotes differ? * Average them? * Favor data from a particular Wiimote? * Calibrate all Wiimotes at once or one after another? * All at once isn’t possible if a Wiimote only covers part of a screen (1). * All at once would be best in case multiple Wiimotes are used to cover the same area (2).
Did I miss something? Any other thoughts?
One last problem is simply that I just have a single Wiimote. And I don’t see myself buying another one just to add this feature (that I will hardly use). Don’t get me wrong, I really like improving the Whiteboard program. But “donating” money besides my spare time to this (non-profit) project is currently not an option for me.
Uwe
All very valid points. Not sure how the calibration would work. I built a IR pen, and have this working on my wall through my projector. It’s pretty good. Maybe a brighter LED would help. I’d buy you another wiimote plus some if you’re interested in making it work!!! It’s incredible and I have a real world use for this. I’m wanting to cover a 12’ by 10’ area or so with projection and be able to draw on it.
Thanks!
Evan
I’m assuming you need 4 points per remote to get the math to work out, If they were only covering parts of the screen (a 1/2 each, or so), could there just be a 8 point calibration? would that give the ones that didn’t see some of the points would still have enough to convert to a mouse pointer reading?
Evan
I am a big fan of the idea of 2 WiiMotes covering the same area for greater accuracy.
blockquote>I’d buy you another wiimote plus some if you’re interested in making it work!!!
Thanks for the offer, but I explained in a previous post that I do not accept donations as a form of payment for requested features. However, I don’t have a problem to use donated money towards the improvement of the software on my terms.
Having said that, I will use the first 40€ (currently about $63) to buy another Wiimote and then try to get it working with multiple Wiimotes. I make no guarantees whatsoever if or when it will work.
I will of course keep you all updated about the amount of donations I receive. So anyone feel free to make a donation if you accept my conditions.
Uwe
I’m sure everyone agrees with me, but I certainly appreciate all the work you’ve put in to this, and will gladly accept anything you decide to do in the future! That being said, I’ll send you a donation so you may be able to keep it up. Are all the wiimotes the same? You could probably find it for cheaper off a USA site - not sure if they’d mail to where you are though. They are only $39.99 in the states. I’ll check back regularly!
Thanks again,
Evan
Thank you for your generous donation of 60 euros. No more money is thus required to buy me a second Wiimote. Although I don’t mind if anyone still wants to donate :)
Are all the wiimotes the same? You could probably find it for cheaper off a USA site - not sure if they’d mail to where you are though. They are only $39.99 in the states.
All Wiimotes are the same as far as I know. It is very common though that electronics here in Germany cost roughly the same amount in euros than they cost in dollars in the US. I intended to buy the Wiimote at Amazon.de for 40€ and I can’t get it much, if at all, cheaper at a Germany store. I’m pretty sure that buying from a US site will cost me more in the end because of shipping and it also has to go through customs.
I’ll check back regularly!
You can also subscribe to the recent changes feed instead of checking my site manually.
Uwe
Hello,
At first thx for this superb application! It’s just awesome how well the IR pens work.
Now, I had fun with this app, I want to use it for a VJ project. Just a small patch in vvvv to build a kind of drawing application to live-paint on events.
I read some articles about TUIO, and I understand that it’s kind of OSC. vvvv can handle OSC perfect, but lacks in full TUIO support like I read in the vvvv forum. But sometimes people had luck and were able to receive some messages with the OSCdecoder
ke10 wrote, he could handle the TUIO messages in MaxMSP also as OSC messages. Maybe ke10 or Uwe can give a some further information on this topic, or anybody else who has maybe handled this nice whiteboard application with vvvv.
The TUIO messages are send to the whole network aren’t they? Because in darwiinRemoteOSC I have to specify the receiving IP adress.
Thx in advance, keep on the good work on this helpful app! Gerfried
Hi Gerfried,
TUIO is just OSC in a certain format as far as I can know. I have no experience at all with programs like vvvv (haven’t even heard of it before) but I guess you have to decode the TUIO messages somehow and extract the information you’re interested in. I posted an example of TUIO messages the whiteboard software sends out here.
The TUIO messages are send to the whole network aren’t they? Because in darwiinRemoteOSC I have to specify the receiving IP adress.
No, they are actually sent to the local machine only (localhost). I could add the option to have them transmitted to another computer if you’re interested.
Uwe
I would really like to know how you all make use of the whiteboard software. Could you send in pictures (with optional short description) showing you in action with the program? I thought about making a gallery and putting it on this webpage. For instance, teachers could make pictures from their classroom. But it doesn’t really matter if you’re a teacher, an artist, or just playing with it for fun. Click here for my email address.
What do you think?
Uwe
Here is my suggestion for how to work with multiple wiimotes in 2D (case 1 and case 2). Rather than have to set the software in advance to distinguish between the two cases, I would use the calibration to determine how much overlap there is: start with 4 points and if both wiimotes can see all four, use only those points. During use, if both wiimotes can see the pen, use the average position to improve accuracy. If you want to take this further, you could use a weighted average based on how much of each wiimote’s field of view is being used (so that the “better” wiimote has more influence). If only one wiimote can see the pen, use that position (helps if the presenter stands in the wrong place).
If when calibrating, each wiimote can only see two corner points, then they are being used to cover a wider area. In this case, each one needs another two points (the same two), which could be chosen to be halfway along the screen (making it a six point calibration). if at that point they don’t both register, there should be an error as the wiimotes’ field of view does not overlap.
Hope that makes sense. It sounds complicated but it might keep the user experience as simple as possible.