<?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>IR &#8211; Matthew Petroff</title>
	<atom:link href="https://mpetroff.net/tag/ir/feed/" rel="self" type="application/rss+xml" />
	<link>https://mpetroff.net</link>
	<description>mpetroff.net</description>
	<lastBuildDate>Wed, 30 Nov 2016 02:27:57 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>Decoding a Midea Air Conditioner Remote</title>
		<link>https://mpetroff.net/2015/07/decoding-a-midea-air-conditioner-remote/</link>
					<comments>https://mpetroff.net/2015/07/decoding-a-midea-air-conditioner-remote/#comments</comments>
		
		<dc:creator><![CDATA[Matthew Petroff]]></dc:creator>
		<pubDate>Sun, 26 Jul 2015 21:15:36 +0000</pubDate>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[air conditioner]]></category>
		<category><![CDATA[infrared]]></category>
		<category><![CDATA[IR]]></category>
		<category><![CDATA[Midea]]></category>
		<category><![CDATA[R09B/BGCE]]></category>
		<category><![CDATA[remote]]></category>
		<guid isPermaLink="false">http://mpetroff.net/?p=1914</guid>

					<description><![CDATA[Last month, I purchased a 6000 BTU Midea window air conditioner (branded Arctic King WWK+06CR5) and thought it would be convenient if I could control it remotely. Doing so would involve decoding the remote&#8217;s IR signals; for this, I used a &#8230; <a href="https://mpetroff.net/2015/07/decoding-a-midea-air-conditioner-remote/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p><span class="dropcap">L</span>ast month, I purchased a 6000 BTU Midea window air conditioner (branded Arctic King WWK+06CR5) and thought it would be convenient if I could control it remotely. Doing so would involve decoding the remote&#8217;s IR signals; for this, I used a <a href="http://dangerousprototypes.com/docs/USB_Infrared_Toy">USB Infrared Toy</a> and the <a href="https://github.com/crleblanc/PyIrToy">PyIrToy</a> Python library. Control signals for other Midea air conditioners have previously <a href="http://veillard.com/embedded/midea.html">been</a> <a href="http://thebloughs.net/design-a-custom-ac-timer/">decoded</a>, providing a starting point. Although the signals transmitted by my air conditioner&#8217;s R09B/BGCE remote are similar to these previous remotes, they are also sufficiently different such that the actual data transmitted shares little in common. The signal is transmitted on a 38 kHz carrier, with a time base, T, of 21 carrier cycles, approximately 1.1 ms. Each bit consists of the IR transmitter off for 1T followed by it turned on for either 1T for <code>0</code> or 3T for <code>1</code>. Each frame consists of a start pulse, six bytes of data, a middle pulse, and then the inverse of the six data bytes. The start pulse consists of the transmitter off for 8T and then on for 8T; the middle pulse consists of the transmitter off for 1T, on for 9.5T, off for 8T, and then on for 8T.</p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/07/remote0.jpg" title="R09B/BGCE Remote" data-sbox="1914"><img decoding="async" class="aligncenter wp-image-1923 size-large" title="R09B/BGCE Remote" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/07/remote0-640x427.jpg" alt="R09B/BGCE Remote" width="640" height="427" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/07/remote0-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/07/remote0-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/07/remote0-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/07/remote0.jpg 1500w" sizes="(max-width: 640px) 100vw, 640px" /></a><span id="more-1914"></span></p>
<p>With the exception of the commands to toggle the energy saver feature and the front panel lights, all of the commands encode a full system state instead of just a single command, ensuring the remote stays in sync with the air conditioner. This state is encoded in five bytes containing information on the power state, sleep state, system mode, fan speed, set temperature, and the remote temperature sensor reading. The final byte is some sort of checksum, which I have not been able to figure out. The remote is based around a 4-bit microcontroller with 64&thinsp;bytes of RAM, a Sino Wealth SH66P51A, so the checksum calculation must be something simple. <del>Based on its behavior to changing input, it seems to involve <code>XOR</code> operations, but it does not always behave like a simple <code>XOR</code>. As I haven&#8217;t been able to figure out the functional form of the checksum calculation, I can only send commands that I have recorded from the remote. This isn&#8217;t too much of an issue as I recorded all of the possible commands except for those involving the remote temperature sensor feature (and the timer since I didn&#8217;t care about it). Recording all temperature sensor commands would be very difficult as it only transmits once every three minutes and one needs to get the sensor to report all values. I was hoping to emulate the remote&#8217;s temperature sensor using a higher quality sensor, but, alas, I can&#8217;t without the functional form of the checksum.</del> It turns out that the bit order of the data needs to be reversed for the checksum calculation. The checksum can be calculated by reversing the bit order of the five data bytes; adding them, truncating the result to 8 bits, and subtracting the result from 2<sup>8</sup>; and reversing the bit order of the subtracted result. Below is a Python function to do the checksum calculation.</p>
<div class="highlighted-source default python">
<pre><span></span><span class="k">def</span> <span class="nf">calc_checksum</span><span class="p">(</span><span class="nb">bytes</span><span class="p">):</span>
    <span class="c1"># Reverse bits for each bytes</span>
    <span class="n">bit_reversal</span> <span class="o">=</span> <span class="p">[]</span>
    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">bytes</span><span class="p">:</span>
        <span class="n">bit_reversal</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">{:08b}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span><span class="p">)[::</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="mi">2</span><span class="p">))</span>
    <span class="c1"># Calculate checksum</span>
    <span class="n">checksum</span> <span class="o">=</span> <span class="mi">2</span><span class="o">**</span><span class="mi">8</span> <span class="o">-</span> <span class="nb">sum</span><span class="p">(</span><span class="n">bit_reversal</span><span class="p">)</span> <span class="o">%</span> <span class="mi">2</span><span class="o">**</span><span class="mi">8</span>
    <span class="c1"># Return bits to original order</span>
    <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">{:08b}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">checksum</span><span class="p">)[::</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="mi">2</span><span class="p">)</span>
</pre>
</div>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/07/remote1.jpg" title="Inside of Remote" data-sbox="1914"><img loading="lazy" decoding="async" class="aligncenter wp-image-1922 size-large" title="Inside of Remote" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/07/remote1-640x427.jpg" alt="Inside of Remote" width="640" height="427" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/07/remote1-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/07/remote1-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/07/remote1-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/07/remote1.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p>Detailed information on the individual data bytes, values recorded from the remote, and Python code for emulating the remote with a USB Infrared Toy is available <a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/07/midea-remote.zip">here</a>. <del>If anyone figures out the checksum calculation, please let me know.</del></p>
<p>Edit 2016-04-23: Tim Chang figured out the checksum calculation and let me know via email. I updated the post to include the checksum calculation.</p>
<p>Edit 2016-08-17: Fixed description of middle pulse.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mpetroff.net/2015/07/decoding-a-midea-air-conditioner-remote/feed/</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
			</item>
		<item>
		<title>West Hill Pond Near-Infrared Timelapse</title>
		<link>https://mpetroff.net/2012/10/west-hill-pond-near-infrared-timelapse/</link>
					<comments>https://mpetroff.net/2012/10/west-hill-pond-near-infrared-timelapse/#comments</comments>
		
		<dc:creator><![CDATA[Matthew Petroff]]></dc:creator>
		<pubDate>Wed, 17 Oct 2012 19:12:22 +0000</pubDate>
				<category><![CDATA[Photography]]></category>
		<category><![CDATA[CHDK]]></category>
		<category><![CDATA[infrared]]></category>
		<category><![CDATA[IR]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[timelapse]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[west hill pond]]></category>
		<guid isPermaLink="false">http://www.mpetroff.net/?p=717</guid>

					<description><![CDATA[Over the summer, I shot a timelapse of West Hill Pond in near-infrared using my modified Canon PowerShot SD400 and CHDK. The background music is from the Open Goldberg Variations. Enjoy! Also on Vimeo.]]></description>
										<content:encoded><![CDATA[<p>Over the summer, I shot a timelapse of West Hill Pond in near-infrared using my <a title="Canon PowerShot SD400 Infrared Cut-off Filter Removal" href="/2012/01/canon-powershot-sd400-infrared-cut-off-filter-removal/">modified Canon PowerShot SD400</a> and <a href="http://chdk.wikia.com/wiki/CHDK">CHDK</a>. The background music is from the <a href="http://www.opengoldbergvariations.org/">Open Goldberg Variations</a>. Enjoy!</p>
<p style="text-align: center;">
<iframe loading="lazy" src="https://www.youtube-nocookie.com/embed/D7tuQYWCBNI?rel=0" width="620" height="349" style="border-style: none;" allowfullscreen></iframe>
</p>
<p>Also on <a href="http://vimeo.com/48500224">Vimeo</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mpetroff.net/2012/10/west-hill-pond-near-infrared-timelapse/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Canon PowerShot SD400 Infrared Cut-off Filter Removal</title>
		<link>https://mpetroff.net/2012/01/canon-powershot-sd400-infrared-cut-off-filter-removal/</link>
					<comments>https://mpetroff.net/2012/01/canon-powershot-sd400-infrared-cut-off-filter-removal/#comments</comments>
		
		<dc:creator><![CDATA[Matthew Petroff]]></dc:creator>
		<pubDate>Mon, 02 Jan 2012 20:18:11 +0000</pubDate>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Canon Digital IXUS 50]]></category>
		<category><![CDATA[Canon PowerShot SD400]]></category>
		<category><![CDATA[infrared]]></category>
		<category><![CDATA[infrared cut-off filter removal]]></category>
		<category><![CDATA[IR]]></category>
		<category><![CDATA[ir filter removal]]></category>
		<category><![CDATA[IXUS 50]]></category>
		<category><![CDATA[SD400]]></category>
		<guid isPermaLink="false">http://www.mpetroff.net/?p=388</guid>

					<description><![CDATA[Silicon, in the form of a digital camera image sensor, is sensitive to near-infrared light. However, digital cameras use a cut-off filter to block these wavelengths. Removing this filter makes the camera sensitive to near-infrared, and replacing it with a &#8230; <a href="https://mpetroff.net/2012/01/canon-powershot-sd400-infrared-cut-off-filter-removal/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p><span class="dropcap">S</span>ilicon, in the form of a digital camera image sensor, is sensitive to near-infrared light. However, digital cameras use a cut-off filter to block these wavelengths. Removing this filter makes the camera sensitive to near-infrared, and replacing it with a filter that blocks visible light but is transparent to near-infrared light allows for infrared photography.</p>
<p>All of the following photos can be enlarged if clicked. Sample images from the modified camera are at the end of the post.</p>
<p><span id="more-388"></span></p>
<h3>Disassembly:</h3>
<p>To get started, one needs a #000 Phillips screwdriver; in addition, pointed tweezers are quite helpful. The camera is a delicate piece of electronics and optics that is easily damaged and also contains, while shielded, a dangerous high voltage flash system. <strong>Proceed at your own risk.</strong></p>
<p>Before beginning, remove the battery and let the camera sit so that the flash capacitor discharges.</p>
<div style="text-align: center;">
<div style="display: inline-block; margin-right: 20px;">
<div id="attachment_391" style="width: 280px" class="wp-caption aligncenter"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/canon-sd400_front.jpg" title="Canon PowerShot SD400: Front" data-sbox="388"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-391" class="size-Smaller Medium wp-image-391" title="Canon PowerShot SD400: Front" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/canon-sd400_front-270x180.jpg" alt="Canon PowerShot SD400: Front" width="270" height="180" /></a><p id="caption-attachment-391" class="wp-caption-text">Camera Front</p></div>
</div>
<div style="display: inline-block;">
<div id="attachment_392" style="width: 280px" class="wp-caption aligncenter"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/canon-sd400_back.jpg" title="Canon PowerShot SD400: Back" data-sbox="388"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-392" class="size-Smaller Medium wp-image-392" title="Canon PowerShot SD400: Back" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/canon-sd400_back-270x180.jpg" alt="Canon PowerShot SD400: Back" width="270" height="180" /></a><p id="caption-attachment-392" class="wp-caption-text">Camera Back</p></div>
</div>
</div>
<p>First, remove the six outside screws.</p>
<div id="attachment_422" style="width: 310px" class="wp-caption aligncenter"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_1.jpg" title="Outside Screws #1" data-sbox="388"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-422" class="size-medium wp-image-422" title="Outside Screws #1" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_1-300x200.jpg" alt="Outside Screws #1" width="300" height="200" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_1-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_1-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_1-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_1.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-422" class="wp-caption-text">First Pair of Screws</p></div>
<div id="attachment_423" style="width: 310px" class="wp-caption aligncenter"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_2.jpg" title="Outside Screws #2" data-sbox="388"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-423" class="size-medium wp-image-423" title="Outside Screws #2" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_2-300x200.jpg" alt="Outside Screws #2" width="300" height="200" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_2-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_2-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_2-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_2.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-423" class="wp-caption-text">Second Pair of Screws</p></div>
<div id="attachment_421" style="width: 310px" class="wp-caption aligncenter"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_3.jpg" title="Outside Screws #3" data-sbox="388"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-421" class="size-medium wp-image-421" title="Outside Screws #3" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_3-300x200.jpg" alt="Outside Screws #3" width="300" height="200" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_3-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_3-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_3-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/outside-screws_3.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-421" class="wp-caption-text">Last Pair of Screws</p></div>
<p>Next, open the case while being careful not to bend the metal.</p>
<div id="attachment_428" style="width: 310px" class="wp-caption aligncenter"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/case-separation.jpg" title="Case Separation" data-sbox="388"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-428" class="size-medium wp-image-428" title="Case Separation" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/case-separation-300x200.jpg" alt="Case Separation" width="300" height="200" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/case-separation-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/case-separation-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/case-separation-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/case-separation.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-428" class="wp-caption-text">Opening the Case</p></div>
<p>The buttons, the strap connector, and the seal around the lens will fall off.</p>
<div style="text-align: center;">
<div style="display: inline-block; margin-right: 20px;">
<div id="attachment_438" style="width: 280px" class="wp-caption aligncenter"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/strap-attachment.jpg" title="Strap Attachment" data-sbox="388"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-438" class="size-Smaller Medium wp-image-438" title="Strap Attachment" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/strap-attachment-270x180.jpg" alt="Strap Attachment" width="270" height="180" /></a><p id="caption-attachment-438" class="wp-caption-text">Strap Attachment</p></div>
</div>
<div style="display: inline-block;">
<div id="attachment_439" style="width: 280px" class="wp-caption aligncenter"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/buttons.jpg" title="Buttons" data-sbox="388"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-439" class="size-Smaller Medium wp-image-439" title="Buttons" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/buttons-270x180.jpg" alt="Buttons" width="270" height="180" /></a><p id="caption-attachment-439" class="wp-caption-text">Buttons</p></div>
</div>
</div>
<p>Then, disconnect the screen&#8217;s ribbon cable on the front of the camera by lifting the latch on the socket and gently pulling on the cable.</p>
<div id="attachment_429" style="width: 310px" class="wp-caption aligncenter"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/front_no-case.jpg" title="Front: No Case" data-sbox="388"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-429" class="size-medium wp-image-429" title="Front: No Case" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/front_no-case-300x200.jpg" alt="Front: No Case" width="300" height="200" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/front_no-case-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/front_no-case-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/front_no-case-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/front_no-case.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-429" class="wp-caption-text">Screen Ribbon Connector</p></div>
<p>Now, remove the screw at the upper-right corner of the screen (it&#8217;s a different size). Next, pop the clip to the left of the screen, move the screen slightly toward the viewfinder to free the tab on bottom-right corner, and lift the left of the screen, folding it toward the right like a book page while feeding the ribbon cable through from the front of the camera. Be mindful of the remaining cable connected to the right side of the screen.</p>
<div id="attachment_432" style="width: 310px" class="wp-caption aligncenter"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/back_no-case.jpg" title="Back: No Case" data-sbox="388"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-432" class="size-medium wp-image-432" title="Back: No Case" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/back_no-case-300x200.jpg" alt="Back: No Case" width="300" height="200" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/back_no-case-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/back_no-case-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/back_no-case-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/back_no-case.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-432" class="wp-caption-text">Screen Removal</p></div>
<p>Next, disconnect the back-light to free the screen and then unscrew the image sensor. There are three springs behind the image sensor to watch for and then remove.</p>
<div id="attachment_433" style="width: 310px" class="wp-caption aligncenter"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/screen_partially-removed.jpg" title="Screen Partially Removed" data-sbox="388"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-433" class="size-medium wp-image-433" title="Screen Partially Removed" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/screen_partially-removed-300x200.jpg" alt="Screen Partially Removed" width="300" height="200" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/screen_partially-removed-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/screen_partially-removed-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/screen_partially-removed-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/screen_partially-removed.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-433" class="wp-caption-text">Back of Image Sensor</p></div>
<p>Then, fasten sensor out of the way, thread works well, and remove the square rubber gasket below it. Avoid touching the sensor.</p>
<div id="attachment_434" style="width: 310px" class="wp-caption aligncenter"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/sensor-removed.jpg" title="Sensor Removed" data-sbox="388"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-434" class="size-medium wp-image-434" title="Sensor Removed" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/sensor-removed-300x200.jpg" alt="Sensor Removed" width="300" height="200" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/sensor-removed-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/sensor-removed-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/sensor-removed-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/sensor-removed.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-434" class="wp-caption-text">Sensor Removed</p></div>
<p>The piece of glass that is below where the sensor was is the infrared cut-off filter. It is glued down. Carefully pry it off (it will likely break, but we don&#8217;t want it anyway). Be sure all fragments and debris are removed.</p>
<div id="attachment_435" style="width: 310px" class="wp-caption aligncenter"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/IR-filter.jpg" title="Infrared Cut-off Filter" data-sbox="388"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-435" class="size-medium wp-image-435" title="Infrared Cut-off Filter" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/IR-filter-300x200.jpg" alt="Infrared Cut-off Filter" width="300" height="200" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/IR-filter-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/IR-filter-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/IR-filter-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/IR-filter.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-435" class="wp-caption-text">Infrared Cut-off Filter</p></div>
<h3>Visible Light Cut-off Filter:</h3>
<p>One now has the option of replacing the infrared cut-off filter with a visible light cut-off filter. For this, fully exposed and then developed film negative works well. Take a roll of film, pull the film out of the roll in a lit area, re-roll it, and take it to be developed. Be sure to ask for no prints, only the negatives, and make it clear that you know the film is fully exposed but want it developed anyway. Four layers of developed film worked well for me to block most visible light. Cut the negative into rectangles the same size as the infrared cut-off filter was, 9.0mm wide by 8.0mm tall. If the film is curling, briefly iron it between sheets of paper on low heat to flatten it. When cutting out the rectangles, it helps to print the <a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/filter-cutouts.pdf">correct sized rectangles</a> on a piece of paper without scaling, tape the negative to the paper, and precisely cut out the printed rectangles with the film behind it.</p>
<div style="text-align: center;">
<div style="display: inline-block; margin-right: 10px;">
<div id="attachment_454" style="width: 280px" class="wp-caption aligncenter"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/cutting-negatives.jpg" title="Cutting Negatives" data-sbox="388"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-454" class="size-Smaller Medium wp-image-454" title="Cutting Negatives" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/cutting-negatives-270x180.jpg" alt="Cutting Negatives" width="270" height="180" /></a><p id="caption-attachment-454" class="wp-caption-text">Cutting Negatives</p></div>
</div>
<div style="display: inline-block;">
<div id="attachment_453" style="width: 280px" class="wp-caption aligncenter"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/negative-rectangles.jpg" title="Negative Rectangles" data-sbox="388"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-453" class="size-Smaller Medium wp-image-453" title="Negative Rectangles" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/negative-rectangles-270x180.jpg" alt="Negative Rectangles" width="270" height="180" /></a><p id="caption-attachment-453" class="wp-caption-text">Negative Rectangles</p></div>
</div>
</div>
<p>Next, carefully place the pieces of negative where the infrared cut-off filter was and glue them in place; I used white glue on a toothpick. Wait for the glue to dry.</p>
<div id="attachment_457" style="width: 310px" class="wp-caption aligncenter"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/negatives-installed.jpg" title="Installed Negatives" data-sbox="388"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-457" class="size-medium wp-image-457" title="Installed Negatives" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/negatives-installed-300x200.jpg" alt="Installed Negatives" width="300" height="200" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/negatives-installed-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/negatives-installed-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/negatives-installed-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/negatives-installed.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-457" class="wp-caption-text">Installed Negatives</p></div>
<h3>Reassembly:</h3>
<p>To reassemble the camera, first replace the square rubber gasket above the former location of the infrared cut-off filter. Next, replace the three springs and screw the image sensor back in place. One might have to go back and adjust the height of the image sensor to fix focus issues that may result from modifying the optical path. Replace the screen by first reconnecting the back-light cable and feeding the larger ribbon cable back to the front of the camera. It helps to feed a thread through the camera, tie it to the end of the ribbon cable, and pull the cable through that way. Note that the ribbon cable should be over, not under, the red and black wires on the back of the camera. Insert the tab on the lower-right corner of the screen into the appropriate slot, click the tab on the left side back into place, and replace the screw at the top-right corner of the screen. Turn the camera over and reconnect the ribbon cable. Then, replace the buttons, the gasket around the lens, and the strap connector, and replace the case and its six screws. Enjoy your infrared sensitive camera!</p>
<h3>Sample Images:</h3>
<p>Two photos were taken at the same location. The left half is visible light from an unmodified camera; the right half is infrared from the modified camera (with visible light cut-off filter).</p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/comparison1.jpg" title="Comparison #1" data-sbox="388"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-473" title="Comparison #1" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/comparison1-1024x768.jpg" alt="Comparison #1" width="640" height="480" /></a><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/comparison2.jpg" title="Comparison #2" data-sbox="388"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-474" title="Comparison #2" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/comparison2-1024x768.jpg" alt="Comparison #2" width="640" height="480" /></a><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/comparison3.jpg" title="Comparison #3" data-sbox="388"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-475" title="Comparison #3" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/comparison3-1024x768.jpg" alt="Comparison #3" width="640" height="480" /></a><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/comparison4.jpg" title="Comparison #4" data-sbox="388"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-476" title="Comparison #4" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/comparison4-1024x768.jpg" alt="Comparison #4" width="640" height="480" /></a><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/comparison5.jpg" title="Comparison #5" data-sbox="388"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-477" title="Comparison #5" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/comparison5-1024x768.jpg" alt="Comparison #5" width="640" height="480" /></a><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/comparison6.jpg" title="Comparison #6" data-sbox="388"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-478" title="Comparison #6" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/comparison6-1024x768.jpg" alt="Comparison #6" width="640" height="480" /></a>Now, more sample infrared photographs.</p>
<div style="text-align: center;">
<div style="display: inline-block; margin-right: 20px;"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared1.jpg" title="Infrared #1" data-sbox="388"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-480" title="Infrared #1" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared1-300x225.jpg" alt="Infrared #1" width="300" height="225" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared1-300x225.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared1-640x480.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared1-1280x960.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared1.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></div>
<div style="display: inline-block;"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared2.jpg" title="Infrared #2" data-sbox="388"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-481" title="Infrared #2" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared2-300x225.jpg" alt="Infrared #2" width="300" height="225" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared2-300x225.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared2-640x480.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared2-1280x960.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared2.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></div>
</div>
<div style="text-align: center;">
<div style="display: inline-block; margin-right: 20px;"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared3.jpg" title="Infrared #3" data-sbox="388"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-482" title="Infrared #3" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared3-300x225.jpg" alt="Infrared #3" width="300" height="225" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared3-300x225.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared3-640x480.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared3-1280x960.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared3.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></div>
<div style="display: inline-block;"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared4.jpg" title="Infrared #4" data-sbox="388"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-483" title="Infrared #4" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared4-300x225.jpg" alt="Infrared #4" width="300" height="225" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared4-300x225.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared4-640x480.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared4-1280x960.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared4.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></div>
</div>
<div style="text-align: center;">
<div style="display: inline-block; margin-right: 20px;"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared5.jpg" title="Infrared #5" data-sbox="388"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-484" title="Infrared #5" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared5-300x225.jpg" alt="Infrared #5" width="300" height="225" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared5-300x225.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared5-640x480.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared5-1280x960.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared5.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></div>
<div style="display: inline-block;"><a href="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared6.jpg" title="Infrared #6" data-sbox="388"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-485" title="Infrared #6" src="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared6-300x225.jpg" alt="Infrared #6" width="300" height="225" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared6-300x225.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared6-640x480.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared6-1280x960.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2012/01/infrared6.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://mpetroff.net/2012/01/canon-powershot-sd400-infrared-cut-off-filter-removal/feed/</wfw:commentRss>
			<slash:comments>24</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-28 18:57:39 by W3 Total Cache
-->