<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0IDR304fip7ImA9WhBbGUw.&quot;"><id>tag:blogger.com,1999:blog-2112730102494092359</id><updated>2013-05-18T16:26:16.336-07:00</updated><category term="connector" /><category term="DSI" /><category term="Wireless" /><category term="hd44780" /><category term="h264" /><category term="control" /><category term="lcd pic" /><category term="hi gain" /><category term="GM counter" /><category term="decode" /><category term="gst-omx" /><category term="LcdCrystal" /><category term="build report" /><category term="Geiger Muller" /><category term="analog" /><category term="RN-42" /><category term="conversion" /><category term="LCD" /><category term="fet emulation" /><category term="Wishield" /><category term="farnell" /><category term="pwm" /><category term="polyfuse bridge" /><category term="HDMI" /><category term="effects" /><category term="wireless sensor network" /><category term="microchip" /><category term="count rate" /><category term="Open source" /><category term="JDM" /><category term="PoP" /><category term="MRF24WB0MB" /><category term="Canon" /><category term="CSI" /><category term="lcd module microcontroller" /><category term="mesa boogie" /><category term="internet" /><category term="radiation sensor" /><category term="dr boogey" /><category term="roving networks" /><category term="usb host" /><category term="guitar" /><category term="Android" /><category term="fet" /><category term="EOS" /><category term="pachube" /><category term="gstreamer" /><category term="linux" /><category term="arduino" /><category term="Raspberry Pi" /><category term="SI-29BG" /><category term="weatherproof" /><category term="manis404" /><category term="dr boogie" /><category term="wifi" /><category term="Sparkfun" /><category term="boost converter" /><category term="RN-XV" /><category term="A/D" /><category term="MPSA42" /><category term="increase current limit" /><category term="16F84A" /><category term="16F628A" /><category term="internet of things" /><category term="gaussmarkov" /><category term="PTP" /><category term="cosm" /><category term="ad" /><category term="emulation" /><category term="microcontroller" /><category term="j201" /><category term="App Inventor" /><category term="uJDM" /><category term="metal" /><category term="fuse bridge" /><category term="wifly" /><category term="PIC programmer" /><category term="raspian" /><category term="MRF24WB0MA" /><category term="GPIO" /><category term="Bluetooth" /><category term="preamp" /><category term="BCM2835" /><category term="encode" /><category term="interrupt" /><category term="solar" /><category term="mikrobasic" /><category term="high voltage" /><title>i/o blog</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://theiopage.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://theiopage.blogspot.com/" /><author><name>"Manis B"</name><uri>http://www.blogger.com/profile/06514501267924230924</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://1.bp.blogspot.com/-tJ3tYe4YDiI/UE6DPhda8aI/AAAAAAAAAZ8/rv_xQa-Ts0M/s220/IMG_1072-1.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/I/oBlog" /><feedburner:info uri="i/oblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;A0QAR3w6fyp7ImA9WhBbGUw.&quot;"><id>tag:blogger.com,1999:blog-2112730102494092359.post-8725105531064898905</id><published>2013-04-20T12:41:00.001-07:00</published><updated>2013-05-18T16:22:26.217-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-18T16:22:26.217-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="gstreamer" /><category scheme="http://www.blogger.com/atom/ns#" term="decode" /><category scheme="http://www.blogger.com/atom/ns#" term="raspian" /><category scheme="http://www.blogger.com/atom/ns#" term="h264" /><category scheme="http://www.blogger.com/atom/ns#" term="manis404" /><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi" /><category scheme="http://www.blogger.com/atom/ns#" term="gst-omx" /><category scheme="http://www.blogger.com/atom/ns#" term="encode" /><title>Enabling hardware h264 encoding with gstreamer on the Raspberry Pi</title><content type="html">&lt;br /&gt;
This should be helpful for those trying to use the hardware h264 encoder inside the BCM2835.&lt;br /&gt;
&lt;br /&gt;
The repo already contains precompiled binaries for the raspberry pi, so this will be much faster than building gst-omx from source.&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/manis404/5427116.js"&gt;&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Result:&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/manis404/5427124.js"&gt;&lt;/script&gt;&lt;br /&gt;
You can now enjoy your well deserved omxh264enc video sink.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/I/oBlog/~4/54fKHoH1gbU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://theiopage.blogspot.com/feeds/8725105531064898905/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2112730102494092359&amp;postID=8725105531064898905" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/8725105531064898905?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/8725105531064898905?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/I/oBlog/~3/54fKHoH1gbU/enabling-hardware-h264-encoding-with.html" title="Enabling hardware h264 encoding with gstreamer on the Raspberry Pi" /><author><name>"Manis B"</name><uri>http://www.blogger.com/profile/06514501267924230924</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://1.bp.blogspot.com/-tJ3tYe4YDiI/UE6DPhda8aI/AAAAAAAAAZ8/rv_xQa-Ts0M/s220/IMG_1072-1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://theiopage.blogspot.com/2013/04/enabling-hardware-h264-encoding-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcFSH4zeSp7ImA9WhNbEE4.&quot;"><id>tag:blogger.com,1999:blog-2112730102494092359.post-8114575473374744931</id><published>2013-01-02T20:37:00.002-08:00</published><updated>2013-01-12T14:33:39.081-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-12T14:33:39.081-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="radiation sensor" /><category scheme="http://www.blogger.com/atom/ns#" term="arduino" /><category scheme="http://www.blogger.com/atom/ns#" term="weatherproof" /><category scheme="http://www.blogger.com/atom/ns#" term="roving networks" /><category scheme="http://www.blogger.com/atom/ns#" term="Geiger Muller" /><category scheme="http://www.blogger.com/atom/ns#" term="cosm" /><category scheme="http://www.blogger.com/atom/ns#" term="solar" /><category scheme="http://www.blogger.com/atom/ns#" term="RN-XV" /><category scheme="http://www.blogger.com/atom/ns#" term="internet of things" /><category scheme="http://www.blogger.com/atom/ns#" term="wifly" /><category scheme="http://www.blogger.com/atom/ns#" term="pachube" /><category scheme="http://www.blogger.com/atom/ns#" term="wifi" /><title>Solar powered, Wireless autonomous radiation sensor network node</title><content type="html">&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-okQu3JK4FBE/UOTW7ejbzuI/AAAAAAAAAeU/GiIQX993N5M/s1600/IMG_9870.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="425" src="http://3.bp.blogspot.com/-okQu3JK4FBE/UOTW7ejbzuI/AAAAAAAAAeU/GiIQX993N5M/s640/IMG_9870.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I designed a system a few months ago that had the aim to track the amount of radiation of my backyard over a period of time. I figured that the least cumbersome way to keep track of the count-rate was to make the radiation sensor post the data &lt;i&gt;directly&lt;/i&gt; to the internet, via &lt;a href="https://cosm.com/" target="_blank"&gt;cosm&lt;/a&gt;. Cosm is basically an 'internet-of-things' platform where one can freely post, access and share&amp;nbsp;data points.&lt;br /&gt;
&lt;br /&gt;
This project can be particularly interesting for those who, like me, want to keep track of the relative&amp;nbsp;radiation&amp;nbsp;rates for&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Chernobyl_disaster" target="_blank"&gt;some&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Fukushima_Daiichi_nuclear_disaster" target="_blank"&gt;reason&lt;/a&gt;. (This is not a radiation &lt;i&gt;&lt;a href="http://en.wikipedia.org/wiki/Dosimeter" target="_blank"&gt;dosimeter&lt;/a&gt;&lt;/i&gt;, hence the 'relative count rate')&lt;br /&gt;
&lt;br /&gt;
I found it worthy to share this design because:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;It is solar powered, and (energetically) fully self sufficient.&lt;/li&gt;
&lt;li&gt;It connects to the internet via Wi-fi, so no messy ethernet cables trailing across the backyard. (Assuming, of course, it is within range of your wifi router.)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;It is fully weather-resistant due to the IP-66 rated casing and connection terminals.&lt;/li&gt;
&lt;li&gt;Data-collection is automatic and cosm provides various interesting ways to share the collected data points(twitter, custom API, etc...)&lt;/li&gt;
&lt;li&gt;It is a very low cost system for what it does. B.o.M is under $100.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Hardware overview&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Component list:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.sparkfun.com/products/11114" target="_blank"&gt;Arduino Pro Mini&lt;/a&gt; (3.3v)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.sparkfun.com/products/11047" target="_blank"&gt;RN-XV wifi module&lt;/a&gt; + 2.4 GHz antenna&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.adafruit.com/products/390" target="_blank"&gt;Adafruit Solar charger&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.adafruit.com/products/328" target="_blank"&gt;2600mAh LiPo Battery&lt;/a&gt; (Later design uses two units of these)&lt;/li&gt;
&lt;li&gt;Custom geiger muller interface as described &lt;a href="http://theiopage.blogspot.com/2012/09/simple-gm-tube-interfacing-to-arduino.html" target="_blank"&gt;here&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Geiger&amp;nbsp;Muller&amp;nbsp;tube (Si-29BG)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.adafruit.com/products/903" target="_blank"&gt;Adafruit weatherproof enclosure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Solar panel (minimum 2.8W @ ~6V) &lt;a href="https://www.adafruit.com/products/500" target="_blank"&gt;This one&lt;/a&gt; is good enough, although quite expensive.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
First some pictures for a general overview of how one node is assembled.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-plmgVICDcGU/UOTugHxnJXI/AAAAAAAAAf0/Jca34fRJSL4/s1600/IMG_9808.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="266" src="http://2.bp.blogspot.com/-plmgVICDcGU/UOTugHxnJXI/AAAAAAAAAf0/Jca34fRJSL4/s400/IMG_9808.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Holes for two watertight cable pass-throughs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-RByqD6fbv3M/UOTumAXL2bI/AAAAAAAAAf8/Z_FqSKsoB6s/s1600/IMG_9865.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="266" src="http://4.bp.blogspot.com/-RByqD6fbv3M/UOTumAXL2bI/AAAAAAAAAf8/Z_FqSKsoB6s/s400/IMG_9865.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Adafruit's solar charger board. A bit overpriced in my opinion, but works very well.&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-RnXV0Xe1dWk/UOTiC15zcVI/AAAAAAAAAek/2Ws6sBUM6Lc/s1600/IMG_9856.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="266" src="http://4.bp.blogspot.com/-RnXV0Xe1dWk/UOTiC15zcVI/AAAAAAAAAek/2Ws6sBUM6Lc/s400/IMG_9856.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Roving Networks RN-XV WiFly 'wonder' Module&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-tpZz9pKNxPg/UOTiJhPKtCI/AAAAAAAAAes/UQK7zGLFXk0/s1600/IMG_9857.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="266" src="http://2.bp.blogspot.com/-tpZz9pKNxPg/UOTiJhPKtCI/AAAAAAAAAes/UQK7zGLFXk0/s400/IMG_9857.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The RP-SMA connector was sealed with&amp;nbsp;silicone&amp;nbsp;glue after the antenna was &amp;nbsp;screwed-in&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-PCp4ZiISkUk/UOTiRKMRJVI/AAAAAAAAAe0/QC2m74WQZ_c/s1600/IMG_9858.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="266" src="http://1.bp.blogspot.com/-PCp4ZiISkUk/UOTiRKMRJVI/AAAAAAAAAe0/QC2m74WQZ_c/s400/IMG_9858.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Arduino+WiFly+Solar Power Subsystem minus the Geiger interface&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-qn-KzdolN94/UOTkj_MgBvI/AAAAAAAAAfE/Oa_IHUC_f0A/s1600/IMG_9862.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="266" src="http://1.bp.blogspot.com/-qn-KzdolN94/UOTkj_MgBvI/AAAAAAAAAfE/Oa_IHUC_f0A/s400/IMG_9862.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The Geiger Muller Interface + GM Tube attached , as described &lt;a href="http://theiopage.blogspot.com/2012/09/simple-gm-tube-interfacing-to-arduino.html" target="_blank"&gt;previously&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-1NY6hHwcwTY/UOTnspjBb9I/AAAAAAAAAfU/kdSQxVL1_cw/s1600/IMG_9866.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="266" src="http://3.bp.blogspot.com/-1NY6hHwcwTY/UOTnspjBb9I/AAAAAAAAAfU/kdSQxVL1_cw/s400/IMG_9866.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Cramming everything together produces this.&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Schematics&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;
I won't be describing how to connect up the power subsection as this is pretty obvious, and is also dependent on what exact components you chose to use.&lt;br /&gt;
&lt;br /&gt;
I will only describe how to connect the WiFly module and the GM tube interface, in the way expected by the Arduino code.&lt;br /&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;
&lt;u&gt;Part I - RN-XV to Arduino&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;br /&gt;&lt;/u&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-zWku_jpwQC8/UOTsRJg3MjI/AAAAAAAAAfk/D6CkXZ2Og20/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="218" src="http://3.bp.blogspot.com/-zWku_jpwQC8/UOTsRJg3MjI/AAAAAAAAAfk/D6CkXZ2Og20/s320/1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;u&gt;&lt;br /&gt;&lt;/u&gt;
&lt;u&gt;&lt;br /&gt;&lt;/u&gt;
The pin numbering scheme of the RN-XV module is shown above. This project uses only 6 pins from the module and they are connected to the Arduino as described by the table below.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-a2glQIv4BPY/UOTw7uHdP9I/AAAAAAAAAgM/H11TDFf7R_o/s1600/2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-a2glQIv4BPY/UOTw7uHdP9I/AAAAAAAAAgM/H11TDFf7R_o/s1600/2.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Arduino code puts the module to sleep by pulling pin 7 to LOW. For the module to obey this, it must be configured so that when it gets a 'LOW' signal on pin 4, it goes to sleep. For instructions on how to configure the module, please consult its &lt;a href="http://www.rovingnetworks.com/resources/download/93/WiFly_User_Manual" target="_blank"&gt;instruction manual&lt;/a&gt;&amp;nbsp;about 'GPIO8'.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;If the WiFi module does not enter sleep mode, the LiPo battery will be eventually &lt;b&gt;drained&lt;/b&gt; as the solar panel won't be able to keep up with the load. From my&amp;nbsp;experiments, the system will only last 2-3 days if that happens.&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
The Arduino code also wakes up the module by pulling pin4 'High' (pin 16 on the RN-XV) after a certain period has elapsed. No configuration is needed for that as the module automatically wakes up from sleep as its pin 16(UART_CTS) is pulled high.&lt;br /&gt;
&lt;br /&gt;
It is highly recommended that you give it's &lt;a href="http://www.rovingnetworks.com/resources/download/93/WiFly_User_Manual" target="_blank"&gt;instruction manual&lt;/a&gt; and &lt;a href="http://www.rovingnetworks.com/resources/download/16/RN_XV" target="_blank"&gt;datasheet&lt;/a&gt; a good read before wiring the module up. How this module works is far from obvious, but very interesting nevertheless.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Part II - GM-Interface to Arduino&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;br /&gt;&lt;/u&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-5WN5dkUCJz4/UOT98s6laHI/AAAAAAAAAgo/pHXVE6kmHDc/s1600/IMG_9863.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://1.bp.blogspot.com/-5WN5dkUCJz4/UOT98s6laHI/AAAAAAAAAgo/pHXVE6kmHDc/s400/IMG_9863.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;u&gt;&lt;br /&gt;&lt;/u&gt;
&lt;u&gt;&lt;br /&gt;&lt;/u&gt;
The GM-interface used is exactly the same as described in this post:&amp;nbsp;&lt;a href="http://theiopage.blogspot.com/2012/09/simple-gm-tube-interfacing-to-arduino.html"&gt;http://theiopage.blogspot.com/2012/09/simple-gm-tube-interfacing-to-arduino.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
It consumes a few micro-amps when not active and about 10mA when its high-voltage generator(boost converter) is active. By default, it is active for about 30 seconds each 30 minutes so that the overall current draw remains adequate for what a small solar panel can provide.&lt;br /&gt;
&lt;br /&gt;
It has 4 wires to the arduino: Vcc, PWM_IN, Pulse_Out and Ground.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Vcc can be anything less than 6.0V but above 3.0V. (note: The HV is not regulated - just a ballpark value that works.)&lt;/li&gt;
&lt;li&gt;The "PWM_IN" of the GM-Interface is connected to Pin 9 of the Arduino Pro Mini. This is for the boost converter section of the interface. The firmware is programmed to send a 1.9KHz PWM signal through Pin 9.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;The "Pulse_Out" of the GM-Interface is connected to Pin 2 of the Arduino Pro Mini. This is for the 'pulse detection' section of the interface. Each time a pulse is detected, it triggers an interrupt on the Arduino for it to register the event as one count. The Arduino&amp;nbsp;accumulates&amp;nbsp;theses counts over a period of time to produce the count per minute value.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;u&gt;Arduino Sketch&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;
The Arduino sketch can be downloaded here:&amp;nbsp;&lt;a href="https://github.com/manis404/RadSenseNode"&gt;https://github.com/manis404/RadSenseNode&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You have to change a few things before you upload the sketch to the Arduino Pro Mini.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;You'll need to hardcode your wifi AP settings inside the "Credentials.h" file.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;You'll need to have a &lt;a href="https://cosm.com/" target="_blank"&gt;cosm account&lt;/a&gt; and enter your cosm feed details in the "Credentials.h" file&lt;/li&gt;
&lt;li&gt;You need to have the WiFly library installed for it to compile. I've made a copy of the original Sparkfun WiFly library to maintain compatibility:&amp;nbsp;&lt;a href="https://github.com/manis404/WiFly-Shield"&gt;https://github.com/manis404/WiFly-Shield&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
After these, your code should compile and work properly.&lt;br /&gt;
&lt;br /&gt;
The documentation is still very minimal, but this will hopefully change progressively.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;u&gt;Random extra text&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
My current Cosm feed is currently private, but I will make it public and post it here soon after I complete some add-ons.&lt;br /&gt;
&lt;br /&gt;
You can also use a GM-Array instead of a single tube to get a more reliable count rate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-OBrMCZOQ874/UOUW176IAUI/AAAAAAAAAhE/vYGGkqf2yws/s1600/IMG_9868.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://2.bp.blogspot.com/-OBrMCZOQ874/UOUW176IAUI/AAAAAAAAAhE/vYGGkqf2yws/s400/IMG_9868.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-iaJolLRfmI0/UOUW88A4urI/AAAAAAAAAhM/TwAFS1BNhhc/s1600/IMG_9864.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://3.bp.blogspot.com/-iaJolLRfmI0/UOUW88A4urI/AAAAAAAAAhM/TwAFS1BNhhc/s400/IMG_9864.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;u&gt;&lt;br /&gt;&lt;/u&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/I/oBlog/~4/cUYVkZ9cQuA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://theiopage.blogspot.com/feeds/8114575473374744931/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2112730102494092359&amp;postID=8114575473374744931" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/8114575473374744931?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/8114575473374744931?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/I/oBlog/~3/cUYVkZ9cQuA/solar-powered-wireless-autonomous.html" title="Solar powered, Wireless autonomous radiation sensor network node" /><author><name>"Manis B"</name><uri>http://www.blogger.com/profile/06514501267924230924</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://1.bp.blogspot.com/-tJ3tYe4YDiI/UE6DPhda8aI/AAAAAAAAAZ8/rv_xQa-Ts0M/s220/IMG_1072-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-okQu3JK4FBE/UOTW7ejbzuI/AAAAAAAAAeU/GiIQX993N5M/s72-c/IMG_9870.JPG" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://theiopage.blogspot.com/2013/01/solar-powered-wireless-autonomous.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cERHg-fyp7ImA9WhBbGUw.&quot;"><id>tag:blogger.com,1999:blog-2112730102494092359.post-8747122013950421655</id><published>2012-09-16T08:04:00.002-07:00</published><updated>2013-05-18T16:16:45.657-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-18T16:16:45.657-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="arduino" /><category scheme="http://www.blogger.com/atom/ns#" term="Geiger Muller" /><category scheme="http://www.blogger.com/atom/ns#" term="microcontroller" /><category scheme="http://www.blogger.com/atom/ns#" term="pwm" /><category scheme="http://www.blogger.com/atom/ns#" term="boost converter" /><category scheme="http://www.blogger.com/atom/ns#" term="SI-29BG" /><category scheme="http://www.blogger.com/atom/ns#" term="MPSA42" /><category scheme="http://www.blogger.com/atom/ns#" term="GM counter" /><category scheme="http://www.blogger.com/atom/ns#" term="high voltage" /><category scheme="http://www.blogger.com/atom/ns#" term="count rate" /><category scheme="http://www.blogger.com/atom/ns#" term="interrupt" /><title>The $3 Geiger Muller tube to Arduino Interface</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;span style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;b&gt;This is a "Revision 1.0". So expect this post will be continuously updated as I fine-tune the design.&lt;/b&gt;&lt;/span&gt;&lt;span style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/-8Mg3fHhf79s/UFYh0MAZFsI/AAAAAAAAAbo/EkTijRpy0T4/s1600/IMG_9904+(Large)-1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="428" src="http://3.bp.blogspot.com/-8Mg3fHhf79s/UFYh0MAZFsI/AAAAAAAAAbo/EkTijRpy0T4/s640/IMG_9904+(Large)-1.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
While complete Geiger Muller shields for the Arduino are available on the market, I tend to find them:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Unnecessarily Bulky&lt;/li&gt;
&lt;li&gt;Too complexified for what they do.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Other awesome open source gm-counter projects do exist, however, they do not fit my (rather simplistic) requirements - just getting a TTL pulse for each ionization event. &amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In this post, I will document how we can easily drive a GM tube with less than $3 worth of parts and an&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
Arduino. It's not exactly the optimal circuit for GM tube driving, but it gets the job done in a very compact form factor.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-uUP9KiZZ9rs/UUZytrmaCkI/AAAAAAAAAh8/m4nXg58Mfug/s1600/gm_if.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="451" src="http://2.bp.blogspot.com/-uUP9KiZZ9rs/UUZytrmaCkI/AAAAAAAAAh8/m4nXg58Mfug/s640/gm_if.gif" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;(15/03/2013 - Schematic corrected!)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
In a nutshell, driving a GM tube typically consists of 2 distinct parts.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;We need to provide the tube with a high voltage source for it to operate.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;We need to detect each ionization event and convert it to a format that can be used by the micro controller. Interestingly, the circuit described above does &lt;i&gt;exactly &lt;/i&gt;that.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-_4Ug3AMdfFo/UFdwHlntfUI/AAAAAAAAAb8/E4QfYod_Okg/s1600/IMG_1251-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="129" src="http://4.bp.blogspot.com/-_4Ug3AMdfFo/UFdwHlntfUI/AAAAAAAAAb8/E4QfYod_Okg/s320/IMG_1251-1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-XHYYSSaRogQ/UOT9C7ACZPI/AAAAAAAAAgc/P59eKVj0-wQ/s1600/IMG_9871.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="266" src="http://3.bp.blogspot.com/-XHYYSSaRogQ/UOT9C7ACZPI/AAAAAAAAAgc/P59eKVj0-wQ/s400/IMG_9871.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Prototyping a 400V boost converter&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
The first transistor (T1) takes a PWM signal(~1.9kHz) from the Arduino and together with L1, D1 and C1, acts like a&lt;a href="http://en.wikipedia.org/wiki/Boost_converter" target="_blank"&gt; boost converter&lt;/a&gt; to produce 400V. This voltage is then fed to the center pin of the GM tube(GMTUBE_1).&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
The second pin of the GM tube, GMTUBE_2, goes to the pulse detector part of the circuit. Basically, each ionization event causes the 'Pulse_out' pin to to make a 'high-low-high' transition. This triggers an interrupt on the Arduino, which registers the event as one count.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Typically, you'll want to count the ionization events over a certain period of time and report the results in counts per minute (cpm). You'll need to consult the datasheet of your tube to get the&amp;nbsp;µRem/h&amp;nbsp;conversion&amp;nbsp;factor.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
The PWM_IN pin is connected to pin 5 on 8MHz Arduinos or pin 9 on 16MHz Arduinos.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
The PULSE_OUT pin is connected to pin 2 of the Arduino.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
The test code can be easily edited to suit your needs. By default, it will report the "CPM" sampled over 10 seconds over serial.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;span style="text-align: center;"&gt;Source code (Arduino sketch):&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/manis404/SimpleRadSense/blob/master/radd.ino" style="text-align: center;"&gt;https://github.com/manis404/SimpleRadSense/blob/master/radd.ino&lt;/a&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Good to know:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;The arduino sketch included below assumes that the AVR is running at 8Mhz. If you are running at 16Mhz, &amp;nbsp;edit the code as instructed in the source file. (you'll get an incompatible PWM frequency if you don't, as the PWM frequency depends on the microcontroller's clock speed)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;When the PWM is at 0%, the circuit consumes a few micro amps. It consumes around 20mA during operation.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;The GM tube I used is a Russian, cold-war era, &lt;a href="http://www.gstube.com/data/2484/" target="_blank"&gt;Si-29BG&lt;/a&gt;. Rugged, compact and sensitive enough.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div class="" style="clear: both; text-align: center;"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-bIpF1-fXRl4/UFYhxSl3g9I/AAAAAAAAAbM/FYGN-pbDkXU/s1600/IMG_9900-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="260" src="http://2.bp.blogspot.com/-bIpF1-fXRl4/UFYhxSl3g9I/AAAAAAAAAbM/FYGN-pbDkXU/s400/IMG_9900-1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-wY6uC9Mhurk/UFYhyap7lzI/AAAAAAAAAbY/4HQkm0-rqSE/s1600/IMG_9902-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://4.bp.blogspot.com/-wY6uC9Mhurk/UFYhyap7lzI/AAAAAAAAAbY/4HQkm0-rqSE/s400/IMG_9902-1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-45nA93K-IGM/UFd1LaEHnFI/AAAAAAAAAcQ/RJOPBDYTyvk/s1600/IMG_9889.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://3.bp.blogspot.com/-45nA93K-IGM/UFd1LaEHnFI/AAAAAAAAAcQ/RJOPBDYTyvk/s400/IMG_9889.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
- M.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/I/oBlog/~4/cf6ovanhkSQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://theiopage.blogspot.com/feeds/8747122013950421655/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2112730102494092359&amp;postID=8747122013950421655" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/8747122013950421655?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/8747122013950421655?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/I/oBlog/~3/cf6ovanhkSQ/simple-gm-tube-interfacing-to-arduino.html" title="The $3 Geiger Muller tube to Arduino Interface" /><author><name>"Manis B"</name><uri>http://www.blogger.com/profile/06514501267924230924</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://1.bp.blogspot.com/-tJ3tYe4YDiI/UE6DPhda8aI/AAAAAAAAAZ8/rv_xQa-Ts0M/s220/IMG_1072-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-8Mg3fHhf79s/UFYh0MAZFsI/AAAAAAAAAbo/EkTijRpy0T4/s72-c/IMG_9904+(Large)-1.jpg" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://theiopage.blogspot.com/2012/09/simple-gm-tube-interfacing-to-arduino.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUEQ3g7fip7ImA9WhNUFE8.&quot;"><id>tag:blogger.com,1999:blog-2112730102494092359.post-6538678020155226424</id><published>2012-06-16T18:50:00.000-07:00</published><updated>2013-01-05T14:00:02.606-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-05T14:00:02.606-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="fuse bridge" /><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi" /><category scheme="http://www.blogger.com/atom/ns#" term="polyfuse bridge" /><category scheme="http://www.blogger.com/atom/ns#" term="usb host" /><category scheme="http://www.blogger.com/atom/ns#" term="increase current limit" /><title>Increasing the Raspberry Pi's USB Host current limit (polyfuse mod)</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;i&gt;&lt;b&gt;UPDATE&lt;/b&gt;: As of later revisions, the Raspberry Pi designers choose to remove the polyfuses. Therefore, this article is only valid for the first revision boards only. You can identify your board revisions by searching the Raspberry Pi forums. However, the USB hot-swap issue still remains thus the second half of the article can be useful to some Raspi hackers.&amp;nbsp;&lt;/i&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-NRlqX5CWrwk/T90GNfDP4bI/AAAAAAAAAWY/lp38F2dGHjU/s1600/IMG_9625.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="425" src="http://1.bp.blogspot.com/-NRlqX5CWrwk/T90GNfDP4bI/AAAAAAAAAWY/lp38F2dGHjU/s640/IMG_9625.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
As many of you might already know, the USB host ports of the Raspberry Pi are current-limited to &lt;i&gt;140mA&lt;/i&gt; per port. I find this absolutely &lt;b style="text-decoration: underline;"&gt;ridiculous&lt;/b&gt;&amp;nbsp;for such a revolutionary device to have that kind of limitation. The 'official' way around this is using a powered USB hub, but I hate the idea of adding&amp;nbsp;unnecessary&amp;nbsp;complexity to a project.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-rutnv8_rXNI/T900pzSOvdI/AAAAAAAAAWw/QfYYAQGuYk0/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="311" src="http://4.bp.blogspot.com/-rutnv8_rXNI/T900pzSOvdI/AAAAAAAAAWw/QfYYAQGuYk0/s400/2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-5i-L_MwIauA/T9013yPu8NI/AAAAAAAAAW4/KBeVpY5GiCs/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="276" src="http://2.bp.blogspot.com/-5i-L_MwIauA/T9013yPu8NI/AAAAAAAAAW4/KBeVpY5GiCs/s400/1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
My way around this is to bridge the polyfuses(F1,F2) seated next to the USB ports.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-VvS7NNh5rko/T903ZQuu2zI/AAAAAAAAAXA/8SoDdgoec0Q/s1600/IMG_9642.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="426" src="http://4.bp.blogspot.com/-VvS7NNh5rko/T903ZQuu2zI/AAAAAAAAAXA/8SoDdgoec0Q/s640/IMG_9642.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
This surprisingly simple mod will allow you to feed higher powered devices like certain wlan adapters directly from the RasPi's power supply line without throwing a kernel panic every 33.5 seconds. With a 5V 3A power supply, I even managed to get an external hard disk(yes, of the &lt;i&gt;&lt;a href="http://www.dailyhaha.com/_pics/omg_it_spins.jpg" target="_blank"&gt;spinning&lt;/a&gt; &lt;/i&gt;kind) powered directly off the USB port, although I had to bridge the main 700mA polyfuse to get reliable operation and use a SHORT &amp;nbsp;data cable. Short cables will&amp;nbsp;minimize steady-state voltage drops due to cable resistance in high-current applications(now say that fast...twice.)&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;u&gt;On the "Voltage Droop" issue&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;i&gt;What is "Voltage Droop"? (hint: NOT voltage drop)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
This issue is particularly annoying if you try to hot swap higher current devices, as it causes the SoC to reset due to a sudden voltage sag. &lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;span style="background-color: black;"&gt;&lt;span style="color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style="background-color: black;"&gt;&lt;span style="color: white;"&gt;USB allows users to plug and unplug USB devices while the PC is still in operation. When an USB&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: black;"&gt;&lt;span style="color: white;"&gt;device is plugged into a port, inrush current occur as the newly plugged device’s internal bypass capacitor&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: black;"&gt;&lt;span style="color: white;"&gt;charges to its full potential.&amp;nbsp;This current is drawn from the USB VBUS power plane of the motherboard and&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: black; color: white;"&gt;causes the VBUS to sag momentarily.&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-QsWwWyN-NtE/T-dwepnfzJI/AAAAAAAAAXM/Y7m9tHnmb9g/s1600/voldrp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="260" src="http://1.bp.blogspot.com/-QsWwWyN-NtE/T-dwepnfzJI/AAAAAAAAAXM/Y7m9tHnmb9g/s320/voldrp.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
(520mV sag upon device connection = more kernel panics + random restarts)&lt;/div&gt;
&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
That temporary sag you see above will occur even with an overpowered power supply.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-XYb3zKymqvI/T-iflaPaSDI/AAAAAAAAAXY/UysaIpVxhtQ/s1600/IMG_9656+(Medium).JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="265" src="http://2.bp.blogspot.com/-XYb3zKymqvI/T-iflaPaSDI/AAAAAAAAAXY/UysaIpVxhtQ/s400/IMG_9656+(Medium).JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-WHAK02Kba2s/T-ifmZumq8I/AAAAAAAAAXg/RRoDlGhFMrE/s1600/IMG_9657+(Medium).JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="265" src="http://3.bp.blogspot.com/-WHAK02Kba2s/T-ifmZumq8I/AAAAAAAAAXg/RRoDlGhFMrE/s400/IMG_9657+(Medium).JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;span style="font-family: inherit;"&gt;Therefore, an additional mod that could improve the hot swapping performance of high-current USB devices (like hard disks) is to use an additional low ESR capacitor between the power lines of the ports. If you look closely at the schematic, the bypass bulk-storage capacitor C32 is only 47uF. This is way too low for spec 2.0 compliance. I quote a whitepaper from usb.org "In accordance to the USB Specification Revision 2.0, the VBUS power lines must be bypassed with no less than 120µF capacitance of low-ESR capacitance per USB port." Thus, if your high-current device still behaves erratically even when you bridged the fuses and used a 2A power supply, try to place a 150uF cap between the Vusb and Gnd. If things still don't work, you can then safely proceed to blame it on the software guys.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-A-VvVFjc9n8/T-ifn_REcYI/AAAAAAAAAXo/WWeJMrPGwfY/s1600/IMG_9664+(Medium).JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="425" src="http://4.bp.blogspot.com/-A-VvVFjc9n8/T-ifn_REcYI/AAAAAAAAAXo/WWeJMrPGwfY/s640/IMG_9664+(Medium).JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sticky note:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;If you don't know why the fuses were installed in the first place, &lt;b&gt;please do not attempt this mod.&lt;/b&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Obviously, to take advantage of the polyfuse mod, you need to have a power supply that can match up the total system power consumption at full load. (For what it's worth, I've had wlan adapters peaking at 480mA during Tx...)&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Additional info:&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style="background-color: white;"&gt;&lt;span style="color: #666666;"&gt;&amp;nbsp;&lt;a href="http://www.usb.org/developers/whitepapers/power_delivery_motherboards.pdf" target="_blank"&gt;- &lt;i&gt;"Power Delivery Design Issues&amp;nbsp;for Hi-Speed USB on&amp;nbsp;&lt;/i&gt;&lt;i&gt;Motherboards"&lt;/i&gt; by Intel R&amp;amp;D&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white;"&gt;&lt;span style="color: #666666;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style="color: #666666;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/I/oBlog/~4/nkCe1xJu17c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://theiopage.blogspot.com/feeds/6538678020155226424/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2112730102494092359&amp;postID=6538678020155226424" title="27 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/6538678020155226424?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/6538678020155226424?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/I/oBlog/~3/nkCe1xJu17c/increasing-raspberry-pis-usb-host.html" title="Increasing the Raspberry Pi's USB Host current limit (polyfuse mod)" /><author><name>"Manis B"</name><uri>http://www.blogger.com/profile/06514501267924230924</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://1.bp.blogspot.com/-tJ3tYe4YDiI/UE6DPhda8aI/AAAAAAAAAZ8/rv_xQa-Ts0M/s220/IMG_1072-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-NRlqX5CWrwk/T90GNfDP4bI/AAAAAAAAAWY/lp38F2dGHjU/s72-c/IMG_9625.JPG" height="72" width="72" /><thr:total>27</thr:total><feedburner:origLink>http://theiopage.blogspot.com/2012/06/increasing-raspberry-pis-usb-host.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YMSXgyeyp7ImA9WhVaGEQ.&quot;"><id>tag:blogger.com,1999:blog-2112730102494092359.post-7424968576531452884</id><published>2012-06-04T07:12:00.002-07:00</published><updated>2012-06-16T19:13:08.693-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-06-16T19:13:08.693-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="DSI" /><category scheme="http://www.blogger.com/atom/ns#" term="GPIO" /><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi" /><category scheme="http://www.blogger.com/atom/ns#" term="HDMI" /><category scheme="http://www.blogger.com/atom/ns#" term="connector" /><category scheme="http://www.blogger.com/atom/ns#" term="CSI" /><category scheme="http://www.blogger.com/atom/ns#" term="BCM2835" /><category scheme="http://www.blogger.com/atom/ns#" term="PoP" /><title>Raspberry Pi</title><content type="html">This guy needs no introduction. I was VERY lucky to be on the wait-list for the second production batch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-Wxq1kLZEe-w/T8y_iw523jI/AAAAAAAAAVw/28PJG6sV3r0/s1600/IMG_9598.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="425" src="http://1.bp.blogspot.com/-Wxq1kLZEe-w/T8y_iw523jI/AAAAAAAAAVw/28PJG6sV3r0/s640/IMG_9598.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
Package on Package Assembly.&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-eKUDTijtqQY/T8y_17ZMYEI/AAAAAAAAAV4/bqaJ5y0fdI4/s1600/IMG_9590.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="426" src="http://4.bp.blogspot.com/-eKUDTijtqQY/T8y_17ZMYEI/AAAAAAAAAV4/bqaJ5y0fdI4/s640/IMG_9590.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-OKxRax-2r2Q/T8zAdf48qFI/AAAAAAAAAWM/Nad6Y8kG7fs/s1600/IMG_9604.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
More on this soon.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
(Hi-Res:&amp;nbsp;&lt;a href="http://www.flickr.com/photos/23040798@N02/sets/72157630045123352/"&gt;http://www.flickr.com/photos/23040798@N02/sets/72157630045123352/&lt;/a&gt; )&lt;/div&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/I/oBlog/~4/6iwux8uMiwY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://theiopage.blogspot.com/feeds/7424968576531452884/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2112730102494092359&amp;postID=7424968576531452884" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/7424968576531452884?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/7424968576531452884?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/I/oBlog/~3/6iwux8uMiwY/raspberry-pi.html" title="Raspberry Pi" /><author><name>"Manis B"</name><uri>http://www.blogger.com/profile/06514501267924230924</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://1.bp.blogspot.com/-tJ3tYe4YDiI/UE6DPhda8aI/AAAAAAAAAZ8/rv_xQa-Ts0M/s220/IMG_1072-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-Wxq1kLZEe-w/T8y_iw523jI/AAAAAAAAAVw/28PJG6sV3r0/s72-c/IMG_9598.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://theiopage.blogspot.com/2012/06/raspberry-pi.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0INQnkzeCp7ImA9WhBWE08.&quot;"><id>tag:blogger.com,1999:blog-2112730102494092359.post-578986898748490685</id><published>2011-10-16T15:20:00.000-07:00</published><updated>2013-04-07T02:06:33.780-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-07T02:06:33.780-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="farnell" /><category scheme="http://www.blogger.com/atom/ns#" term="arduino" /><category scheme="http://www.blogger.com/atom/ns#" term="microchip" /><category scheme="http://www.blogger.com/atom/ns#" term="wireless sensor network" /><category scheme="http://www.blogger.com/atom/ns#" term="MRF24WB0MB" /><category scheme="http://www.blogger.com/atom/ns#" term="Wishield" /><category scheme="http://www.blogger.com/atom/ns#" term="MRF24WB0MA" /><category scheme="http://www.blogger.com/atom/ns#" term="internet" /><category scheme="http://www.blogger.com/atom/ns#" term="internet of things" /><category scheme="http://www.blogger.com/atom/ns#" term="wifi" /><title>Connecting the MRF24WB0MA to the Arduino</title><content type="html">Power to the masses.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-eO67cLiFLpI/TptMMCOQ3oI/AAAAAAAAARQ/Le2QOnYwMEk/s1600/IMG_8128+%2528Medium%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://2.bp.blogspot.com/-eO67cLiFLpI/TptMMCOQ3oI/AAAAAAAAARQ/Le2QOnYwMEk/s400/IMG_8128+%2528Medium%2529.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
With the recent availability of &lt;i&gt;cheap &lt;/i&gt;WiFi modules like&lt;a href="http://uk.farnell.com/microchip/mrf24wb0ma-rm/module-rf-trx-2-4ghz-ieee-802-11/dp/1823142"&gt; Microchip's&amp;nbsp;MRF24WB0MA&lt;/a&gt;, I find it quite difficult to NOT use them in some way or another, given their essentially limitless potential in &lt;i&gt;remote &lt;/i&gt;sensing/control applications.&lt;br /&gt;
&lt;br /&gt;
The word "remote" here retains its&amp;nbsp;full meaning; you can basically turn on that lamp in your room from the other side of the &lt;i&gt;planet&lt;/i&gt;, - or anywhere in the world for that matter - provided that you can get access to that thing we call the internet.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-i-pBo2icz1Q/TptMEXMcahI/AAAAAAAAARI/1NjmQ8cPN7g/s1600/IMG_8125+%2528Medium%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://3.bp.blogspot.com/-i-pBo2icz1Q/TptMEXMcahI/AAAAAAAAARI/1NjmQ8cPN7g/s320/IMG_8125+%2528Medium%2529.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
In this post, I will show you how to use the MRF24WB0MA on the Arduino platform.&lt;br /&gt;
&lt;br /&gt;
Things you will need:&lt;br /&gt;
&lt;br /&gt;
- MRF24WB0MA WiFi Module. (Available from Farnell&amp;nbsp;&lt;a href="http://uk.farnell.com/microchip/mrf24wb0ma-rm/module-rf-trx-2-4ghz-ieee-802-11/dp/1823142?Ntt=mrf24wb0ma"&gt;here&lt;/a&gt;)&lt;br /&gt;
- 4x 4.7k Ohm Resistors&lt;br /&gt;
- 2x 1.0uF Capacitors.&lt;br /&gt;
- Some way of connecting these together. I used a perfboard and some wires. &lt;br /&gt;
&lt;br /&gt;
[Also, check out&lt;a href="http://uk.farnell.com/arduino/"&gt; Farnell's Arduino page&lt;/a&gt; for some interesting Arduino-related products. These guys are cool.]&lt;br /&gt;
&lt;br /&gt;
The schematics described below are based on the &lt;a href="http://asynclabs.com/wiki/index.php?title=WiShield_1.0"&gt;WiShield 1.0&lt;/a&gt; Arduino shield from AsyncLabs.&lt;br /&gt;
&lt;br /&gt;
First you will have to connect the module as described below to the Arduino shield. The resistors are all 4.7k and the two caps are 1.0uF each. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-G34XEMSsR6M/TptJRvsF9aI/AAAAAAAAARA/awgsSkyI-pM/s1600/mrf_arduino.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="297" src="http://4.bp.blogspot.com/-G34XEMSsR6M/TptJRvsF9aI/AAAAAAAAARA/awgsSkyI-pM/s400/mrf_arduino.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Remember: Power is at 3.3v.&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The resulting circuit should be something similar to this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-xdSHmkWFku0/TptMfsoQwRI/AAAAAAAAARY/DjZr1kRW6XQ/s1600/IMG_8129+%2528Medium%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://1.bp.blogspot.com/-xdSHmkWFku0/TptMfsoQwRI/AAAAAAAAARY/DjZr1kRW6XQ/s400/IMG_8129+%2528Medium%2529.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you'll just hook this up to your Arduino. Your setup may look&amp;nbsp;similar&amp;nbsp;to this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-9t96IGzYWwU/TptNDHPSD3I/AAAAAAAAARg/ymXUnxx5Alk/s1600/IMG_8131+%2528Medium%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://1.bp.blogspot.com/-9t96IGzYWwU/TptNDHPSD3I/AAAAAAAAARg/ymXUnxx5Alk/s400/IMG_8131+%2528Medium%2529.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
The task of connecting the WiFi module to the Arduino is way simpler than the above pictures might suggest. It's really only about connecting the SPI interface (5 wires) and Power + Reset (3 wires).&lt;br /&gt;
&lt;br /&gt;
The hardware setup described is basically equivalent to an Arduino board with a WiShield 1.0 stacked on it.&lt;br /&gt;
&lt;br /&gt;
Therefore, as you might have guessed, things get easier from now on - it's all software.&lt;br /&gt;
&lt;br /&gt;
On your computer:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ol style="line-height: 1.5em; list-style-image: none; margin-bottom: 0px; margin-left: 3.2em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
&lt;li style="margin-bottom: 0.1em;"&gt;Download the WiShield library &lt;a href="http://asynclabs.com/wiki/index.php?title=WiShield_library"&gt;here&lt;/a&gt;. [now mirrored on my &lt;a href="https://github.com/manis404/WiShield" target="_blank"&gt;github&lt;/a&gt;]&lt;/li&gt;
&lt;li style="margin-bottom: 0.1em;"&gt;Put all the files/directories under &lt;arduino dir="" sketch=""&gt;/libraries/WiShield/ directory.&lt;/arduino&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.1em;"&gt;Restart the Arduino environment, so that the library files get built and the sketches become available.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;Done. At this stage you are ready to experiment with the examples included in the WiShield libraries.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;I'll suggest you to start with the "WiShield&amp;gt;Webserver" example.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;This is a screencap of the page you should get when you type in the IP address of the module in your browser:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-dDw4Hg3eoVY/TptUbrOYEOI/AAAAAAAAARo/9PSv68bIrSY/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="311" src="http://2.bp.blogspot.com/-dDw4Hg3eoVY/TptUbrOYEOI/AAAAAAAAARo/9PSv68bIrSY/s400/1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;You'll have to hardcode the IP settings in the Arduino Sketch. The module does NOT support DHCP for automatic IP assignment in the examples. This implies that if you are using infrastructure mode, you will need to set your router to reserve the IP address you set in the Arduino Sketch.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;If you are using adhoc mode, things get simpler. Just make sure you set your computer up for static IP addressing. To use adhoc mode: In the sketch, change the line containing&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;unsigned char wireless_mode = WIRELESS_MODE_INFRA;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;to&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;unsigned char wireless_mode = WIRELESS_MODE_ADHOC;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;I noticed that if you use WPA2 authentication, the module will take about 30seconds to authenticate. No need to panic if the LED (shown on the schematic) does not light up right away.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;Also, make sure that you set up the security type properly:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace;"&gt;
&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;
&lt;/span&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace;"&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;span style="color: #cc6600;"&gt;unsigned&lt;/span&gt; &lt;span style="color: #cc6600;"&gt;char&lt;/span&gt; security_type = 0;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #7e7e7e;"&gt;// 0 - open; 1 - WEP; 2 - WPA; 3 - WPA2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;
&lt;/span&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace;"&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;
&lt;/span&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace;"&gt;
&lt;/div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;
&lt;/span&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace;"&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;After you've managed to correctly run the examples included in the libraries, check out&lt;a href="http://asynclabs.com/forums/"&gt; AsyncLabs' forums&lt;/a&gt; for a variety of more interesting, real-life applications.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/I/oBlog/~4/3UJ3EILuOiE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://theiopage.blogspot.com/feeds/578986898748490685/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2112730102494092359&amp;postID=578986898748490685" title="14 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/578986898748490685?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/578986898748490685?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/I/oBlog/~3/3UJ3EILuOiE/connecting-mrf24wb0ma-to-arduino.html" title="Connecting the MRF24WB0MA to the Arduino" /><author><name>"Manis B"</name><uri>http://www.blogger.com/profile/06514501267924230924</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://1.bp.blogspot.com/-tJ3tYe4YDiI/UE6DPhda8aI/AAAAAAAAAZ8/rv_xQa-Ts0M/s220/IMG_1072-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-eO67cLiFLpI/TptMMCOQ3oI/AAAAAAAAARQ/Le2QOnYwMEk/s72-c/IMG_8128+%2528Medium%2529.JPG" height="72" width="72" /><thr:total>14</thr:total><feedburner:origLink>http://theiopage.blogspot.com/2011/10/connecting-mrf24wb0ma-to-arduino.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEGRHo7eSp7ImA9WhdVFkk.&quot;"><id>tag:blogger.com,1999:blog-2112730102494092359.post-8105785443361284516</id><published>2011-09-21T10:20:00.001-07:00</published><updated>2011-09-21T15:37:05.401-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-21T15:37:05.401-07:00</app:edited><title>YaNis EOS - Source Uploaded to Google Code!</title><content type="html">&lt;br /&gt;
Remember: It's not where you take things from, but where you take them to!&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://code.google.com/p/yanis-android-wireless-camera-controller/"&gt;http://code.google.com/p/yanis-android-wireless-camera-controller/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/I/oBlog/~4/OCNfloLISQw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://theiopage.blogspot.com/feeds/8105785443361284516/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2112730102494092359&amp;postID=8105785443361284516" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/8105785443361284516?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/8105785443361284516?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/I/oBlog/~3/OCNfloLISQw/yanis-eos-source-uploaded-to-google.html" title="YaNis EOS - Source Uploaded to Google Code!" /><author><name>"Manis B"</name><uri>http://www.blogger.com/profile/06514501267924230924</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://1.bp.blogspot.com/-tJ3tYe4YDiI/UE6DPhda8aI/AAAAAAAAAZ8/rv_xQa-Ts0M/s220/IMG_1072-1.jpg" /></author><thr:total>6</thr:total><feedburner:origLink>http://theiopage.blogspot.com/2011/09/yanis-eos-source-uploaded-to-google.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQMRHw_fSp7ImA9WhdVE0k.&quot;"><id>tag:blogger.com,1999:blog-2112730102494092359.post-1077738368247633982</id><published>2011-09-18T03:55:00.000-07:00</published><updated>2011-09-18T03:56:25.245-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-18T03:56:25.245-07:00</app:edited><title>YaNis EOS Instructable</title><content type="html">&lt;span class="Apple-style-span" style="background-color: #666666;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: left;"&gt;
&lt;span class="Apple-style-span" style="background-color: #666666;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3;"&gt;&lt;b&gt;UPDATE 18/09/11:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;YaNis EOS Instructable published!&amp;nbsp;&lt;a href="http://www.instructables.com/id/Building-the-YaNis-EOS-Controller/" style="text-decoration: none;"&gt;http://www.instructables.com/id/Building-the-YaNis-EOS-Controller/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: white; font-size: 13px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/I/oBlog/~4/2czJg_cbEV4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://theiopage.blogspot.com/feeds/1077738368247633982/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2112730102494092359&amp;postID=1077738368247633982" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/1077738368247633982?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/1077738368247633982?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/I/oBlog/~3/2czJg_cbEV4/update-180911-yanis-eos-instructable.html" title="YaNis EOS Instructable" /><author><name>"Manis B"</name><uri>http://www.blogger.com/profile/06514501267924230924</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://1.bp.blogspot.com/-tJ3tYe4YDiI/UE6DPhda8aI/AAAAAAAAAZ8/rv_xQa-Ts0M/s220/IMG_1072-1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://theiopage.blogspot.com/2011/09/update-180911-yanis-eos-instructable.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UAR3syfCp7ImA9WhNUEUQ.&quot;"><id>tag:blogger.com,1999:blog-2112730102494092359.post-1872866756478349894</id><published>2011-08-25T12:02:00.001-07:00</published><updated>2013-01-02T23:47:26.594-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-02T23:47:26.594-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="arduino" /><category scheme="http://www.blogger.com/atom/ns#" term="Canon" /><category scheme="http://www.blogger.com/atom/ns#" term="Wireless" /><category scheme="http://www.blogger.com/atom/ns#" term="control" /><category scheme="http://www.blogger.com/atom/ns#" term="Open source" /><category scheme="http://www.blogger.com/atom/ns#" term="App Inventor" /><category scheme="http://www.blogger.com/atom/ns#" term="PTP" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><category scheme="http://www.blogger.com/atom/ns#" term="RN-42" /><category scheme="http://www.blogger.com/atom/ns#" term="Sparkfun" /><category scheme="http://www.blogger.com/atom/ns#" term="Bluetooth" /><category scheme="http://www.blogger.com/atom/ns#" term="EOS" /><title>YaNis Android Wireless EOS Controller</title><content type="html">&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;b&gt;UPDATE 17/09/12: &amp;nbsp;&lt;/b&gt;&lt;br /&gt;
Canon copied and implemented this project's functionality in its&amp;nbsp;latest&amp;nbsp;6D camera! Awesome.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;UPDATE 18/09/11:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
Project Instructable published! &lt;a href="http://www.instructables.com/id/Building-the-YaNis-EOS-Controller/"&gt;http://www.instructables.com/id/Building-the-YaNis-EOS-Controller/&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="345" src="http://www.youtube.com/embed/3_SF-b7aH58" width="560"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: center;"&gt;
&lt;div&gt;
&lt;a href="http://1.bp.blogspot.com/-K-UH1N6mNUs/Tlan0UC7dGI/AAAAAAAAAPc/3rn0mUn0UVw/s1600/IMG_7640%2B%2528Large%2529.JPG"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;a href="http://1.bp.blogspot.com/-K-UH1N6mNUs/Tlan0UC7dGI/AAAAAAAAAPc/3rn0mUn0UVw/s1600/IMG_7640%2B%2528Large%2529.JPG"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;This article is about a wireless Canon EOS controller that I was planning to build a few weeks ago when I saw &lt;a href="https://www.circuitsathome.com/mcu/usb-host-shield-library-version-2-0-released"&gt;Oleg Mazurov's PTP libraries&lt;/a&gt; for Arduino. &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;Basically, the controller accepts commands over Bluetooth from an Android device to offer full manual control over most of the camera's settings. &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="background-color: #666666;"&gt;&lt;span class="Apple-style-span" style="color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="line-height: 1.25em; max-width: 64em;"&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: #666666; color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;Manual control over:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ul style="max-width: 62em; padding-left: 25px;"&gt;
&lt;li style="margin-bottom: 0.3em;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: #666666; color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;Aperture&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.3em;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: #666666; color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;Shutter Speed&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.3em;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: #666666; color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;ISO&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.3em;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: #666666; color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;White Balance&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.3em;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: #666666; color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;Focus Position&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.3em;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: #666666; color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;Live View STATUS&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.3em;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: #666666; color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;Capture&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.3em;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: #666666; color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;Intervalometer/Timer&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="line-height: 1.25em; max-width: 64em;"&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;strong style="background-color: #666666;"&gt;Upcoming Features&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ul style="max-width: 62em; padding-left: 25px;"&gt;
&lt;li style="margin-bottom: 0.3em;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: #666666; color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;Video mode&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.3em;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;strong style="background-color: #666666;"&gt;Rack Focusing&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.3em;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: #666666; color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;HDR Bracketing&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.3em;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: #666666; color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;i&gt;Bracketed&lt;/i&gt; intervalometer&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.3em;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: #666666; color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;Arduino Side Battery life optimizations (about 80% improvement expected)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.3em;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: #666666; color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;strong&gt;Multiple&lt;/strong&gt; camera control&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.3em;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: #666666; color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;'Script' mode &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;The set of command the device accepts in order to issue relevant PTP commands will be reffered to as the "Manis Command Set", MCS. &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;The app is available for free on the android market as: &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;&lt;a href="https://market.android.com/details?id=appinventor.ai_manis404.YaNis_Controller"&gt;&lt;b&gt;YaNis EOS&lt;/b&gt; from &lt;/a&gt;&lt;b&gt;&lt;a href="https://market.android.com/details?id=appinventor.ai_manis404.YaNis_Controller"&gt;Hardcore Media Labs.
&lt;/a&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;This is an &lt;span style="font-weight: bold;"&gt;Open Source&lt;/span&gt; project - I plan to release the app's source code as soon as it exits beta status. &lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;While I will write something more in-depth in the coming days, here is a quick build instructions of the hardware:&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span"&gt;Things you will need:&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;-An Arduino Board. (I used the&lt;a href="http://www.sparkfun.com/products/9220"&gt; Pro Mini 3.3v&lt;/a&gt; from Sparkfun)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;-A USB Host Shield from &lt;a href="https://www.circuitsathome.com/products-page/arduino-shields/"&gt;here.&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;-An &lt;b&gt;SPP compatible bluetooth module&lt;/b&gt;. (eg Sparkfun &lt;a href="http://www.sparkfun.com/products/10253"&gt;RN42&lt;/a&gt;, &lt;a href="http://www.sparkfun.com/products/582"&gt;BlueSMIRF&lt;/a&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;-(optional) A portable power source.  &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="margin-left: auto; margin-right: auto;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5644882726130810786" src="http://2.bp.blogspot.com/-ph17qQri5CU/Tlam7nnD_6I/AAAAAAAAAO8/TT-OBlZL1S0/s400/IMG_7594%2B%2528Large%2529.JPG" style="cursor: pointer; display: block; height: 267px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="margin-left: auto; margin-right: auto;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="margin-left: auto; margin-right: auto;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5644882727410503042" src="http://1.bp.blogspot.com/-r0lfPQZHO4s/Tlam7sYKjYI/AAAAAAAAAPE/3zd_2Vc4TUE/s400/IMG_7595%2B%2528Large%2529.JPG" style="cursor: pointer; display: block; height: 267px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: arial;"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: center;"&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5644882722090930546" src="http://2.bp.blogspot.com/-GpdjCfkIj0w/Tlam7Yj4UXI/AAAAAAAAAO0/X-KfyhhfJ7M/s400/IMG_7593%2B%2528Large%2529.JPG" style="cursor: pointer; display: block; height: 267px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5644883718893445138" src="http://1.bp.blogspot.com/--jRkQA4Klug/Tlan1Z8HoBI/AAAAAAAAAP8/1cQ7eg05gEE/s400/IMG_7632%2B%2528Large%2529.JPG" style="cursor: pointer; display: block; height: 266px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span"&gt;A LiPo battery can be useful. 1000mAh or more is recommended. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="margin-left: auto; margin-right: auto;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;The Arduino sketch and required libraries is available at: &lt;/span&gt;&lt;a href="http://code.google.com/p/yanis-android-wireless-camera-controller/"&gt;http://code.google.com/p/yanis-android-wireless-camera-controller/&lt;/a&gt;&lt;/div&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="margin-left: auto; margin-right: auto;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The Arduino software part is heavily based on Oleg Maruzov's excellent PTP/USB Libraries.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;Current hardware revision has been tested to work &lt;b&gt;successfully with a Canon 1000D&lt;/b&gt;. Should work equally well with 450D, 400D, 500D, etc. The whole Canon EOS range is expected to be supported at some point.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: arial;"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-ydCviW4FQUo/Tlam737vtWI/AAAAAAAAAPM/f7jz3_2yHEM/s1600/IMG_7623%2B%2528Large%2529.JPG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5644882743185628594" src="http://2.bp.blogspot.com/-GjHQR6iTFFg/Tlam8nJP3bI/AAAAAAAAAPU/Fuk_xwgcM9w/s400/IMG_7624%2B%2528Large%2529.JPG" style="cursor: pointer; display: block; height: 266px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="margin-left: auto; margin-right: auto;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5644882730512528738" src="http://3.bp.blogspot.com/-ydCviW4FQUo/Tlam737vtWI/AAAAAAAAAPM/f7jz3_2yHEM/s400/IMG_7623%2B%2528Large%2529.JPG" style="cursor: pointer; display: block; height: 266px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="margin-left: auto; margin-right: auto;"&gt;Version 2.0 (Version 2.1 uses an ebay BT module rather than the RN42) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: arial;"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;&lt;a href="http://1.bp.blogspot.com/-K-UH1N6mNUs/Tlan0UC7dGI/AAAAAAAAAPc/3rn0mUn0UVw/s1600/IMG_7640%2B%2528Large%2529.JPG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5644883700131525730" src="http://1.bp.blogspot.com/-K-UH1N6mNUs/Tlan0UC7dGI/AAAAAAAAAPc/3rn0mUn0UVw/s400/IMG_7640%2B%2528Large%2529.JPG" style="cursor: pointer; display: block; height: 267px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Version 2.1&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;The pictures should have given you a pretty good idea how the listed components fit together.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;If not, check out the &lt;a href="http://www.instructables.com/id/Building-the-YaNis-EOS-Controller/"&gt;instructable&lt;/a&gt;.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span"&gt;&lt;a href="http://4.bp.blogspot.com/-N6walcb-LEQ/Tlan1X2KimI/AAAAAAAAAP0/49yFVW1HKzY/s1600/IMG_7651%2B%2528Large%2529.JPG"&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/-N6walcb-LEQ/Tlan1X2KimI/AAAAAAAAAP0/49yFVW1HKzY/s1600/IMG_7651%2B%2528Large%2529.JPG"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="margin-left: auto; margin-right: auto;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5644883718331599458" src="http://4.bp.blogspot.com/-N6walcb-LEQ/Tlan1X2KimI/AAAAAAAAAP0/49yFVW1HKzY/s400/IMG_7651%2B%2528Large%2529.JPG" style="cursor: pointer; display: block; height: 267px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span class="Apple-style-span"&gt;&lt;a href="http://4.bp.blogspot.com/-N6walcb-LEQ/Tlan1X2KimI/AAAAAAAAAP0/49yFVW1HKzY/s1600/IMG_7651%2B%2528Large%2529.JPG"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span"&gt;&lt;a href="http://4.bp.blogspot.com/-N6walcb-LEQ/Tlan1X2KimI/AAAAAAAAAP0/49yFVW1HKzY/s1600/IMG_7651%2B%2528Large%2529.JPG"&gt;
&lt;/a&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;div style="text-align: center;"&gt;
&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;u&gt;
&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span class="Apple-style-span"&gt;&lt;a href="http://1.bp.blogspot.com/-B-S6RCcACDk/Tlan072hBgI/AAAAAAAAAPs/SxDp357bkcU/s1600/IMG_7647%2B%2528Large%2529.JPG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5644883710816880130" src="http://1.bp.blogspot.com/-B-S6RCcACDk/Tlan072hBgI/AAAAAAAAAPs/SxDp357bkcU/s400/IMG_7647%2B%2528Large%2529.JPG" style="cursor: pointer; display: block; height: 267px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span class="Apple-style-span"&gt;&lt;b&gt;Remember:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;&lt;b&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;&lt;b&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;1. Arduino code is available on &lt;/span&gt;&lt;a href="http://code.google.com/p/yanis-android-wireless-camera-controller/"&gt;http://code.google.com/p/yanis-android-wireless-camera-controller/&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
2. Set the Bluetooth module to operate at 9600Baud.  (else it won't work unless you alter the code). 9600 Baud is perfectly appropriate for this circuit. I don't recommend to move to higher baud rates.  &lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
3. Youtube Demo is being upload as I am typing this. &lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Feel free to report issues on the google code project page. &lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Peace, &lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
manis404. &lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Screenshots:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5645223065175184866" src="http://4.bp.blogspot.com/-ghjuMYVtvu8/Tlfcd9Wb1eI/AAAAAAAAAQk/ycbcSphVkys/s400/screenshot_14.png" style="cursor: pointer; height: 400px; width: 240px;" /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-OcWWYqtpRr8/TlfceLkG8XI/AAAAAAAAAQs/6uF_jL8RtGY/s1600/screenshot_5.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5645223068990632306" src="http://4.bp.blogspot.com/-OcWWYqtpRr8/TlfceLkG8XI/AAAAAAAAAQs/6uF_jL8RtGY/s400/screenshot_5.png" style="cursor: pointer; height: 400px; width: 240px;" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/-H41Psir4zQU/TlfceWU-oAI/AAAAAAAAAQ0/rsY5_DdkDGc/s1600/screenshot_15.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5645223071879962626" src="http://1.bp.blogspot.com/-H41Psir4zQU/TlfceWU-oAI/AAAAAAAAAQ0/rsY5_DdkDGc/s400/screenshot_15.png" style="cursor: pointer; height: 400px; width: 240px;" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/I/oBlog/~4/nWgom54jVJg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://theiopage.blogspot.com/feeds/1872866756478349894/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2112730102494092359&amp;postID=1872866756478349894" title="57 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/1872866756478349894?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/1872866756478349894?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/I/oBlog/~3/nWgom54jVJg/yanis-android-wireless-eos-controller.html" title="YaNis Android Wireless EOS Controller" /><author><name>"Manis B"</name><uri>http://www.blogger.com/profile/06514501267924230924</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://1.bp.blogspot.com/-tJ3tYe4YDiI/UE6DPhda8aI/AAAAAAAAAZ8/rv_xQa-Ts0M/s220/IMG_1072-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/3_SF-b7aH58/default.jpg" height="72" width="72" /><thr:total>57</thr:total><feedburner:origLink>http://theiopage.blogspot.com/2011/08/yanis-android-wireless-eos-controller.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIEQn0-fSp7ImA9WhdWEEU.&quot;"><id>tag:blogger.com,1999:blog-2112730102494092359.post-3908089172687938816</id><published>2011-05-01T08:48:00.000-07:00</published><updated>2011-09-03T15:05:03.355-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-03T15:05:03.355-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="arduino" /><category scheme="http://www.blogger.com/atom/ns#" term="ad" /><category scheme="http://www.blogger.com/atom/ns#" term="conversion" /><category scheme="http://www.blogger.com/atom/ns#" term="LCD" /><category scheme="http://www.blogger.com/atom/ns#" term="A/D" /><category scheme="http://www.blogger.com/atom/ns#" term="LcdCrystal" /><category scheme="http://www.blogger.com/atom/ns#" term="analog" /><title>Arduino - A/D conversion and LCD Interfacing</title><content type="html">&lt;div style="text-align: left;"&gt;Basically, this project is meant to simultaneously test the A/D conversion and LCD driving capabilities of the Arduino platform. Turning the potentiometer will vary the number displayed on the LCD between 0 and 1023. &lt;/div&gt;&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;================================&lt;/div&gt;&lt;div&gt;What you will need:&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1 x Arduino Board&lt;/div&gt;&lt;div&gt;1 x HD44780-compliant LCD module&lt;/div&gt;&lt;div&gt;1 x Potentiometer (I used a 10K linear here)&lt;/div&gt;&lt;div&gt;================================&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;img src="http://4.bp.blogspot.com/-mR6A_fyA8kY/Tb2BVGL8FnI/AAAAAAAAAMs/UFn9VlQw6cM/s400/IMG_6669%2B%2528Small%2529.JPG" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" alt="" id="BLOGGER_PHOTO_ID_5601775710956689010" border="0" /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"&gt;The Setup&lt;/span&gt;&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/-8NWPf14gzIs/Tb2B0Pn4jsI/AAAAAAAAAM0/El04a1i7lDM/s400/IMG_6667%2B%2528Small%2529.JPG" style="text-align: left;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 400px; height: 267px; " alt="" id="BLOGGER_PHOTO_ID_5601776246065761986" border="0" /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"&gt;(Center pin to pin A5 on the board, side pins to ground and +5v.)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;We will be driving the LCD module by 6 data pins here. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;In this case, I connected them as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;LCD   &lt;span class="Apple-tab-span" style="white-space:pre"&gt;"&amp;gt;"&amp;gt; &lt;/span&gt;    Arduino Pin&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;_____________&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;D7&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;2&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;D6&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;3&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;D5&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;4&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;D5&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;5&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;RS&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;12&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;Enable&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;  &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/span&gt;10&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;Also, connect the R/W pin of the LCD module to ground.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;&lt;img src="http://3.bp.blogspot.com/-_-UWYXm1NKA/Tb2GCkjpeyI/AAAAAAAAAM8/jWgeOQpRAjQ/s400/IMG_6663%2B%2528Small%2529.JPG" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" alt="" id="BLOGGER_PHOTO_ID_5601780890249820962" border="0" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"&gt;Some serious 6 pin LCD drivin', yo!&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-liK8a8QJc2U/Tb2HagSt1MI/AAAAAAAAANE/rOVnDZ1t_Lg/s1600/lcd_sche%2B%25281%2529.gif" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 156px; height: 387px;" src="http://3.bp.blogspot.com/-liK8a8QJc2U/Tb2HagSt1MI/AAAAAAAAANE/rOVnDZ1t_Lg/s400/lcd_sche%2B%25281%2529.gif" alt="" id="BLOGGER_PHOTO_ID_5601782400933549250" border="0" /&gt;&lt;/a&gt;(Vss to ground, Vcc to +5v, Vlc to ground via a 4.7K resistor[contrast])&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;The code below should work pretty well:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;(See the LiquidCrystal() library on the Arduino website for more detailed info)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;===================&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: left;"&gt;&lt;pre&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;#include &amp;lt;&lt;span style="color:#CC6600;"&gt;LiquidCrystal&lt;/span&gt;.h&amp;gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color:#CC6600;"&gt;int&lt;/span&gt; sensorPin = A5;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color:#CC6600;"&gt;int&lt;/span&gt; sensorValue = 0;&lt;/div&gt;&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color:#CC6600;"&gt;LiquidCrystal&lt;/span&gt; lcd(12, 10, 5, 4, 3, 2);&lt;/div&gt;&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color:#CC6600;"&gt;void&lt;/span&gt; &lt;span style="color:#CC6600;"&gt;&lt;b&gt;setup&lt;/b&gt;&lt;/span&gt;()&lt;/div&gt;&lt;div style="text-align: left;"&gt;{&lt;/div&gt;&lt;div style="text-align: left;"&gt; &lt;/div&gt;&lt;div style="text-align: left;"&gt;}&lt;/div&gt;&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color:#CC6600;"&gt;void&lt;/span&gt; &lt;span style="color:#CC6600;"&gt;&lt;b&gt;loop&lt;/b&gt;&lt;/span&gt;() {&lt;/div&gt;&lt;div style="text-align: left;"&gt;  &lt;/div&gt;&lt;div style="text-align: left;"&gt;  sensorValue = &lt;span style="color:#CC6600;"&gt;analogRead&lt;/span&gt;(sensorPin);&lt;/div&gt;&lt;div style="text-align: left;"&gt;  &lt;span style="color:#CC6600;"&gt;delay&lt;/span&gt;(20);&lt;/div&gt;&lt;div style="text-align: left;"&gt;  &lt;/div&gt;&lt;div style="text-align: left;"&gt;  lcd.&lt;span style="color:#CC6600;"&gt;clear&lt;/span&gt;();&lt;/div&gt;&lt;div style="text-align: left;"&gt;  lcd.&lt;span style="color:#CC6600;"&gt;print&lt;/span&gt;(sensorValue);&lt;/div&gt;&lt;div style="text-align: left;"&gt;  &lt;span style="color:#CC6600;"&gt;delay&lt;/span&gt;(50);&lt;/div&gt;&lt;div style="text-align: left;"&gt;}&lt;/div&gt;&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;===================&lt;/div&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-7ZOXKrOSU3w/Tb2M47QF8mI/AAAAAAAAANU/eZbUXtDmONU/s1600/IMG_6673%2B%2528Small%2529.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://4.bp.blogspot.com/-7ZOXKrOSU3w/Tb2M47QF8mI/AAAAAAAAANU/eZbUXtDmONU/s400/IMG_6673%2B%2528Small%2529.JPG" alt="" id="BLOGGER_PHOTO_ID_5601788421124518498" border="0" /&gt;&lt;/a&gt;(Here we can see the 4.7k resistor I used to set the contrast of the LCD module)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"&gt;
&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-xQBfvrZOth0/Tb2M4i3ZE9I/AAAAAAAAANM/HNJyVBkWHOU/s1600/IMG_6671%2B%2528Small%2529.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://3.bp.blogspot.com/-xQBfvrZOth0/Tb2M4i3ZE9I/AAAAAAAAANM/HNJyVBkWHOU/s400/IMG_6671%2B%2528Small%2529.JPG" alt="" id="BLOGGER_PHOTO_ID_5601788414578463698" border="0" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/--6fbtJqb6ew/Tb2OHbGZ-dI/AAAAAAAAANc/eJ_20iyyevE/s1600/IMG_6665%2B%2528Mobile%2529.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://2.bp.blogspot.com/--6fbtJqb6ew/Tb2OHbGZ-dI/AAAAAAAAANc/eJ_20iyyevE/s400/IMG_6665%2B%2528Mobile%2529.JPG" alt="" id="BLOGGER_PHOTO_ID_5601789769703619026" border="0" /&gt;&lt;/a&gt;
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/I/oBlog/~4/c2Y4GnQhdq0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://theiopage.blogspot.com/feeds/3908089172687938816/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2112730102494092359&amp;postID=3908089172687938816" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/3908089172687938816?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/3908089172687938816?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/I/oBlog/~3/c2Y4GnQhdq0/arduino-analog-to-digital-conversion.html" title="Arduino - A/D conversion and LCD Interfacing" /><author><name>"Manis B"</name><uri>http://www.blogger.com/profile/06514501267924230924</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://1.bp.blogspot.com/-tJ3tYe4YDiI/UE6DPhda8aI/AAAAAAAAAZ8/rv_xQa-Ts0M/s220/IMG_1072-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-mR6A_fyA8kY/Tb2BVGL8FnI/AAAAAAAAAMs/UFn9VlQw6cM/s72-c/IMG_6669%2B%2528Small%2529.JPG" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://theiopage.blogspot.com/2011/05/arduino-analog-to-digital-conversion.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAHRnw-eCp7ImA9WhZXFUU.&quot;"><id>tag:blogger.com,1999:blog-2112730102494092359.post-8364512410398035904</id><published>2009-10-13T15:41:00.000-07:00</published><updated>2011-05-05T02:45:37.250-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-05T02:45:37.250-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="fet emulation" /><category scheme="http://www.blogger.com/atom/ns#" term="mesa boogie" /><category scheme="http://www.blogger.com/atom/ns#" term="preamp" /><category scheme="http://www.blogger.com/atom/ns#" term="guitar" /><category scheme="http://www.blogger.com/atom/ns#" term="build report" /><category scheme="http://www.blogger.com/atom/ns#" term="effects" /><category scheme="http://www.blogger.com/atom/ns#" term="fet" /><category scheme="http://www.blogger.com/atom/ns#" term="metal" /><category scheme="http://www.blogger.com/atom/ns#" term="hi gain" /><category scheme="http://www.blogger.com/atom/ns#" term="dr boogie" /><category scheme="http://www.blogger.com/atom/ns#" term="emulation" /><category scheme="http://www.blogger.com/atom/ns#" term="j201" /><category scheme="http://www.blogger.com/atom/ns#" term="dr boogey" /><category scheme="http://www.blogger.com/atom/ns#" term="gaussmarkov" /><title>Mesa Boogie Dual Rectifier Preamp Emulation - Dr Boogie</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_hOB6MAgTFRA/SzKMhwAdovI/AAAAAAAAAIQ/qBQYgJVs_TY/s1600-h/Picture+020.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://1.bp.blogspot.com/_hOB6MAgTFRA/SzKMhwAdovI/AAAAAAAAAIQ/qBQYgJVs_TY/s400/Picture+020.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5418547813130543858" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is a small pedal I built some time back. It is wildly popular in the 'hi-gain' scene and most people agree that this pedal comes closest at producing the "MesaBoogie Dual rectifier" sound, on the cheap. There is still some serious bias adjustments to make so that worthy sound clips can be recorded. Building it is direct and relatively easy - things get difficult only in the biasing phase. I was not successful to achieve a good bias even after multiple attempts.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So here are some pictures, for now. I used gaussmarkov's layout(arguably the best) found on his site, gaussmarkov.net.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;And h&lt;a href="http://gaussmarkov.net/wordpress/circuits/dr-boogey/"&gt;ere's&lt;/a&gt; the direct link to the article. &lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_hOB6MAgTFRA/SzKPf4gdjLI/AAAAAAAAAIY/3hBetRvXO-8/s1600-h/Picture+001.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://1.bp.blogspot.com/_hOB6MAgTFRA/SzKPf4gdjLI/AAAAAAAAAIY/3hBetRvXO-8/s200/Picture+001.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5418551079587384498" style="cursor: pointer; width: 200px; height: 134px; " /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_hOB6MAgTFRA/SzKQcGDoREI/AAAAAAAAAIg/RmbDDuiFIgc/s1600-h/Picture+003.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://1.bp.blogspot.com/_hOB6MAgTFRA/SzKQcGDoREI/AAAAAAAAAIg/RmbDDuiFIgc/s200/Picture+003.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5418552114016699458" style="cursor: pointer; width: 200px; height: 134px; " /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_hOB6MAgTFRA/SzKQcoG5E3I/AAAAAAAAAIo/x3BFoE5J3NY/s1600-h/Picture+005.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://4.bp.blogspot.com/_hOB6MAgTFRA/SzKQcoG5E3I/AAAAAAAAAIo/x3BFoE5J3NY/s200/Picture+005.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5418552123157189490" style="cursor: pointer; width: 200px; height: 134px; " /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_hOB6MAgTFRA/SzKQdHSxvsI/AAAAAAAAAIw/CX9TqxXbNzI/s1600-h/Picture+006.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://2.bp.blogspot.com/_hOB6MAgTFRA/SzKQdHSxvsI/AAAAAAAAAIw/CX9TqxXbNzI/s200/Picture+006.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5418552131528539842" style="cursor: pointer; width: 200px; height: 134px; " /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_hOB6MAgTFRA/SzKQdSoL3mI/AAAAAAAAAI4/VF2LC7_Y9Fg/s1600-h/Picture+011.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://1.bp.blogspot.com/_hOB6MAgTFRA/SzKQdSoL3mI/AAAAAAAAAI4/VF2LC7_Y9Fg/s200/Picture+011.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5418552134571122274" style="cursor: pointer; width: 200px; height: 134px; " /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_hOB6MAgTFRA/SzKRTwfzChI/AAAAAAAAAJA/SZcHiO_TFng/s1600-h/Picture+014.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://3.bp.blogspot.com/_hOB6MAgTFRA/SzKRTwfzChI/AAAAAAAAAJA/SZcHiO_TFng/s200/Picture+014.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5418553070301940242" style="cursor: pointer; width: 200px; height: 134px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://2.bp.blogspot.com/_hOB6MAgTFRA/SzKRrcZwa7I/AAAAAAAAAJQ/yZZFp2BcB1o/s320/Picture+015.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5418553477224754098" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 214px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size:small;"&gt;(I soldered the trimpots on the back, for easier access)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_hOB6MAgTFRA/SzKS3Zo3XTI/AAAAAAAAAJg/PiLWhu50b74/s1600-h/Picture+023.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://1.bp.blogspot.com/_hOB6MAgTFRA/SzKS3Zo3XTI/AAAAAAAAAJg/PiLWhu50b74/s320/Picture+023.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5418554782152875314" style="cursor: pointer; width: 180px; height: 320px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;(This is the old pedal I salvaged for the casing) &lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_hOB6MAgTFRA/SzKS3Zo3XTI/AAAAAAAAAJg/PiLWhu50b74/s1600-h/Picture+023.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_hOB6MAgTFRA/SzKS3J-PP6I/AAAAAAAAAJY/bgUUcHaPs3U/s1600-h/Picture+022.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://4.bp.blogspot.com/_hOB6MAgTFRA/SzKS3J-PP6I/AAAAAAAAAJY/bgUUcHaPs3U/s320/Picture+022.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5418554777947553698" style="cursor: pointer; width: 320px; height: 180px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;(Pots installed)&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://2.bp.blogspot.com/_hOB6MAgTFRA/SzKT-zUqtUI/AAAAAAAAAJo/5abGGYC1iz4/s400/Picture+027.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5418556008818193730" style="cursor: pointer; width: 225px; height: 400px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color:#CCCCCC;"&gt;(Board installed)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_hOB6MAgTFRA/SzKT_p0f0hI/AAAAAAAAAJ4/hXjbLvA9y44/s1600-h/Picture+032.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://2.bp.blogspot.com/_hOB6MAgTFRA/SzKT_p0f0hI/AAAAAAAAAJ4/hXjbLvA9y44/s400/Picture+032.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5418556023447212562" style="cursor: pointer; width: 400px; height: 225px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;(Initial Testing - Biasing)&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_hOB6MAgTFRA/SzKT_ZnUjQI/AAAAAAAAAJw/b9TLhA-_Sno/s1600-h/Picture+029.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://2.bp.blogspot.com/_hOB6MAgTFRA/SzKT_ZnUjQI/AAAAAAAAAJw/b9TLhA-_Sno/s400/Picture+029.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5418556019096980738" style="cursor: pointer; width: 400px; height: 225px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;(Initial Testing - Overview)&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/I/oBlog/~4/DJMrbRvK1AY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://theiopage.blogspot.com/feeds/8364512410398035904/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2112730102494092359&amp;postID=8364512410398035904" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/8364512410398035904?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/8364512410398035904?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/I/oBlog/~3/DJMrbRvK1AY/mesa-boogie-dual-rectifier-preamp.html" title="Mesa Boogie Dual Rectifier Preamp Emulation - Dr Boogie" /><author><name>"Manis B"</name><uri>http://www.blogger.com/profile/06514501267924230924</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://1.bp.blogspot.com/-tJ3tYe4YDiI/UE6DPhda8aI/AAAAAAAAAZ8/rv_xQa-Ts0M/s220/IMG_1072-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_hOB6MAgTFRA/SzKMhwAdovI/AAAAAAAAAIQ/qBQYgJVs_TY/s72-c/Picture+020.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://theiopage.blogspot.com/2009/10/mesa-boogie-dual-rectifier-preamp.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIDRn0yeCp7ImA9WxJaGU4.&quot;"><id>tag:blogger.com,1999:blog-2112730102494092359.post-3701215485904891044</id><published>2009-06-06T13:48:00.000-07:00</published><updated>2009-08-10T12:29:37.390-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-10T12:29:37.390-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lcd pic" /><category scheme="http://www.blogger.com/atom/ns#" term="LCD" /><category scheme="http://www.blogger.com/atom/ns#" term="hd44780" /><category scheme="http://www.blogger.com/atom/ns#" term="lcd module microcontroller" /><category scheme="http://www.blogger.com/atom/ns#" term="mikrobasic" /><category scheme="http://www.blogger.com/atom/ns#" term="16F628A" /><title>LCD to PIC interfacing.</title><content type="html">Just as the title says, here's how to connect an hd44780 compliant LCD module to your PIC microcontroller.&lt;br /&gt;&lt;br /&gt;I will be using mikroElektronika's mikroBasic for this, . Their BASIC compilers are just fantastic. Moreover, they are free for hobbyists. You can get it &lt;a href="http://www.mikroe.com/en/compilers/mikrobasic/pic/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For the micro, I am using the 16F628A, configured to run on the 8Mhz internal oscillator.&lt;br /&gt;&lt;br /&gt;mikroBasic by default assumes that the wiring between the PIC and the LCD is as follows:&lt;br /&gt;&lt;pre&gt;D7 → port.7 (pin13 on the 16F628)&lt;br /&gt;D6 → port.6 (pin12)&lt;br /&gt;D5 → port.5 (pin11)&lt;br /&gt;D4 → port.4 (pin10)&lt;br /&gt;E  → port.3 (pin9)&lt;br /&gt;RS → port.2 (pin8)&lt;br /&gt;RW → port.0 (pin6)&lt;br /&gt;&lt;br /&gt;&lt;img src="file:///C:/Users/1048576/AppData/Local/Temp/moz-screenshot.jpg" alt="" /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hOB6MAgTFRA/Siz1UHPS8KI/AAAAAAAAAFY/q5QIdLu7Ors/s1600-h/16f628.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 365px; height: 208px;" src="http://1.bp.blogspot.com/_hOB6MAgTFRA/Siz1UHPS8KI/AAAAAAAAAFY/q5QIdLu7Ors/s400/16f628.png" alt="" id="BLOGGER_PHOTO_ID_5344916583671328930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:times new roman;font-size:130%;"  &gt;The pin-out for commonly found LCD modules is:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hOB6MAgTFRA/SirY3tuMBVI/AAAAAAAAAEw/DPcZ3TClUEg/s1600-h/lcd_sche.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 112px; height: 278px;" src="http://3.bp.blogspot.com/_hOB6MAgTFRA/SirY3tuMBVI/AAAAAAAAAEw/DPcZ3TClUEg/s400/lcd_sche.gif" alt="" id="BLOGGER_PHOTO_ID_5344322359506240850" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:times new roman;"&gt;Remember, Vss: GND, Vcc:+5v, VLc:GND, VB+ and VB- are for back lighting.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:times new roman;"&gt;For the code, I used a screen dump here instead of copy-pasting.&lt;br /&gt;Ah, Neatness&lt;span style="font-family:monospace;"&gt;..(FAIL)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(yes...you have to write it ALL OVER. GWAHAHAHAH!)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hOB6MAgTFRA/SirWF00RjII/AAAAAAAAAEo/dbXxysYvQ2I/s1600-h/code.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 452px; height: 176px;" src="http://1.bp.blogspot.com/_hOB6MAgTFRA/SirWF00RjII/AAAAAAAAAEo/dbXxysYvQ2I/s400/code.JPG" alt="" id="BLOGGER_PHOTO_ID_5344319303394102402" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;(Click to enlarge)&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;As you have probably guessed from the (very) self-documenting source code above, what we want to display on the LCD is enclosed in commas on the 28th line. (My program starts on the 16th line)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hOB6MAgTFRA/SirfcH5KsLI/AAAAAAAAAFA/dHqu8OcWx-E/s1600-h/HPIM6070+%28Medium%29.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_hOB6MAgTFRA/SirfcH5KsLI/AAAAAAAAAFA/dHqu8OcWx-E/s400/HPIM6070+%28Medium%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5344329582076670130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And if everything is done according to the above, the end result is, most of the time, a variation of this.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hOB6MAgTFRA/SirdbtsQLYI/AAAAAAAAAE4/p-lbCF1LOqk/s1600-h/HPIM6080.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_hOB6MAgTFRA/SirdbtsQLYI/AAAAAAAAAE4/p-lbCF1LOqk/s400/HPIM6080.JPG" alt="" id="BLOGGER_PHOTO_ID_5344327376019926402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Again, another satisfying moment in the life of the weary experimenter...when something you build from &lt;span style="font-style: italic;"&gt;genuine&lt;/span&gt; scratch finally manages to concoct an output. In words.&lt;img src="http://feeds.feedburner.com/~r/I/oBlog/~4/ej2CPbucf20" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://theiopage.blogspot.com/feeds/3701215485904891044/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2112730102494092359&amp;postID=3701215485904891044" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/3701215485904891044?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/3701215485904891044?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/I/oBlog/~3/ej2CPbucf20/cliche-stuff-lcd-to-pic-interfacing.html" title="LCD to PIC interfacing." /><author><name>"Manis B"</name><uri>http://www.blogger.com/profile/06514501267924230924</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://1.bp.blogspot.com/-tJ3tYe4YDiI/UE6DPhda8aI/AAAAAAAAAZ8/rv_xQa-Ts0M/s220/IMG_1072-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_hOB6MAgTFRA/Siz1UHPS8KI/AAAAAAAAAFY/q5QIdLu7Ors/s72-c/16f628.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://theiopage.blogspot.com/2009/06/cliche-stuff-lcd-to-pic-interfacing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQHQ3o5fip7ImA9WxNQFUs.&quot;"><id>tag:blogger.com,1999:blog-2112730102494092359.post-8723302036429678307</id><published>2009-06-04T10:26:00.001-07:00</published><updated>2009-09-21T14:08:52.426-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-21T14:08:52.426-07:00</app:edited><title>Build Report: Boss MT-2 Metal Zone</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hOB6MAgTFRA/Srfdu1qTyyI/AAAAAAAAAHQ/qp0kwoDho-c/s1600-h/18092009604.jpg"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;[While this blog was originally meant for digital electronics only, it will now include from, time to time, some analog stuff too. I think that I'm finally starting to love analog stuff...]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For those from &lt;span style="font-size:78%;"&gt;(third world..?)&lt;/span&gt; countries where BOSS effects pedal are way, way, waaay too much overpriced for their poor, poor, sad, pedal-less self, this post might prove to be of some interest. Here's build report of the BOSS MT-2...the Metal Zone.&lt;br /&gt;&lt;br /&gt;And Yes..With Pictures.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_hOB6MAgTFRA/SoBo9ECPH6I/AAAAAAAAAGA/ViU7iPfOG7I/s1600-h/HPIM5829.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_hOB6MAgTFRA/SoBo9ECPH6I/AAAAAAAAAGA/ViU7iPfOG7I/s320/HPIM5829.JPG" alt="" id="BLOGGER_PHOTO_ID_5368406154090061730" border="0" /&gt;&lt;/a&gt;&lt;span style=";font-family:arial;font-size:85%;"&gt;It all starts with this all-too-familiar packet from futurlec.com&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hOB6MAgTFRA/SoBo9qpa46I/AAAAAAAAAGI/Pcz5cP_jxqE/s1600-h/HPIM5832.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_hOB6MAgTFRA/SoBo9qpa46I/AAAAAAAAAGI/Pcz5cP_jxqE/s320/HPIM5832.JPG" alt="" id="BLOGGER_PHOTO_ID_5368406164454957986" border="0" /&gt;&lt;/a&gt;&lt;span style=";font-family:arial;font-size:85%;"&gt; I bet they cant wait to be mounted...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_hOB6MAgTFRA/SoBo-BkHiLI/AAAAAAAAAGQ/1yEC1_tQdik/s1600-h/HPIM5842.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_hOB6MAgTFRA/SoBo-BkHiLI/AAAAAAAAAGQ/1yEC1_tQdik/s320/HPIM5842.JPG" alt="" id="BLOGGER_PHOTO_ID_5368406170606733490" border="0" /&gt;&lt;/a&gt;&lt;span style=";font-family:arial;font-size:85%;"&gt;...on this locally made PCB.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_hOB6MAgTFRA/SoBo-yD4aWI/AAAAAAAAAGY/e-1R9tH5uLE/s1600-h/HPIM5845.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_hOB6MAgTFRA/SoBo-yD4aWI/AAAAAAAAAGY/e-1R9tH5uLE/s320/HPIM5845.JPG" alt="" id="BLOGGER_PHOTO_ID_5368406183624862050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_hOB6MAgTFRA/SoBo_beadsI/AAAAAAAAAGg/XayhhFmqi5s/s1600-h/HPIM5846.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_hOB6MAgTFRA/SoBo_beadsI/AAAAAAAAAGg/XayhhFmqi5s/s320/HPIM5846.JPG" alt="" id="BLOGGER_PHOTO_ID_5368406194741999298" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_hOB6MAgTFRA/SoBw0jtRd2I/AAAAAAAAAGo/LnwUtkNdc98/s1600-h/HPIM5849.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_hOB6MAgTFRA/SoBw0jtRd2I/AAAAAAAAAGo/LnwUtkNdc98/s320/HPIM5849.JPG" alt="" id="BLOGGER_PHOTO_ID_5368414804066269026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hOB6MAgTFRA/SoBw1FRWuBI/AAAAAAAAAGw/_i0sltNKBR8/s1600-h/HPIM5854.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_hOB6MAgTFRA/SoBw1FRWuBI/AAAAAAAAAGw/_i0sltNKBR8/s320/HPIM5854.JPG" alt="" id="BLOGGER_PHOTO_ID_5368414813075978258" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hOB6MAgTFRA/SoBw1k8WDAI/AAAAAAAAAG4/TA1KxS3upU4/s1600-h/HPIM5862.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_hOB6MAgTFRA/SoBw1k8WDAI/AAAAAAAAAG4/TA1KxS3upU4/s320/HPIM5862.JPG" alt="" id="BLOGGER_PHOTO_ID_5368414821577788418" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family:arial;"&gt;Board overview, minus the op-amps...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hOB6MAgTFRA/SoBw2O2sbtI/AAAAAAAAAHA/a1ZdAmF9nu0/s1600-h/HPIM5865.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_hOB6MAgTFRA/SoBw2O2sbtI/AAAAAAAAAHA/a1ZdAmF9nu0/s320/HPIM5865.JPG" alt="" id="BLOGGER_PHOTO_ID_5368414832828378834" border="0" /&gt;&lt;/a&gt;&lt;span style=";font-family:arial;font-size:85%;"&gt;Custom mounting techniques...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hOB6MAgTFRA/SoBw2jwSXKI/AAAAAAAAAHI/4Dnt2PJkB-A/s1600-h/HPIM5866.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_hOB6MAgTFRA/SoBw2jwSXKI/AAAAAAAAAHI/4Dnt2PJkB-A/s320/HPIM5866.JPG" alt="" id="BLOGGER_PHOTO_ID_5368414838438648994" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;Verroboard for pots...(which had to be redone in the end)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Note: Expect this post to grow over time as I complete the pedal.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;EDIT: &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This one was a real b*tch to build. I had to change 2 full sets of op-amps(that means 8!), burning and lifting several PCB tracing in the solder/de-soldering process. Also, after a trillion hours of trouble shooting, I basically found out that some stages of the schematic I was using was WRONG(AAAAAAaaarrrgggh!!) [that was very precisely the exclamation I made when I found the error]&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nevertheless, after another trillion or so hours of troubleshooting, the pedal basically worked quite satisfactorily, except for that noisy background 'waterfall' sound that I tamed later. The palm-mutes it generated were 'chubby' and essentially had that character what I was looking for. There is still a significant amount of noise that comes out though and somehow, I feel this project is still not completed because of this. But it is very usable and for my second pedal, I think the cloning is quite a success. (&lt;brag&gt;I found out later that it is actually one of the most difficult pedals out there to clone &lt;/brag&gt;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am currently drawing up a corrected schematic which I will post later(with the PCB layout). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, I will post sound clips some other time when I get to.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="color:#0000EE;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://4.bp.blogspot.com/_hOB6MAgTFRA/Srfdu1qTyyI/AAAAAAAAAHQ/qp0kwoDho-c/s320/18092009604.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5384015676292975394" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;(Here's the cloned 'Boss Metal Zone MT-2' in late testing phase)&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/I/oBlog/~4/BwglHLEwSkU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://theiopage.blogspot.com/feeds/8723302036429678307/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2112730102494092359&amp;postID=8723302036429678307" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/8723302036429678307?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/8723302036429678307?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/I/oBlog/~3/BwglHLEwSkU/build-report-boss-mt-2-metal-zone.html" title="Build Report: Boss MT-2 Metal Zone" /><author><name>"Manis B"</name><uri>http://www.blogger.com/profile/06514501267924230924</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://1.bp.blogspot.com/-tJ3tYe4YDiI/UE6DPhda8aI/AAAAAAAAAZ8/rv_xQa-Ts0M/s220/IMG_1072-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_hOB6MAgTFRA/SoBo9ECPH6I/AAAAAAAAAGA/ViU7iPfOG7I/s72-c/HPIM5829.JPG" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://theiopage.blogspot.com/2009/06/build-report-boss-mt-2-metal-zone.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkINQH8ycCp7ImA9WxRXEUw.&quot;"><id>tag:blogger.com,1999:blog-2112730102494092359.post-5185936704969666829</id><published>2008-10-15T12:10:00.000-07:00</published><updated>2008-10-15T15:43:11.198-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-15T15:43:11.198-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="uJDM" /><category scheme="http://www.blogger.com/atom/ns#" term="16F84A" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC programmer" /><category scheme="http://www.blogger.com/atom/ns#" term="JDM" /><category scheme="http://www.blogger.com/atom/ns#" term="16F628A" /><title>The Basics, Part 1: The Programmer.</title><content type="html">After some serious searching/reviewing, the programmer I ultimately chose to &lt;span style="font-style: italic;"&gt;build&lt;/span&gt; was the uJDM programmer. Yes. Build. After all, why would&lt;span style="font-style: italic;"&gt; anyone&lt;/span&gt; ever miss the chance of building something as memorable as his &lt;span style="font-weight: bold;"&gt;first&lt;/span&gt; PIC programmer?&lt;br /&gt;&lt;br /&gt;I chose the uJDM because:&lt;br /&gt;0)It uses the serial port.&lt;br /&gt;1) It could program my chip, the 16F84A. (and the 16F628)&lt;br /&gt;2)The schematic was dead simple.&lt;br /&gt;3)Its verroboard layout was already given with its schematic&lt;span style="font-style: italic;"&gt;(read: easy as hell to build)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Everything you need to build the uJDM is available &lt;a href="http://www.semis.demon.co.uk/uJDM/uJDMmain.htm"&gt;here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Also, I later found out that the uJDM could be very easily modified to program the PIC16F628A. Just disconnect RB4 from the RTS line and connect it instead to Vss. A simple wire link will do the trick.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hOB6MAgTFRA/SPZZceBPHkI/AAAAAAAAABs/X3WhqUmwAik/s1600-h/HPIM3707+%28Small%29.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_hOB6MAgTFRA/SPZZceBPHkI/AAAAAAAAABs/X3WhqUmwAik/s320/HPIM3707+%28Small%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5257487960631090754" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_hOB6MAgTFRA/SPZZ4tCXG1I/AAAAAAAAAB0/k4BRVxeWrlE/s1600-h/HPIM3695+%28Small%29.JPG"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_hOB6MAgTFRA/SPZZ4tCXG1I/AAAAAAAAAB0/k4BRVxeWrlE/s320/HPIM3695+%28Small%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5257488445698677586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;My (improved..?) version of the uJDM has no socket to put the chip into. In its place, the 5 wires extend from the socket's connection to another small board , dubbed the 'Custom Breadboard Header', onto which 5 pins are soldered. The header then simply plugs around the target chip, while the said chip is seated on a breadboard.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hOB6MAgTFRA/SPZbtlTeMlI/AAAAAAAAACM/ZEL_a1icE8w/s1600-h/HPIM3700+%28Small%29.JPG"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_hOB6MAgTFRA/SPZbtlTeMlI/AAAAAAAAACM/ZEL_a1icE8w/s320/HPIM3700+%28Small%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5257490453667656274" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hOB6MAgTFRA/SPZbBxCLPrI/AAAAAAAAACE/tWDQwgXpW28/s1600-h/HPIM3699+%28Small%29.JPG"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_hOB6MAgTFRA/SPZbBxCLPrI/AAAAAAAAACE/tWDQwgXpW28/s320/HPIM3699+%28Small%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5257489700902092466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To conclude, here is a snap of the programmer, 'doing its thing', via RS232.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hOB6MAgTFRA/SPZcZa8R86I/AAAAAAAAACU/nAcVrMQD9yw/s1600-h/HPIM3704+%28Small%29.JPG"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_hOB6MAgTFRA/SPZcZa8R86I/AAAAAAAAACU/nAcVrMQD9yw/s320/HPIM3704+%28Small%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5257491206800274338" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/I/oBlog/~4/WEorgz0Sl_M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://theiopage.blogspot.com/feeds/5185936704969666829/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2112730102494092359&amp;postID=5185936704969666829" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/5185936704969666829?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2112730102494092359/posts/default/5185936704969666829?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/I/oBlog/~3/WEorgz0Sl_M/basics-part-1-programmer.html" title="The Basics, Part 1: The Programmer." /><author><name>"Manis B"</name><uri>http://www.blogger.com/profile/06514501267924230924</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://1.bp.blogspot.com/-tJ3tYe4YDiI/UE6DPhda8aI/AAAAAAAAAZ8/rv_xQa-Ts0M/s220/IMG_1072-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_hOB6MAgTFRA/SPZZceBPHkI/AAAAAAAAABs/X3WhqUmwAik/s72-c/HPIM3707+%28Small%29.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://theiopage.blogspot.com/2008/10/basics-part-1-programmer.html</feedburner:origLink></entry></feed>
