<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-952765818269557659</id><updated>2012-01-22T22:55:02.442-07:00</updated><category term='Accelerometer and Compass'/><category term='ATtiny85'/><category term='RF x10 Receiver'/><category term='Nex10'/><category term='Arduino'/><category term='Geiger Counter'/><category term='~'/><category term='X10 Book'/><category term='ATmega644P'/><category term='Radiation Monitor'/><category term='Telephone Interface'/><category term='CM17A'/><category term='Home Automation'/><category term='X10 Controller'/><category term='PSC05 / TW523'/><title type='text'>Arduino Collection</title><subtitle type='html'>A collection of Arduino projects. Most are related to X10 home automation. Includes build details and example source code.

The goal for X10 is to open it up so that the hobbyist can expand X10 capabilities beyond the limitations of the commercial software that is currently available.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-2733506023465715755</id><published>2011-10-12T10:39:00.035-06:00</published><updated>2012-01-03T10:05:15.227-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Radiation Monitor'/><category scheme='http://www.blogger.com/atom/ns#' term='Geiger Counter'/><title type='text'>Solar Powered Wireless Radiation Monitor</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://dl.dropbox.com/u/3572198/RadMon/Rad%20Sun%20Img.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Y_Jz5aA9hM4/TwMylqjKC3I/AAAAAAAACYk/0Vha4gVIZd8/s1600/Radmon+-+inside+and+outside.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="175" src="http://3.bp.blogspot.com/-Y_Jz5aA9hM4/TwMylqjKC3I/AAAAAAAACYk/0Vha4gVIZd8/s400/Radmon+-+inside+and+outside.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: orange; font-family: inherit;"&gt;Like the &lt;a href="http://brohogan.blogspot.com/search/label/Geiger%20Counter" target="_blank"&gt;Geiger Kit&lt;/a&gt; in the previous post, this project is going to get too big to properly handle in a blog format. &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: orange; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: orange;"&gt;So it's introduced here, but the function and build details are posted on &lt;b&gt;&lt;a href="https://sites.google.com/site/diygeigercounter/wireless-monitoring" target="_blank"&gt;this website&lt;/a&gt;&lt;/b&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Listening to what people want in the way of radiation detection, it appeared that there are 3 types of needs:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l0 level1 lfo4; tab-stops: list .75in; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;1.&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;a portable device that gives instant readings - the classic Geiger Counter&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l0 level1 lfo4; tab-stops: list .75in; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;2.&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;a portable device that logs readings, and maybe location&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l0 level1 lfo4; tab-stops: list .75in; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;3.&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;a stationary monitoring device that is always displaying, and logging readings&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I think I’ve covered the first two with the &lt;a href="https://sites.google.com/site/diygeigercounter/" target="_blank"&gt;Geiger Kit&lt;/a&gt; and the &lt;a href="https://sites.google.com/site/diygeigercounter/daughterboard-for-kit" target="_blank"&gt;Geiger Logging Shield&lt;/a&gt;. So this project is intended to cover the 3rd need - a stationary monitoring device.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The idea is simple – a box outside with a Geiger counter and radio transceiver (solar powered as an option) talking wirelessly to a box inside with a display and an SD card.&lt;br /&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; text-align: left;"&gt;&lt;b&gt;the outside piece . . .&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://dl.dropbox.com/u/3572198/RadMon/Outside%20case%20V2-2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="272" src="http://dl.dropbox.com/u/3572198/RadMon/Outside%20case%20V2-2.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;the outside piece outside . . .&lt;br /&gt;&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;a href="http://dl.dropbox.com/u/3572198/RadMon/Outside%20Piece%20V2%20(sm).JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="268" src="http://dl.dropbox.com/u/3572198/RadMon/Outside%20Piece%20V2%20(sm).JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;the inside piece . . .&lt;/b&gt; &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Hr05ag_Up58/TwMzB8LfVoI/AAAAAAAACYw/zC-8Yws_SVQ/s1600/Display+Station+4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-Hr05ag_Up58/TwMzB8LfVoI/AAAAAAAACYw/zC-8Yws_SVQ/s1600/Display+Station+4.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Again, you can find all the details on &lt;a href="https://sites.google.com/site/diygeigercounter/wireless-monitoring" target="_blank"&gt;this website&lt;/a&gt;. However, I'd appreciate any comments you'd like to leave here.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-2733506023465715755?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/2733506023465715755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2011/10/solar-powered-wireless-radiation.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/2733506023465715755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/2733506023465715755'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2011/10/solar-powered-wireless-radiation.html' title='Solar Powered Wireless Radiation Monitor'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Y_Jz5aA9hM4/TwMylqjKC3I/AAAAAAAACYk/0Vha4gVIZd8/s72-c/Radmon+-+inside+and+outside.jpg' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-8191863357145356550</id><published>2011-03-23T10:52:00.075-06:00</published><updated>2011-09-10T23:02:54.190-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geiger Counter'/><title type='text'>Geiger Counter Kit - Part 3</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;/div&gt;&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;a href="http://2.bp.blogspot.com/-zIxciqIQ2-0/TbTHVR0kwSI/AAAAAAAACU0/SBmFw7KOryE/s1600/radioactive.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="193" src="http://2.bp.blogspot.com/-zIxciqIQ2-0/TbTHVR0kwSI/AAAAAAAACU0/SBmFw7KOryE/s200/radioactive.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="color: orange;"&gt;&lt;b&gt;Please visit &lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: orange;"&gt;&lt;b&gt;&lt;a href="https://sites.google.com/site/diygeigercounter/home" target="_blank"&gt;this web site&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: orange;"&gt;&lt;b&gt;&amp;nbsp;if you want to purchase or learn more about the Geiger kit I am offering. (If you came here from someone selling a knock off on eBay, you're on your own.)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I'll leave the pics and video here, but you'll find all the details about the kit through the link above. However, you can leave a comment here if you like.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;Geiger Kit PCB (v.3) . . .&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;a href="http://dl.dropbox.com/u/3572198/GK%20v3%20Done%20(sm).JPG" imageanchor="1" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="190" src="http://dl.dropbox.com/u/3572198/GK%20v3%20Done%20(sm).JPG" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;what the&amp;nbsp;assembled&amp;nbsp;kit looks like . . .&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://dl.dropbox.com/u/3572198/V1-4%20with%20tube%20(sm).JPG" imageanchor="1" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://dl.dropbox.com/u/3572198/V1-4%20with%20tube%20(sm).JPG" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;the&amp;nbsp;assembled&amp;nbsp;kit running the&amp;nbsp;default&amp;nbsp;sketch with an LCD display added . . .&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/6MD7R4C0CuU?rel=0&amp;amp;hd=1" title="YouTube video player" width="425"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-8191863357145356550?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/8191863357145356550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2011/03/geiger-counter-kit.html#comment-form' title='71 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/8191863357145356550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/8191863357145356550'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2011/03/geiger-counter-kit.html' title='Geiger Counter Kit - Part 3'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-zIxciqIQ2-0/TbTHVR0kwSI/AAAAAAAACU0/SBmFw7KOryE/s72-c/radioactive.png' height='72' width='72'/><thr:total>71</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-7118933848348737811</id><published>2011-02-14T14:59:00.072-07:00</published><updated>2011-07-17T15:02:05.223-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Accelerometer and Compass'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino'/><title type='text'>Accelerometer &amp; Compass</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;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-AFhulYaST0U/TiM-M7grMMI/AAAAAAAACWg/zcE9ff7eOcE/s1600/Copper+Box+Felix+%2528sm%2529.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="165" src="http://2.bp.blogspot.com/-AFhulYaST0U/TiM-M7grMMI/AAAAAAAACWg/zcE9ff7eOcE/s200/Copper+Box+Felix+%2528sm%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;No, it's not a B/W TV from the 50's. However &lt;a href="http://framemaster.tripod.com/Electronictv.html" target="_blank"&gt;Felix the Cat&lt;/a&gt; &lt;i&gt;was&lt;/i&gt; one of the very first images transmitted to a TV screen.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I wanted to mess around with an accelerometer and this is what I came up with - before getting waylaid making &lt;a href="https://sites.google.com/site/diygeigercounter/home" target="_blank"&gt;Geiger Counter Kits&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;From the&amp;nbsp;beginning, I have to say that this was one of the most frustrating projects I've ever worked on. I consider myself a "completer" but&amp;nbsp;several&amp;nbsp;times, I had the desire to just dump the damn thing in a box, and say to hell with it. I'll try to spare the details of that side of the project.&lt;br /&gt;&lt;br /&gt;I had a few goals in mind:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;to learn about&amp;nbsp;accelerometer and compass modules&lt;/li&gt;&lt;li&gt;to make a LiPo battery operated project&lt;/li&gt;&lt;li&gt;to use a graphic LCD and a menu system&lt;/li&gt;&lt;li&gt;and maybe make something I could put in my car&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Lets start with the battery side of the thing. I wanted to be able to charge the LiPo, and I also wanted a constant 3.3V for Vcc and the Aref voltage. For the LiPo charger I used a &lt;a href="http://datasheets.maxim-ic.com/en/ds/MAX1551-MAX1555.pdf" target="_blank"&gt;MAX1555&lt;/a&gt; wired per the datasheet.&lt;br /&gt;&lt;br /&gt;Since the voltage on a LiPo can vary on both sides of 3.3V (3.0-3.7V), I decided I needed a "&lt;i&gt;&lt;b&gt;buck-boost regulating charge pump&lt;/b&gt;&lt;/i&gt;". (It's possible I &lt;i&gt;didn't&lt;/i&gt; need one, but the name was so cool . . ..) I discovered the &lt;a href="http://datasheets.maxim-ic.com/en/ds/MAX1759.pdf" target="_blank"&gt;MAX1759&lt;/a&gt;&amp;nbsp;and also&amp;nbsp;wired it per the datasheet. Soldering the tiny uMax package to a piece of proto board was an exercise in tedium.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-mri2Jnq7TC0/Th-uIOCEiBI/AAAAAAAACV8/Iu7E96qSCX4/s1600/IMG_3129.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="157" src="http://1.bp.blogspot.com/-mri2Jnq7TC0/Th-uIOCEiBI/AAAAAAAACV8/Iu7E96qSCX4/s200/IMG_3129.JPG" width="200" /&gt;&lt;/a&gt;I didn't want a toggle or slide power switch. I wanted a push button On/Off and I also wanted to automatically power it off from the uC if there was no movement for awhile. And of course, I didn't want to use much power to monitor the switch when the power was off. The solution was the &lt;a href="http://www.pololu.com/catalog/product/750" target="_blank"&gt;Pololu Pushbutton Power Switch&lt;/a&gt;&amp;nbsp;- it does all those things. &lt;i&gt;I am working on a homemade version of this switch using an ATtiny85 that I will post here soon.&amp;nbsp;&lt;/i&gt;&amp;nbsp;I added an ATmega328, with all pins broken out, and LCD and FTDI connectors.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-bqtm8AdE130/Th-u_PO8ZoI/AAAAAAAACWA/vw8YXAWfFew/s1600/IMG_3131.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="171" src="http://3.bp.blogspot.com/-bqtm8AdE130/Th-u_PO8ZoI/AAAAAAAACWA/vw8YXAWfFew/s200/IMG_3131.JPG" width="200" /&gt;&lt;/a&gt;At last! A shield that actually looks like a shield! This &lt;a href="http://www.sparkfun.com/products/8810" target="_blank"&gt;round board&lt;/a&gt; fits over this &lt;a href="http://www.sparkfun.com/products/8811" target="_blank"&gt;square board&lt;/a&gt;. After cutting two notches in it to access the LCD and FTDI connectors it was actually fit for a Gladiator - at least until I added the &lt;a href="http://www.sparkfun.com/datasheets/Components/HMC6352.pdf" target="_blank"&gt;HMC6352&lt;/a&gt; compass (I2C), &lt;a href="http://cdn.shopify.com/s/files/1/0038/9582/files/MMA7361L.pdf?1282525052" target="_blank"&gt;MMA7361&lt;/a&gt;&amp;nbsp;accelerometer (analog) and &lt;a href="http://pdfserv.maxim-ic.com/en/ds/DS1621.pdf" target="_blank"&gt;DS1621&lt;/a&gt; temperature sensor (I2C).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;Finally, the graphic LCD and joystick. After a few flaky Nokia cell phone faceplates, I got a less flaky version of the &lt;a href="http://www.sparkfun.com/products/10168" target="_blank"&gt;Nokia 5110 graphic LCD&lt;/a&gt;. For the joystick I used a &lt;a href="http://www.nuelectronics.com/download/projects/Nokia_3310_lcd.pdf" target="_blank"&gt;neat trick&lt;/a&gt; I learned from nuelectronics that switches resistors with the joystick so the 5 positions can be sensed by only one analogue input.&lt;br /&gt;&lt;br /&gt;A wise man once told me "a project is only as good as it's case". (Actually no one told me that.) Long ago, I made a faceplate out of copper clad PCB board. Why not a whole case? 3D soldering! I also had some vintage&amp;nbsp;phenolic board and some copper foil. I cut the copper clad board and mitered the edges. I soldered the box up from the inside. It solders very well. (I cranked up the iron to 425C.) I used the copper foil to attach and solder the&amp;nbsp;phenolic board on the bottom. In a lot of ways, the case was the most rewarding part of the project. If&amp;nbsp;there's&amp;nbsp;anything worth learning here, this technique might be it.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-aQeThhgpO-c/Th-wVvDd6VI/AAAAAAAACWI/TLRWPsWeyJQ/s1600/IMG_3135.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="193" src="http://4.bp.blogspot.com/-aQeThhgpO-c/Th-wVvDd6VI/AAAAAAAACWI/TLRWPsWeyJQ/s320/IMG_3135.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So that's the hardware side. I'm less proud of the software side. I discovered that coding for the&amp;nbsp;accelerometer and compass quickly make you wish you didn't sleep on your desk during geometry. In addition there's the low pass filtering, running average and . . . the dreaded &lt;i&gt;Kalman filter&lt;/i&gt; (actually I didn't use one). I'll post the code at the end here, but if your smart, you won't download it. The menu system is sorta nice though. I got the basis from&amp;nbsp;nuelectronics. I also wrote some simple graphic utilities.&lt;br /&gt;&lt;br /&gt;Functionally - well, it needs some work, but he's a rundown of the screens . . .&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/-th5FNbSaC8g/TiIwE7Z4ctI/AAAAAAAACWc/ANcudq_T24M/s1600/Menu+and+Screens+Vert.jpg" imageanchor="1" style="clear: left; display: inline !important; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-th5FNbSaC8g/TiIwE7Z4ctI/AAAAAAAACWc/ANcudq_T24M/s400/Menu+and+Screens+Vert.jpg" width="110" /&gt;&lt;/a&gt;&lt;br /&gt;The main menu . . .&lt;br /&gt;(The accelerometer screen is boring. So is Debug.)&amp;nbsp;The calibrate screen calibrates the compass - 2 revolutions in 20sec.&lt;br /&gt;&lt;br /&gt;The compass screen shows degrees and ordinals.&lt;br /&gt;There is also a temperature display.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The performance screen shows&amp;nbsp;acceleration (right of center) and deceleration (left of center.)&lt;br /&gt;The line through the bar sticks at the max recorded.&lt;br /&gt;&lt;br /&gt;The roll and pitch screen shows, you know what.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dl.dropbox.com/u/3572198/CopperBox.zip"&gt;Here's the sketch.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-7118933848348737811?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/7118933848348737811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2011/02/accelerometer-compass.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/7118933848348737811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/7118933848348737811'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2011/02/accelerometer-compass.html' title='Accelerometer &amp; Compass'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-AFhulYaST0U/TiM-M7grMMI/AAAAAAAACWg/zcE9ff7eOcE/s72-c/Copper+Box+Felix+%2528sm%2529.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-7295486624115666120</id><published>2011-01-22T22:25:00.024-07:00</published><updated>2011-03-13T20:27:31.094-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CM17A'/><category scheme='http://www.blogger.com/atom/ns#' term='Home Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='ATtiny85'/><title type='text'>X10 Remote Temperature - Redo</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Jo2jym9csB0/TTu4nNYwDpI/AAAAAAAACMM/pa96hMU7Qwc/s1600/X10+Remote+Redux.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/_Jo2jym9csB0/TTu4nNYwDpI/AAAAAAAACMM/pa96hMU7Qwc/s200/X10+Remote+Redux.jpg" width="195" /&gt;&lt;/a&gt;&lt;/div&gt;I became interested in the ATtiny85 processor&amp;nbsp;recently. Up till now, my projects were based on the ATmega328 or the&amp;nbsp;ATmega644. The&amp;nbsp;&amp;nbsp;ATtiny85 is just that, tiny - only 8 pins vs. 28 on the&amp;nbsp;ATmega328. The photo on the left shows the new &amp;nbsp;X10 temperature transmitter, with the DS1621 temperature chip on the left and the&amp;nbsp;ATtiny85 on the right.&lt;br /&gt;(The CM17A X10 RF transmitter is not shown.)&lt;br /&gt;&lt;br /&gt;This board replaces what I had in the original X10 Wireless Temperature Transmitter which I've been using for the past year and a half. &amp;nbsp;(post is &lt;a href="http://brohogan.blogspot.com/2009/05/x10-wireless-temperature-transmitter.html" target="_blank"&gt;here&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;So why the redo? The &lt;i&gt;rational&lt;/i&gt; part of the answer is that I wanted the batteries to last longer.&lt;br /&gt;&lt;br /&gt;The original temperature transmitter drew a&amp;nbsp;whopping&amp;nbsp;2.2mA while in sleep mode. It was powered by 2 NiMH AA batts stepped up to 5V with a boost inverter. I'd change the batteries every month or so.&lt;br /&gt;&lt;br /&gt;The redo board draws about&amp;nbsp;.07mA while in sleep mode. It's running directly on&amp;nbsp;4 NiMH AA batts.&amp;nbsp;&amp;nbsp;I'm guessing I'll change the batteries every 1.5 years or so. I choose AA batts over&amp;nbsp;a 3.7V LiPo because&amp;nbsp;it's easier to replace the NiMH batts with fresh ones, and I wanted the higher voltage for better range on the X10 transmitter.&amp;nbsp;However, it's worth noting that the&amp;nbsp;processor&amp;nbsp;draws &lt;i&gt;less&lt;/i&gt; current at lower voltages.&lt;br /&gt;&lt;br /&gt;Most of the power savings can &lt;u&gt;not&lt;/u&gt; be attributed to using the ATtiny, however. Along the way, I discovered a few things.&lt;br /&gt;&lt;br /&gt;The first had to do with how I was reading the temperature on the DS1621. I was using "continuous mode"&amp;nbsp;&lt;i&gt;(most examples use this mode)&lt;/i&gt;&amp;nbsp;which would give me a reading as soon as I asked for it, but at the cost of almost 1mA! I switched to "one-shot" mode which makes me wait ~750ms for a reading, but at a huge savings.&lt;br /&gt;&lt;br /&gt;The second thing I found is that the CM17A library I made left the RTS &amp;amp; DTR lines high after transmitting. Setting them low, results in about a .5mA savings. Note that if you are using this lib and want to try it, be sure to give a nice delay before transmitting after you set the lines high. (There's always a trade off!)&lt;br /&gt;&lt;br /&gt;I always use sleep mode for the lowest power usage when not transmitting. It's set to transmit about once every 6&amp;nbsp;minutes. There are&amp;nbsp;several&amp;nbsp;sleep mode routines for the ATmega processors, but the ATtiny needs entirely different registers set. I found good info on sleep mode, and good&amp;nbsp;tutorials&amp;nbsp;for the ATtiny&amp;nbsp;at &lt;a href="http://brownsofa.org/blog/archives/261" target="_blank"&gt;brownsofa.org&lt;/a&gt;&amp;nbsp;and &lt;a href="http://www.insidegadgets.com/2011/02/05/reduce-attiny-power-consumption-by-sleeping-with-the-watchdog-timer/" target="_blank"&gt;Inside Gadgets&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The way to do the things mentioned above will be much clearer when you look at the the example code, which will be provided later in this post. But now, I would like to describe how to go about using the Arduino&amp;nbsp;environment to work with the&amp;nbsp;ATtiny85 chip, and most of all, how to get I2C working on them so you can communicate with the DS1621, real time clocks, and even 2x16 displays - all with an 8 pin chip!&lt;br /&gt;&lt;br /&gt;The first thing you must do is to get the ATtiny "core files" for the Arduino&amp;nbsp;environment. There are several&amp;nbsp;out there - each supporting more or less of the standard Arduino features. Core files, and instructions on how to get started with the Tiny85 can be found &lt;a href="http://hlt.media.mit.edu/wiki/pmwiki.php?n=Main.ArduinoATtiny4585" target="_blank"&gt;here&lt;/a&gt;,&amp;nbsp;however, I prefer the core files from &lt;a href="http://code.google.com/p/arduino-tiny/" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;You can use the &lt;a href="http://arduino.cc/en/Tutorial/ArduinoISP" target="_blank"&gt;ArduinoISP&lt;/a&gt; as a way of downloading the sketch into the ATtiny. I've used it and it works fine - just be sure to &lt;span class="Apple-style-span" style="color: red;"&gt;disable the automatic reboot after load!&lt;/span&gt;&amp;nbsp;For me, an easy way to do that is to use a serial cable instead of the USB cable. However, there are &lt;a href="http://www.arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection" target="_blank"&gt;other ways&lt;/a&gt; to do it. Keep in mind, you only need to hit reset when you load the&amp;nbsp;ArduinoISP on to your Arduino. Once it's an ISP, change the Board type to ATTiny85, and just hit "Upload" (don't press "reset"). After you work with the ArduinoISP a while, I think you will want a &lt;a href="http://www.sparkfun.com/products/9825" target="_blank"&gt;real ISP Programmer&lt;/a&gt; to load the ATtiny. They are cheap and much easier!&lt;br /&gt;&lt;br /&gt;Finally, get at least the TinyWireM "master" library for this project. I made a Playground article that explains this library and has a link to download it. The &lt;a href="http://www.arduino.cc/playground/Code/USIi2c" target="_blank"&gt;Playground article is here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;OK, almost done. To get the source code for the new&amp;nbsp;X10 Remote Temperature Transmitter, you can &lt;a href="http://dl.dropbox.com/u/3572198/X10_Remote_Temp_ATtiny_V2.zip" target="_blank"&gt;download it here&lt;/a&gt;. &lt;i&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: orange;"&gt;(a new version as of 3/13/11)&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;stopped for="" now=""&gt;&lt;/stopped&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-7295486624115666120?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/7295486624115666120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2011/01/x10-remote-temperature-redux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/7295486624115666120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/7295486624115666120'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2011/01/x10-remote-temperature-redux.html' title='X10 Remote Temperature - Redo'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Jo2jym9csB0/TTu4nNYwDpI/AAAAAAAACMM/pa96hMU7Qwc/s72-c/X10+Remote+Redux.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-6510994736236332964</id><published>2010-10-16T23:52:00.019-06:00</published><updated>2010-11-21T17:49:54.272-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='X10 Controller'/><category scheme='http://www.blogger.com/atom/ns#' term='Home Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='RF x10 Receiver'/><title type='text'>Receiving X10 RF Transmissions (Updated 11/21/10)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://dl.dropbox.com/u/3572198/315MHz%20Receiver.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="86" src="http://dl.dropbox.com/u/3572198/315MHz%20Receiver.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;For me, at least, this was the last piece of the open hardware X10 puzzle. In this blog you'll find open hardware projects that receive and transmit PLC (powerline) signals, as well as &lt;i&gt;transmitting&lt;/i&gt; X10 RF signals (via the CM17A). Now sitting in front of me, is an off the shelf 315MHz &lt;i&gt;receiver&lt;/i&gt; (detuned to 310Mhz),&amp;nbsp;happily&amp;nbsp;beeping away each time a warm body crosses an X10 motion detector.&lt;br /&gt;&lt;br /&gt;The receiver is from &lt;a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8948" target="_blank"&gt;Sparkfun&lt;/a&gt;, but any similar receiver should work. The key is to get one with a tuning slug as opposed to a crystal. The software that interfaces the receiver to the Arduino is from a suite of X10 libraries written by ThomasM. You can find the whole suite (PLC transmit &amp;amp; receive, RF receive, and IR receive)&amp;nbsp;&lt;a href="http://load-8-1.blogspot.com/2010_06_01_archive.html" target="_blank"&gt;here&lt;/a&gt;. Having written an earlier version of&amp;nbsp;PLC receive, I'd&amp;nbsp;recommend his version for PLC receive and transmit as well.&lt;br /&gt;&lt;br /&gt;So lets get started. Get a &amp;nbsp;315MHz receiver, wire it up per the data sheet, get&amp;nbsp;Thomas's libraries and his&amp;nbsp;&lt;a href="http://code.google.com/p/arduino-x10/source/browse/#svn/trunk/Sketch/X10_test" target="_blank"&gt;example sketch&lt;/a&gt;, (or get the "test &amp;amp; calibrate" sketch I made &lt;a href="http://dl.dropbox.com/u/3572198/X10_RF_RCVR_CAL.pde" target="_blank"&gt;here&lt;/a&gt;). Press a key on an X10 RF remote. It should work right away, but only at close range.&lt;br /&gt;&lt;br /&gt;So the next step is to tune this receiver closer to 310MHz. You'll want to start by adding an antenna. &lt;a href="http://forums.x10.com/index.php?topic=17920.5;wap2" target="_blank"&gt;This page&lt;/a&gt; gave me the following lengths (in inches) for a vertical wire antenna at 310MHz:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;1/4 wave - 9 1/16"&lt;/li&gt;&lt;li&gt;1/2 wave - 18 1/8"&lt;/li&gt;&lt;li&gt;full wave - 36 1/4"&lt;/li&gt;&lt;/ul&gt;I started with 1/4 wave&amp;nbsp;whip&amp;nbsp;antenna, but the ultimate may be the "egg beater" antenna posted by &lt;a href="http://davehouston.org/eggbeater.htm" target="_blank"&gt;Dave Houston&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now it's time to tune the receiver to 310Mhz. I don't have a scope, and I found that a sound card scope was of little help, since the signal is clipped to soundcard inputs, so I came up with two alternate methods.&lt;br /&gt;&lt;br /&gt;The first method I tried was to simply connect the output (data pin) of the receiver to the Aux-in on my PC. You will hear a lot of noise! (This is due to the AGC built into the receiver.) However you will clearly hear the RF signal when you push a button on an X10 RF remote - as long as it's close and pointing at the antenna. Pointing the remote away from the antenna gave a fainter signal, and moving it further away made it even fainter. So with the faint signal, I simply turned the tuning slug until I got a clearer sound in the speakers when I pushed a button on the remote.&amp;nbsp;Not very scientific, but it seemed to do the job.&amp;nbsp;(I started by turning the slug CCW - &lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1282815280/26#26" target="_blank"&gt;this&lt;/a&gt; post said ~160° CCW.)&lt;br /&gt;&lt;br /&gt;Later I used a different method which seemed to be more "real word". I made the "test &amp;amp; calibrate sketch" linked above. It simply beeps a piezo and outputs to serial whenever the receiver has a good read. Then I clamped a button down on an X10 RF Remote (HR12A) so it would&amp;nbsp;continuously&amp;nbsp;transmit, &amp;nbsp;and located it at&amp;nbsp;varying&amp;nbsp;distances from the&amp;nbsp;receiver. While listening for the beeps, I adjusted the tuning slug for good reads at the furthest distance.&lt;br /&gt;&lt;br /&gt;While using the second method, I also played around with antennas.&amp;nbsp;&amp;nbsp;The 1/4 wave&amp;nbsp;whip&amp;nbsp;antenna really didn't seem to do much, and I couldn't pick up signals if the transmitter was outside my house. Then I tried a 36 1/4" &amp;nbsp;piece of twisted pair from a phone cable. One wire to the ANT pin on the receiver and the other to GND. This made a big&amp;nbsp;difference, and the grounded lead contributed to the&amp;nbsp;difference.&lt;br /&gt;&lt;br /&gt;That's about where I am at this point. Interfaced to the example sketch&amp;nbsp;I can receive RF signals from the motion sensors on my front and back doors. There's more about this in last half of &lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1282815280/0" target="_blank"&gt;this thread&lt;/a&gt; in the Arduino forum.&lt;br /&gt;&lt;br /&gt;Not sure at this point where I want to go with this - perhaps a "whole house" X10 receiver with some other goodies, or some little dedicated device. We'll see.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-6510994736236332964?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/6510994736236332964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2010/10/receiving-x10-rf-transmissions.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/6510994736236332964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/6510994736236332964'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2010/10/receiving-x10-rf-transmissions.html' title='Receiving X10 RF Transmissions (Updated 11/21/10)'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-4003508797804459354</id><published>2010-04-04T13:51:00.021-06:00</published><updated>2011-04-25T07:56:39.021-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='~'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='Geiger Counter'/><title type='text'>Geiger Counter - Part 2 (complete)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://dl.dropbox.com/u/3572198/Geiger%20Front.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://dl.dropbox.com/u/3572198/Geiger%20Front.JPG" width="168" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: orange;"&gt;[Edit 4/10/11] This project is now available in kit form - with PCB and parts. Please &lt;/span&gt;&lt;a href="https://sites.google.com/site/diygeigercounter/home"target="_blank"&gt;&lt;span class="Apple-style-span" style="color: yellow;"&gt;click here&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="color: orange;"&gt; for more information.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This post describes how I went about&amp;nbsp;integrating&amp;nbsp;the circuit described in the &lt;a href="http://brohogan.blogspot.com/2010/02/geiger-counter.html"&gt;previous post&lt;/a&gt; with an Arduino and a LCD display.&lt;br /&gt;&lt;br /&gt;I put it all into an old laptop power supply case - not my best work, but as we said in Arkansas, "it ain't no piano". It does have a nice sturdy feel though.&lt;br /&gt;&lt;br /&gt;After&amp;nbsp;experimenting&amp;nbsp;with an LED&amp;nbsp;bar graph&amp;nbsp;and a Nokia 3310 cell phone display, I settled on a simple and cheap 8x2 LCD display from&lt;a href="http://www.sureelectronics.net/goods.php?id=122" target="_blank"&gt; Sure Electronics&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;First I moved the Geiger circuit off the breadboard and on to a proto board.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://dl.dropbox.com/u/3572198/Geiger%20Tube%20Board.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" height="95" src="http://dl.dropbox.com/u/3572198/Geiger%20Tube%20Board.JPG" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;I kept things fairly tight which left a&amp;nbsp;little&amp;nbsp;room for future expansion. The piezo is mounted on the bottom of the board. I cut an opening in the bottom of the case under the tube.&lt;br /&gt;&lt;br /&gt;On the other side of the case, I added the batteries, display and a small board for the Arduino MCU. It's just a simple &lt;a href="http://art364.pbworks.com/Standalone+Arduino" target="_blank"&gt;stand-alone Arduino circuit&lt;/a&gt; using a resonator.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://dl.dropbox.com/u/3572198/Geiger%20Inside.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" height="184" src="http://dl.dropbox.com/u/3572198/Geiger%20Inside.JPG" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;There are also 2 slide switches on the bottom - one to turn off the piezo, and the other to turn off the Arduino and display to save batteries. A salvaged push button on top turns the whole thing on and off.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The code counts the interrupts from the tube for a period of time, and displays the counts /&amp;nbsp;minute as a value on the 1st line and as a bar graph on the second. I adapted the code&amp;nbsp;for the bar graph from&amp;nbsp;&lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1264215873/0" target="_blank"&gt;DeFex&lt;/a&gt;&amp;nbsp;. It's nice&amp;nbsp;because&amp;nbsp;it uses custom&amp;nbsp;characters&amp;nbsp;to make partial blocks.&lt;br /&gt;&lt;br /&gt;I used two different counting periods - a longer period when the CPM is below 100 (counting background radiation) and a shorter period when there is more activity. You can download the code &lt;a href="http://dl.dropbox.com/u/3572198/Geiger_Counter%20Source%20Code.zip"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Here is the&amp;nbsp;obligatory short movie . . .&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/OcwOYpYRBZM&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/OcwOYpYRBZM&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;It was a nice surprise to find our bathroom tile was hot. (Should help kill the&amp;nbsp;germs!) Since the house was built in the '20s, I imagine it's uranium green glaze.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Arial, sans-serif; font-size: 13px; font-weight: bold; line-height: 20px;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-4003508797804459354?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/4003508797804459354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2010/04/geiger-counter-part-2-complete.html#comment-form' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/4003508797804459354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/4003508797804459354'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2010/04/geiger-counter-part-2-complete.html' title='Geiger Counter - Part 2 (complete)'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-966826434501918297</id><published>2010-02-28T11:10:00.109-07:00</published><updated>2011-04-25T07:55:43.810-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='~'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='Geiger Counter'/><title type='text'>Geiger Counter - Part 1</title><content type='html'>&lt;span class="Apple-style-span" style="color: orange;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: black; font-weight: normal;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: orange;"&gt;[Edit 4/10/11] This project is now available in kit form - with PCB and parts. Please&amp;nbsp;&lt;/span&gt;&lt;a href="https://sites.google.com/site/diygeigercounter/home" target="_blank"&gt;&lt;span class="Apple-style-span" style="color: yellow;"&gt;click here&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="color: orange;"&gt;&amp;nbsp;for more information.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: orange;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;I guess I'm a "metroholic".&lt;br /&gt;I've always been&amp;nbsp;fascinated&amp;nbsp;with&amp;nbsp;measurement&amp;nbsp;tools, so building a Geiger counter seemed like a logical thing to do. I will describe the build process here - even though the Arduino only plays small part, and that only a truly sick person (which I guess I am) would consider a Geiger counter as part of a Home Automation project.&lt;br /&gt;&lt;br /&gt;"All work is&amp;nbsp;derivative" and I owe the basic HV circuit to Jim Remington's &lt;a href="http://forum.pololu.com/viewtopic.php?f=6&amp;amp;t=1453" target="_blank"&gt;Pololu article&lt;/a&gt;&amp;nbsp;(where he mentions he derived the circuit from Tom Napier).&amp;nbsp;To this, I contributed a nice "click" circuit, but more importantly, the sources, tips, and background that is helpful when building your own.&lt;br /&gt;&lt;br /&gt;If you don't have a Geiger tube laying around in your junk drawer, you will have to order one. But the important thing is that you can build and test your circuit while you are waiting for that package from Russia.&lt;br /&gt;&lt;br /&gt;The Geiger tube I settled on was the SBM-20. I ordered mine on &lt;a href="http://shop.ebay.ca/?_from=R40&amp;amp;_trksid=m570&amp;amp;_nkw=SBM-20" target="_blank"&gt;eBay&lt;/a&gt;. You can also get it at the &lt;a href="http://www.goldmine-elec-products.com/prodinfo.asp?number=G17339" target="_blank"&gt;Electronic Goldmine&lt;/a&gt; (and even a &lt;a href="http://www.goldmine-elec-products.com/prodinfo.asp?number=C6979" target="_blank"&gt;whole kit&lt;/a&gt;). Later, I found &lt;a href="http://www.gstube.com/catalog/9/" target="_blank"&gt;this source&lt;/a&gt; for all tubes Russian, (and the best specs and prices on Geiger tubes). I am very happy with the SSBM-20. I originally tried a smaller glass tube - the &lt;a href="http://cgi.ebay.com/Russian-Military-GEIGER-TUBE-COUNTER-CI-3BG-Lot-1-NOS/350313252529" target="_blank"&gt;CI-3BG&lt;/a&gt; - but found it much less sensitive - especially to beta&amp;nbsp;particles.&lt;br /&gt;&lt;br /&gt;There are 2 types of tubes. Those that have a mica window are the most sensitive. They will detect alpha and beta&amp;nbsp;particles as well a gamma rays. Because of the mica, they are more fragile and generally are more expensive. The other type, like the&amp;nbsp;SSBM-20 which I used, have only the metal jacket. They will detect gamma rays (the most&amp;nbsp;penetrating) and some beta&amp;nbsp;particles (more easily stopped). Considering&amp;nbsp;the&amp;nbsp;SSBM-20 is all metal, it does a good job with beta - as long as you put the sample right on the tube.&amp;nbsp;Uranium is a big beta emitter, so some sensitivity to beta is a good thing.&lt;br /&gt;&lt;br /&gt;As far as the circuit goes, you'll find&amp;nbsp;several&amp;nbsp;types on the internet. (One I also liked is&amp;nbsp;&lt;a href="http://www.techlib.com/science/geiger.html" target="_blank"&gt;here&lt;/a&gt;.)&amp;nbsp;The&amp;nbsp;first circuit I tried used a 1:1 transformer, but I preferred&amp;nbsp;to go with a simple inductor instead. I also liked Jim's circuit because it works with a range supply voltages and uses very little current from the battery.&amp;nbsp;Originally, I wanted the Arduino to be the&amp;nbsp;oscillator instead of the 555, however, later I decided that I&amp;nbsp;preferred&amp;nbsp;the Geiger to run&amp;nbsp;independently, and use the Arduino only for counting and display purposes. For the audio output, I had a good time designing my own based on what I learned on-line.&lt;br /&gt;&lt;br /&gt;OK, you've been patient, here's the schematic . . .&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://dl.dropbox.com/u/3572198/Geiger%20Schematic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" height="244" src="http://dl.dropbox.com/u/3572198/Geiger%20Schematic.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;You can download the image, and you can also get the Eagle files &lt;a href="http://dl.dropbox.com/u/3572198/Geiger%20Counter%20Eagle.zip"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;On the left is pretty much Jim's circuit without the extra HV shutdown transistor. The 555 is used in an unusual way - it varies the duty cycle based on the input voltage. I tested 4-9V on input. The oscillator (~4KHz) is used with the inductor as a charge pump.&lt;br /&gt;&lt;br /&gt;Q2 and D2 are the only critical type components. Q2 must be a high voltage&amp;nbsp;transistor&amp;nbsp;- the MPSA42 is a common type and works nicely. D2 is a "high efficency" or "ultra fast" diode. A regular diode will not work. On the schematic, I have listed some substitutions I've tried that worked. You might find a diode of this type in a PC switching power supply. R7 adjusts the high voltage, and seems to be pretty touchy about it's value - too low or too high and no HV. I bought most of the parts at Electronic Goldmine including the &lt;a href="http://www.goldmine-elec-products.com/prodinfo.asp?number=G16604" target="_blank"&gt;inductor&lt;/a&gt;.&lt;br /&gt;&lt;span class="Apple-style-span" style="color: orange;"&gt;[Edit 4/2/11] Also note that I used the &lt;u&gt;CMOS&lt;/u&gt; version of the 555 timer - TLC555CP. If you use the bipolor version (uses more current) LM555 or NE555 you will need to adjust some values.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I labeled a HV Test Point. You want about 500VDC through the tube. But here's the rub, it's only a few micro amps, so most DMM's will load the circuit too much to measure it. If you measure around 200VDC you're doing fine. Don't even bother trying to measure across the tube - the 5.7M will drop everything.&lt;br /&gt;&lt;br /&gt;Another tip is that the Geiger tube won't work if you leave your DMM connected to the HV test point. In short, you need a very good DMM or faith.&lt;br /&gt;&lt;br /&gt;Finally, I wouldn't advise soldering leads directly to the ends of the tube. You run the risk of loosing the vacuum or otherwise damaging the tube. Use some sort of clip, or wrap&amp;nbsp;several&amp;nbsp;turns of wire around the ends.&lt;br /&gt;&lt;br /&gt;While waiting for my tube, I tested by touching the wires that would go to it. (Two fingers on the same hand.) It's 500V but just a tiny amount of current. I could not even feel the voltage, but heard the click and got the interrupt. &lt;i&gt;For obvious reasons, &lt;u&gt;I can not&amp;nbsp;recommend&amp;nbsp;this procedure&lt;/u&gt;, and I'm just describing what I did.&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;You will&amp;nbsp;probably&amp;nbsp;need to&amp;nbsp;tweak&amp;nbsp;the click circuit based on what type of "click" you like, and the resonant frequency of your particular piezo. R14/C7 controls the length of the click and R15/C6 controls the frequency of the click. The phase inverter (IC2B and IC2C) is used to get the most deflection out of the piezo and hence the loudest sound. For the inverters, be sure to use a logic family that provides enough current at the outputs. I had bad luck with the "LS" family and used the "ACT" family (i.e. SN74ACT14N) but the "HC" family should &amp;nbsp;also work (i.e. 74HC14N).&lt;br /&gt;&lt;br /&gt;Once the circuit is built it's fun to play&amp;nbsp;around&amp;nbsp;with. With mine, I get around 35 CPM (Counts / Minute) background - a basement in Colorado,&amp;nbsp;probably&amp;nbsp;with Radon gas. Of course you will likely tear open a smoke detector and get the Am241 pellet out of it (600 CPM) and buy some&amp;nbsp;Uraninite&amp;nbsp;on eBay (350 CPM). &lt;span class="Apple-style-span" style="color: orange;"&gt;[&lt;b&gt;Edit 11/2010&lt;/b&gt;: Just tested some lantern mantles (Thorium-238) I got from &lt;a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;item=350375957276&amp;amp;ssPageName=STRK:MEWNX:IT#ht_2616wt_1026" target="_blank"&gt;this guy&lt;/a&gt; - got up to &lt;b&gt;6000 CPM&lt;/b&gt;.]&lt;/span&gt; The entire circuit consumes less than 3mA @ 5V in normal background.&lt;br /&gt;&lt;br /&gt;The&amp;nbsp;interrupt&amp;nbsp;(before D3) goes low for about 150uS for each event. I made a simple Arduino sketch to count the events and calculate CPM. You can download it &lt;a href="http://dl.dropbox.com/u/3572198/Geiger_Counter_Ex.zip"&gt;here&lt;/a&gt;. Later, I'll involve the Arduino more - building it into the case, and running a little 8x2 LCD display. Note that the Geiger counter&amp;nbsp;module&amp;nbsp;is totally standalone, so you can stop with that if you want.&lt;br /&gt;&lt;br /&gt;For Home Automation, I picture it sitting on my roof with a CM17A periodically transmitting the current background radiation to the &lt;a href="http://brohogan.blogspot.com/2009/10/building-case-for-nex10.html" target="_blank"&gt;Nex10&lt;/a&gt; box in my house (similar to the &lt;a href="http://brohogan.blogspot.com/2009/05/x10-wireless-temperature-transmitter.html" target="_blank"&gt;Wireless Temperature Transmitter&lt;/a&gt;).&amp;nbsp;Then, if the radiation exceeds a threshold, I can dim the lights in the living room!&lt;br /&gt;&lt;br /&gt;&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9857550&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=9857550&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;See Part II post above with added MCU board, display, and finished enclosure.&amp;nbsp;But here is an intermediate step with just the Geiger circuit in a case . . .&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://dl.dropbox.com/u/3572198/Geiger%20in%20basic%20case.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" height="377" src="http://dl.dropbox.com/u/3572198/Geiger%20in%20basic%20case.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;A quick movie in it's&amp;nbsp;intermediate&amp;nbsp;state . . .&lt;br /&gt;&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=10298256&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=10298256&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-966826434501918297?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/966826434501918297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2010/02/geiger-counter.html#comment-form' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/966826434501918297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/966826434501918297'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2010/02/geiger-counter.html' title='Geiger Counter - Part 1'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-2838349031738777316</id><published>2009-12-09T14:29:00.019-07:00</published><updated>2010-09-15T16:43:16.557-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Telephone Interface'/><title type='text'>Telephone Interface (updated 12/30/09)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Jo2jym9csB0/SyAUmOMXY4I/AAAAAAAAA7c/fFTXDbCNgy8/s1600-h/Phone+Interface.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Jo2jym9csB0/SyAUmOMXY4I/AAAAAAAAA7c/fFTXDbCNgy8/s200/Phone+Interface.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;This project describes an Arduino/MCU interface to a telephone land-line. It's only been tested on a US version of the telephone system, but hopefully it will apply to the phone system in other countries.&lt;br /&gt;&lt;br /&gt;The &lt;i&gt;basic&lt;/i&gt; idea was to allow the MCU to make calls by transmitting DTMF tones, and to receive and decode DTMF tones (keystrokes) made on the phone that was called.&lt;br /&gt;&lt;br /&gt;There are other&amp;nbsp;possibilities&amp;nbsp;however. Using the complete interface, it should be possible for the MCU to answer calls, and to transmit "room sounds" picked up by a microphone to the other phone.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;If you're only interested in sending and receiving DTMF tones and not interfacing to a phone line, you can skip the next dozen or so paragraphs. The schematics and code samples will still apply.&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;It all begins with the interface to the actual telephone line. Unfortunately this is trickiest part!&lt;br /&gt;&lt;br /&gt;There are two reasons for this:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Phone lines require a 600 Ohm "balanced line". You can't just slap any old circuit between your "TIP" and "Ring".&lt;/li&gt;&lt;li&gt;&lt;b&gt;It's illegal!&lt;/b&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;Lets start with #2. Here I'm speaking from a US and Canadian perspective, but I'm sure it's similar in many &lt;/span&gt;countries. In the US, it's FCC Part 68 that makes it illegal to connect any unapproved device across your phone lines. So what can they do? Well, I'm sure it's much worse than tearing off that tag on your&amp;nbsp;mattress. &amp;nbsp;I've read that if you create a problem that must be investigated by the phone company, and it's due to a little&amp;nbsp;circuit you&amp;nbsp;whipped&amp;nbsp;together - your&amp;nbsp;financially&amp;nbsp;liable to cover the cost of the phone companies time. And it's relatively easy to do&amp;nbsp;horrible&amp;nbsp;things to your phone line during the process of creating an interface, and that leads to point #1.&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When you Google "phone interface" you'll be drinking from a&amp;nbsp;fire hose&amp;nbsp;of circuits, methods, and projects. I spent a lot of time researching them, and did indeed come up with an interface that "worked". However, what I ended up with, struck me as being sensitive to component values, and somewhat "fragile". By this I mean, for example, that the correct "polarity"&amp;nbsp;for TIP and RING was required. Given that the line should be "balanced" I felt like I disturbed the balance of the force. In short, after all of my experience with electronics, I felt like I was over my head with the interface I came up with. Ironic considering you're dealing with a system that has been around for so long.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For those who want to ignore points 1 &amp;amp; 2 above, here are some of the best resources I found, as well as the schematic for the "working" interface I was using. Big&amp;nbsp;disclaimer&amp;nbsp;here!&amp;nbsp;&lt;b&gt;I do not&amp;nbsp;recommend building your own unapproved interface. Furthermore, I am not responsible for anything you do with any information I am providing. Everything here you use at your own risk.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Some of the telephone interface links I found helpful are:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Good introduction -&amp;nbsp;&lt;a href="http://www.rane.com/pdf/ranenotes/Interfacing%20Audio%20and%20Pots.pdf" rel="nofollow" style="color: #4e7dbf; outline-color: initial; outline-style: none; outline-width: initial;" target="_blank"&gt;here&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Project examples -&amp;nbsp;&lt;a href="http://www.elektronika.ba/505/phone-call-alerter/" rel="nofollow" style="color: #4e7dbf; outline-color: initial; outline-style: none; outline-width: initial;" target="_blank"&gt;here&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://users.tpg.com.au/users/talking/DialAlarm-1-Page1.html" rel="nofollow" style="color: #4e7dbf; outline-color: initial; outline-style: none; outline-width: initial;" target="_blank"&gt;here&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Other info -&amp;nbsp;&lt;a href="http://www.educypedia.be/electronics/circuitstelephone.htm" rel="nofollow" style="color: #4e7dbf; outline-color: initial; outline-style: none; outline-width: initial;" target="_blank"&gt;here&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://massis.lcs.mit.edu/telecom-archives/archives/technical/phone.patches" rel="nofollow" style="color: #4e7dbf; outline-color: initial; outline-style: none; outline-width: initial;" target="_blank"&gt;here&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://english.cxem.net/telephone/telephone25.php" rel="nofollow" style="color: #4e7dbf; outline-color: initial; outline-style: none; outline-width: initial;" target="_blank"&gt;here&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Just looking at the variety of this information should give you an idea what your up against when rolling your own POTS interface. The interface that I&amp;nbsp;&lt;i&gt;&lt;span style="text-decoration: underline;"&gt;tried&lt;/span&gt;&lt;/i&gt;&amp;nbsp;is &lt;a href="http://farm3.static.flickr.com/2646/4170130685_7420134b1e_o.png"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Not a very&amp;nbsp;encouraging&amp;nbsp;beginning is it?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Enter the "&lt;i&gt;Direct Access&amp;nbsp;Arrangement&lt;/i&gt;"&amp;nbsp;&lt;a href="http://lmgtfy.com/?q=DAA+Module" rel="nofollow" style="color: #4e7dbf; outline-color: initial; outline-style: none; outline-width: initial;" target="_blank"&gt;DAA&lt;/a&gt;. This little module is an FCC&amp;nbsp;Part 68 approved interface. Does it make everything OK? I don't think so - it really just makes it a lot easier for you to get&amp;nbsp;&lt;i&gt;your&lt;/i&gt;&amp;nbsp;device FCC approved. Will it give you peace of mind? You bet. After switching to a DAA, the TIP and RING polarity did not matter, and everything seems to be much more solid - calls go through 100% of the time. The DAA also saves you from buying an isolation transformer,&amp;nbsp;relay, transistor, and a large&amp;nbsp;capacitor.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The problem is getting your hands on one without having to special order 54 of them from Mouser, etc. After a lot of searching, the best deal I found, for my use, was for a Cermetek&amp;nbsp;&lt;a href="http://www.cermetek.com/catalog/Telephone-Line-Interface/DataSheet/CH1817_607-0007.pdf" rel="nofollow" style="color: #4e7dbf; outline-color: initial; outline-style: none; outline-width: initial;" target="_blank"&gt;CH1817-LM&lt;/a&gt;&amp;nbsp;(discontinued) on eBay -&amp;nbsp;&lt;a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;item=390124087296&amp;amp;ssPageName=STRK:MEWAX:IT#ht_1028wt_958" rel="nofollow" style="color: #4e7dbf; outline-color: initial; outline-style: none; outline-width: initial;" target="_blank"&gt;here&lt;/a&gt;. It will cost you $15-$18 shipped.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Note: If your interested in&amp;nbsp;capturing caller ID, I don't think this is the DAA for you. However, while searching I did see some that will output CID.&amp;nbsp;I also ran across the Holtek&amp;nbsp;&lt;/i&gt;&lt;a href="http://www.holtek.com/pdf/comm/9032v141.pdf" rel="nofollow" style="color: #551a8b; outline-color: initial; outline-style: none; outline-width: initial;" target="_blank"&gt;&lt;i&gt;HT9032C&lt;/i&gt;&lt;/a&gt;&lt;i&gt;&amp;nbsp;which looks like an interesting CID chip, but they seem to be hard to find.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sorry if the above was long and detailed. I wrote it in the interest of saving you a lot of time. However, as always, YMMV.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once connected to the phone line, I wanted to do&amp;nbsp;several&amp;nbsp;things:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Have the Nex10 dial my cell when an event ("macro") was triggered.&lt;/li&gt;&lt;li&gt;Leave a message - a series of beeps.&lt;/li&gt;&lt;li&gt;Optionally be able to listen in on the room noise from the called phone. (work in progress)&lt;/li&gt;&lt;li&gt;Capture any key presses I made from my cell. (Not sure how I want to use this yet.)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Note that currently all the communication is&amp;nbsp;&lt;i&gt;initiated&lt;/i&gt;&amp;nbsp;by the Nex10. In fact, it is possible to use the RI (ring&amp;nbsp;indicator) on the DAA to&amp;nbsp;&lt;i&gt;answer&lt;/i&gt;&amp;nbsp;calls with the Nex10. (No plans yet for this.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To do the things above, I used 2 chips from Holtek - an&amp;nbsp;&lt;a href="http://www.holtek.com.tw/pdf/comm/9200v141.pdf" rel="nofollow" style="color: #4e7dbf; outline-color: initial; outline-style: none; outline-width: initial;" target="_blank"&gt;HT9200B&lt;/a&gt;&amp;nbsp;DTMF generator to dial the call, and a&amp;nbsp;&lt;a href="http://www.holtek.com/pdf/comm/9170v111.pdf" rel="nofollow" style="color: #4e7dbf; outline-color: initial; outline-style: none; outline-width: initial;" target="_blank"&gt;HT9170B&lt;/a&gt;&amp;nbsp;DTMF receiver to read the key presses once connected. Both are less than 70¢ each at&amp;nbsp;&lt;a href="http://www.futurlec.com/ICSFOthers.shtml" rel="nofollow" style="color: #4e7dbf; outline-color: initial; outline-style: none; outline-width: initial;" target="_blank"&gt;Futurlec&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I wired both chips per the datasheets and ran the HT9240B in serial mode. Here is my &lt;a href="http://dl.dropbox.com/u/3572198/Nex10%20Dialer%201.5.png"&gt;schematic&lt;/a&gt;&amp;nbsp;and an Arduino &lt;a href="http://dl.dropbox.com/u/3572198/DTMF_Example.zip"&gt;example sketch&lt;/a&gt;&amp;nbsp;for for the project at that point.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I could have stopped there, but even with serial mode, the interface to the MCU required 8 pins + power. I also want the Nex10 to accept "plug-in modules" - so an I2C interface seemed like the way to go.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I picked the&amp;nbsp;&lt;a href="http://www.nxp.com/documents/data_sheet/PCF8574.pdf" rel="nofollow" style="color: #4e7dbf; outline-color: initial; outline-style: none; outline-width: initial;" target="_blank"&gt;PCF8574&lt;/a&gt;&amp;nbsp;I2C GPIO chip to go between the MCU and the DTMF chips. It's also available at&amp;nbsp;&lt;a href="http://www.futurlec.com/ICSFPhilips.shtml" rel="nofollow" style="color: #4e7dbf; outline-color: initial; outline-style: none; outline-width: initial;" target="_blank"&gt;Futurlec&lt;/a&gt;&amp;nbsp;and is also wired per the datasheet.&amp;nbsp;(Note: the PC&lt;b&gt;&lt;span style="text-decoration: underline;"&gt;A&lt;/span&gt;&lt;/b&gt;8574 is a newer version and runs at the faster I2C speed but was not carried by Futurlec.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Both the DTMF receiver and the I2C GPIO have a nice feature that sets an&amp;nbsp;interrupt&amp;nbsp;line when new data is received. I wanted to use the INT line on the GPIO. However, because the DTMF receiver latches it's output, there was no easy way to read multiple presses of the same key. So, I am currently using the interrupt on the DTMF receiver (DV). Either way an external interrupt is triggered when new tones are received. This saves me from having to poll for changes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Using the I2C GPIO with the interrupt line saves 5 pins on the MCU.&amp;nbsp;Here is the current &lt;a href="http://dl.dropbox.com/u/3572198/Nex10%20Dialer%202.png"&gt;schematic&lt;/a&gt;&amp;nbsp;and &lt;a href="http://dl.dropbox.com/u/3572198/Nex10%20Dialer%202.zip"&gt;Eagle files&lt;/a&gt;. And here is the current example &lt;a href="http://dl.dropbox.com/u/3572198/DTMF_GPIO_Example.zip"&gt;sketch&lt;/a&gt;&amp;nbsp;for the completed project using the DAA, DTMF, and GPIO.&lt;br /&gt;&lt;br /&gt;The short movie below discribes the state of the project before adding the GPIO. (Looks the same now - only less wires to the Arduino.)&lt;br /&gt;&lt;br /&gt;Enjoy&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8068055&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=8068055&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-2838349031738777316?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/2838349031738777316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2009/12/telephone-interface.html#comment-form' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/2838349031738777316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/2838349031738777316'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2009/12/telephone-interface.html' title='Telephone Interface (updated 12/30/09)'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Jo2jym9csB0/SyAUmOMXY4I/AAAAAAAAA7c/fFTXDbCNgy8/s72-c/Phone+Interface.jpg' height='72' width='72'/><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-111163196693655029</id><published>2009-10-19T17:49:00.036-06:00</published><updated>2010-03-30T10:15:09.031-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='X10 Controller'/><category scheme='http://www.blogger.com/atom/ns#' term='Home Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Nex10'/><title type='text'>Building a Case for the Nex10</title><content type='html'>&lt;a href="http://farm3.static.flickr.com/2525/4024529226_8d3e9ddf3c_m.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://farm3.static.flickr.com/2525/4024529226_8d3e9ddf3c_m.jpg" style="cursor: hand; cursor: pointer; float: left; height: 142px; margin: 0 10px 10px 0; width: 240px;" /&gt;&lt;/a&gt;Sounds like something a lawyer would say.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Building this case took a solid weekend.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The wood is walnut. I know this wood well because 25 years ago it was a tree on our land in Arkansas.  We had to cut down some walnuts to make room for the house and we hauled them to the mill and had them cut into boards. For me, it's a nice mix of the past and present.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I planned a board down to 5/16", cut it up, and mitered the ends. Then I glued up a box.&lt;/div&gt;&lt;div&gt;&lt;img alt="" border="0" src="http://farm3.static.flickr.com/2786/4024525796_7b102815a3_m.jpg" target="_blank" style="cursor: hand; cursor: pointer; float: right; height: 196px; margin: 0 0 10px 10px; width: 240px;" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;The board was wide enough to make 2 boxes. I also made the acrylic front using acetone to chemically wield two black strips that hold the 8x32 matrix in place. The IR sensor is glued over a small hole drilled in the top black strip.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I got a few gaps in the wield which show up as shinny spots on the black strips. Next time a little more acetone and better clamping. I used tripoli abrasive on a buffing wheel to finish the edges.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To make the box stronger, and more interesting, I added ebony splines in the corners. I do this with a jig I made for my router table. Its kind of a sled that holds the box at 45° (&lt;a href="http://farm3.static.flickr.com/2705/4024526550_f63e490b8c.jpg" target="_blank"&gt;photo&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After cutting off the excess ebony (&lt;a href="http://farm3.static.flickr.com/2640/4024528450_907a6e0ab0.jpg" target="_blank"&gt;photo&lt;/a&gt;), I rounded all the corners with the router.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On the inside of the box there's a platform that holds the board in position to line up the SD socket with a slot in the side of the case (&lt;a href="http://farm4.static.flickr.com/3177/4030526313_8f2b0d01ff_b.jpg" target="_blank"&gt;photo&lt;/a&gt;). I used the router to cut the slot, and a little sanding drum to make the recess in the case for fingers to get at the card (&lt;a href="http://farm3.static.flickr.com/2435/4030525419_2012c96edd.jpg" target="_blank"&gt;photo&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A back cover of clear acrylic was made to fit into a rabbet cut around the back of the box. A power jack and an RJ14  jack for the PSC05 was added to the back. There's also a hole for the USB cable when I'm developing (&lt;a href="http://farm3.static.flickr.com/2545/4031280118_a6b14106f9.jpg" target="_blank"&gt;photo&lt;/a&gt;). &lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;"&gt;(Later I added a wood dowel with a hole that fits over the stem of the reset button to bring it out to the back of the case (&lt;a href="http://farm4.static.flickr.com/3052/4043208198_46bdb4f00e.jpg" target="_blank"&gt;photo&lt;/a&gt;).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The box was finished with a light coat of tung oil varnish. (&lt;a href="http://farm3.static.flickr.com/2623/4031280910_55e2101c65_b.jpg" target="_blank"&gt;photo&lt;/a&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Finally, the obligatory video . . .&lt;/div&gt;&lt;div&gt;&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8069841&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=8069841&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-111163196693655029?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/111163196693655029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2009/10/building-case-for-nex10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/111163196693655029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/111163196693655029'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2009/10/building-case-for-nex10.html' title='Building a Case for the Nex10'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2525/4024529226_8d3e9ddf3c_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-1130758344729677521</id><published>2009-10-16T09:58:00.046-06:00</published><updated>2010-03-25T12:22:19.685-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='X10 Controller'/><category scheme='http://www.blogger.com/atom/ns#' term='Home Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Nex10'/><title type='text'>Nex10 Functionality</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_Jo2jym9csB0/StiYQZtaDMI/AAAAAAAAA4s/tiIVajSRax4/s1600-h/Sandisk2+GB+SD+Card.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5393227961322835138" src="http://2.bp.blogspot.com/_Jo2jym9csB0/StiYQZtaDMI/AAAAAAAAA4s/tiIVajSRax4/s200/Sandisk2+GB+SD+Card.jpg" style="cursor: hand; cursor: pointer; float: left; height: 200px; margin: 0 10px 10px 0; width: 200px;" /&gt;&lt;/a&gt;Almost all of the functionality of the "&lt;a href="http://brohogan.blogspot.com/2009/05/x10-book.html"target="_blank"&gt;X10 Book&lt;/a&gt;" is included in this project and new features have been added.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What's missing is the ability to drive relays and LED's. My thinking is to include such things as optional "add-ons". So a "relay pack" could be designed for lawn sprinklers. I'm currently working on a&amp;nbsp;phone dialer (see above), and&amp;nbsp;I'm considering other ad-on modules like a Bluetooth PC interface.&amp;nbsp;But I've gotten ahead of myself.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One of the biggest advantages over the X10 Book is the ability to read in configuration files that are put on the SD card. So far there are 4:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="color: #ff6666;"&gt;TIMEDATE.TXT&lt;/span&gt; - enter the time and date on a single line, put the card in the Nex10, restart, and the time and date are set. (Then the file is deleted from the card.)&lt;/li&gt;&lt;li&gt;&lt;span style="color: #ff6666;"&gt;SETUP.TXT&lt;/span&gt; - this file is loaded into the external EEPROM and deleted after loading. It has several sections where you can define;&lt;br /&gt;&lt;i&gt;&lt;span style="color: #ff9900;"&gt;Messages&lt;/span&gt;&lt;/i&gt; - like names of the weekdays, full moon names, etc.&lt;br /&gt;&lt;i&gt;&lt;span style="color: #ff9900;"&gt;Reminders&lt;/span&gt;&lt;/i&gt; - yearly reminders like birthdays, scheduled salary reviews, etc.&lt;br /&gt;&lt;i&gt;&lt;span style="color: #ff9900;"&gt;X10 Events&lt;/span&gt;&lt;/i&gt; - timers to send X10 commands at certain times.&lt;br /&gt;&lt;i&gt;&lt;span style="color: #ff9900;"&gt;X10 Profiles&lt;/span&gt;&lt;/i&gt; - Friendly names for House / Unit codes so instead of "A-5" "Desk Lamp" is displayed. Other parameters in each Profile control beep type, display and logging options.&lt;br /&gt;&lt;i&gt;&lt;span style="color: #ff9900;"&gt;X10 Macros&lt;/span&gt;&lt;/i&gt; - (work in progress) "IF A-5 ON - Send G-2 and G-3 OFF" is a simple example. They should be pretty powerful - stay tuned.&lt;/li&gt;&lt;li&gt;&lt;span style="color: #ff6666;"&gt;PARAMS.TXT&lt;/span&gt;&amp;nbsp;- This file contains user defined parameters such as the date and time format, the house code for the remote temp sensor, high / low temp alarms, various delay times, etc.I've pretty much replaced all "hard coded" settings with these parameters.&lt;/li&gt;&lt;li&gt;&lt;span style="color: #ff6666;"&gt;FONTS.TXT&lt;/span&gt; - Since we're using an LED display, a set of fonts must be defined. All characters from ASCII 32 to 127 are included. Additionally about 20 or so "sprites" like the moon phases are defined. This file is loaded to the ATmega644P EEPROM instead of the external EEPROM. It is deleted after it is read in.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;So what's it do? We'll you should have some idea from the above, but here's the list in all it's gory detail . . .&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: large;"&gt;&lt;span style="color: #ff9900;"&gt;Clock Features:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Time - set by writing it to a file on the SD card, automatically adjusts for DST. The clock has a battery backup.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Day of the week is displayed with a user defined message for each day.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;The current phase of the moon is displayed as an animated sprite. The number of days to the next full moon, and name of the full moon, is displayed as a scrolling message.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;The times for sunrise and sunset are displayed.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Yearly reminders will display a day in advance and on the day.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: large;"&gt;&lt;span style="color: #ff9900;"&gt;X10 Features:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;All X10 signals that come across the powerline are displayed and optionally logged. If a "profile" was set up for the house and unit code, a friendly name will display - i.e. "Desk Lamp". The profile also has options for 3 levels of "beep", no display, and no logging.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Logs are written to the SD card as a text file readable by a PC. A new log file is automatically created each month.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;The current status of all 255 devices is kept. The status table can be written to the SD card or cleared using the TV remote. The table will be used  for one type of "macro" command.&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;A TV remote may be used to manually send X10 commands.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;X10 commands can be set up to be automatically sent at certain times during the day.&lt;/li&gt;&lt;li&gt;X10 Macros are defined in a section of the setup file. Current types supported are; "if cmnd-then cmnds" (up to 5 thens), "if cmnd and time &amp;gt; x or &amp;lt; y then cmnd, if cmnd - display time, temp, etc. I am working on more types like "if temperature".&lt;/li&gt;&lt;li&gt;Nex10 will receive the temperature from a remote wireless sensor on a dedicated House Code. (See &lt;a href="http://brohogan.blogspot.com/2009/05/x10-wireless-temperature-transmitter.html"target="_blank"&gt;this&lt;/a&gt;.) The time and temperature is logged to a separate file on the SD card. The current temperature and the low and high temperature for the day is displayed in the display loop.&lt;/li&gt;&lt;li&gt;Alarms may be set to provide an audible warning if, for example, the  the garage door has not closed in a certain time.&lt;/li&gt;&lt;li&gt;There's a good chance I forgot something.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Most of the time, the device is just listening for X10 commands coming from the PSC05. Once every 5 minutes or so, it goes into it's display routine and shows all the things listed above under &lt;span style="color: #ff9900;"&gt;clock features&lt;/span&gt;. The display routine can also be activated via the remote, or from a macro.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Credit and thanks to Bill Westfield, Andrew Hedges, and Bill Ho for the &lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1225239439/0"target="_blank"&gt;ht1632 code&lt;/a&gt; that writes to the Sure matrix, Bill Greiman for the fantastic SD card library &lt;a href="http://code.google.com/p/fat16lib/"target="_blank"&gt;fat16lib&lt;/a&gt;, B. Hagman for a slick non-blocking &lt;a href="http://code.google.com/p/arduino-tone/"target="_blank"&gt;Tone library&lt;/a&gt;,  and Mike Rice for a great little &lt;a href="http://swfltek.com/arduino/sunrise.html"target="_blank"&gt;sunrise / sunset time calc. library&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;stopped&gt;&lt;/stopped&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-1130758344729677521?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/1130758344729677521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2009/10/nex10-functionality.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/1130758344729677521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/1130758344729677521'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2009/10/nex10-functionality.html' title='Nex10 Functionality'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Jo2jym9csB0/StiYQZtaDMI/AAAAAAAAA4s/tiIVajSRax4/s72-c/Sandisk2+GB+SD+Card.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-5213817029906249759</id><published>2009-10-11T21:01:00.056-06:00</published><updated>2010-03-25T12:26:49.513-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='X10 Controller'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega644P'/><category scheme='http://www.blogger.com/atom/ns#' term='Nex10'/><title type='text'>Nex10 Begins</title><content type='html'>&lt;a href="http://farm3.static.flickr.com/2435/4002920815_0b811b6a6d_m.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://farm3.static.flickr.com/2435/4002920815_0b811b6a6d_m.jpg" style="float: left; height: 117px; margin-bottom: 10px; margin-left: 0px; margin-right: 10px; margin-top: 0px; width: 240px;" /&gt;&lt;/a&gt;I'm far enough along that I can be posting about this thing.&lt;br /&gt;&lt;br /&gt;To the left is a PCB board I designed to be the platform for the "Nex10" - the next level of the "X10 Book".&lt;br /&gt;&lt;br /&gt;The goal is to create an X10 controller that is user configurable without the need to change the software. The Nex10 is configured through text files copied to it's SD card. More on the functionality later. This post is about the hardware!&lt;br /&gt;&lt;br /&gt;A larger picture of the board is &lt;a href="http://farm3.static.flickr.com/2447/4025887397_1b39b5c00a_o.jpg"target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In order to support reads and writes of the SD card, I went with a larger microcontroller - the ATmega644P. This has twice the program space of the ATmega328 used in the X10 Book. The board also has an external EEPROM, RTC (real time clock), piezo, and IR detector. It also has a difficult to solder FTDI chip that allows it to be programmed via USB. I see this as totally optional. I just wanted one to make my development easier. Besides, it's pretty cool!&lt;br /&gt;&lt;br /&gt;Other little goodies include a resettable fuse, ISP header, and jumpers for power, auto-reset, and ARef. It runs on regulated 5V and has a voltage regulator that supplies 3.3V for the SD card. It uses a 16MHz crystal or resonator.&lt;br /&gt;&lt;br /&gt;I used &lt;a href="http://www.cadsoft.de/"target="_blank"&gt;CadSoft's Eagle&lt;/a&gt; to create the &lt;a href="http://farm3.static.flickr.com/2488/4030558861_91d6b58ef3_b.jpg"target="_blank"&gt;schematic&lt;/a&gt; and lay out the board and &lt;a href="http://www.batchpcb.com/"target="_blank"&gt;BatchPCB&lt;/a&gt; to fabricate it. This is Rev. 1, and amazingly everything worked. If I decide to make a Rev. 2 there are a few changes I'd make, but basically I'm pretty happy. (Eagle files &lt;a href="http://dl.dropbox.com/u/3572198/Next-10%20Eagle.zip"&gt;here&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;This board will drive an 8x32 LED Matrix from &lt;a href="http://www.sureelectronics.net/goods.php?id=908"target="_blank"&gt;Sure Electronics&lt;/a&gt;. This display is very easy to read, cheap, and uses SPI so no additional hardware is needed on the board.&lt;br /&gt;&lt;br /&gt;There is nothing about the board that is dedicated to Nex10 application - it can be used for just about any microcontroller project.&lt;br /&gt;&lt;br /&gt;If you'd like a board very similar to this one (with a serial interface), a fellow maker, Florin, sells an easy to solder kit. You can read about it &lt;b&gt;&lt;a href="http://timewitharduino.blogspot.com/"target="_blank"&gt;here&lt;/a&gt;&lt;/b&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-5213817029906249759?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/5213817029906249759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2009/10/nex10-begins.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/5213817029906249759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/5213817029906249759'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2009/10/nex10-begins.html' title='Nex10 Begins'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2435/4002920815_0b811b6a6d_t.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-5917385954354715136</id><published>2009-09-17T15:02:00.027-06:00</published><updated>2010-03-01T16:23:03.410-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CM17A'/><category scheme='http://www.blogger.com/atom/ns#' term='Home Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino'/><title type='text'>Is the Garage Door Closed?</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_Jo2jym9csB0/SrLhTOMcQ7I/AAAAAAAAA3A/iZa3sLf6p7M/s1600-h/X10+Switch.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="text-decoration: none;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5382612225005208498" src="http://1.bp.blogspot.com/_Jo2jym9csB0/SrLhTOMcQ7I/AAAAAAAAA3A/iZa3sLf6p7M/s200/X10+Switch.JPG" style="cursor: hand; cursor: pointer; float: left; height: 200px; margin: 0 10px 10px 0; width: 153px;" /&gt;&lt;/a&gt;&lt;br /&gt;After the second time my neighbor had to tell me that I left my garage door open, I thought I'd throw a little technology at my senility.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I could have gone the route of using a PSC01 "PowerFlash" but I had a few problems with that:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It requires a "normally closed" reed switch (which opens when the door is closed and next to the magnet.&amp;nbsp;&lt;/li&gt;&lt;li&gt;It only sends the X10 command one time.&amp;nbsp;&lt;/li&gt;&lt;li&gt;It would plug into the same outlet as the door opener - not a good time or place to send X10 signals on the power line.&amp;nbsp;&lt;/li&gt;&lt;li&gt;I wanted to make my own. :-)&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;So this ugly little board above was my solution. It consists of an ATmega168 (running on it's internal oscillator), and a CM17A "Firecracker" (removed from it's jacket). It's wire-tied to it's wall wart.&lt;br /&gt;&lt;br /&gt;When the normally open reed switch closes - because the door is open - it causes a pin based interrupt in the ATmega168. The CM17A then sends a preset House + Unit + ON wirelessly to a TM751 receiver and it's put on the power line and picked up by the X10 Book (see below). The command is sent 3 times with a delay in between to make sure the signal gets through. When the door closes, an OFF signal is sent 3 times.&lt;br /&gt;&lt;br /&gt;(&lt;a href="http://dl.dropbox.com/u/3572198/X10_Door_Senser.zip"&gt;get Arduino sketch&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;On the X10 Book side, a timer is started when the first door open signal arrives. After a preset time, the X10 Book beeps every few seconds until it receives a door closed signal.&lt;br /&gt;&lt;br /&gt;If the door is open late at night, the X10 Book will also turn on lights near the garage. (I could have it wake me up, but I'd be too tired and too scared to want that!)&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-5917385954354715136?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/5917385954354715136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2009/09/is-garage-closed.html#comment-form' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/5917385954354715136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/5917385954354715136'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2009/09/is-garage-closed.html' title='Is the Garage Door Closed?'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Jo2jym9csB0/SrLhTOMcQ7I/AAAAAAAAA3A/iZa3sLf6p7M/s72-c/X10+Switch.JPG' height='72' width='72'/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-3010851061277107466</id><published>2009-05-22T14:01:00.023-06:00</published><updated>2010-03-25T12:32:37.941-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CM17A'/><category scheme='http://www.blogger.com/atom/ns#' term='Home Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino'/><title type='text'>X10 Wireless Temperature Transmitter</title><content type='html'>&lt;a href="http://farm4.static.flickr.com/3572/3555351034_942846fe6c_m.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://farm4.static.flickr.com/3572/3555351034_942846fe6c_m.jpg" style="cursor: hand; cursor: pointer; float: left; height: 216px; margin: 0 10px 10px 0; width: 240px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;This is a battery operated Arduino project that uses the CM17A to wirelessly transmit the temperature to the power line. From there, it is picked up by the X10 Book, (see below) and displayed and logged. (It can also be used to trigger macros.)&lt;/span&gt;&lt;span style="font-size: medium;"&gt;&lt;/span&gt;&lt;span style="font-size: medium;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;The PSC05/TW523 will not receive X10 "extended" codes. Therefore I had to get tricky with how I sent the temperature and how I received it. This means that the technique requires you to have control over the receiving end as well.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;The idea is simple. An entire House Code is dedicated to the temperature. Each digit is sent as a Unit Code representing that digit (i.e. Unit Code"3" is sent if the digit is 3). The Command is used to indicate the digit &lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-size: medium;"&gt;position&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: medium;"&gt;. So for the least significant digit, I used "OFF" for the next digit I used "ON". BRIGHT and DIM can also be used for more positions or to represent + and -. So with 4 types of commands (and 4 separate transmissions) you can transmit variables up to "9999" or "+/-999".&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;[detail . . .]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;Since Unit Codes really have a range of 1-16 you could use this to transmit even larger values - with 2 transmissions you &lt;span style="font-style: italic;"&gt;could&lt;/span&gt; transmit and digit up to 255. However I choose not to do this because the CM17A is transmitting to the same (TM751) receiver that I use to receive form a motion sensor. The motion sensor uses Unit Codes 1 and 2. So in actuality I offset the digits by 5, leaving the first 5 Unit Codes. (Two for the motion sensor and 3 reserved.) I'm sure there are other methods you can use to transmit values, but this works fine for me.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;So much for theory!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;Since the CM17A is wireless, it's a nice idea to make the whole thing battery operated. There are techniques to use with the Arduino to conserve battery power. I used one that combines "sleep" mode with the "watchdog timer" There is a good example of this &lt;/span&gt;&lt;a href="http://interface.khm.de/index.php/lab/experiments/sleep_watchdog_battery/"target="_blank"&gt;&lt;span style="font-size: medium;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: medium;"&gt;.   The idea is to have the Arduino in low power sleep mode, wake it up every now and then, and have it read and transmit the temperature before going back to sleep. The example cited has a maximum sleep time only 8 seconds, but on waking, a variable can simply be incremented and skip sending until say 10 wakeups have occurred.  Mine sends the temperature about every 2 min. (The less often you send, the longer your battery lasts.)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;I used the DS1621 temperature sensor. It's I2C and simple to connect. You will find &lt;/span&gt;&lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1198065647"target="_blank"&gt;&lt;span style="font-size: medium;"&gt;examples&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: medium;"&gt; of how to use it on the Arduino Forum.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;(&lt;a href="http://dl.dropbox.com/u/3572198/X10_Remote_Temp.zip"&gt;get Arduino sketch&lt;/a&gt;)&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;I put everything in a waterproof box.&lt;/span&gt;&lt;span style="font-size: medium;"&gt; A word about the picture. You can see the DS1621 temperature sensor on the "spring" ribbon cable. The green square on the right is the CM17A with it's jackets removed and covered with heat shrink tubing. The Arduino (ATmemg128)  board is a custom board I made that includes a boost circuit so it only needs 2 AA batteries. You can use any Arduino and use 3 AA batteries instead.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;On the temperature receiver side (the X10 Book in my case) I look for commands from the dedicated temperature House Code. When I get one, I determine which digit position it represents by the command code, convert the Unit Code into a digit, and store it in a global for that digit position. It's OK if a digit is somehow missed, it's likely to be picked up from the next transmission. When I want to log or display the temperature (periodically or using the TV Remote) I simply multiply the values in the various digit positions to get the current temperature.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's a short video . . .&lt;/div&gt;&lt;div&gt;&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8068470&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=8068470&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-3010851061277107466?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/3010851061277107466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2009/05/x10-wireless-temperature-transmitter.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/3010851061277107466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/3010851061277107466'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2009/05/x10-wireless-temperature-transmitter.html' title='X10 Wireless Temperature Transmitter'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3572/3555351034_942846fe6c_t.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-981245602255755898</id><published>2009-05-21T10:52:00.017-06:00</published><updated>2010-03-26T11:58:53.390-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='X10 Controller'/><category scheme='http://www.blogger.com/atom/ns#' term='X10 Book'/><category scheme='http://www.blogger.com/atom/ns#' term='PSC05 / TW523'/><title type='text'>The X10 Book</title><content type='html'>&lt;a href="http://farm4.static.flickr.com/3580/3449859441_de61393839_m.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://farm4.static.flickr.com/3580/3449859441_de61393839_m.jpg" style="cursor: hand; cursor: pointer; float: left; height: 216px; margin: 0 10px 10px 0; width: 240px;" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;The X10 Book is the must useful project I've made with the Arduino.&amp;nbsp;Again, I've already posted a lot of details on this &lt;/span&gt;&lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1239988351" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;elsewhere&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;, so here I'll write about it from a different perspective (I hope).&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;The project is based on the Arduino interface to the PSC05/TW523 (see below) and an experiment on encasing electronic gizmos in a book.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;It provides me with all the X10 functionality I had with with ActiveHome and a lot more. (I now use my CM15A only as a whole house transceiver.)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;At the risk of repeating myself, for those who haven't read the links, here is a&amp;nbsp;partial list of what it does:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Displays each X10 command that comes across the power line on a scrolling display. If it's a "known" house / unit code, it displays a friendly name like "Basement Light - On".&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Stores a list of timed events like "turn on this light at 8PM, off at 10PM, on again at 11PM, etc.".&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Checks X10 commands on the line, and trigger a "macro" if required - i.e "if garage Door open more than 10 min. display a warning, and trigger the sounder".&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;For defined X10 commands, light an LED and/or open or close a (10A) relay.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;For selected commands, log the command and the time to an SD memory card that can be pulled and read by a PC.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Accept "special" X10 commands that provide &lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;variable data&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;, such as temperature, from another X10 project I created (see next post). Note, these are not X10 "extended" commands.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;So your saying "that's cool, good for you, but what about me?". Here is where I hope to be able to help by explaining the build process and offering a few tips. Since it's likely I don't know you, I'll imagine someone who is interested in X10, but has little or no experience with Arduino, &lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;some&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; electronics, and an interest in programming. You are also patient, and motivated to help yourself. (Yuck, this is going to be long!)&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;The key things to remember, are that you don't have build all this functionality, you don't have to build it all at once, and you can build other functionality. You also don't have to build it the same way. For example you can use an LCD display instead of a scrolling LED matrix - much easier. If you use an LED matrix, there are several ways to drive it (i.e. MAX7221 vs "595's").&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Another suggestion is to make the project in steps. Learn about and complete and test each step before going on to the next. This is where I think I can help the most. Below is the sequence of steps that I suggest you take to create an X10 controller with the Arduino.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&amp;nbsp;Get comfortable with the Arduino. Read the &lt;/span&gt;&lt;a href="http://www.arduino.cc/" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;tutorials&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;, join the &lt;/span&gt;&lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;forum&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;, ask questions there, do some basic projects that interest you. (Get an Arduino with an ATmega328, you will need the room.)&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Make a simple clock. I suggest a real time clock (RTC) based on the &lt;/span&gt;&lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1191209057/0" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;DS1307&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; chip. (IMO it's the simplest.)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;For the clock, you will need a display. If you want a display on your controller, consider what you want there when considering your options. You have lots of options, but consider not biting off more that you can chew, you can always beef it up later. (i.e. A single color&amp;nbsp;LED matrix is much simpler than a 2 color matrix.)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;If you want a TV remote, figure out how to build that. I suggest a Sony protocol with a universal remote. For mine, I picked an interface that was interrupt driven rather than "blocking".&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;If you are going to display a lot of text, and to hold timed events, etc. get familiar with the I2C EEPROM.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;This can be done earlier, but add the X10 stuff from &lt;/span&gt;&lt;a href="http://www.arduino.cc/en/Tutorial/X10" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; and &lt;/span&gt;&lt;a href="http://www.arduino.cc/playground/X10/ReceiveX10" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Recently, others have created some nice libraries that let you write to an SD card if you want a log.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Along the way, you have learned a great deal about electronics. &lt;/span&gt;&lt;a href="http://farm3.static.flickr.com/2469/3536049709_8207957548_b.jpg"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Here&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; is the schematic / wiring diagram for the X10 Book.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I'll add more to this list in future edits.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8068359&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=8068359&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-981245602255755898?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/981245602255755898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2009/05/x10-book.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/981245602255755898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/981245602255755898'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2009/05/x10-book.html' title='The X10 Book'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3580/3449859441_de61393839_t.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-2365354584882896941</id><published>2009-05-21T09:23:00.022-06:00</published><updated>2011-02-09T11:22:38.543-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Home Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='PSC05 / TW523'/><title type='text'>Sending and Receiving with the PSC05 / TW523</title><content type='html'>&lt;a href="http://farm4.static.flickr.com/3399/3557105218_e7690f4a86_m.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://farm4.static.flickr.com/3399/3557105218_e7690f4a86_m.jpg" style="cursor: hand; cursor: pointer; float: left; height: 143px; margin: 0 10px 10px 0; width: 220px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;For a long time, the Arduino community had a library (written by Tom Igoe) that would interface the Arduino to the PSC05/TW523 so that it could &lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-size: medium;"&gt;send&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: medium;"&gt; X10 commands. (available &lt;/span&gt;&lt;a href="http://www.arduino.cc/en/Tutorial/X10" target="_blank"&gt;&lt;span style="font-size: medium;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: medium;"&gt;) Since I was already &lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-size: medium;"&gt;wirelessly&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: medium;"&gt; sending commands via the CM17A, I never took much interest in it.&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;But then I thought if you could also &lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-size: medium;"&gt;receive&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: medium;"&gt; commands with&amp;nbsp;the PSC05/TW523, you could pretty much make your own X10 controller and replace the ActiveHome SW and the CM11A/CM15A hardware.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;Again the web provided a lot of the great detail on the &lt;/span&gt;&lt;a href="http://www.hometoys.com/htinews/feb99/articles/kingery/kingery13.htm" target="_blank"&gt;&lt;span style="font-size: medium;"&gt;protocol&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: medium;"&gt;&amp;nbsp;that enabled me to write an Arduino driver to receive commands with the&amp;nbsp;PSC05/TW523. I created an example sketch and wrote a lot of background and posted it on the Arduino Playground &lt;/span&gt;&lt;a href="http://www.arduino.cc/playground/X10/ReceiveX10" target="_blank"&gt;&lt;span style="font-size: medium;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: medium;"&gt;. Since the receive driver can coexist with the send library, the Arduino now has a complete interface with the&amp;nbsp;PSC05/TW523 that allows you to send and receive X10 commands.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;&lt;i&gt;[&lt;s&gt;3/30/2010] Thanks to Creatrope, a beta of the combined X10 send / receive library is now available - you'll find it &lt;/s&gt;&lt;/i&gt;&lt;a href="http://creatrope.com/make/arduino-x10/" style="text-decoration: line-through;" target="_blank"&gt;&lt;i&gt;here&lt;/i&gt;&lt;/a&gt;&lt;i&gt;&lt;s&gt;.&lt;/s&gt;&amp;nbsp;[1/5/11] Creatrope site down. You can use the&amp;nbsp;separate X10 transmit &amp;amp; receice libs or check out &lt;a href="http://load-8-1.blogspot.com/2010_06_01_archive.html"target="_blank"&gt;ThomasM's library here&lt;/a&gt;.&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;The Playground article should tell you all you need to know about how to use this software, so I won't go into it here. Just to say that the Arduino is &lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-size: medium;"&gt;always&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: medium;"&gt; looking for any X10 signal on the powerline at every zero crossing of the AC. When it gets one, it sets a flag, and fills out globals&amp;nbsp;for the House Code, Unit Code, and Command that are used by your program.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;With this complete, I was able to make my own X10 controller called the "&lt;/span&gt;&lt;a href="http://www.youtube.com/watch?v=00t7njIEYQA" target="_blank"&gt;&lt;span style="font-size: medium;"&gt;X10 Book&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: medium;"&gt;" that I will write about in my next post.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Edit Nov. 2, 09:&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; Based on a comment by Phil, here's a &lt;/span&gt;&lt;a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en012050" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;link&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; to an Ap Note from Microchip that describes how to use a PIC to essentially replace the PSC05. It would be great to port it to ATmega chips. Thanks Phil!&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Edit Feb. 23, 09:&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; I've received some very good feedback from &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Johannes&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; related to changing the send and receive software to have&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;reliable&amp;nbsp;communications using&amp;nbsp;50Hz line frequency&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;. (He uses an "XM10" X10 module instead of the PSC05 / TW523 for 220V 50Hz.) It's simply a matter of changing 4 #defines - 2 in the X10.lib (for sending) and 2 in my code (for receiving).&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;In the source for your X10.lib, in &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;X10constants.h&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; change:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;#define BIT_DELAY from 1778 to &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;2133&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;#define BIT_LENGTH from 800 to &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;900&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;In my &lt;/span&gt;&lt;a href="http://www.arduino.cc/playground/X10/ReceiveX10" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;example&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; for the X10 Receive function, in &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;PSC05.h&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; change:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;#define OFFSET_DELAY from 500 to&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;800&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;#define HALF_CYCLE_DELAY from 8334 to&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;10000&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Thanks Johannes! I'm sure others will find this helpful.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-2365354584882896941?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/2365354584882896941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2009/05/sending-and-receiving-with-psc05-tw523.html#comment-form' title='18 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/2365354584882896941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/2365354584882896941'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2009/05/sending-and-receiving-with-psc05-tw523.html' title='Sending and Receiving with the PSC05 / TW523'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3399/3557105218_e7690f4a86_t.jpg' height='72' width='72'/><thr:total>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-2198294681280661111</id><published>2009-05-20T15:19:00.019-06:00</published><updated>2010-03-26T11:57:07.931-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CM17A'/><category scheme='http://www.blogger.com/atom/ns#' term='Home Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino'/><title type='text'>The CM17A and Arduino</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.arduino.cc/playground/uploads/X10/CM17A.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.arduino.cc/playground/uploads/X10/CM17A.png" /&gt;&lt;/a&gt;&lt;/div&gt;My first X10 project was to create an interface between the Arduino and the CM17A (aka "Firecracker"). The CM17A is a dongle that wirelessly (RF) sends X10 commands to X10 &lt;a href="http://cgi.ebay.com/X10-Wireless-Transceiver-Home-Automation-TM751_W0QQitemZ220292263382QQcmdZViewItemQQptZLH_DefaultDomain_0?hash=item334a712dd6#ht_505wt_958" target="_blank"&gt;RF receivers&lt;/a&gt;. The receivers then send signals down the house wiring to control lights and appliances.&lt;br /&gt;&lt;br /&gt;After many hours of Googling, I could not find any examples of an interface other than some written in assembler. However, I did find lots of good information about the protocol that is used to talk to the CM17A. With that I was able to write a small program ("sketch") that demonstrates how to have the Arduino talk to the CM17A. I wrote up an article with the explanation and example and posted it on the Arduino Playground &lt;a href="http://www.arduino.cc/playground/X10/CM17A" target="_blank"&gt;here&lt;/a&gt;. It should tell you all you need to know.&lt;br /&gt;I made a short video of a simple example where a TV remote is used to have the CM17A send X10 commands to a light.&lt;br /&gt;&lt;div&gt;&lt;span style="font-family: Verdana; line-height: 15px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8068924&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=8068924&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Don't let the custom boards and led matrix scare you. There are much simpler ways to use the CM17A with Arduino. In a future post I will describe how it can be used to send the temperature to a home made X10 Controller.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-2198294681280661111?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/2198294681280661111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2009/05/cm17a-and-arduino.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/2198294681280661111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/2198294681280661111'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2009/05/cm17a-and-arduino.html' title='The CM17A and Arduino'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-8744266809659453601</id><published>2009-05-20T13:21:00.015-06:00</published><updated>2010-03-30T10:11:27.546-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Home Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino'/><title type='text'>What is Arduino? / What is X10?</title><content type='html'>It's likely that most people reading this will know a lot about&amp;nbsp;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;either&lt;/span&gt;&amp;nbsp;Arduino or X10. (If you know about both - you're in good shape. If you don't know about either - I'm surprised you're here!) In any case, I won't go into detail about either. You can learn about Arduino&amp;nbsp;&lt;a href="http://www.arduino.cc/"target="_blank"&gt;here&lt;/a&gt;, and Google will give you lots of info on X10.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In short, the Arduino is an inexpensive (~$30) microcomputer that you program in C/C++ that has input and output pins that connect to real world devices. I choose the Arduino because of it's popularity, price and wonderful support. &amp;nbsp;It's likely another type of microcomputer can be used for these projects, but I'm only comfortable discussing the Arduino and the C language.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;X10 is a home automation system that typically sends signals down your power line to remotely control lights and appliances. There are many types of modules one can get to do various things. While X10 is old technology, it still has some key advantages regarding remote control. Primarily, it is the cheapest and safest way I know of to control things that plug into the power line.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So what are the advantages when you combine the Arduino and X10?&amp;nbsp;Here is a diagram where I tried to show X10 and Arduino working together.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://dl.dropbox.com/u/3572198/X10%20Room.jpg" target="_blank" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="256" src="http://dl.dropbox.com/u/3572198/X10%20Room.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;From an X10 user's perspective, the X10 world now becomes your oyster. You are no longer bound by a PC and the limited functionality and cost of commercial software. You can create entirely new functionality while replacing your ActiveHome SW and your CM11A / CM15A interface device.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;From an Arduino user's perspective, you gain an option for wireless remote control at a much lower cost per controlled device than say XBee and roll your own triacs. It's also a hell of a lot safer than mucking around with line voltage. The modules are UL approved and cost as little as $6 on &lt;a href="http://stores.shop.ebay.com/Home-Control-Plus"target="_blank"&gt;Ebay&amp;nbsp;&amp;nbsp;&lt;/a&gt;(&lt;span class="Apple-style-span" style="font-style: italic;"&gt;link&lt;/span&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;just an example&lt;/span&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Obviously, all of the above is just my opinion and points can be argued. You can fault X10 for not being reliable. Personally I solved most of my issues with a XPCR coupler /filter / amplifier. For those in 220V land, X10 charges an arm and a leg extra for the 200V models. See &lt;a href="http://www.idobartana.com/hakb/""target=_blank"&gt;this&lt;/a&gt; website for a cheap way to convert most 115V modules.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OK, enough background.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-8744266809659453601?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/8744266809659453601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2009/05/what-is-arduino-what-is-x10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/8744266809659453601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/8744266809659453601'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2009/05/what-is-arduino-what-is-x10.html' title='What is Arduino? / What is X10?'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-1376182274479009909</id><published>2009-05-20T11:14:00.009-06:00</published><updated>2010-03-17T16:15:56.243-06:00</updated><title type='text'>Code Examples</title><content type='html'>In the posts above, I have provided links to the source I wrote for all examples.&lt;br /&gt;&lt;br /&gt;If you are interested in example code for other areas of these projects, you can contact me at:&lt;br /&gt;&lt;a href="mailto:BroHoganX10@gmail.com"&gt;BroHoganX10@gmail.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-1376182274479009909?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/1376182274479009909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2009/05/note-about-source-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/1376182274479009909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/1376182274479009909'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2009/05/note-about-source-code.html' title='Code Examples'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-8050293953852842799</id><published>2009-05-20T10:31:00.009-06:00</published><updated>2010-03-25T13:02:16.801-06:00</updated><title type='text'>Well, here we go!</title><content type='html'>Much of what I post here, at least in the beginning, I have already posted in other locations. For example:&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Videos of severial X10 projects are on &lt;a href="http://vimeo.com/user2737657/videos"target="_blank"&gt;Vimeo&lt;/a&gt;.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Photos and some&amp;nbsp;schematics&amp;nbsp;are on &lt;a href="http://www.flickr.com/photos/26821812@N06/"target="_blank"&gt;Flicker&lt;/a&gt;.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Project announcements - &amp;nbsp;search the &lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl"target="_blank"&gt;Arduino forum&lt;/a&gt;&amp;nbsp;for "X10"&lt;/li&gt;&lt;li&gt;Tutorials I've written can be found on the &lt;a href="http://www.arduino.cc/playground/Main/InterfacingWithHardware#Communication"target="_blank"&gt;Arduino Playground&lt;/a&gt;&amp;nbsp;- for example:&lt;br /&gt;&lt;a href="http://www.arduino.cc/playground/X10/CM17A"target="_blank"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;CM17A "Firecracker" interface for Arduino&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #555555; font-size: 12px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;a href="http://www.arduino.cc/playground/X10/ReceiveX10"target="_blank"&gt;Receiving X10 Commands with the&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;span class="wikiword"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;a href="http://www.arduino.cc/playground/X10/ReceiveX10"target="_blank"&gt;PSC05/TW523&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;As I describe each project I'll include material from these links in addition to new material. As to how &lt;span class="Apple-style-span" style="font-style: italic;"&gt;well&lt;/span&gt; I'll describe each project, that depends on you. Until I get questions, I won't go overboard. However, if I do get questions I will add the detail that covers them.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Welcome! - and I hope you find this interesting and helpful.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;BroHogan (aka John)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-8050293953852842799?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/8050293953852842799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2009/05/well-here-we-go.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/8050293953852842799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/8050293953852842799'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2009/05/well-here-we-go.html' title='Well, here we go!'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-1434303563896180734</id><published>2009-01-20T20:41:00.000-07:00</published><updated>2011-10-09T11:49:02.339-06:00</updated><title type='text'>Alternate PayPal for the Geiger Kit</title><content type='html'>If you'd like to purchase a Geiger Kit but had trouble getting to PayPal from the Geiger Kit site, please&amp;nbsp;use the Buy Now button below.&lt;br /&gt;&lt;br /&gt;If you're still having problems please contact me (brohoganx10@gmail.com). Tell me what kit you'd like to order and I will send you payment request. &lt;i&gt;I am looking into why some are having problems - mostly with IE.&lt;/i&gt;&lt;br /&gt;&lt;form action="https://www.paypal.com/cgi-bin/webscr" method="post"&gt;&lt;input name="cmd" type="hidden" value="_s-xclick" /&gt;&lt;br /&gt;&lt;input name="hosted_button_id" type="hidden" value="BENX6PPQE8GAL" /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;input name="on0" type="hidden" value="Kit Types" /&gt;Kit Types&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;select name="os0"&gt; &lt;option value="KIT A"&gt;KIT A $45.00&lt;/option&gt; &lt;option value="KIT B"&gt;KIT B $51.00&lt;/option&gt; &lt;/select&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;input name="currency_code" type="hidden" value="USD" /&gt;&lt;br /&gt;&lt;input alt="PayPal - The safer, easier way to pay online!" border="0" name="submit" src="https://www.paypalobjects.com/WEBSCR-640-20110429-1/en_US/i/btn/btn_buynowCC_LG.gif" type="image" /&gt;&lt;br /&gt;&lt;img alt="" border="0" height="1" src="https://www.paypalobjects.com/WEBSCR-640-20110429-1/en_US/i/scr/pixel.gif" width="1" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" height="1" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" /&gt;&lt;/form&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-1434303563896180734?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/1434303563896180734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2011/05/alternate-paypal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/1434303563896180734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/1434303563896180734'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2011/05/alternate-paypal.html' title='Alternate PayPal for the Geiger Kit'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-952765818269557659.post-9006946034009009451</id><published>2009-01-02T11:46:00.013-07:00</published><updated>2011-12-04T19:32:30.783-07:00</updated><title type='text'>Buy Geiger Kit Shield</title><content type='html'>&lt;div style="text-align: left;"&gt;If the PayPal button on the Geiger site is not working for you, please use the PayPal button below to purchase a Geiger Shield Kit.&lt;/div&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 21px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;Thanks&lt;/div&gt;&lt;/div&gt;&lt;form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank"&gt;&lt;input name="cmd" type="hidden" value="_s-xclick" /&gt;&lt;br /&gt;&lt;input name="hosted_button_id" type="hidden" value="N5YA2CBXS9SMS" /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;input name="on0" type="hidden" value="Kit type" /&gt;Kit Type:&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;select name="os0"&gt;  &lt;option value="GS-A"&gt;GS-A $41.00&lt;/option&gt;  &lt;option value="GS-B"&gt;GS-B $47.00&lt;/option&gt; &lt;/select&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;input name="currency_code" type="hidden" value="USD" /&gt;&lt;br /&gt;&lt;input alt="PayPal - The safer, easier way to pay online!" border="0" name="submit" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" type="image" /&gt;&lt;br /&gt;&lt;img alt="" border="0" height="1" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" /&gt;&lt;/form&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/952765818269557659-9006946034009009451?l=brohogan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brohogan.blogspot.com/feeds/9006946034009009451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brohogan.blogspot.com/2011/10/buy-geiger-kit-shield.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/9006946034009009451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/952765818269557659/posts/default/9006946034009009451'/><link rel='alternate' type='text/html' href='http://brohogan.blogspot.com/2011/10/buy-geiger-kit-shield.html' title='Buy Geiger Kit Shield'/><author><name>BroHogan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
