Services sourcecode availability...

Total newbie to myrobotlab, but long time software/firmware/hardware developer.  Is the source for all the services provided in myrobotlab available? 

I am immediately interested in experimenting with the wii remote as a lidar and essentially don't have a clue where to start.  The blog entry also mentions that source for the wii service is available, but where?

The links in the WiiDar blog entry don't work.  If I select the wii service on the download page the link is broken, as are many others on that page. 

So, any help?  Any one?


How are you initiating connection/pairing to the wiimote BT?  Is there a connect/pair sequence I am missing?


On 12/06/2013 10:32 AM, Terry Gray wrote:


I have started MRL and started the services:  OpenCV, serial, and wii, named OpenCV, serial, and wii.  So far so good.  Then when I run the Python script:

wiidar = Runtime.createAndStart("wiidar","WiiDar")

I get the following errors:

149556 [Thread-13] ERROR class org.myrobotlab.framework.Service  - Python error
178419 [python] INFO  org.myrobotlab.service.Python  - exec wiidar = Runtime.createAndStart("wiidar","WiiDar")

GroG's picture

Hello twgray,  and welcome

Hello twgray, 
and welcome to MRL :D

1. You mentioned links broken .. The one on letsmakerobots has been fixed. The other links on the Download page I have added to my list of things to fix.

2. All the source code (and repo) is available through subversion - here -

3. Understand the Wiidar write up was done 2 years ago - ALOT (and I mean ALOT) has changed with MRL. For some reason, no one (until now) has been interested in WiiDar although I thougt it was a great sensor for the price (+bluetooth) :)

I have no idea if the WiiDar service is working, it "should" be close to working ... I don't have a wiidar device anymore - and this is what I get when I start a WiiDar service...

In the code I can see my exact same method that I posted on letsmakerobots...   which is promising...

Do you have a Wii + servo setup up currently?  Can you post a picture of what you have now ?  It would take a little work to get it displaying a radar screen again.. but I would be interested in doing so...

BTW can you tell me more about your software background?

- GroG

twgray's picture

WiiDar, onward...sort of...

Well, in my pursuit, (extremely slow pursuit, I will grant you, but pursuit, none the less), I have acquired 3 different flavors of the Wiimote.  I purchased, from Fry's a Wiimote Rock Candy.  After disassembling it I discovered a different model of camera...not even sure it is still a PixArt model, that is a small camera much like a cell phone unit, mounted on a carrier board.  This board has 8 off-board connections on the edge such that when placed perpendicular to the Wii controller it can be soldered in place much like a qfn smt part.  As mentioned, it is 8 "pins" labeled Vcc, Gnd, SCL, SCK, CLK, RST, S+ and S-, which is very similar to the original camera in the older models of Wiimote.

I also purchased from EBay a Blue and a Pink Wiimote.  Other than color these look identical to the original white model.  These have been rigged to self-destruct upon disassembly.  After tearing down, and reassembling the Blue unit it stopped pairing via BT.  I naturally thought I might have been too ham handed with it, BUT, upon carefully disassembling the Pink unit, and testing at each stage of disassembly, it too stopped pairing after I removed a screw with a warantey label over it.  It still didn't work after reassembly.  I can probably take a closer look with my microscope to find the culprit, when I get more time.  These 2 units had the same camera as the Rock Candy.

I also purchased a white Wiimote w/ nunchuck from TMart.  This unit would not pair to BT right out of the box.  Upon disassembly I found that it had the same camera as the other 3.

So, I will soon remove the camera and carrier from the Wiimote control boad to start testing with i2c.  My question is, before I start hacking away, does anyone know if the  i2c comm. protocol is going to be  the same with these new IR cameras as the old ones?  It could be a challange to decipher the i2c comms on these with no documentation, so, any help is appreciated!

Last, but not least, someone over at Seeed Studio, not sure if it is the owner or a customer, is selling the original PixArt IR Camera used in the original Wiimotes, for about $25 per.  He also has cameras like the ones I found in these newer Wiimotes, mounted on breakout boards for about the same price, but he has no documentation for these newer ones.

If there is any interest in all this I can post pictures of my Wiimote tear-down up here, if some can explain to me how.  Let me know!


GroG's picture


I saw your question in the shoutbox, but you probably did'nt see the response (that's the problem with the shoutbox  - very transitory)

Here's a link (WITH PICTURES) - describing how to upload pictures.

Very informative description thanks...  As to the I2C question, I didn't interface to it at the level.. however, I'm doing a lot of I2C now with the Raspberry Pi to multiplexers, digital IO boards, and 7 segment displays.. but as you stated, you need to know the details of driving the device, which at the moment I don't....

Brave new world though ya ? :)

Looking forward to your updates ! (evil self destruct screws !)


GAH - it appears I forgot to add the link !!! - Here's the link -

twgray's picture

Re: Services sourcecode availability...WiiDar

There is a 3rd party now making the Wii remote...NyKo, I believe, so, perhaps, it will be possible to acquire the camera separately. 

So, starting the WiiDar service is just a matter of starting the Wii service and invoking it with the Python script:

wiidar = Runtime.crateAndStart("wiidar","WiiDar")

Excellent.  Do you still have the code for generating the "radar" image laying around?  Or is that already part of the existing WiiDar service? 

I have many questions concerning MRL and will be picking your brain, as much as you will allow, over the next few weeks.  As I mentioned, I am going to pursue this as well as the laser/line imager like that used in the XV-11.  I think both have great possibilities as sub-$100 lidar units.  Hmm, I wonder if it is possible to adapt either for outdoors...It would be great if we could come up with an inexpensive, open source (hardware and software) alternative to the $1100+ "professional" units...even if they don't have the full capability of the more expensive units.

GroG's picture

Sounds like a great idea

Wow, nice if someone finally makes them besides wii..

wiidar = Runtime.createAndStart("wiidar","WiiDar")

should do it.  The code for display is in already in.  There will still be work to make it all work properly. I'm really excited to see the results and seeing your ideas become reality !

Pick my brain ?  Pick away .. if there's anything left worth picking at :) 

GroG's picture

There are 3 Services for WiiMote

WiiDAR , Wiimote, and WiiBot

They use the wiiusej library -

You need a pc which has bluetooth or a bluetooth dongle.

There is a lot of information on the internet on how to connect a PC to a WiiMote - here is an instructable

Here is specifically Ubuntu + helper applications


wiidar = Runtime.createAndStart("wiidar","WiiDar")

The syntax of this Python command is

(reference) = Runtime.createAndStart( "name", "Type")

There is no WiiDar type .. there is a WiiDAR Type .. its case sensitive .. for the "name" you can put anything you like. Sorry about the spelling mistake, I realize I sent the incorrect case. :P