<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>1570 &#8211; Matthew Petroff</title>
	<atom:link href="https://mpetroff.net/tag/1570/feed/" rel="self" type="application/rss+xml" />
	<link>https://mpetroff.net</link>
	<description>mpetroff.net</description>
	<lastBuildDate>Thu, 19 Nov 2015 03:25:40 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>MacBook Webcam Teardown</title>
		<link>https://mpetroff.net/2015/10/macbook-webcam-teardown/</link>
					<comments>https://mpetroff.net/2015/10/macbook-webcam-teardown/#comments</comments>
		
		<dc:creator><![CDATA[Matthew Petroff]]></dc:creator>
		<pubDate>Fri, 30 Oct 2015 00:02:43 +0000</pubDate>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[1570]]></category>
		<category><![CDATA[BCM15700A2]]></category>
		<category><![CDATA[Broadcom]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[FaceTime HD]]></category>
		<category><![CDATA[MacBook]]></category>
		<category><![CDATA[PCIe]]></category>
		<category><![CDATA[webcam]]></category>
		<guid isPermaLink="false">http://mpetroff.net/?p=1982</guid>

					<description><![CDATA[With the release of the mid-2013 MacBook models, Apple stopped using the standard USB video device class interface for the laptops&#8217; webcams. On these laptops, the webcam connects via the PCIe bus, enumerating as a Broadcom 1570 device. Unfortunately, this &#8230; <a href="https://mpetroff.net/2015/10/macbook-webcam-teardown/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p><span class="dropcap">W</span>ith the release of the mid-2013 MacBook models, Apple stopped using the standard USB video device class interface for the laptops&#8217; webcams. On these laptops, the webcam connects via the PCIe bus, enumerating as a Broadcom 1570 device. Unfortunately, this interface is completely undocumented, and there is no Linux driver, although an effort is being made to <a href="https://github.com/patjak/bcwc_pcie">reverse engineer one</a>. Since I thought understanding the device hardware might aid this driver development effort, I bought a replacement webcam to disassemble. The front of the camera, from left to right, contains a 12-pin connector; power management circuitry, consisting of some sort of crystal or resonator, a Texas Instruments <a href="https://chipworks.secure.force.com/catalog/ProductDetails?sku=TEX-TPS657091">TPS657091</a> power management IC, and assorted passives; an ambient light sensor (with decoupling capacitor); the image sensor and fixed-focus optics; and an LED. The back of the device contains identification markings, which include a DataMatrix barcode and text, both of which read <code>CC2 3222 2UYE F9T9CF</code> on my particular camera.</p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-front.jpg" title="Front of Camera" data-sbox="1982"><img loading="lazy" decoding="async" class="aligncenter wp-image-1984 size-large" title="Front of Camera" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-front-640x213.jpg" alt="Front of Camera" width="640" height="213" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-front-640x213.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-front-300x100.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-front-1280x427.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-front.jpg 1800w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a><br />
<a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-back.jpg" title="Back of Camera" data-sbox="1982"><img loading="lazy" decoding="async" class="aligncenter wp-image-1983 size-large" title="Back of Camera" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-back-640x213.jpg" alt="Back of Camera" width="640" height="213" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-back-640x213.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-back-300x100.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-back-1280x427.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-back.jpg 1800w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a><span id="more-1982"></span><br />
<a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/10/ambient-light-sensor.jpg" title="Ambient Light Sensor" data-sbox="1982"><img loading="lazy" decoding="async" class="aligncenter wp-image-1985 size-large" title="Ambient Light Sensor" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/10/ambient-light-sensor-640x427.jpg" alt="Ambient Light Sensor" width="640" height="427" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/10/ambient-light-sensor-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/10/ambient-light-sensor-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/10/ambient-light-sensor-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/10/ambient-light-sensor.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p>Prying the plastic piece holding the optics and ambient light sensor off of the PCB below it exposes the image sensor, LED, and a few more passives. What it doesn&#8217;t reveal is the Broadcom device that is on the PCIe bus (more on that later).</p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-sensor-visible.jpg" title="Camera with Sensor Visible" data-sbox="1982"><img loading="lazy" decoding="async" class="aligncenter wp-image-1998 size-large" title="Camera with Sensor Visible" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-sensor-visible-640x320.jpg" alt="Camera with Sensor Visible" width="640" height="320" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-sensor-visible-640x320.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-sensor-visible-300x150.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-sensor-visible-1280x640.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/10/webcam-sensor-visible.jpg 1800w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a><br />
<a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/10/image-sensor.jpg" title="Image Sensor" data-sbox="1982"><img loading="lazy" decoding="async" class="aligncenter wp-image-1986 size-large" title="Image Sensor" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/10/image-sensor-640x269.jpg" alt="Image Sensor" width="640" height="269" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/10/image-sensor-640x269.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/10/image-sensor-300x126.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/10/image-sensor-1280x538.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/10/image-sensor.jpg 1800w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p>The OS X and Windows drivers for the camera make a reference to the <a href="http://www.ovt.com/uploads/parts/OV5650_PB_v1.1_Web.pdf">OV5650 image sensor</a>, but a quick visual comparison shows that this isn&#8217;t the sensor used. I was unfortunately unable to identify the sensor by looking at photos online and do not have access to a microscope capable of inspecting die markings. The driver also references the AD5816 focus controller, but this is unsurprisingly not present due to the fixed-focus optics.</p>
<p>Although the image sensor likely contains the readout circuitry needed to digitize the captured image, it doesn&#8217;t contain a PCIe bus interface (and Broadcom doesn&#8217;t make image sensors). Therefore, I turned to looking at MacBook teardowns to find the missing interface. The camera board connects directly to the <a href="https://www.ifixit.com/Teardown/MacBook+Air+11-Inch+Mid+2013+Teardown/15078#s49179">main logic board</a>, which just so happens to contain a Broadcom BCM15700A2 chip that no one seems to know the purpose of. As the part number contains the camera controller&#8217;s PCIe bus ID, it is very likely the chip in question, particularly since there are no other mysterious Broadcom chips on the logic board. In retrospect, it makes sense for this chip to be on the logic board and not by the camera, since PCIe signals are not normally carried over cables. A photo of the bottom of the chip on eBay shows that it is an 8 mm x 8 mm, 208-ball BGA, but I can&#8217;t find any other information about it. The chip is much too big to fit next to the camera, and its size suggests it probably doesn&#8217;t just serve as a PCIe interface and likely does some image processing as well. Although none of the information I discovered will likely be very helpful for writing a driver, locating and associating a part number with the PCIe interface chip was at least illuminating.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mpetroff.net/2015/10/macbook-webcam-teardown/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Content Delivery Network via Amazon Web Services: CloudFront: cdn0.mpetroff.net
Minified using Disk

Served from: mpetroff.net @ 2026-03-31 01:33:26 by W3 Total Cache
-->