Strange Wiimote camera…

by Stephen Hobley on March 29, 2011

Patrick van der Poel wrote to me with some pictures of what he found when he opened up a Wiimote recently.

Strange Wiimote Camera on a daughter board

Strange Wiimote Camera on a daughter board 2

Instead of the normal Pixart sensor he found a strange daughter-board configuration. It looks very easy to remove, but it’s nothing like the regular sensor.

Strange Wiimote Camera on a daughter board 3

Strange Wiimote Camera on a daughter board 4

Fortunately they labelled the board pinouts on the underside of the host so it was easy to work out where the correct pins were. Patrick tells me that the Wiimote came from the Japanese market.

Anyone know anything about this configuration?

Share

{ 26 comments… read them below or add one }

Samuel April 11, 2011 at 1:11 am

This is completely speculative on my part, but it seems to be a new board from Pixart Taiwan directly for the Wiimote to help with overall costs and upgradeability.

If you notice on vMarker’s website, the prototype developed has the exact same board, and the developer signed an NDA. I know Pixart won’t even talk to you until you signed an NDA. I don’t know if the NDA is required due to contractual obligations with Nintendo or it’s just Pixart’s policy.

I believe the seperate boards were developed to help reduce the overall costs of manufacturing and assembly. I believe future upgradeability was a concern, and Nintendo wanted something that allowed that while keeping costs down.

I’m curious if the underlying chip and CMOS sensor has changed at all, and will make it harder for homebrew developers to take advantage of it? I’m guessing not, considering Nintendo probably wanted to keep the cost down, and the changed Nintendo made was to the board only.

Kay Bærulfsen April 13, 2011 at 11:01 am

Ive seen this daughter-board configuration in some fake wii-motes I got on ebay. They also have a daughter board soldered on the main board containing the bluetooth chip (judging from picture #2, its the same configuration as yours, just that my camera is mounted on a blue board).

Samuel April 14, 2011 at 3:58 am

So this begs the question – if the knockoff Wiimotes have a similar daughter board with CMOS camera sensor, can it be used with similar results as the Pixart camera sensor? Then the follow up question is, what chip and camera are the knockoffs using?

Patrick May 4, 2011 at 4:45 am

Hi,

I opened one auf these controllers and saw the same daughterboard. I using this sensor for a projekt right now and how it will reakt to my i2c software the same way as the “old” sensor. Do you know what L- and L+ is for.

Regards
Patrick

Patrick May 4, 2011 at 11:34 am

I’m Wondering if this sensor is really from pixart or if its a cheap copy.

Stephen Hobley May 4, 2011 at 11:42 am

Yes me too – I’ve never come across one in person.

Marcwolf October 1, 2011 at 9:42 pm

Hi.
Can anyone confirm if this board does work?

Many thanks
Marc

Rami February 25, 2012 at 10:26 am

What do the L+ and L- pins stand for?

Howard Santamore June 25, 2012 at 9:21 am

I live in Shenzhen China. The ccd board is available. I am trying to get complete specs now.

Pricing is about $5 a board.

Will let you know if it really works with arduino.
Cheers.

Stephen Hobley June 25, 2012 at 10:49 am

Hey thanks – would like to know more about it too!

Katrin July 3, 2012 at 5:07 am

Hey,

today I found that camera in a Wiimote, but with 10pins and without markings. Unfortunately, I don’t have any idea what which pins are. Has somebody seen such a thing?

Best

Sevag Demirdjian July 16, 2012 at 7:43 pm

Hi Howard,
I´m really interested in this camera board or any camera similar to the wiimote camera from Pixart. I´ve been trying to found an alternative to Pixarts original camera to use in a project i´m developing.
Please contact me if you have information about it.
My email is sevagdemirdjian@hotmail.com
Thank you!

Sevag Demirdjian July 16, 2012 at 7:49 pm

I made a project interfacing the Pixart camera to a PIC18f4550 for the university.
I wanted to make another board so i bought a wiimote to take out the camera. Inside i found a camera very similar to this one. So i took it and interfaced it with the PIC just as i did with the pixart camera, using the same program. And it worked!
The thing is its not as sensitive as the original camera, but it does the job.
I connected the L+ and L- pins to groung, but i think you can leave them unconnected.
I hope this helps to others.

Sevag

Kyle Johnson November 16, 2012 at 1:20 pm

Howard,

I’m very interested in the camera board as well I have a project i have been using these in and would like to get a hold of some my email is kylekenj@yahoo.com.

Thanks.

Stefan November 20, 2012 at 8:45 am

Hey,

I’m dealing with the same problem as Katrin. I opened my original wiimote and found an IR-cam with 10 unlabelled pins. If there’s someone who managed to connect them please let me know!

Best,
Stefan

wxws November 24, 2012 at 2:33 pm

hi,

can you take a back of camera photo?

Stefan November 30, 2012 at 10:28 am

Look at the photos of the wiimote camera with 10 pins:

https://www.dropbox.com/sh/ljqn3zsk21efekl/9VFKm52obj

Mattijs December 31, 2012 at 8:37 am

Does anybody have additional information?
I’ve got one similar to the one in Stefan’s photos. Googling around a bit, it seems these are the newer types of wiimote. I managed to hookup the (still complete) wiimote to my PC through a bluetooth connection. Additionally I connected a mixed signal oscilloscope to the pins of the camera to find out it’s behavior.
Preliminary findings are not too optimistic… :(. If you look at the ‘A-side’ of the wiimote board, the pins are numbered 1 to 10. Pins 1 to 4 seem to deal with supply and possibly reset (haven’t figured timing out yet on these pins). Pin 5 and 6 seem to be connected directly to the minus of the battery supply, so hooked my MSO to pins 1-4 and 7-10.
Pins 7 to 10 are definitely communication, but not I2C. During power-on of the wiimote, there is some form of communication on pins 8 and 10, after which pin 8 goes logic ‘0’ and pin 10 goes logic ‘1’.
When looking at the source of the WiinRemote application, there is a rather elaborate sequence of commands to enable the camera. On these new types that doesn’t seem to do anything, except setting the reporting mode, which is the first thing that takes place in the WiinRemote application.
As soon as those first 3 bytes (0x12,0x00,0x33) have been set, the wiimote starts sending valid camera data and there is a lot of activity on all 4 pins 7 to 10. Sending the rest of the commands does not seem to affect the resulting values sent back by the wiimote.
Since there are 4 lines involved in the communication I don’t think it’s I2C. It might be SPI, in which case pin 9 might be enable, pin 10 might be clock, pin 8 might be MOSI and pin 7 might be MISO. But that’s pure speculation. If there’s anybody out there who can confirm, it would be highly appreciated.

Mattijs December 31, 2012 at 10:57 am

Ok, so it seems I jumped the gun a little bit.
First of all it DOES matter if the rest of the commands used to enable the IR camera is sent to the wiimote: simply setting the report mode is not enough. Don’t know why I thought it was, may have had something to do with the fact that my BT connection isn’t very stable.
Second, I am getting more convinced it is SPI, with the pinout I mentioned in my previous comment. Before each set of new IR camera data, the sequence on the CS, CLCK and MOSI line is the same: two bytes are sent to the camera: 0x81 and 0xEC. Then CS stays low and CLCK is low for about 2.64 microseconds. Then the clock starts for 18 times 8 pulses and the MISO line shows the camera data.

However, when I compare the output of the camera as it is given by a raw read on the BT channel, it seems that the bit order is reversed on each byte. SPI states MSB first, but only if I reverse the bits on each received byte, the values match, so its LSB first. So this may also be the case for the two bytes that are sent TO the camera at the beginning of each camera frame.

When the camera is put into ‘extended mode’ (see http://wiibrew.org/wiki/Wiimote#IR_Camera), it outputs 18 bytes, of which the first 12 are the camera data and the last 6 can be ignored. They seem to be always set to FF,FF,0F,FF,FF,0F (not bit-reversed).
What remains is to find out if any of the pins 1 to 4 include a reset. But that will be something for the next few days to figure out 🙂

I hope this helps anyone who’s having problems getting this camera to work. I also hope someone has already succeeded and can confirm what I’ve found so far.
Best wishes for 2013 to all you out there.

Mattijs

Mattijs April 9, 2013 at 12:38 pm

I’m sorry it took me so long to follow up, but I’ve got an IR device working similar to the one Stefan asked about in his post of november 30, 2012 (and Katrin july 30th). It’s a 10 pin device, front and back look the same as the fotos Stefan posted (see his post of november 30 for a link).

I do have some fotos of my experiment, a very basic schematic and some 8051 based software for those who are interested.

As I suspected it is indeed an SPI device.
So, if you take a good look at the fotos, you’ll see the pin numbers of the device printed on the main board of the wiimote. Taking this numbering into account, the numbers have the following meaning:

1. supply, 3V3
2. !reset (active low reset)
3. gnd
4. 1.8 reference voltage (use for example LM1117-1.8)
5,6. gnd
7. MISO
8. MOSI
9. !SS (active low slave select)
10. CLCK

This device does not require a 24 or 25 MHz clock as the other I2C devices do. Only supply (3V3), reset and the SPI bus.
I’ve made a very basic RC circuit for the reset that seems to do: 15 nF between gnd and pin 2 and a 1.5 kOhm resistor from pin 2 to the 3V3 supply. I wasn’t able to determine the original reset circuitry from the wiimote board.

The reference voltage of 1.8 V should be thoroughly decoupled. If you use a LM1117-1.8 for example, use a 10 uF and a 100 nF capacitor in parallel on it’s input and another 100 nF on its output. Also the 3V3 supply must be thoroughly decoupled, same set of capacitors as used for the reference does it on my experiment.

The slave select pin 9 should not be tied to gnd continuously. It seems the sensor uses it to capture an image and process the data, so only connect SS to gnd when you actually communicate with the device. The clock (pin 10) does not seem to be critical. I’ve got the device connected to an Atmel 89S52 flash device that does not have an onboard SPI controller. SPI is “bit-banged” on a few peripheral pins.

There is one important point with this device: “normal” SPI sends out the most significant bit first. This device does it the other way around, LSBit first, so this must be taken into consideration in your software. Bitswap the commands sent to the device and also bitswap the response received from the device.

The command set is actually the same for this device as for the I2C devices and is accurately described at http://wiibrew.org/wiki/Wiimote#IR_Camera. Just make sure to strip the bluetooth stuff.

So, that’s it. I hope this was usefull to anyone out there. Enjoy!

Bartimaeus April 21, 2013 at 12:44 pm

I’ve got a generic wiimote I’ve taken apart with a similar layout, except the SCL and SDA pins are swapped. Instead of L- and L+ the pins are labeled as SP- and SP+. Hopefully that is useful to someone.

nomady August 24, 2013 at 11:16 pm

does anybody have any newer info on this camera

Martin November 21, 2013 at 2:56 pm

Hi, I have found different camera module in my remote. Look at the pictures: http://www.yachttravel.sk/IMG_1048.jpg http://www.yachttravel.sk/IMG_1049.jpg http://www.yachttravel.sk/IMG_1050.jpg
There were no labels on the main PCB.
Any idea how to connect it ?
Thx

twgray January 1, 2014 at 6:30 pm

Martin, did you ever find any info on the camera in your 3 pictures? I have some just like that and haven’t had the time to test.

xobith February 17, 2014 at 4:36 pm

Hi, Martin & twgray, did you find any info on the 12 pin camera module?
V12 of the wii remote uses this “new” camera module, I guess.

joshan April 15, 2014 at 8:40 am

i also have the an 12 pin camera module ,same as the one from martin’s last post …. does anybody know how to connect it ??

Leave a Comment

Comments links could be nofollow free.

Previous post:

Next post: