Wii IR camera as standalone sensor

Wii-IR-Camera-schem.pdf (11908Bytes)
Wii-IR-Camera-board.pdf (11575Bytes)
wii_remote_ir_sensor_sample.pde (2560Bytes)

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...

 

 

 

 

 

https://www.youtube.com/watch?v=GUZFKgFJXR0

wow…so where can I just

wow…so where can I just get that camera…I could so use something like that for my ir beacon tracker…

That is damn sweet btw…

Good question. But I don’t
Good question. But I don’t have any idea where you get this sensor. The manufacture is foxconn, but it is not listed on their product list and no datasheet exists. At the moment the only way is to buy an original Wii Remote, maybe a used or defect one from eBay. Don’t buy one of these Wii Remote clones, they have differnet sensors with unknown pinout.

good to know, thanks for the

good to know, thanks for the info, I’ll see what I can find online in the used market and just for the part in general.

Thansk!!

Edit: Actually the mfg is a company call pixart. I found quite a few things on thsi sensor.This guy has some cool info on the thing.

plus this video

 

Yes, you’re right, Pixart is
Yes, you’re right, Pixart is the manufacturer not Foxconn. Foxconn is the OEM manufacture for the Wii components. Stephen Hobley has also written an Arduino Library called PVision. This would have been the next step for me to taken. This save me some time.

distance via triangulation
im curious could this sensor pick up light reflected off an object like IR from an led being reflected off a wall?

I’m not shure if this will

I’m not shure if this will work. For a wall with a reflecting surface it will be ok, but a normal wall maybe not. I need to make some tests.

 

ok thanks!
that would be much appreciated

Ok, I have done some tests

Ok, I have done some tests with the wiimote camera. Doesn’t look good. I only get sometimes echo from a light source, when:

  • use a laser pointer (only have a red one)
  • without the daylight filter. Gives more distortion echos from other light sources
  • at a max. distance of 50cm

Maybe a IR laser would give better result, but I doesn’t have one available.

 

How does it go if you try
How does it go if you try reflecting a TV remotes signal off the wall? Those things are pretty wide angle though so trying to get a dot may be impossible. It could just flood the sensor.

No, that don’t work. This

No, that don’t work. This sensor needs a small but bright source of IR light. When I hold the TV remote directly to the sensor, it works, but indirectly by reflection on a wall, no way.

 

I guess an IR laser is what
I guess an IR laser is what you need. You could pull one from a CD ROM perhaps but I wonder if the focus wouldnt be all screwed up.

IMHO CD Lasers are a pain to

IMHO CD Lasers are a pain to align and calibrate, especially when pre-built IR laser modules are so cheap. You can get them from a large number of suppliers for about the same price as a weak red laser.

Thanks a lot guys. I will
Thanks a lot guys, for your help. I will not make any further investigation. IMHO this sensor is not useful as triangulation sensor.

Parts List

Thanks to RobotFreak for sending me the translated parts list:

 

  • 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

 

Removing the IR filter?

How would I remove the wiimote’s IR filter?

Thanks

 

To remove the IR filter is a

To remove the IR filter is a very simple task. Just remove the dark piece of plastic form the Wiimote housing.

 

Thanks!

Thanks for all the info. I was able to follow in your footsteps using an mbed MCU (ARM Cortex M3) and wrote a Java app to track the blobs since I couldn’t find source for the ATM18 project blob track exe.  The mbed is a 3.3v device and runs fast enough to generate a 20MHz clock signal so that simplified the interfacing considerably.  Anyway, thanks again, couldn’t have done it without this fantastic post and example code! --Michael

Wow, that’s great. The mbed

Wow, that’s great. The mbed board looks interesting, too. 20MHz PWM, not bad, so no extra oscillator is needed.

Yes I know, there is no source available for the ATM18 blob tracker. I have started a GUI program with Processing, but it is not finished yet.

 

blob tracker gui

Would love to see what you come up with. Here is my shot at it. It’s all java/swing-based so “should” be somewhat cross-platform. http://code.google.com/p/wii-cam-blobtrack/