How to reuse webcam module from dead notebook

Why?

I was thinkig about how to use webcam modules from old notebooks in the past but never tried - yesterday I was searching in my box with RAMs and I found such webcam module in it - with rest of wires, just prepared to try :-) So I decided to try it today - will it work or not?

webcam module from HP notebook

How to connect it?

On the internet I found that such modules are usually regular USB webcams, so there are 4 wires - 2 of them delivers power - +5V, GND, and two of them are USB bus data - D+, D-.

If you look at the wires comming out from the module, two of them are twisted - these will most probably by the USB data wires (D+, D-), the other two are most probably power and ground. So I took multimeter and verified that one of the non-twisted wires is connected to "ground" of the module and the second one is wired to U5 which I found is the 3.3V regulator - so these are for sure +5V and GND, so the twisted ones must be USB data.

module and wires

So I took some USB cable, cut out one of its ends and soldered it onto webcam module - +5V to +5V, GND to GND, but how to find out which one is D+ and which one D-? I used trial and error - there are only two possibilities and in case you swap these wires, nothing will happend, PC just will not recognize the device.

usb camble soldered

You may notice a diode in +5V wire on the picture - explained bellow.

Test it!

So I plugged the USB into computer. Nothing happend, so I looked into dmesg output and I found this:

[943892.656858] usb 3-14.3: new low-speed USB device number 33 using xhci_hcd
[943892.744854] usb 3-14.3: device descriptor read/64, error -32
[943892.936843] usb 3-14.3: device descriptor read/64, error -32
[943893.112830] usb 3-14.3: new low-speed USB device number 34 using xhci_hcd
[943893.200852] usb 3-14.3: device descriptor read/64, error -32
[943893.392827] usb 3-14.3: device descriptor read/64, error -32
[943893.568811] usb 3-14.3: new low-speed USB device number 35 using xhci_hcd
[943893.569200] usb 3-14.3: Device not responding to setup address.
[943893.773186] usb 3-14.3: Device not responding to setup address.
[943893.976794] usb 3-14.3: device not accepting address 35, error -71
[943894.048791] usb 3-14.3: new low-speed USB device number 36 using xhci_hcd
[943894.049173] usb 3-14.3: Device not responding to setup address.
[943894.253171] usb 3-14.3: Device not responding to setup address.
[943894.456794] usb 3-14.3: device not accepting address 36, error -71
[943894.456827] usb 3-14-port3: unable to enumerate USB device

OK, most probably D+ and D- are swapped, so I took and soldering iron againg and swapped these wires.

Result:

[944009.132262] usb 3-14.3: new high-speed USB device number 37 using xhci_hcd
[944009.233261] usb 3-14.3: New USB device found, idVendor=04f2, idProduct=b015
[944009.233264] usb 3-14.3: New USB device strings: Mfr=2, Product=1, SerialNumber=3
[944009.233265] usb 3-14.3: Product: HP Webcam
[944009.233266] usb 3-14.3: Manufacturer: Chicony Electronics Co., Ltd.
[944009.233267] usb 3-14.3: SerialNumber: SN0001
[944009.235183] uvcvideo: Found UVC 1.00 device HP Webcam (04f2:b015)
[944009.238928] input: HP Webcam as /devices/pci0000:00/0000:00:14.0/usb3/3-14/3-14.3/3-14.3:1.0/input/input45

test of webcam 01

test of webcam 02

Yooohou! YES! It works! I tried Camorama, VLC, skype, all works, but...

Overheating

If you look closely on the picture of my module, you will find that there is one component missing - it is marked B1 and its near the connector (above C2 and R4) - (most probably pulled out when unscrewing the module?) - and that I shorted it out with a piece of wire, because the +5V input goes through this "B1" to U5 which is 3.3V regulator. There is also note "+3.9V" above B1. So it seems that there was something cutting the +5V to +3.9V to lower power disipation on the U5 (to make it heat less). Therefore I put diode in series with +5V to cut the voltage down.

Then if I played with the module for a while, the BGA chip become quite warm and the picture started freezing. So I attached piece of metal at the bottom of the module, to spread the heat out. I also put some thermal-conductive pads between module PCB and the metal plate to not allow the metal to short something on the PCB - with this module seems to run stable.

cooling attached

Also tried to add one more diode to see if the heat produced by the BGA will be reduced (to avoid the need of metal plate as cooler) - so the +5V was cutted down to sth like 3.55V by two diodes in series, 3.3V regulator was still able to deliver 3.3V, but BGA heat was NOT reduced at all - so the BGA is most probably powered from the output of 3.3V regulator and dont use the +3.9V...

Pictures in higher resolution: webcam module to usb in Buger's gallery