Apparently I'll be showing off some simple games/demo's using the Wii Balance Board at UNSW's open day on the 6th September.
No details on when/where, but will also be talking about the "Wiihab" rehab project since its progressed a fair bit and there's something to talk about! =p
Will update this with other progress of the project once I get home..
Thursday, August 28, 2008
Sunday, August 17, 2008
Speed test
2 minutes of my time has discovered the following:
* An event is sent (or received I should say) every ~5ms from the board (from a test run of collecting data for 10 seconds)
Meanwhile...
While I still haven't figured out the quick connect problem (if it can even be solved), the little program showing where "balance" is is coming along quite nicely.
I think its safe to assume that the bottom left and bottom right values should be the same for centre of balance. Now as for the top two values, I thought I read somewhere that weight should be spread evenly across the feet (heel to toe)....
Reading time!
update: I was wrong, the heel takes 50% of the weight and everything else is evenly distributed (giving the front two values a lower reading vs back two).
There must be some sort of relationship between the front values and back values to determine the user is standing naturally (not leaning forward or backward intentionally). I get to play with graphics now... yay!
On another note, I was looking around at wii board things (as one does), and this kind of use never came to mind:
http://au.youtube.com/watch?v=GjI88WH3WbI
an additional input device that you rest your feet on. Perhaps I'll get that working too, I'm always finding a lack of hotkeys in games (and refuse to buy the keyboards made for games?)
* An event is sent (or received I should say) every ~5ms from the board (from a test run of collecting data for 10 seconds)
Meanwhile...
While I still haven't figured out the quick connect problem (if it can even be solved), the little program showing where "balance" is is coming along quite nicely.
I think its safe to assume that the bottom left and bottom right values should be the same for centre of balance. Now as for the top two values, I thought I read somewhere that weight should be spread evenly across the feet (heel to toe)....
Reading time!
update: I was wrong, the heel takes 50% of the weight and everything else is evenly distributed (giving the front two values a lower reading vs back two).
There must be some sort of relationship between the front values and back values to determine the user is standing naturally (not leaning forward or backward intentionally). I get to play with graphics now... yay!
On another note, I was looking around at wii board things (as one does), and this kind of use never came to mind:
http://au.youtube.com/watch?v=GjI88WH3WbI
an additional input device that you rest your feet on. Perhaps I'll get that working too, I'm always finding a lack of hotkeys in games (and refuse to buy the keyboards made for games?)
Wednesday, August 13, 2008
Connection woes
Apparently, according to the author of WiiRemoteJ, there is no current easy way of saving connection state of the bluetooth pairing with the board.
" the code for the quick-connect stuff is buried in firmware and isn't accessible over the standard Bluetooth interface. Until someone figures out a way to access it, we're stuck with having to press the sync button (or 1 + 2 on the Wii Remote) every time. Sorry!"
Damn. =(
" the code for the quick-connect stuff is buried in firmware and isn't accessible over the standard Bluetooth interface. Until someone figures out a way to access it, we're stuck with having to press the sync button (or 1 + 2 on the Wii Remote) every time. Sorry!"
Damn. =(
Friday, August 8, 2008
ooh flashing lights
flashing lights, and numbers!
I've managed to start reading data from the board. Good progress.
Things that annoy me / limitations:
* WiiRemoteJ is closed source (to those in the meeting, sorry I was thinking about something else being open source. my bad)
* The board sends too much data.
Well alright its not huge problem when someone's standing on the board, because its useful and changes in data are important.
However!
Currently, the board listener is firing off button presses and mass readings when its just sitting there. If its an implementation detail on the PC side its no problem, however if the board is actually sending all that, I can only imagine the batteries giving up sometime soon.
* Connection is annoying! Each time I want to re-run the program, I must press the red discovery button located "conveniently" under the board, next to where the batteries are placed.
Also, if the program is terminated without disconnecting the board and shutting down the bluetooth stack properly, it won't connect the next time...
* Its accurate. (A great thing! but I need to do more exercise oO)
Here's a snippet of some of the readings I got from it by pressing my hand down on the board:
Board found! 001FC5AFCFD2
--Status--
Battery:0.885
LED: true
~~Mass~~
total weight: 2.0945097456241313
Top Left: 0.2508513053348468
Top Right: 0.30131503716409375
Bottom Left: 0.8152753108348135
Bottom Right: 0.727068092290377
~~Mass~~
total weight: 2.323162019423905
Top Left: 0.27014755959137343
Top Right: 0.2624356775300172
Bottom Left: 0.8052101835405565
Bottom Right: 0.9853685987619584
~~Mass~~
total weight: 3.4545152931615912
Top Left: 0.22190692395005673
Top Right: 0.38879359634076616
Bottom Left: 1.0165778567199526
Bottom Right: 1.827236916150816
I've managed to start reading data from the board. Good progress.
Things that annoy me / limitations:
* WiiRemoteJ is closed source (to those in the meeting, sorry I was thinking about something else being open source. my bad)
* The board sends too much data.
Well alright its not huge problem when someone's standing on the board, because its useful and changes in data are important.
However!
Currently, the board listener is firing off button presses and mass readings when its just sitting there. If its an implementation detail on the PC side its no problem, however if the board is actually sending all that, I can only imagine the batteries giving up sometime soon.
* Connection is annoying! Each time I want to re-run the program, I must press the red discovery button located "conveniently" under the board, next to where the batteries are placed.
Also, if the program is terminated without disconnecting the board and shutting down the bluetooth stack properly, it won't connect the next time...
* Its accurate. (A great thing! but I need to do more exercise oO)
Here's a snippet of some of the readings I got from it by pressing my hand down on the board:
Board found! 001FC5AFCFD2
--Status--
Battery:0.885
LED: true
~~Mass~~
total weight: 2.0945097456241313
Top Left: 0.2508513053348468
Top Right: 0.30131503716409375
Bottom Left: 0.8152753108348135
Bottom Right: 0.727068092290377
~~Mass~~
total weight: 2.323162019423905
Top Left: 0.27014755959137343
Top Right: 0.2624356775300172
Bottom Left: 0.8052101835405565
Bottom Right: 0.9853685987619584
~~Mass~~
total weight: 3.4545152931615912
Top Left: 0.22190692395005673
Top Right: 0.38879359634076616
Bottom Left: 1.0165778567199526
Bottom Right: 1.827236916150816
Tuesday, August 5, 2008
A small milestone
Small success!
The wii board now connects pretty well and some sample programs that use it work!
(check here (translated))
Next step is to setup a work environment using JSR082 (Java bluetooth API) and hopefully start getting some readings myself.
The wii board now connects pretty well and some sample programs that use it work!
(check here (translated))
Next step is to setup a work environment using JSR082 (Java bluetooth API) and hopefully start getting some readings myself.
Monday, August 4, 2008
Bluetooth... teeth?
Bluetooth is a new technology to me (nothing wrong with that), and already its somewhat annoying.
A bluetooth stack of bluetooth controller on top of bluetooth drivers, and then an interfacing library to the board on top of that. Have I got this working yet? No... but I am trying!
At least the bluetooth control software recognises the balance board and it connects, but the only data it sends is the pressing of the power button. Need to get the stack working.
Here's why I love abstraction:

Turns into a very simple interface to utilise bluetooth!
(http://www.bluecove.org/ Java yes. First thing I found)
The interface library which I'm hoping will work is WiiRemoteJ, which has recently supported balance boards (in theory).
Much needed sleep time. Tomorrow is another day of testing :)
A bluetooth stack of bluetooth controller on top of bluetooth drivers, and then an interfacing library to the board on top of that. Have I got this working yet? No... but I am trying!
At least the bluetooth control software recognises the balance board and it connects, but the only data it sends is the pressing of the power button. Need to get the stack working.
Here's why I love abstraction:

Turns into a very simple interface to utilise bluetooth!
(http://www.bluecove.org/ Java yes. First thing I found)
The interface library which I'm hoping will work is WiiRemoteJ, which has recently supported balance boards (in theory).
Much needed sleep time. Tomorrow is another day of testing :)
Sunday, August 3, 2008
Boarded up
Phase 0 - Obtain a balance board: Complete!
On the hunt for a compatible and working bluetooth adapter tomorrow, then the 'fun' starts!
Side notes: I tested the board with the games it came with (to check if the board was working...), and it seems pretty accurate, although the movements are really unnatural to begin with. Looks like it'll be good for the accuracy the game requires.
Epic fail note: my centre of balance is apparently waaay off to the right. :\
On the hunt for a compatible and working bluetooth adapter tomorrow, then the 'fun' starts!
Side notes: I tested the board with the games it came with (to check if the board was working...), and it seems pretty accurate, although the movements are really unnatural to begin with. Looks like it'll be good for the accuracy the game requires.
Epic fail note: my centre of balance is apparently waaay off to the right. :\
Subscribe to:
Posts (Atom)