Wiimote Smooth Board 0.2 BETA

Update: I have released Smoothboard the latest Wii Whiteboard on a new website, Smoothboard.net.

Floating Toolbar - Annotation Floating Toolbar - Navigation

The latest Smoothboard release contains Floating Toolbar to provide quick full control of your presentations and lessons. The Floating Toolbar allows you to change slides easily in PowerPoint and navigate your desktop with ease.
The built-in Annotation Tool allows you to write and draw on top of any window on your desktop. The Colored Pens and Highlighter will be essential in every presentation. The Snapshot tool will automatically save a screenshot for later retrieval or distribution.

The latest Smoothboard release can be downloaded from http://www.smoothboard.net

Features

Multiple Wiimotes Support – allows the usage of a secondary Wiimote for redundancy

i.  Secondary Wiimote will be automatically used if the primary Wiimote does not detect the IR source

ii.  Primary and secondary Wiimotes can be switched

iii. Primary Wiimote can be used to focus a specific screen area for higher tracking resolution in the area

Partial Screen Area tracking – calibrate a selected screen area

Cursor smoothing – reduces jagged lines when drawing

Outside screen area toggles

i. Simulate mouse clicks – right click and double click

ii. Simulate keyboard key presses – multiple key combinations

iii. Launch or execute any application/file which has a default viewer

iv. Store different settings files to suit different environments when required

IR Calibration

i. Viewable calibration setup to allow easier adjustments for greater tracking utilization

ii. Configurable infrared (IR) sensitivity to allow greater range or improved accuracy

Installation

  • Extract the zip package contents (WiimoteSmoothBoard folder) into an easy to access directory like C:\Wiimote.

Setting Up Two Wiimotes

  • Connect two Wiimotes to your computer using Bluetooth. Both Wiimotes must be discovered as a HID device.
  • Run the executable file, WiimoteSmoothBoard0.2.exe.
  • Open Advanced Settings window, and select the Multiple Wiimotes tab.
  • Click on the Two Wiimotes option box and click Restart Now.
  • The Wiimote Smooth Board application will restart with two connected Wiimotes. The primary Wiimote will be indicated by the the first blue LED on the Wiimote being lighted up. The secondary Wiimote will have the second LED lighted up.
  • If you would like to switch between the primary and secondary Wiimote, select the Switch Primary and Secondary Wiimotes button in the Multiple Wiimotes tab.
  • Position the primary Wiimote and press the A Button on the primary Wiimote. Click on the four calibration points shown on the screen with an infrared pen.
  • Place the secondary Wiimote at another location and press the A Button on the secondary Wiimote to complete the final calibration.

Note: The next time the Wiimote Smooth Board is executed, it will search for two Wiimotes automatically.

Screenshots and Instructions

Wiimote Smooth Board 0.2′s main window

One Wiimote

Two Wiimotes

Advanced Settings - Loads the Advanced Settings window which allows settings for several key features.

Quick Calibration – Calibrates the screen area with respect to the Wiimote’s position. The calibration can also be triggered by pressing the Button A of the Wiimote.

Cursor

Cursor Control – Activates or deactivates the control of the cursor when an IR pen is used.

Smoothing - Enables the cursor’s motion to be more stable by removing jitters. This is done by averaging several past coordinates. The default is 5 points but can be adjusted to your preference. Lesser points will result in more jitters while the more points will result in lesser accuracy and lag in the response time.

Below is an example of the differences that could be seen. This screenshot was produced using Wiimote Whiteboard 0.2 with smoothing.

Battery Level - Displays the battery levels for the Wiimote.  If two Wiimotes are connected and the application is set to two Wiimotes, the main window will display the battery levels for both the Wiimotes.

Advanced Settings Window

The Advanced Settings window contains five tabs; IR Tracking, Outside Screen Toggles, Partial Screen Tracking, Multiple Wiimotes and Miscellaneous.

IR Tracking

The IR Tracking window tab allows the modification of the infrared (IR) sensitivity and a calibration guide.

There are 6 IR sensitivity levels that are in built to the application, WiiLevel1 to WiiLevel5 and Maximum. WiiLevel3 is the default sensitivity level that is used in the Nintendo console. In depth information about the IR sensitivity can be found at WiiBrew.

If you have difficulty receiving input from the IR source that may be due to the weak IR source or the distance, you can try to gradually increase the IR sensitivity. However, higher sensitivity levels might allow stray IR sources (sun light, candles) to cause the degradation of accuracy.

On the other hand, if a strong IR sources (such as sun light) is causing the cursor to jump erratically, you can try to reduce the IR sensitivity.

For Wiimote Smooth Board 0.2, the sensitivity settings is only applied to the primary Wiimote. More options will be made available in the future release.

Calibration

One of the useful features of the Wiimote Smooth Board is the calibration area viewer. This allows you to check the current calibration set up (screen area with respect to the Wiimote tracking area). You will be able to quickly gauge the areas that might not be in view of the Wiimote. The calibration viewer within this tab only shows the primary Wiimote’s calibration. To obtain both the Wiimotes calibration views, click on the Multiple Wiimotes tab.

The White Area represents the screen area that is calibrated.

The Black Area represents the tracking area that the Wiimote can cover.

The Grey Area represents the area that cannot be tracked. Therefore, if a part of the calibrated area (White Area), falls on the Grey Area, that portion will not be clickable.

With the calibration area viewer, you can easily adjust the Wiimote’s position to obtain a better tracking utilization (Screen Area divided by Wiimote Tracking Area). After repositioning, you can click on the Calibrate button again to recalibrate the screen area.

Tips: The Black Area is the Wiimote’s ‘view’, while the White Area is the screen which is usually a fixed position. Therefore, shifting the Wiimote’s position is equivalent to the shifting of the Black Area with respect to the White Area.

For example the below screenshot shows the White Area placed at an off-center position and a portion of the White Area is outside the Black Area. Therefore, the bottom left corner of the screen will not be clickable in this configuration.

To correct this, you will have to tilt your Wiimote slightly downwards and rotate the Wiimote to the right.

Outside Screen Toggles Tab

Above is the Outside Screen Toggle tab of the Advanced Settings window. This window allows you to configure the effect of toggles around the screen area. As usually there will be some extra tracking area that is left not utilized around the screen, this application gives you the choice to turn this area into triggers.

Check the Click Outside Screen to Toggle checkbox to activate this feature.

To configure a specific area, click on the required screen area (colored in lavender) in the window or select the area number from the combo box.

Currently there are 3 types of toggles available.

Mouse Click (Right Click or Double Click)- After clicking on the specified area, the configured mouse click will be only triggered on the next click location within the screen.

For example, if you have chose Right Click for a specific area, you will need to click on that area to switch to Right Click mode. Next, you just have to click on anywhere on the screen that you wanted to right click. Then, the application will automatically return to the normal left click mode.

Keyboard Key Press – This option allows a combination of up to 3 virtual keys and 1 character key. More details about the virtual key codes can be found at MSDN Virtual-Key Codes.

There are 3 combo boxes for the 3 virtual keys and a text box for the single character input.

The screenshot shows the right side area numbered as 5 being configured as a key press. It is assigned to a Volume Up key press.

Tips: Select a blank list item if you do not require the extra keys.

This screenshot shows the Click Area 7 to be assigned to a Control+C key combination which is a shortcut key for the copy command.

Load file/application – This final option allows you to launch any file that has an associated default viewer (can be opened directly through Windows Explorer).

Click on Browse File to locate the required file. If you are not looking for an executable file, you should select “All Files | *.*” in the dialog box.

The name of the file can be renamed for your own reference.

Settings File

The application allows you to switch between different settings files to suit different usages. For example, you might need different shortcuts/triggers such as for exploration in Google Earth, presentation with Powerpoint and playing media.

Reload – Resets the configurations to the previously saved settings file.

Save - Saves the current configurations into the same settings file that was used.

Save As - Saves the current configurations into another settings file. This will open a dialog box requesting you to choose the location and the filename where the settings file will be saved. The extension .ini is automatically added by the application.

Load - Allows you to switch to a previously saved settings file. Please ensure that a valid settings file is chosen.

Note: If the program fails to work, this might be due to the syntax errors in the settings file. Therefore, just delete the current settings file that is chosen by the program. The full file path of the settings file chosen can be found in the calibration.dat file. By default, the settings file will be stored in the application’s directory with the filename settings.ini. You can also delete the calibration.dat file which will reset the application’s configurations to the original state.

Examples

I have included several settings files for outside screen toggles to demonstrate this feature and to help you get started. You can reconfigure the shortcuts to your own preference and save as another settings file.


Windows Media Player.ini - Shortcuts for the Windows Media Player 10 are triggered when outside clicks are detected. Allows you to toggle fullscreen, change the volume, open media, play previous/next item, start/pause, and launch Windows Media Player.


General.ini - I have assigned several keyboard shortcuts to suit the general usage in Windows. With the shortcuts, you can start the presentation,go back and forth the slides, right click and Alt+Tab to switch to another window. This is useful when you need show another application during the presentation.

To switch windows, just click and drag the assigned Alt key area to the Tab area and let go. Then, click the Tab area till you reached the desired window and click on the Alt key area again. I have recorded a video demonstrating this feature.

Multiple Wiimotes

In the multiple Wiimotes mode, a Wiimote will be assigned to be the primary Wiimote and another Wiimote will be the secondary Wiimote. This will allow the application to continuously track the cursor position even though one of the Wiimote’s is blocked.

For example, you can place one Wiimote on the left on the screen and another Wiimote to the right of the screen. This will allow left-handed and right-handed users to control the cursor without repositioning the wiimote.

If all the users are right-handed, I suggest you to place both the Wiimotes on the left side of the screen but at different angles. This will allow both Wiimotes to track the screen area continuously. If someone walks past or accidentally blocks one of the Wiimotes, the cursor control will not be interrupted.

Another way to use the multiple Wiimotes feature is by focusing the primary Wiimote on a specific area of the screen to achieve higher tracking resolution within the area and by using the secondary Wiimote to cover the whole screen to allow interaction with the whole screen. This can be used in conjunction with the Partial Screen Area Tracking feature that will be covered in the next section.

The cursor control will be based on the primary Wiimote’s readings unless the primary Wiimote does not detect the IR source but the secondary Wiimote does. If this happens, the values from the secondary Wiimote will be automatically used by the application. If the calibrations are done accurately, the transition between the two Wiimotes will almost be unnoticeable.

Multiple Wiimotes tab

The Multiple Wiimotes tab allows you to configure the settings for two Wiimotes. By default, the application only selects one Wiimote. To use two Wiimotes, click on Two Wiimotes. After, connecting an additional Wiimote, click Restart Now to restart the application.

The Wiimote Smooth Board will restart and tries to use two connected Wiimotes. The primary Wiimote will be indicated by the the first blue LED on the Wiimote being lighted up. The secondary Wiimote will have the second LED lighted up.

When the application has restarted, the main window will display the battery levels for both the Wiimotes. If only one Wiimote or no Wiimotes can be found, the application will alert the user. For the application to work, the primary Wiimote must be connected. If the secondary Wiimote is found but the primary Wiimote is not found, you can reconfigure the Wiimotes by clicking on Switch Primary and Secondary Wiimotes.

After switching the Wiimotes, the Wiimotes’ LEDs will be refreshed to indicate the new assignments for the Wiimotes.

Calibration for Multiple Wiimotes - To quickly calibrate the Wiimotes, click on Button A of the Wiimote you would like to calibrate and click on the four calibration points. You can reposition and recalibrate the Wiimote if the calibration is not satisfactory. Repeat this step for the other Wiimote.

Note: When the primary and secondary Wiimotes are switched, you will have to recalibrate the Wiimotes.

Partial Screen Area Tracking

This feature allows you to specify the screen area you would like to be tracked.

Uses for this feature:

  • Limit the tracking to a specific area on the screen (Prevent users to click elsewhere other than the selected screen area). For example, you are allowing young children to use whiteboard but would like to prevent them from accidentally clicking outside the specific application.
  • If you have difficulty calibrating the whole screen due to the size of the screen, you can choose a smaller area to calibrate but allow the cursor to be used throughout the screen.
  • Focusing the primary Wiimote on a specific screen area will allow a higher tracking resolution for that area compared to tracking the full screen. You can use a secondary Wiimote to cover the whole screen. For example, you are using a drawing a program and require higher tracking accuracy within the drawing area.

Partial Screen Area tab

Track Partial Screen Area option- To track a specific screen area instead of the whole screen, uncheck this option. The other options will only be activated if the mode is selected.

Note: Outside Screen Toggles will be automatically disabled when this mode is selected. If you still require the outside screen toggles, you can return to the Outside Screen Toggles tab to enable again the feature.

Limit cursor within selected screen area option – This option will determine whether the simulated cursor will be allowed to appear outside the selected area. If you are using this feature just to allow easier calibration for large screens, you can deselect this option. You will still be able to control the whole screen if you have placed the Wiimote sufficiently away from the screen.

Select Screen Area to Track button – click on this button to select the required screen area to track. A semi transparent window will appear on top of your desktop to allow you to easily select the screen area. This can be done by left clicking and dragging the mouse pointer. Once you are satisfied with the selection, let go the mouse click and the application will automatically save the chosen screen coordinates.

The above screenshot shows the selected screen area within the full screen area.

Videos

Click here to see the videos that I have created for Wiimote Smooth Board 0.1. Once I have the time, I will create some videos demonstrating the multiple Wiimotes usage and the partial tracking area selection.

Credits

Johnny Lee for his ingenuity in creating the Wiimote Whiteboard

Brian Peek for providing the WiimoteLib 1.4

My girlfriend, Stephanie Foo, for supporting me in doing this project

WiimoteProject.com users especially Ben, for their suggestions, and help in testing

Generous donors and volunteers, who have been continuously supporting and testing the Wiimote Smooth Board.

Download

For the latest versions: http://www.smoothboard.net

Update: I have released Smoothboard 1.0 on a new website, Smoothboard.net.

Please report any bugs or suggestions by posting a comment here or at the Wiimote Project forum. Thanks!

One Response

  1. Sporeboard | Network Effects Says:

    [...] I would take some time today to tryout Smoothboard and Spore in the family room with the kids. A little reconfiguration of the home media centre, [...]

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.