Pixart Sensor and Arduino

by Stephen Hobley on February 22, 2009

New for 2011 – check out the MIDI Camera
– gesture control with no Bluetooth, or even a PC!

I finally got round to desoldering a Pixart camera sensor from the front of WiiMote and hooking it up to the I2C bus of an Arduino.

Try to clear the two outer posts first before desoldering the 8 pins

Warranty now Void

You need to run a 3.3v regulator, an LTC4301 buffer,  and a 25Mhz clock to the chip, but I’m pleased to report that it works!

It can sit on a standard board (just)

It can sit on a standard board (just)

Pixart's new home

Pixart's new home

LTC4301 - yes it really is that small

LTC4301 - yes it really is that small


I’m building an updated laser harp and I’ll be adding this new hardware sensor to provide gesture tracking within the laser beams.

This has really cool implications for robots built with an Arduino. Wow, the Arduino can see…

I think Pixart should make these sensors available to mere mortals like us…

Most of the work comes from the Japanese site run by Kako…
(Translation via BabelFish)

Here are some of my annotated notes:

Connecting the Pixart sensor

Connecting the Pixart sensor


{ 15 comments… read them below or add one }

B Brendler March 25, 2010 at 8:13 am

Brilliant. I’ve just had a sudden idea and managed to get hold of a PAS106 sensor from an old creative camera. I currently have a Arduino duemilanove and think this post will come very handy in the future.

Thanks for sharing your experience.

David November 10, 2010 at 7:28 am

Wow, really, really amazing. You are my hero from now on.

I wonder if I could use this concept for tracking human motion with a servo.
I don’t know if the human IR emission are enough for the camera to detect a presence, or on the contrary an IR emitter (like a LED) is needed for triggering the camera detection.
What do you think?

Stephen Hobley November 10, 2010 at 3:27 pm

I think that the Pixart sensor is keyed to see small LED sized “blobs” and so the human body would be too weak/large to be detected. I would think they are using a background subtraction technique to eliminate anything that does not look like the Wii LED bar.

You might want to check out the work done by the multitouch community. Especially CCV and the CL-Eye driver for the PS3 Eye camera. I’ve worked with the original Eyetoy camera before, but this new PS3 model can do 120 frames a second in mono at 320×240 – which is pretty amazing for a “webcam”. You would need to remove the IR filter from the camera assembly.

Michael Shimniok (Bot Thoughts) January 1, 2011 at 1:15 am

Thanks for the series of articles on this. Helped me follow in the footsteps of great hackers, such as yourself and others, and interface the pixart camera with an ARM-based mbed MCU (a much easier task; it’s a 3.3v device and it can generate the 20MHz clock signal all by itself). -Michael

Dorian January 28, 2011 at 1:20 pm

Awesome. I’m passionate about electronics and I like home mades things.

Sasha February 15, 2011 at 2:51 pm


This is very intersting project.
I am trying to do the same but i have diffrent connections on the IR camera, from wii remote (2010).
Have you ever seen diffrent connections?
Can you give me some advise please.


Stephen Hobley February 15, 2011 at 7:44 pm

Sasha – stay tuned.

I’ve been working on an update to this project this month – should have something ready at the end of the month.

Marcwolf September 30, 2011 at 1:35 am

Hi Stephen.
Many many thanks for your article. I am finding that the LTC4301 chip is very difficult to find. I have seen that Sparkfun have a Logic Level Convertor that will work on I2C busses.
What your viewpoint on this? Is this a good alternative?

Many many thanks for any information

Stephen Hobley September 30, 2011 at 7:29 am

Hi Marc,

Actually you can use a couple of MOSFETs to do the level conversion – I picked some up locally. Check out the MIDI Camera in cool toys – this version uses mosfets and diodes to do all the level conversion between the 5v Arduino and the 3.3v Pixart sensor.


Marcwolf October 1, 2011 at 8:04 am

Hi Stephen
Many thanks for replying so quickly. Sparkfun has a very handle Logic Level Convertor that I have seen people use.
Now.. I need some help and I am willing to pay for it. I have on my desk 3 WII remotes (2 supposed genuine) , all disassembled, and NONE of them has the Pixart sensor in it. I am beginning to think that the Australian model does not use it.
All of the sensors are small boards.
You seem to be able to get the units with the Pixart module in it.
Can you help..
Many thanks

Stephen Hobley October 1, 2011 at 8:13 am

Do they look like this?


If so then I’m pretty sure they still work.

Marcwolf October 1, 2011 at 9:38 pm

Hi Stephen
Yes – just like that. Behind the board there are 2 expoied over chips marked U3 and U4
On the main board the connections run

L-, L+, RST, GND

Still – it be nice to know IF they do work the same as it will save troubleshooting later if something does not work.

Many thanks

BBORNCR May 31, 2012 at 3:15 pm

Thanks for all the great information. I have the camera working with a 3.3V Arduino Mini Pro with the fuses set to output a 8MHz clock on pin 8. It works great!

Audie Nash June 26, 2013 at 1:53 pm

Is the LTC4301L necessary or can you get away with using a resistor voltage divider for the level conversion from 5v to 3.3v?

Thanks in advance.

Andrew Sawyer July 20, 2013 at 9:51 am

Can you use a arduino?

Leave a Comment

Comments links could be nofollow free.

{ 2 trackbacks }

Previous post:

Next post: