{"id":112,"date":"2013-05-08T23:32:35","date_gmt":"2013-05-09T04:32:35","guid":{"rendered":"http:\/\/mikesmods.com\/mm-wp\/?p=112"},"modified":"2013-07-26T02:41:05","modified_gmt":"2013-07-26T07:41:05","slug":"investigating-the-ipad-3-touch-panel-part-2","status":"publish","type":"post","link":"http:\/\/mikesmods.com\/mm-wp\/?p=112","title":{"rendered":"Investigating the iPad 3 Touch Panel, Part 2: Breakout Board and Approach"},"content":{"rendered":"<p>After discussion with commenter Eva in the last part of this series, i was motivated to make some progress on the investigation of the iPad 3 digitizer.\u00a0 Based on leaked schematics for the iPad mainboard assembly and on the physical digitizer itself, I have mapped the physical pins on the digitizer FFC to functions.\u00a0 There are 40 excitation pins, 30 sense pins, three grounds and a SHLD pin of which I have not yet determined a function.\u00a0 Normally SHLD means shield, but it&#8217;s being fed into a processor input so that doesn&#8217;t make sense.\u00a0 I will continue to investigate.<\/p>\n<div id=\"attachment_113\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mikesmods.com\/mm-wp\/wp-content\/uploads\/2013\/05\/iPad_Touch_FFC_Annotated.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-113\" class=\"size-medium wp-image-113\" alt=\"Layout of the pins on the iPad 3 digitizer.\" src=\"http:\/\/mikesmods.com\/mm-wp\/wp-content\/uploads\/2013\/05\/iPad_Touch_FFC_Annotated-300x209.png\" width=\"300\" height=\"209\" srcset=\"http:\/\/mikesmods.com\/mm-wp\/wp-content\/uploads\/2013\/05\/iPad_Touch_FFC_Annotated-300x209.png 300w, http:\/\/mikesmods.com\/mm-wp\/wp-content\/uploads\/2013\/05\/iPad_Touch_FFC_Annotated-1024x715.png 1024w, http:\/\/mikesmods.com\/mm-wp\/wp-content\/uploads\/2013\/05\/iPad_Touch_FFC_Annotated-624x436.png 624w, http:\/\/mikesmods.com\/mm-wp\/wp-content\/uploads\/2013\/05\/iPad_Touch_FFC_Annotated.png 1057w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-113\" class=\"wp-caption-text\">Layout of the pins on the iPad 3 digitizer.<\/p><\/div>\n<p>The leaked documents also indicate that the proper mate to these are Molex 502250 series connectors, the same series as the one used on my DisplayPort boards for the eDP tail.\u00a0 But contrary to the 51-pin version, this one is not so easy to get ahold of.\u00a0 As I noted in the previous post on the digitizer, the 503566-3700 is a close alternative, but it looks as if these FFCs are just too wide (11.7mm) to fit in them (11.4 +\/-0.05mm max).\u00a0 There are not a lot of alternatives though, so if worse comes to worst I may end up trimming the FFC to fit &#8211; as you can make out in the above photo, there is a small amount of tab with no contact at each edge, and without this the connector easily comes in at under 11.4mm.\u00a0 Also of note, the distance from the edge of one connector to the edge of the other is 13.5mm.<\/p>\n<p>I have done all I can do with the digitizer by inspection alone, and at this point can only advance with it electrically.\u00a0 To aid in this I have drawn up a simple breakout for the digitizer.\u00a0 As I was not sure what my end application would be, I included provisions for connection either to a breadboard directly or to another board via inexpensive 40-pin IDE cables.\u00a0 The FFC connectors are on the bottom of the board, since the contacts of the digitizer face up when the tail is unfolded and the connector chosen has only bottom contacts (the 502250 series has contacts on both top and bottom).\u00a0 Not ideal, but workable for the short-term use that this board is designed for.<\/p>\n<div id=\"attachment_115\" style=\"width: 173px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mikesmods.com\/mm-wp\/wp-content\/uploads\/2013\/05\/iPad_Digitizer_Breakout_RevA.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-115\" class=\"size-medium wp-image-115\" alt=\"A simple breakout for the iPad 3 digitizer. Install J3 and J6, and J4 and J7 for cable use or J5 and J8 for breadboard use.\" src=\"http:\/\/mikesmods.com\/mm-wp\/wp-content\/uploads\/2013\/05\/iPad_Digitizer_Breakout_RevA-163x300.png\" width=\"163\" height=\"300\" srcset=\"http:\/\/mikesmods.com\/mm-wp\/wp-content\/uploads\/2013\/05\/iPad_Digitizer_Breakout_RevA-163x300.png 163w, http:\/\/mikesmods.com\/mm-wp\/wp-content\/uploads\/2013\/05\/iPad_Digitizer_Breakout_RevA.png 437w\" sizes=\"(max-width: 163px) 100vw, 163px\" \/><\/a><p id=\"caption-attachment-115\" class=\"wp-caption-text\">A simple breakout for the iPad 3 digitizer.<\/p><\/div>\n<p>Each position is labelled on both sides with its function to the best of my knowledge.\u00a0 Dimensions of the board are 0.9&#8243; by 4.1&#8243;.\u00a0 Production of this (2-layer) board at OSH Park costs $18.50 for three pieces.\u00a0 Populate J3 thru J8 with 0.1&#8243; snappable header strips &#8211; omit J4 and J7 for breadboard use, and omit J5 and J8 for IDE cable use.\u00a0 The mount pads are sized for 2-56 screws.<\/p>\n<p>I have ordered a set of these boards and plan to experiment with them a bit, so you may want to wait until I troubleshoot everything.\u00a0 If you are impatient, documents for the digitizer breakout are below:<\/p>\n<ul>\n<li><a href=\"http:\/\/mikesmods.com\/mm-wp\/wp-content\/uploads\/2013\/05\/PCB10004-REV-A-GERBERS.zip\">PCB10004 REV A GERBERS (34K ZIP)<\/a><\/li>\n<li><a href=\"http:\/\/mikesmods.com\/mm-wp\/wp-content\/uploads\/2013\/05\/PCB10004-REV-A-LAYERS.pdf\">PCB10004 REV A LAYERS (51K PDF)<\/a><\/li>\n<li><a href=\"http:\/\/mikesmods.com\/mm-wp\/wp-content\/uploads\/2013\/05\/SCH10004-REV-A.pdf\">SCH10004 REV A (107K PDF)<\/a><\/li>\n<\/ul>\n<p>So then, now that we can connect to the panel, how do we read touches?\u00a0 That part isn&#8217;t quite so simple. If the documentation from the iPad mainboard is to be trusted, 40 independent outputs are generated and sent to the panel in sequence to 40 horizontal electrodes, and 30 vertical electrodes pick up the signal when coupled into them by a conductive mass (e.g. finger) on the surface.\u00a0 In the first part of this series I counted 41 squiggly horizontal lines and presumed these to be the electrodes, but it turns out that the sensitive area is between the squiggles, resulting in 40 driven rows.<\/p>\n<p>The methods for driving and sensing touch position are a hot area of development in industry at the moment, and the big companies are all hush-hush on their analog frontend design.\u00a0 But we know generically how Pcap touch should work, and we can take a guess from this and by examining how Pcap is implemented in devices.\u00a0 For instance, we know that Apple uses three main ICs to drive the touchscreen &#8211; a driver to generate the output to the panel, a receiver of the signals produced by the panel which incorporates an analog-to-digital converter, and a processor to interpret the ADC data.\u00a0 One popular method of Pcap sensing is to use the changing capacitance to shift the frequency of a relaxation oscillator, then use a frequency to voltage converter and finally an ADC to sense this capacitance.\u00a0 Given the structure of the panel and supporting circuitry, it seems reasonable for the panel to be read in this way.\u00a0 A couple of links that provide information on mutual Pcap: <a href=\"http:\/\/ww1.microchip.com\/downloads\/en\/DeviceDoc\/93064A.pdf\">http:\/\/ww1.microchip.com\/downloads\/en\/DeviceDoc\/93064A.pdf<\/a>, <a href=\"http:\/\/www.walkermobile.com\/SID_2012_Short_Course_S3.pdf\">http:\/\/www.walkermobile.com\/SID_2012_Short_Course_S3.pdf<\/a>.<\/p>\n<p>I believe it is unlikely that a hobbyist would be able to get ahold of the particular solution used in the iPad &#8211; in fact, as at least the receive and processing ICs are made by Broadcom, I&#8217;m positive it is impossible &#8211; and it is almost as unlikely that there will be an off-the-shelf controller with the proper number of channels that a hobbyist can buy in reasonable quantities.\u00a0 I therefore plan to implement a solution using generic hardware &#8211; simple programmable logic and\/or MCUs.\u00a0 This way cost and minimum buys aren&#8217;t problematic.\u00a0 But that architecture is a topic for a later post, this one has gone on long enough.<\/p>\n<p><a title=\"Investigating the iPad 3 Touch Panel, Part 1\" href=\"http:\/\/mikesmods.com\/mm-wp\/?p=49\">&lt;&lt; Previous post in this series<\/a> \u2026 <a title=\"Investigating the iPad 3 Touch Panel, Part 3\" href=\"http:\/\/mikesmods.com\/mm-wp\/?p=145\">Next post in this series &gt;&gt;<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>After discussion with commenter Eva in the last part of this series, i was motivated to make some progress on the investigation of the iPad 3 digitizer.\u00a0 Based on leaked schematics for the iPad mainboard assembly and on the physical digitizer itself, I have mapped the physical pins on the digitizer FFC to functions.\u00a0 There [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"_links":{"self":[{"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=\/wp\/v2\/posts\/112"}],"collection":[{"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=112"}],"version-history":[{"count":12,"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=\/wp\/v2\/posts\/112\/revisions"}],"predecessor-version":[{"id":126,"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=\/wp\/v2\/posts\/112\/revisions\/126"}],"wp:attachment":[{"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=112"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}