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. Bob says:
    BlueCove problem, maybe?

    Hi, I downloaded your program and followed these instructions, but when I try to open it, an error appears that says something like, “Bluetooth failed to initialize, there may be a problem with your Bluetooth stack or API.” I can’t tell you exactly what it says because the error doesn’t always appear; sometimes it’s just an error box. Immediately after this, the program closes. I’m not sure if I installed Blue Cove correctly though. I’m relatively new to Linux, and I’m just now learning how to program, so it would be helpful if you could give me some insight on what’s happening. I have Ubuntu 9.10, with BlueZ (maybe) installed. I say maybe because I’m not sure if I installed that right either. I used the Linux Whiteboard program and my Wiimote could connect easily to that, so I’m not sure what the problem is.
    Thanks in advance,
    Bob
    P.S. I’ve been reading some of the comments on this board, and I’m not sure if anyone suggested this yet, but maybe you could add a feature that detects the pen as always on, then a flash off, then on, is a click. If you use USB, you wouldn’t have to worry about battery power; if you had a toggle switch and a momentary interrupter (if they have those) for the click. This way the mouse can move with the pen and hover over objects. I’m not sure how you could implement a right click, though.

  2. James D says:
    Absolutely fantastic!

    This is an extremely clever idea, and using the Wii remote (which everyone can get hold of :D ) and I look forward to trying it out with my IR pen when it arrives (ordered off eBay…)

    I just wanted to say thanks for building a Mac version. Most developers build a simple PC application and ignore Mac OS X, which sucks! At least now Mac’s are being more recognised :D

    Thank you very very much!!

  3. Uwe says: in reply to ag
    Re: OSX compiling problems

    Hi Andre,

    I’m just noticing that your post is already 14 days old, I’m sorry for replying so late!

    This is a library which cannot be launched separately!

    From the error message, it seems that you trying to start the wrong class. The Main class for the Eclipse run configuration must be org.uweschmidt.wiimote.whiteboard.WiimoteWhiteboard.
    If the Eclipse project doesn’t show any errors, you can start the application by right-clicking on WiimoteWhiteboard.java in the Package Explorer, the select Run As » Java Application.

    is there any compiler that would be easier to set up and compile?

    I also use Eclipse for development, it’s a great IDE once you get the hang of it.
    My source code also includes an Apache Ant build-script to easily compile the code and start the app, please see this post for more details.

    i’m trying to implement new features for multi LED pens

    Good luck, but I re-iterate my hunch that it is probably not easy to make multiple LEDs work. For example, depending on the pen’s angle to the Wiimote, it may see only one LED even if both are on.

    Uwe

  4. Uwe says: in reply to Anonymous
    Re: Possible new solution to scrolling

    Hi,

    this app lets you smoothscroll any coca based app by simply hovering the mouse over the top 20-30% of the top or bottom. however it seems that the app does not recognise the input from wiimote whiteboard, perhaps some genius could figure out a work around.

    I suspect this is due to the way my application controls the mouse cursor. I don’t think there is an easy solution…

    Sorry for the late reply,
    Uwe

  5. Uwe says: in reply to Bob
    Re: BlueCove problem, maybe?

    Hi Bob,

    Hi, I downloaded your program and followed these instructions, but when I try to open it, an error appear [...]

    Did you use bluecove-gpl-2.1.0.jar instead of a bluecove-gpl 2.0.3 snapshot? If not, that’s probably the problem.
    Otherwise, try starting the app as described in this post to get more debug information.

    [..] maybe you could add a feature that detects the pen as always on, then a flash off, then on, is a click. [..] I’m not sure how you could implement a right click, though.

    I guess this would work well for normal cursor movement and simple clicking, but, as you pointed out, doesn’t work for right-clicking or dragging things around.

    Uwe

  6. Homero says:
    Hi Uwe
    I’m having a problem

    Hi Uwe

    I’m having a problem when I try to run the application on windows 7 or Vista if they are 64 bits version. I think that the application(bluecove lib) looks for x64 drivers for bluetooth that doesn’t exist. Do you know if there is way to force run 32-bit mode, or anything that I can do to run this on 64 bits OS?
    I’ve tested the bluecove here and with works even with winsock bluetooth stack. It starts and discovery devices…
    http://bluecove.org/bluecove-examples/bluecove-tester/

  7. Uwe says: in reply to Homero
    Re: Hi Uwe I’m having a problem

    Hi Homero,

    Do you know if there is way to force run 32-bit mode, or anything that I can do to run this on 64 bits OS?

    have you tried Steven’s suggestion?

    Uwe

  8. Bob says: in reply to Uwe
    Re: BlueCove problem, maybe?

    I’m not sure what I did, but the Bluetooth error stopped appearing. A new appears now:
    BlueCove version 2.1.0 on bluez
    Exception in thread "Thread-8" java.lang.ArrayIndexOutOfBoundsException: 2
    at javax.swing.text.CompositeView.getView(CompositeView.java:160)
    at javax.swing.text.View.forwardUpdate(View.java:1175)
    at javax.swing.text.BoxView.forwardUpdate(BoxView.java:240)
    at javax.swing.text.View.insertUpdate(View.java:702)
    at javax.swing.plaf.basic.BasicTextUI$RootView.insertUpdate(BasicTextUI.java:1606)
    at javax.swing.plaf.basic.BasicTextUI$UpdateHandler.insertUpdate(BasicTextUI.java:1865)
    at javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:202)
    at javax.swing.text.DefaultStyledDocument.insert(DefaultStyledDocument.java:223)
    at javax.swing.text.html.HTMLDocument.insert(HTMLDocument.java:434)
    at javax.swing.text.html.HTMLDocument$HTMLReader.flushBuffer(HTMLDocument.java:3721)
    at javax.swing.text.html.HTMLDocument$HTMLReader.flush(HTMLDocument.java:2523)
    at javax.swing.text.html.HTMLEditorKit.read(HTMLEditorKit.java:261)
    at javax.swing.JEditorPane.read(JEditorPane.java:571)
    at javax.swing.JEditorPane$PageLoader.run(JEditorPane.java:662)
    java.lang.NullPointerException
    at org.uweschmidt.wiimote.whiteboard.calibration.CalibrationPersistence.calibrationFileName(CalibrationPersistence.java:61)
    at org.uweschmidt.wiimote.whiteboard.calibration.CalibrationPersistence.loadCalibrationData(CalibrationPersistence.java:66)
    at org.uweschmidt.wiimote.whiteboard.calibration.CalibrationPersistence.calibrationEvent(CalibrationPersistence.java:47)
    at org.uweschmidt.wiimote.whiteboard.calibration.WiimoteCalibration.notifyListener(WiimoteCalibration.java:564)
    at org.uweschmidt.wiimote.whiteboard.calibration.WiimoteCalibration.setScreen(WiimoteCalibration.java:172)
    at org.uweschmidt.wiimote.whiteboard.WiimoteWhiteboard.startup(WiimoteWhiteboard.java:121)
    at org.jdesktop.application.Application$1.run(Application.java:171)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:602)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
    BlueCove stack shutdown completed

    I tried using the 2.0.3. snapshot, but it went back to the Bluetooth errors.

  9. Bob says: in reply to Bob
    Re: BlueCove problem, maybe?

    When I use the 2.1.0 version, the previous error shows up, but when I use 2.0.3, I get the Bluetooth error. 2.1.0. might fix the problem, but there may be an underlying problem. When I boot Ubuntu, I get an error that says that no graphics devices are detected. I choose the option to use low-graphics mode, but I’m still running 1280×1024. Could this be the problem?

  10. Uwe says: in reply to Bob
    Re: BlueCove problem, maybe?

    Hi Bob,

    I’m not sure what I did, but the Bluetooth error stopped appearing. A new appears now: [...] 2.1.0. might fix the problem, but there may be an underlying problem.

    I’m not sure what the problem is. Please try starting the app as the root user or via sudo to check if this is a problem regarding access rights. Also continue using the 2.1.0 version.

    When I boot Ubuntu, I get an error that says that no graphics devices are detected. I choose the option to use low-graphics mode, but I’m still running 1280×1024. Could this be the problem?

    I don’t know.

    Uwe

  11. Middle School IT says:
    Minor issues with wiimote whiteboard

    We are a small school and this year most teachers’ goal was to incorporate more technology into their classroom. So what better than wiimote whiteboard?! We use Apple computer and it’s all been going pretty smooth so far but there are a couple small issues we’ve run into. In one room the WiimoteWhiteboard program starts up with the mouse control deactivated (grayed out), the work around we have right now is to turn off then on the wiimote + program a couple times till it starts up correctly with the option active. We also found that calibrating can activate the option as well (but we’ve only done it this way once). The other problem is a common one that I’ve read about on this forum, but I’m still unable to fix. The bluetooth stack is not right on an iMac running Mac OS X 10.5.8 . I’m sure you’re used to this error but I’m confused on how to get into my stack to make the necessary changes. Here is the error reported by WiimoteWhiteboard:
    WARNING 10:39:57 Error on requesting status from Wii Remote
    java.io.IOException: Error sending data!
    at wiiremotej.WiiRemote.sendCommand(WiiRemote.java:613)
    at wiiremotej.WiiRemote.requestStatus(WiiRemote.java:904)
    at org.uweschmidt.wiimote.whiteboard.WiimoteDataHandler$1.run(WiimoteDataHandler.java:125)
    at java.lang.Thread.run(Thread.java:613)
    Caused by: java.io.IOException: Connection closed
    at com.intel.bluetooth.BluetoothStackOSX.l2Send(Native Method)
    at com.intel.bluetooth.BluetoothL2CAPConnection.send(BluetoothL2CAPConnection.java:130)
    at wiiremotej.WiiRemote.sendCommand(WiiRemote.java:609)
    … 3 more
    Thanks for the help, this forum is great.

  12. Uwe says: in reply to Middle School IT
    Re: Minor issues with wiimote whiteboard

    Hi,

    In one room the WiimoteWhiteboard program starts up with the mouse control deactivated (grayed out)

    I’m not exactly sure what you mean. The mouse control checkbox can only be activated if a Wiimote is connected that has previously been calibrated. After the Wiimote connects, the app looks for previous calibration data; if found, it will enable mouse control and activate the Move & Click option. At least that’s how it should work :) .
    Maybe you can describe the problem in more detail or take some screenshots to show me what’s going on.

    The other problem is a common one that I’ve read about on this forum, but I’m still unable to fix. The bluetooth stack is not right on an iMac running Mac OS X 10.5.8 . I’m sure you’re used to this error but I’m confused on how to get into my stack to make the necessary changes.

    I actually don’t remember this problem, could you point me to the relevant posts?
    And what do you mean by “I’m confused on how to get into my stack to make the necessary changes”?

    PS: You might find this post useful (unrelated to your problem).

    Uwe

  13. Anonymous says: in reply to Jim Hays
    Re: Looks good

    Help, does this mean we can use those remotes instead of a pen?

  14. Teacher says: in reply to Uwe
    Re: Minor issues with wiimote whiteboard

    Uwe,

    I am also coming up with this problem. I am a student teacher and working in a school district that does not have smartboards. I found this program and am currently trying to use this in the room. I have the same problem as when I am calibrating my wii controller it seems to shut off instead of staying connected. I
    here is the code that pops up
    ARNING 13:20:40 Error on requesting status from Wii Remote
    java.io.IOException: Error sending data!
    at wiiremotej.WiiRemote.sendCommand(WiiRemote.java:613)
    at wiiremotej.WiiRemote.requestStatus(WiiRemote.java:904)
    at org.uweschmidt.wiimote.whiteboard.WiimoteDataHandler$1.run(WiimoteDataHandler.java:125)
    at java.lang.Thread.run(Thread.java:613)
    Caused by: java.io.IOException: Connection closed
    at com.intel.bluetooth.BluetoothStackOSX.l2Send(Native Method)
    at com.intel.bluetooth.BluetoothL2CAPConnection.send(BluetoothL2CAPConnection.java:130)
    at wiiremotej.WiiRemote.sendCommand(WiiRemote.java:609)
    … 3 more
    Please let me know what you know about this
    thanks
    T

  15. Tommy says:
    the Ideal separation between the remote and the board – IR PENS

    I have three questions for you:

    1.) I would like to know accordingly your experience . Which could be the “ideal” distance between the remote and the board or screen. I have read several opinions and now I am a little confused with the best range. Just imagine a projected screen with 2 by 3 meters size, or a 40″ HDTV

    2.) Some new IR pens has not the activation buttom because they use the LED as a pressure buttom itself…. Which has the best performance in terms of sensitivity: The “well known” side buttom device or the new LED pressing device ?

    3.) Some professional smartboards cames with 4 IR pens ( black, blue, red, green) the smartboard software recognize each one as a particular color and draws with the pre-programed color coded pens. Is this option possible in your platform ? Maybe in the future ? ;)

  16. Ciro says:
    Syncing issues, BlueCove-2.1.1-SNAPSHOT on openSUSE 11.2

    Hi, following your instructions I added latest version of BlueCove to the original JAR, I can now start the application. The problems appears when I try to sync with the Wiimote.

    Any idea of how to fix this?


    24-ene-2010 18:49:42 wiiremotej.WiiDeviceDiscoverer getDevice
    GRAVE: Error getting device!
    java.io.IOException: WiiRemote failed to connect!
    at wiiremotej.WiiRemote.construct(WiiRemote.java:321)
    at wiiremotej.WiiRemote.(WiiRemote.java:223)
    at wiiremotej.WiiDeviceDiscoverer.getDevice(WiiDeviceDiscoverer.java:121)
    at wiiremotej.WiiRemoteJ.findDeviceInternal(WiiRemoteJ.java:342)
    at wiiremotej.WiiRemoteJ.access$100(WiiRemoteJ.java:24)
    at wiiremotej.WiiRemoteJ$1.run(WiiRemoteJ.java:426)
    at java.lang.Thread.run(Thread.java:636)
    Caused by: java.io.IOException: Failed to bind socket. [22] Invalid argument
    at com.intel.bluetooth.BluetoothStackBlueZ.l2OpenClientConnectionImpl(Native Method)
    at com.intel.bluetooth.BluetoothStackBlueZ.l2OpenClientConnection(BluetoothStackBlueZ.java:679)
    at com.intel.bluetooth.BluetoothL2CAPClientConnection.
    (BluetoothL2CAPClientConnection.java:35)
    at com.intel.bluetooth.MicroeditionConnector.openImpl(MicroeditionConnector.java:395)
    at com.intel.bluetooth.MicroeditionConnector.open(MicroeditionConnector.java:513)
    at javax.microedition.io.Connector.open(Connector.java:97)
    at wiiremotej.WiiRemote.construct(WiiRemote.java:313)
    ... 6 more
    java.io.IOException: WiiRemote failed to connect!
    at wiiremotej.WiiRemote.construct(WiiRemote.java:321)
    at wiiremotej.WiiRemote.
    (WiiRemote.java:223)
    at wiiremotej.WiiDeviceDiscoverer.getDevice(WiiDeviceDiscoverer.java:121)
    at wiiremotej.WiiRemoteJ.findDeviceInternal(WiiRemoteJ.java:342)
    at wiiremotej.WiiRemoteJ.access$100(WiiRemoteJ.java:24)
    at wiiremotej.WiiRemoteJ$1.run(WiiRemoteJ.java:426)
    at java.lang.Thread.run(Thread.java:636)
    Caused by: java.io.IOException: Failed to bind socket. [22] Invalid argument
    at com.intel.bluetooth.BluetoothStackBlueZ.l2OpenClientConnectionImpl(Native Method)
    at com.intel.bluetooth.BluetoothStackBlueZ.l2OpenClientConnection(BluetoothStackBlueZ.java:679)
    at com.intel.bluetooth.BluetoothL2CAPClientConnection.
    (BluetoothL2CAPClientConnection.java:35)
    at com.intel.bluetooth.MicroeditionConnector.openImpl(MicroeditionConnector.java:395)
    at com.intel.bluetooth.MicroeditionConnector.open(MicroeditionConnector.java:513)
    at javax.microedition.io.Connector.open(Connector.java:97)
    at wiiremotej.WiiRemote.construct(WiiRemote.java:313)
    ... 6 more

    Regards,

  17. Jeremy says:
    Connection Problems

    I am a special education teacher in a high school and love this wimote whiteboard idea. I can get it to work at home every time I try to connect the wimote. My problem is at school. My computer will not pick up the wimote like it does at home. Is there something that could be blocking the bluetooth connection? Any ideas on what could be the cause of this?

    Thanks,
    Jeremy

  18. Uwe says: in reply to Anonymous
    Re: Looks good

    Hi,

    what do you mean? Using a (TV) remote control instead of an infrared pen?
    If so, that’s usually not working well because the IR light is usually too weak and also flickering.

    Sorry for the late reply,
    Uwe

  19. Uwe says: in reply to Teacher
    Re: Minor issues with wiimote whiteboard

    Hi,

    I have the same problem as when I am calibrating my wii controller it seems to shut off instead of staying connected.

    So you can connect the Wiimote just fine and the problem occurs some time later? Does this always happen?
    Have you tried disabling all other (potentially) disturbing Bluetooth devices in the vicinity?

    Sorry for the late reply,
    Uwe

  20. Uwe says: in reply to Ciro
    Re: Syncing issues, BlueCove-2.1.1-SNAPSHOT on openSUSE 11.2

    Hi Ciro,

    I added latest version of BlueCove to the original JAR

    please try using the stable version bluecove-gpl-2.1.0.jar that matches the major version number of the main BlueCove library bundled with my app.

    Caused by: java.io.IOException: Failed to bind socket. [22] Invalid argument

    Someone else had this problem, as far as I remember. I however don’t get any results when I search for it…
    The only thing that comes to mind is to make sure the Wiimote is not already connected to some other app / daemon you’re running.

    Uwe

  21. Uwe says: in reply to Jeremy
    Re: Connection Problems

    Hi Jeremy,

    I need a little more information here. Are you using Windows, Mac, or Linux?
    How do the computers at school and home differ?

    Uwe

  22. Jeremy says: in reply to Uwe
    Re: Connection Problems

    I am using a macbook. I finally got it to connect. I just have to try over and over again until it decides to work. Is it possible that there are just so many wireless computers in the school and bluetooth devices that it makes it harder for my wiimote to connect to my macbook?

    Thanks,
    Jeremy

  23. Uwe says: in reply to Jeremy
    Re: Connection Problems

    Hi Jeremy,

    I don’t know whether “wireless smog” is your problem. One thing you could try is to restrict the software to connect to specific Wiimotes only. Maybe this helps…

    Uwe

  24. Sam says: in reply to Uwe

    An iPhone veriation would have to be done as a third party app, however what you would do is work with the 3rd party Bluetooth stack to allow a wiimote to connect to the phone, at which time the phone would be conected to apple’s av cable to hook it up to a projector. Next you could implament the btstack mouse app to use the software in much the same way that you would use it on a computer. Everything neccisary to make this work exept an actual wimote intagaration protocall is allready in place and working.

    -Sam

  25. Erling says: in reply to Uwe

    I am a bit late picking up this thread but I just got my Wiimote and experience the exact same problems, even the stuck battery level at 56%. I wonder if any solution has been found

  26. Millit says:

    Concerning software keyboards. Maybe you’ll find something new ideas in this Virtual Keyboard.

  27. Erling says: in reply to Erling

    I probably owe it to whoever might like to respond to this post to give some details:
    I run OS 10.6.2 and Wiimote Whiteboard for Mac 1.0.1 (.jar version not working, “Bluetooth failed to initialize. There is probably a problem with you local Bluetooth stack or API.”) on my MacBook Pro 4.1 Intel Core 2 Duo 2,5 GHz. Sometimes the Wiimote pops up and connects to my Mac as any other Bluetooth device, and occasionally it connects to the Whiteboard but only with IR dot 2 and 3 detected when I try my pen, also only one blue light on my Wiimote. Resetting doesn’t help and usually resetting freezes the progam. When detected by Whiteboard it is also connected in the Mac’s list of Bluetooth devices. Trying to calibrate only results in occasional green check box no 1 after a long time, and then Whiteboard quits. Have done this numerous times, deleting Wiimote from the list of Bluetooth devices every time. Here is the log an screenshot from an instance of connection:

    (Failed at attaching screenshot. All it showed was Battery: 56% and the first blue dot.)


    INFO 15:46:37 Calibration Event: SCREEN_CHANGED
    FINER 15:46:52 WiiRemoteJ: Initial connection complete.
    FINER 15:46:53 WiiRemoteJ: Calibrating accelerometer...
    FINER 15:46:53 WiiRemoteJ: Accelerometer successfully calibrated
    FINER 15:46:53 WiiRemoteJ: Initialization complete.
    FINEST 15:46:53 WiiRemoteJ: Data write finished.
    FINEST 15:46:54 WiiRemoteJ: Data write finished.
    FINEST 15:46:54 WiiRemoteJ: Data write finished.
    FINEST 15:46:54 WiiRemoteJ: Data write finished.
    FINEST 15:46:54 WiiRemoteJ: Data write finished.
    FINEST 15:46:55 WiiRemoteJ: Data write finished.
    FINEST 15:46:55 WiiRemoteJ: Data write finished.
    INFO 15:46:55 (Re-)Setting IR sensor of Wiimote 1: done
    SEVERE 15:48:05 WiiRemoteJ: Error discovering device.
    java.io.IOException: The remote device can not be contacted
    at com.intel.bluetooth.BluetoothStackOSX.getRemoteDeviceFriendlyName(Native Method)
    at com.intel.bluetooth.RemoteDeviceHelper.getFriendlyName(RemoteDeviceHelper.java:400)
    at javax.bluetooth.RemoteDevice.getFriendlyName(RemoteDevice.java:130)
    at wiiremotej.WiiDeviceDiscoverer.deviceDiscovered(WiiDeviceDiscoverer.java:63)
    at com.intel.bluetooth.BluetoothStackOSX$1.deviceDiscoveredCallback(BluetoothStackOSX.java:390)
    at com.intel.bluetooth.BluetoothStackOSX.runDeviceInquiryImpl(Native Method)
    at com.intel.bluetooth.BluetoothStackOSX.access$200(BluetoothStackOSX.java:44)
    at com.intel.bluetooth.BluetoothStackOSX$1.runDeviceInquiry(BluetoothStackOSX.java:368)
    at com.intel.bluetooth.DeviceInquiryThread.run(DeviceInquiryThread.java:103)

    Here is an instance of not connecting to Whiteboard but only as a Bluetooth device to my Mac (after having removed it from the list of devices):

    INFO 15:56:19 Calibration Event: SCREEN_CHANGED
    FINE 15:56:24 WiiRemoteJ: Found Nintendo RVL-CNT-01 (001A1A00C8C5)
    FINE 15:56:24 WiiRemoteJ: Nintendo RVL-CNT-01 is a Wii Remote.
    INFO 15:56:24 WiiRemoteJ: btl2cap://001A1A00C8C5
    FINER 15:56:25 WiiRemoteJ: Initial connection complete.
    FINER 15:56:26 WiiRemoteJ: Calibrating accelerometer...
    FINER 15:56:26 WiiRemoteJ: Accelerometer successfully calibrated
    FINER 15:56:26 WiiRemoteJ: Initialization complete.
    SEVERE 15:56:36 Error on configuring Wii Remote
    java.io.IOException: Error sending data!
    at wiiremotej.WiiRemote.sendCommand(WiiRemote.java:613)
    at wiiremotej.WiiRemote.setInputReport(WiiRemote.java:888)
    at wiiremotej.WiiRemote.setInputReport(WiiRemote.java:894)
    at wiiremotej.WiiRemote.setIRSensorEnabled(WiiRemote.java:1687)
    at wiiremotej.WiiRemote.setIRSensorEnabled(WiiRemote.java:1651)
    at org.uweschmidt.wiimote.whiteboard.WiimoteDataHandler.enableIR(WiimoteDataHandler.java:90)
    at org.uweschmidt.wiimote.whiteboard.WiimoteDataHandler.addRemote(WiimoteDataHandler.java:102)
    at org.uweschmidt.wiimote.whiteboard.WiimoteDataHandler.wiiDeviceDiscovered(WiimoteDataHandler.java:253)
    at wiiremotej.WiiRemoteJ$1.run(WiiRemoteJ.java:434)
    at java.lang.Thread.run(Thread.java:637)
    Caused by: java.io.IOException: Failed to write [0xe00002bc]
    at com.intel.bluetooth.BluetoothStackOSX.l2Send(Native Method)
    at com.intel.bluetooth.BluetoothL2CAPConnection.send(BluetoothL2CAPConnection.java:130)
    at wiiremotej.WiiRemote.sendCommand(WiiRemote.java:609)
    ... 9 more
    WARNING 15:56:36 Error on requesting status from Wii Remote
    java.io.IOException: Error sending data!
    at wiiremotej.WiiRemote.sendCommand(WiiRemote.java:613)
    at wiiremotej.WiiRemote.requestStatus(WiiRemote.java:904)
    at org.uweschmidt.wiimote.whiteboard.WiimoteDataHandler$1.run(WiimoteDataHandler.java:125)
    at java.lang.Thread.run(Thread.java:637)
    Caused by: java.io.IOException: Connection closed
    at com.intel.bluetooth.BluetoothStackOSX.l2Send(Native Method)
    at com.intel.bluetooth.BluetoothL2CAPConnection.send(BluetoothL2CAPConnection.java:130)
    at wiiremotej.WiiRemote.sendCommand(WiiRemote.java:609)
    ... 3 more

  28. Bob Smith says: in reply to Uwe

    I used Windows and I tried both the BlueSoleil stack and the default Windows stack. This time, the GUI appeared (this doesn’t happen on Ubuntu), but then it says “Not Supported on winsock/bluesoleil” I can connect easily to Glovepie, and I can sometimes connect to Johnny’s original Wiimote Whiteboard. WiinRemote connects, but nothing works. I’m not sure what the problem is.

  29. Uwe says: in reply to Erling

    Hi Erling,

    Erling:
    [...] occasionally it connects to the Whiteboard but only with IR dot 2 and 3 detected when I try my pen [...]
    Trying to calibrate only results in occasional green check box no 1 after a long time, and then Whiteboard quits.

    this is rather strange. Are there any other sources of infrared light, like sunlight or light bulbs?

    Erling:
    SEVERE 15:48:05 WiiRemoteJ: Error discovering device.
    java.io.IOException: The remote device can not be contacted

    I’ve never seen this error message. You could try posting to the BlueCove Users Discussion Group, maybe they can help.

    Uwe

  30. Uwe says: in reply to Bob Smith

    Hi Bob,

    Bob Smith: I used Windows and I tried both the BlueSoleil stack and the default Windows stack. [...] it says “Not Supported on winsock/bluesoleil”

    my program only works with the WIDCOMM stack on Windows. Please see this thread.

    Uwe

Leave a Reply