Let's Make Robots!

Wii IR camera as standalone sensor

Using the Wii Remote IR camera directly with an Arduino
AttachmentSize
Wii-IR-Camera-schem.pdf11.63 KB
Wii-IR-Camera-board.pdf11.3 KB
wii_remote_ir_sensor_sample.pde2.5 KB

The Wii Remote became a very intersting tool for hacking and other uses where it not has been mentioned for. After the first hacks appears in the internet a lot of people are doing great stuff with it.

This tip&walkthrough is about  using the IR camera from the Wii Remote as a standalone sensor. It is based on hack of a japanese guy named kako. There also exists a Make article

This sensor is great for tracking infrared sources. It can track upto 4 sources independently and give out the coordinates and the strength ob each tracked object. The IR camera has an I2C interface which can be easy accessed by a microcontroller. Here an Arduino board has been used. 

3625806085_61cc9ba881.jpg

Wii Remote disassembling:

To get the IR camera out of the Wii Remote, the Wiimote must be disassembled. A Tri-Wing screw driver has been used for this task. The IR camera is on the front of the board. To get the IR sensor out a hot air gun is been usefull.  

This walkthrough only works for an original Wii Remote. There exists some Wii Remote clones, which are cheaper than the original one but they have different sensors with unknown pinout, so be warned!

Schematic:

The schematic slightly differs from Kako's aproach, it has been taken form the CC2 ATM18 project. A quartz oscillator has been used. A frequency bettween 20..25MHz will work. Unfortunately the sensr is a 3.3V device. Some level conversion must be done before connecting it to a 5V Arduino board. The sensor gets it power source from 2 diodes in series with a 5V from the arduino board which give roughly 3.6V. 2 pullup resistors on the I2C pins limits the voltage down to 3.6.

Schematic and a board layout is atached to this article.

 

Partlist:

  • Wii Remote IR Camera (from a original Wii Remote, not a clone!!)
  • 24Mhz quartz oscillator (or 25MHz, but not a resonator!)
  • 2x diode 1N4148 or equivalent
  • 2x elecrolytic capacitor 10uF
  • 1x ceramic capacitor 100nF
  • 2x resistor 2.2kOhm
  • 1x resistor 22kOhm
  • perf board 60 x 25 mm
  • pin bar 1x4
  • pin bar 2x4
  • bar jack 2x4

 

Software:

The Arduino control software is also based on Kako's sources. It simply initialise the IR camera sensor and sends the readed blob information to a PC: The sourcecode has been slightly modified to work with the PC software.

The PC software is also taken from the CC2 ATM18 project and can be downloaded here.

An Arduino sketch is attached to this article. At the moment I am working on a processing sketch for graphical represantation of the Wii IR Camera output.

 

 

To be continued...

 

 

 

 

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Hello Peter, My name is Gilberto Gonzalez and I'm very familiar with all of RobotFreak's work, which I would like to say, it's truly inspiring. I'm working on an open hardware proyect with Arduino and I was wondering if you could share with me the Gerber File Format you used for your proyect in letsmakerobots called "Wii IR camera as standalone sensor"; http://letsmakerobots.com/node/7752 

I would really appreciate it Peter, Thank you in advance. Have a merry christmas!   


My contact info!

gilo.imd@gmail.com 

Hello Gilberto,

sorry, I don't have any Gerber Files for this project 
1. I have only created the schematic and a pro-forma PCB layout, because I only made a breadboard design. 
2. I don't have made a Wii IR camera component. 
The only thing I can give you the link to the eagle design files from the original ATM18 project. 
You can build the Gerber files with eagle from the PCB layout by yourself. I have no glue, how to do this, because I have never build any PCB by myself.
Best regards 
Peter

Do you think it's possible to track a laser pointer with this?
I'm think of buying a 808nm 300mW laser for the brightness or a 980nm 50 mW laser for the closer wavelength.
I also saw somewhere that it has a limit of 2 meters?

I'm just trying to make an arduino powered turret that will aim at the dot of a laser pointer so I have a remote of sorts. :)

- Michel :)

Here's my version of an Arduino / Lego NXT powered tank (and turret) using this I2C camera:

http://trandi.wordpress.com/2011/05/14/tiger-1-bb-airsoft-rc-tank-%E2%80%93-v3/

 

Not exactly what you're looking for, as it's using IR LED as target, but similar concept of having a turrent equipped with this camera to follow something...

 

Dan

 

I think Gareth has done some experiments with laser pointer and Wiimote, look here. My experiences wasn't good. Only on a short distance the Wiimote could detect the reflected light of the laser pointer from a white wall.

Hi, it's necessary to shift the I2C voltage between 5 and 3.3 V? I've been looking and a lot of people, including kaku, use a converter like LTC4031L, and it makes me think I'm missing something.

IMHO a level shifter for I2C isn't necessary. The I2C specification says: all outputs must be open collector. The output can only be driven LOW by the controller or the I2C device. Driving HIGH is only done by floating outputs, using the pullup resistor to reach HIGH level. The pullup resistors connected to SCL,SDA and 3.3V VCC should be ok.

So if you put the pullups on the 3.3V side the 5V device will probably register a logic high at 3.3V (or even much less; the datasheet usually will tell you)

I'm a little off-topic with this question, but this seems to be the most logical place to put this question.

Has anyone found a source for the female port of the wii remote control?

 

I've built an adapter to allow me to use the nunchuck as a USB mouse, and I'd like a more stable connector port than the breakout boards that are available..