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

<channel>
	<title>JarenHavell.com</title>
	<atom:link href="http://www.jarenhavell.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jarenhavell.com</link>
	<description>You just googled me. Now follow me on twitter.</description>
	<lastBuildDate>Tue, 08 May 2012 18:57:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Nanode Round 3: SketchGarden</title>
		<link>http://www.jarenhavell.com/projects/nanode-round-3-sketchgarden/</link>
		<comments>http://www.jarenhavell.com/projects/nanode-round-3-sketchgarden/#comments</comments>
		<pubDate>Sat, 17 Mar 2012 14:03:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bin]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[ethernet]]></category>
		<category><![CDATA[hex]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[nanode]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[sketch garden]]></category>
		<category><![CDATA[sketchgarden]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[tftp]]></category>

		<guid isPermaLink="false">http://www.jarenhavell.com/?p=259</guid>
		<description><![CDATA[Speaking of clouds, Sketchgarden.co finally launched in Beta (as of 3-13-2012), allowing the remote upload of Arduino sketches over the internet. As I have already have a working specimen running on my Nanode v5 hardware, I popped in the new atmega328 chip, and it couldn&#8217;t have been a simpler process. This have been a long time coming. In my prior [...]]]></description>
			<content:encoded><![CDATA[<p>Speaking of clouds, <a href="http://Sketchgarden.co">Sketchgarden.co</a> finally launched in Beta (as of 3-13-2012), allowing the remote upload of Arduino sketches over the internet. As I have already have a working specimen running on my <a href="http://wickeddevice.com/index.php?main_page=product_info&amp;products_id=102" target="_blank">Nanode v5 hardware</a>, I popped in the new atmega328 chip, and it couldn&#8217;t have been a simpler process.</p>
<p>This have been a <a href="http://wickedboot.wickeddevice.com/?p=1">long time coming</a>. In my <a href="http://www.jarenhavell.com/blog/nanodefirstimpressions/">prior post</a> covering the build of the <a href="http://wickeddevice.com/index.php?main_page=product_info&amp;products_id=102">v5 nanode</a> kit, I included details regarding possible remote firmware uploads and tftp bootloaders. Sketchgarden surpassed my expectations by eliminating the requirement for a server or  any server side configuration. I only need to worry about configuring my code. Minimal hardware is also a big advantage- they were able to fit the code for everything into the <a href="Atmel328p">Atmel328p</a> chip in flash and eeprom, aside from the external <a href="http://ww1.microchip.com/downloads/en/devicedoc/22122a.pdf">eeprom</a> used to store a permanent  <a href="http://wiki.london.hackspace.org.uk/view/Project:Nanode/Building_a_Nanode">MAC address</a>. (<a href="http://wiki.london.hackspace.org.uk/w/images/c/c8/Position_MAC.jpg">picture</a>)</p>
<p>There are two elements that will be required for widespread adoption &#8211; Number one, the release of the bootloader. On twitter, Vic <a href="https://twitter.com/#!/vicatcu/status/180304755300638720">indicated</a> a post-Makerfaire release of the bootloader in a finalized form. In the meantime they plan on shipping pre-loaded chips from <a href="http://wickeddevice.com/index.php?main_page=product_info&amp;cPath=27&amp;products_id=105">wickeddevice.com</a>.</p>
<p>The next element required to get the ball rolling is compatibility with both ENCJ and Wiznet ethernet modules. The Nanode uses the <a href="http://ww1.microchip.com/downloads/en/devicedoc/39662a.pdf">Microchip ENC28J60</a>, while the official <a href="http://www.arduino.cc/en/Main/ArduinoEthernetShield">Ethernet shield</a> and the <a href="http://arduino.cc/en/Main/ArduinoBoardEthernet">Arduino Ethernet </a>use the <a href="http://www.wiznet.co.kr/Sub_Modules/en/product/Product_Detail.asp?cate1=5&amp;cate2=7&amp;cate3=26&amp;pid=1011">Wiznet W5100</a> chip. Both chips are also <a href="http://www.robotshop.com/dfrobot-ethernet-shield-arduino-w5100-chip-2.html">available</a> as<a href="http://www.nuelectronics.com/estore/index.php?main_page=project_eth"> ethernet shields</a>. Support for both chips will enable non-nanode customers to utilize sketchgarden, enabling WickedDevice to reach a critical mass. Boom.</p>
<p>The WickedDevice Nanode V5 is available <a href="http://wickeddevice.com/index.php?main_page=product_info&amp;cPath=27&amp;products_id=104">assembled</a>($49)or as a <a href="http://wickeddevice.com/index.php?main_page=product_info&amp;cPath=26&amp;products_id=102">kit</a> ($39, includes FTDI adapter). The Sketchgarden <a href="http://wickeddevice.com/index.php?main_page=product_info&amp;cPath=27&amp;products_id=105">chip</a> comes preloaded with the custom Sketchgarden bootloader, but is currently listed as unavailable,-It may not be offered for sale until the initial beta is complete.</p>
<p>A big thanks to Vic and Dirk at <a href=" http://wickeddevice.com">Wicked Device</a>. You can find out more information at WickedDevice.com, or check out <a href="http://twitter.com/vicatcu">Vic</a> and <a href="http://twitter.com/dswart">Dirk</a> on Twitter. You can also check out their <a href="http://blog.wickeddevice.com/">blog</a>.</p>
<p>&nbsp;</p>
<h1><strong>ON TO THE GOODS </strong></h1>
<p><strong>I went ahead and documented the process, including specifics for OSx users:</strong></p>
<address>In a nutshell: Install new Chip, configure network settings locally, set up new nanode on sketchgarden.co, Compile hex file and convert to a binary image. Then upload image and assign to your device. Boom. Done.</address>
<p>&nbsp;</p>
<p><strong>#1. Install New Chip</strong> (available soon at <a href="http://wickeddevice.com/index.php?main_page=product_info&amp;cPath=27&amp;products_id=105">wickeddevice</a>)</p>
<div id="attachment_263" class="wp-caption aligncenter" style="width: 234px"><a href="http://www.jarenhavell.com/wp-content/uploads/2012/03/chipswap.jpg"><img class="size-medium wp-image-263 " title="Do as I say, not as I do." src="http://www.jarenhavell.com/wp-content/uploads/2012/03/chipswap-224x300.jpg" alt="chip swap" width="224" height="300" /></a><p class="wp-caption-text">You should use caution when removing microchips... </p></div>
<p><strong>#2 Connect to your device on your local network</strong>, and change the settings to fit your network as necessary. The settings will be stored to the atmel328 eeprom and will remain static until changed.</p>
<address>Note: The sketch  seen below is called &#8220;<a href="http://sketchgarden.co/sketches/4?device_page=1&amp;sketch_page=1" data-id="4">SketchGarden Config</a>&#8221; to re-load on your device should you need to re-configure your IP address, should you decide not to incorporate </address>
<div id="attachment_270" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.jarenhavell.com/wp-content/uploads/2012/03/IMG_4008.jpg"><img class="size-medium wp-image-270" title="Don't forget the copy down your API key fromt his screen." src="http://www.jarenhavell.com/wp-content/uploads/2012/03/IMG_4008-300x224.jpg" alt="" width="300" height="224" /></a><p class="wp-caption-text">This is the pre-loaded Sketchgarden Config Sketch. It will be replaced with your sketch on first upload. Don&#39;t forget the copy down your API key from this screen.</p></div>
<p><strong>#3 Connect your twitter account at  sketchgarden.co</strong></p>
<div class="wp-caption aligncenter" style="width: 310px"><a href="http://www.jarenhavell.com/wp-content/uploads/2012/03/sketchy.png"><img style="border-image: initial; border-width: 1px; border-color: black; border-style: solid;" title="Sketchy" src="http://www.jarenhavell.com/wp-content/uploads/2012/03/sketchy-300x258.png" alt="" width="300" height="258" /></a><p class="wp-caption-text">You don&#39;t have to tweet, but you gotta have a twitter.</p></div>
<p><strong>#4 Add your device with the Api key you obtained before.</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>#5 Compiling your working Nanode/Arduino sketch to hex:</strong><br />
Go to your working arduino / Nanode sketch. Hold down the Shift key and click the <strong>&gt; compile</strong> button. Look at the last section and identify the file path. If you are cool like me, and have OSX, your files will be hidden in some folder that you can&#8217;t see.</p>
<div id="attachment_267" class="wp-caption aligncenter" style="width: 477px"><a href="http://www.jarenhavell.com/wp-content/uploads/2012/03/Arduino-hex-files.png"><img class="size-full wp-image-267" title="Arduino hex files" src="http://www.jarenhavell.com/wp-content/uploads/2012/03/Arduino-hex-files.png" alt="" width="467" height="506" /></a><p class="wp-caption-text">/var/folders/ blablabla</p></div>
<p>That&#8217;s ok, <strong>here is a shortcut for OSX users.</strong> From finder, select <strong>Go</strong>, then <strong>Go To Folder,</strong> then paste in your long folder location.</p>
<div id="attachment_268" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.jarenhavell.com/wp-content/uploads/2012/03/gothere.png"><img class="size-medium wp-image-268" style="border-image: initial; border-width: 1px; border-color: black; border-style: solid;" title="gothere" src="http://www.jarenhavell.com/wp-content/uploads/2012/03/gothere-300x87.png" alt="" width="300" height="87" /></a><p class="wp-caption-text">complicated eh?</p></div>
<p>For me it was /var/folders/RZ/RZv65MxvH4GoCj14HxLTjk+++TI/-Tmp-/build654337670699641674.tmp/  sketchname.cpp.hex</p>
<p>&nbsp;</p>
<p>locate your file and copy it somewhere you can see it.</p>
<div id="attachment_273" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.jarenhavell.com/wp-content/uploads/2012/03/files.png"><img class="size-medium wp-image-273" title="files" src="http://www.jarenhavell.com/wp-content/uploads/2012/03/files-300x139.png" alt="" width="300" height="139" /></a><p class="wp-caption-text">organized files? I think not.</p></div>
<p>Now <strong>convert  the hex file to a bin file</strong> using the tool from sketchgarden &#8211; currently a java program called <a href="http://sketchgarden.co/HexToImage.jar">HexToImage.jar</a>, (located in the help menu from sketchgarden.co).<br />
Open a terminal window, and navigate to the directory with your .hex file and the hextoimage.jar app.<br />
Type in java -jar HexToImage.jar yourfilehere.cpp.hex yourfilehere.bin</p>
<p>For me, it was:</p>
<p><strong>cd desktop</strong><br />
<strong> cd environmental</strong><br />
<strong> java -jar HexToImage.jar PachubeV3_LibTemp_Motion_light_Webserver_SEEDLCD_JH.cpp.hex PachubeV3_SeedLCD_for_Sketchgarden.bin</strong></p>
<p>&nbsp;</p>
<div id="attachment_274" class="wp-caption aligncenter" style="width: 514px"><a href="http://www.jarenhavell.com/wp-content/uploads/2012/03/bashyourfacein.png"><img class="size-full wp-image-274" style="border-image: initial; border-width: 1px; border-color: black; border-style: solid;" title="bashyourfacein" src="http://www.jarenhavell.com/wp-content/uploads/2012/03/bashyourfacein.png" alt="" width="504" height="133" /></a><p class="wp-caption-text">I&#39;m going to bash your head in.</p></div>
<p><strong>#6 Upload To Sketchgarden</strong></p>
<p>Take your compiled and converted <strong>.bin</strong> file and <strong>upload it as a new sketch.</strong> Dont forget to copy in your source code to remind you of what this file does.</p>
<p>&nbsp;</p>
<div id="attachment_276" class="wp-caption aligncenter" style="width: 658px"><a href="http://www.jarenhavell.com/wp-content/uploads/2012/03/sketchload.png"><img class="size-full wp-image-276" style="border-image: initial; border-width: 1px; border-color: black; border-style: solid;" title="sketchload" src="http://www.jarenhavell.com/wp-content/uploads/2012/03/sketchload.png" alt="" width="648" height="543" /></a><p class="wp-caption-text">It&#39;s Peanut Butter sketchy time</p></div>
<p><strong>#7 Upload to your nanode</strong></p>
<p><strong></strong>click and  drag the file from the left over to the grey square&#8230; it took me a few tries, the page seems buggy. then click <strong>Upload Sketch</strong>.</p>
<div id="attachment_277" class="wp-caption aligncenter" style="width: 964px"><a href="http://www.jarenhavell.com/wp-content/uploads/2012/03/upload.png"><img class="size-full wp-image-277 " style="border-image: initial; border-width: 1px; border-color: black; border-style: solid;" title="upload" src="http://www.jarenhavell.com/wp-content/uploads/2012/03/upload.png" alt="Master preview artist, at your service." width="954" height="491" /></a><p class="wp-caption-text">I dont do GIFS.</p></div>
<p># 8 Wait a few minutes, then give up thinking it failed&#8230;.hours later return and <strong>rejoice that it actually did work</strong>, but you were to impatient the first time around!</p>
<div id="attachment_278" class="wp-caption aligncenter" style="width: 234px"><a href="http://www.jarenhavell.com/wp-content/uploads/2012/03/working.jpg"><img class="size-medium wp-image-278" title="working" src="http://www.jarenhavell.com/wp-content/uploads/2012/03/working-224x300.jpg" alt="patience" width="224" height="300" /></a><p class="wp-caption-text">Win.</p></div>
<p>&nbsp;</p>
<p>Somewhere along the line I had an issue with my nanode resetting every time I try to capture from more than 3 sensors. Currently, I am only capturing Temperature and Light information. The motion capture device (A PIR motion sensor) was randomly freezing my Nanode and causing it to stop reporting data. Unfortunately I uploaded my old code in this ketch, but I should be able to recall what I did to get it to work. I beleive i excluded the reading of those sensor pins, and filled the values with an arbitrary or duplicate value.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarenhavell.com/projects/nanode-round-3-sketchgarden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nanode: Round 2 – Pachube with Various sensors</title>
		<link>http://www.jarenhavell.com/blog/nanode-round-2-%e2%80%93-pachube-with-various-sensors/</link>
		<comments>http://www.jarenhavell.com/blog/nanode-round-2-%e2%80%93-pachube-with-various-sensors/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 18:41:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.jarenhavell.com/?p=228</guid>
		<description><![CDATA[Webservers are so 1990&#8242;s. We need fresh ways of collecting and displaying data. Too bad there isn&#8217;t a &#8220;cloud&#8221; service out there for that. Oh, wait, There is! Following the basic code on the Nanode website I was able to set up my own Pachube account and configure my nanode to stream data over to [...]]]></description>
			<content:encoded><![CDATA[<p>Webservers are so 1990&#8242;s. We need fresh ways of collecting and displaying data. Too bad there isn&#8217;t a &#8220;cloud&#8221; service out there for that.</p>
<p>Oh, wait, <a href="http://pachube.com/feeds/38808">There is!</a></p>
<p>Following the basic code on the Nanode website I was able to set up my own Pachube account and configure my nanode to stream data over to their logging service.</p>
<p>Here is the list of items used in this build:</p>
<p>Nanode V5 by WickedDevice<br />
ModernDevice TempSensor (i2c temperature sensor) from Liquidware<br />
Serial LCD v1.1 &#8211; 16&#215;2 &#8220;Twig&#8221; Grove display from SeeedStudios<br />
<del>SeeedStudio &#8220;Grove&#8221; light sensor v 1.0</del><br />
PIR sensor (Motion Detector) , Ebay</p>
<p><strong>Programming:</strong></p>
<p><a title="CODE PachubeV3_LibTemp_Motion_light_Webserver_SEEDLCD_JH.pde" href="http://www.jarenhavell.com/projects/arduino/code-pachubev3-libtemp-seedlcd/">Sample Code</a></p>
<p>The internal IP address is staticly defined, along with the DNS settings for pachube.com. This was cobbled together in november / december, and since then new code is available for proper DNS resoloution.</p>
<p>Upon power up, the Nanode checks it is connected to the network, then polls the sensors and stores them to variables. It refreshes the LCD and &#8221;prints&#8221; it to the screen, prints to the serial port, and shoots the data up to pachube.com</p>
<p>&nbsp;</p>
<div id="attachment_244" class="wp-caption aligncenter" style="width: 234px"><a href="http://www.jarenhavell.com/wp-content/uploads/2012/01/nanode-pachube.jpg"><img class="size-medium wp-image-244" title="nanode-pachube" src="http://www.jarenhavell.com/wp-content/uploads/2012/01/nanode-pachube-224x300.jpg" alt="" width="224" height="300" /></a><p class="wp-caption-text">As seen in my office, hanging precariously off my booklamp.</p></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarenhavell.com/blog/nanode-round-2-%e2%80%93-pachube-with-various-sensors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CODE PachubeV3_LibTemp_Motion_light_Webserver_SEEDLCD_JH.pde</title>
		<link>http://www.jarenhavell.com/projects/arduino/code-pachubev3-libtemp-seedlcd/</link>
		<comments>http://www.jarenhavell.com/projects/arduino/code-pachubev3-libtemp-seedlcd/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 18:07:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Arduino]]></category>

		<guid isPermaLink="false">http://www.jarenhavell.com/?p=237</guid>
		<description><![CDATA[Download [zip] PachubeV3_LibTemp_Motion_light_Webserver_SEEDLCD_JH &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#160; /*  * Arduino + Analog Sensors Posted to Pachube  *      Original Source Created on: Aug 31, 2011  *          Author: Victor Aprea  *   Documentation: http://wickeddevice.com  *  *       Source Revision: 587  *  * Licensed under Creative Commons Attribution-Noncommercial-Share Alike 3.0  *    Utilized in the following example by JarenHavell.com in &#8220;Nanode Round 2&#8243; [...]]]></description>
			<content:encoded><![CDATA[<p>Download [<strong>zip</strong>] <a href="http://www.jarenhavell.com/wp-content/uploads/2012/01/PachubeV3_LibTemp_Motion_light_Webserver_SEEDLCD.zip">PachubeV3_LibTemp_Motion_light_Webserver_SEEDLCD_JH</a></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>&nbsp;</p>
<p>/*<br />
 * Arduino + Analog Sensors Posted to Pachube<br />
 *      Original Source Created on: Aug 31, 2011<br />
 *          Author: Victor Aprea<br />
 *   Documentation: <a href="http://wickeddevice.com/">http://wickeddevice.com</a><br />
 *<br />
 *       Source Revision: 587<br />
 *<br />
 * Licensed under Creative Commons Attribution-Noncommercial-Share Alike 3.0<br />
 *    Utilized in the following example by JarenHavell.com in &#8220;Nanode Round 2&#8243;<br />
 *<br />
 * HAREDWARE SETUP<br />
 * Modern Device TempSensor i2c Temperature sensor &#8211; analog pins 2,3,4,5 &#8211; from liquidware <a href="http://www.liquidware.com/shop/show/SEN-TMP/Temp+Sensor">http://www.liquidware.com/shop/show/SEN-TMP/Temp+Sensor</a><br />
 * Generic Motion Sensor Analog pin 0 &#8211; from Ebay<br />
 * Grove &#8211; Serial LCD &#8211; &#8220;twig serial LCD&#8221; 2&#215;16 chars-  from Seeedstudios  <a href="http://www.seeedstudio.com/wiki/index.php?title=Twig_-_Serial_LCD">http://www.seeedstudio.com/wiki/index.php?title=Twig_-_Serial_LCD</a><br />
 *<br />
 *<br />
 *<br />
 *<br />
 */</p>
<p>#include &#8220;EtherShield.h&#8221;<br />
//for temperature Sensor<br />
#include &#8220;Wire.h&#8221;<br />
#include &#8220;LibTemperature.h&#8221;<br />
#include &lt;SerialLCD.h&gt;<br />
#include &lt;NewSoftSerial.h&gt; //this is a must<br />
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *<br />
 * The following #defines govern the behavior of the sketch. You can console outputs using the Serial Monitor<br />
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</p>
<p>#define MY_MAC_ADDRESS {0&#215;54,0&#215;55,0&#215;58,0&#215;10,0&#215;00,0&#215;25}               // must be uniquely defined for all Nanodes, e.g. just change the last number<br />
//#define USE_DHCP                                                     // comment out this line to use static network parameters<br />
#define PACHUBE_API_KEY &#8220;INSERT YOUR OWN PACHUBE KEY BETWEEN THE QUOTES&#8221; // change this to your API key<br />
#define HTTPFEEDPATH &#8220;/v2/feeds/#####&#8221;                               // change this to the relative URL of your feed, #&#8217;s replaced with your own feed.<br />
#define SENSOR2_ANALOG_PIN 1<br />
#define SENSOR3_ANALOG_PIN 0<br />
//************************************************<br />
//-the temperature stuff &#8211; variables<br />
LibTemperature temp = LibTemperature(0); // more temperature variable stuff<br />
//*************************************************</p>
<p>SerialLCD slcd(5,6); //assign soft serial pins 5 as RX, 6 as TX.<br />
//Connect 6 to the RX of LCD, and 5 to TX of LCD.</p>
<p>//sets size of LCD<br />
const int numRows = 2;<br />
const int numCols = 16;</p>
<p>#define DELAY_BETWEEN_PACHUBE_POSTS_MS 15000L<br />
#define SERIAL_BAUD_RATE 19200</p>
<p>#ifndef USE_DHCP // then you need to supply static network parameters, only if you are not using DHCP<br />
 #define MY_IP_ADDRESS { 192,168,  1,175}<br />
 #define MY_NET_MASK   {255,255, 255,  0}<br />
 #define MY_GATEWAY    { 192,168,  1,  1}<br />
 #define MY_DNS_SERVER {  8,  8,  8,  8}<br />
#endif</p>
<p>// change the template to be consistent with your datastreams: see <a href="http://api.pachube.com/v2/">http://api.pachube.com/v2/</a><br />
#define FEED_POST_MAX_LENGTH 256<br />
static char feedTemplate[] = &#8220;{\&#8221;version\&#8221;:\&#8221;1.0.0\&#8221;,\&#8221;datastreams\&#8221;:[{\"id\":\"sensor1\", \"current_value\":\"%d\"},{\"id\":\"sensor2\",\"current_value\":\"%d\"},{\"id\":\"sensor3\",\"current_value\":\"%d\"}]}&#8221;;<br />
static char feedPost[FEED_POST_MAX_LENGTH] = {0}; // this will hold your filled out template<br />
uint8_t fillOutTemplateWithSensorValues(uint16_t node_id, uint16_t sensorValue1, uint16_t sensorValue2, uint16_t sensorValue3){<br />
 // change this function to be consistent with your feed template, it will be passed the node id and four sensor values by the sketch<br />
 // if you return (1) this the sketch will post the contents of feedPost to Pachube, if you return (0) it will not post to Pachube<br />
 // you may use as much of the passed information as you need to fill out the template</p>
<p> snprintf(feedPost, FEED_POST_MAX_LENGTH, feedTemplate, sensorValue1, sensorValue2,sensorValue3); // this simply populates the current_value filed with sensorValue1<br />
 return (1);<br />
}</p>
<p>/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *<br />
 * You shouldn&#8217;t need to make changes below here for configuring the sketch<br />
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</p>
<p>// mac and ip (if not using DHCP) have to be unique<br />
// in your local area network. You can not have the same numbers in<br />
// two devices:<br />
static uint8_t mymac[6] = MY_MAC_ADDRESS;</p>
<p>// IP address of the host being queried to contact (IP of the first portion of the URL):<br />
static uint8_t websrvip[4] = {173,203, 98, 29 }; // should be resolved through DNS</p>
<p>#ifndef USE_DHCP<br />
// use the provided static parameters<br />
static uint8_t myip[4]      = MY_IP_ADDRESS;<br />
static uint8_t mynetmask[4] = MY_NET_MASK;<br />
static uint8_t gwip[4]      = MY_GATEWAY;<br />
static uint8_t dnsip[4]     = MY_DNS_SERVER;<br />
#else<br />
// these will all be resolved through DHCP<br />
static uint8_t dhcpsvrip[4] = { 0,0,0,0 };<br />
static uint8_t myip[4]      = { 0,0,0,0 };<br />
static uint8_t mynetmask[4] = { 0,0,0,0 };<br />
static uint8_t gwip[4]      = { 0,0,0,0 };<br />
static uint8_t dnsip[4]     = { 0,0,0,0 };<br />
#endif</p>
<p>long lastPostTimestamp;<br />
boolean firstTimeFlag = true;<br />
// global string buffer for hostname message:<br />
#define FEEDHOSTNAME &#8220;api.pachube.com\r\nX-PachubeApiKey: &#8221; PACHUBE_API_KEY<br />
#define FEEDWEBSERVER_VHOST &#8220;api.pachube.com&#8221;</p>
<p>static char hoststr[150] = FEEDWEBSERVER_VHOST;</p>
<p>#define BUFFER_SIZE 550<br />
static uint8_t buf[BUFFER_SIZE+1];</p>
<p>EtherShield es=EtherShield();</p>
<p>void setup(){<br />
 Serial.begin(SERIAL_BAUD_RATE);<br />
 Serial.println(&#8220;Nanode + LibTemp Sensor + Pachube = Awesome&#8221;);<br />
 // Initialise SPI interface<br />
 es.ES_enc28j60SpiInit();</p>
<p> // initialize ENC28J60<br />
 es.ES_enc28j60Init(mymac, 8);</p>
<p>#ifdef USE_DHCP<br />
 acquireIPAddress();<br />
#endif</p>
<p> printNetworkParameters();</p>
<p> //init the ethernet/ip layer:<br />
 es.ES_init_ip_arp_udp_tcp(mymac,myip, 80);</p>
<p> // init the web client:<br />
 es.ES_client_set_gwip(gwip);  // e.g internal IP of dsl router<br />
 es.ES_dnslkup_set_dnsip(dnsip); // generally same IP as router</p>
<p> Serial.println(&#8220;Awaiting Client Gateway&#8221;);<br />
 while(es.ES_client_waiting_gw()){<br />
   int plen = es.ES_enc28j60PacketReceive(BUFFER_SIZE, buf);<br />
   es.ES_packetloop_icmp_tcp(buf,plen);<br />
 }<br />
 Serial.println(&#8220;Client Gateway Complete, Resolving Host&#8221;);</p>
<p> resolveHost(hoststr, websrvip);<br />
 Serial.print(&#8220;Resolved host: &#8220;);<br />
 Serial.print(hoststr);<br />
 Serial.print(&#8221; to IP: &#8220;);<br />
 printIP(websrvip);<br />
 Serial.println();</p>
<p>&nbsp;</p>
<p> es.ES_client_set_wwwip(websrvip);</p>
<p> lastPostTimestamp = millis();<br />
}</p>
<p>void loop(){<br />
 long currentTime = millis();</p>
<p> int plen = es.ES_enc28j60PacketReceive(BUFFER_SIZE, buf);<br />
 es.ES_packetloop_icmp_tcp(buf,plen);</p>
<p> if(currentTime &#8211; lastPostTimestamp &gt; DELAY_BETWEEN_PACHUBE_POSTS_MS || firstTimeFlag){<br />
   firstTimeFlag = false;<br />
   uint16_t sensorValue1 = ((temp.GetTemperature() * 9 / 5) + 32);;<br />
   uint16_t sensorValue2 = analogRead(SENSOR2_ANALOG_PIN);<br />
   uint16_t sensorValue3 = analogRead(SENSOR3_ANALOG_PIN);</p>
<p>   if(fillOutTemplateWithSensorValues(0, sensorValue1, sensorValue2, sensorValue3)){<br />
     Serial.print(&#8220;Posting sensor values to Pachube: &#8220;);<br />
     Serial.print(sensorValue1, DEC);<br />
     Serial.print(&#8220;, &#8220;);<br />
     Serial.print(sensorValue2, DEC);<br />
     Serial.print(&#8220;, &#8220;);<br />
       Serial.print(sensorValue3, DEC);<br />
     Serial.print(&#8220;, &#8220;);<br />
     Serial.println();</p>
<p>//begin coimmunication, turn on display, turn on backlight<br />
slcd.begin();<br />
 slcd.clear();<br />
slcd.backlight();</p>
<p> //Col, row<br />
 slcd.setCursor(0,0);  // Scroll to X,Y position<br />
 slcd.print(&#8220;Temp&#8221;);<br />
 slcd.setCursor(0,1);  // Scroll to X,Y position<br />
 slcd.print(sensorValue1, DEC);<br />
 slcd.print(&#8220;F&#8221;);</p>
<p> slcd.setCursor(5,0);  // Scroll to X,Y position<br />
 slcd.print(&#8220;Motion&#8221;);<br />
 slcd.setCursor(5,1);  // Scroll to X,Y position<br />
 slcd.print(sensorValue2, DEC);</p>
<p> slcd.setCursor(12,0);  // Scroll to X,Y position<br />
 slcd.print(&#8220;Lht&#8221;);<br />
 slcd.setCursor(12,1);  // Scroll to X,Y position<br />
 slcd.print(sensorValue3, DEC);</p>
<p>     es.ES_client_http_post(PSTR(HTTPFEEDPATH),PSTR(FEEDWEBSERVER_VHOST),PSTR(FEEDHOSTNAME), PSTR(&#8220;PUT &#8220;), feedPost, &amp;sensor_feed_post_callback);<br />
   }<br />
   lastPostTimestamp = currentTime;</p>
<p>&nbsp;</p>
<p>  }</p>
<p>}</p>
<p>#ifdef USE_DHCP<br />
void acquireIPAddress(){<br />
 uint16_t dat_p;<br />
 long lastDhcpRequest = millis();<br />
 uint8_t dhcpState = 0;<br />
 Serial.println(&#8220;Sending initial DHCP Discover&#8221;);<br />
 es.ES_dhcp_start( buf, mymac, myip, mynetmask,gwip, dnsip, dhcpsvrip );</p>
<p> while(1) {<br />
   // handle ping and wait for a tcp packet<br />
   int plen = es.ES_enc28j60PacketReceive(BUFFER_SIZE, buf);</p>
<p>   dat_p=es.ES_packetloop_icmp_tcp(buf,plen);<br />
   //    dat_p=es.ES_packetloop_icmp_tcp(buf,es.ES_enc28j60PacketReceive(BUFFER_SIZE, buf));<br />
   if(dat_p==0) {<br />
     int retstat = es.ES_check_for_dhcp_answer( buf, plen);<br />
     dhcpState = es.ES_dhcp_state();<br />
     // we are idle here<br />
     if( dhcpState != DHCP_STATE_OK ) {<br />
       if (millis() &gt; (lastDhcpRequest + 10000L) ){<br />
         lastDhcpRequest = millis();<br />
         // send dhcp<br />
         Serial.println(&#8220;Sending DHCP Discover&#8221;);<br />
         es.ES_dhcp_start( buf, mymac, myip, mynetmask,gwip, dnsip, dhcpsvrip );<br />
       }<br />
     }<br />
     else {<br />
       return;<br />
     }<br />
   }<br />
 }<br />
}<br />
#endif</p>
<p>// hostName is an input parameter, ipAddress is an outputParame<br />
void resolveHost(char *hostName, uint8_t *ipAddress){<br />
 es.ES_dnslkup_request(buf, (uint8_t*)hostName );<br />
 while(1){<br />
   int plen = es.ES_enc28j60PacketReceive(BUFFER_SIZE, buf);<br />
   es.ES_packetloop_icmp_tcp(buf,plen);<br />
   if(es.ES_udp_client_check_for_dns_answer(buf, plen)) {<br />
     uint8_t *websrvipptr = es.ES_dnslkup_getip();<br />
     for(int on=0; on &lt;4; on++ ) {<br />
       ipAddress[on] = *websrvipptr++;<br />
     }<br />
     return;<br />
   }<br />
 }<br />
}</p>
<p>void sensor_feed_post_callback(uint8_t statuscode,uint16_t datapos){<br />
 Serial.println();<br />
 Serial.print(&#8220;Status Code: &#8220;);<br />
 Serial.println(statuscode, HEX);<br />
 Serial.print(&#8220;Datapos: &#8220;);<br />
 Serial.println(datapos, DEC);<br />
 Serial.println(&#8220;PAYLOAD&#8221;);<br />
 for(int i = 0; i &lt; 100; i++){<br />
    Serial.print(byte(buf[i]));<br />
 }</p>
<p> Serial.println();<br />
 Serial.println();<br />
}</p>
<p>// Output a ip address from buffer from startByte<br />
void printIP( uint8_t *buf ) {<br />
 for( int i = 0; i &lt; 4; i++ ) {<br />
   Serial.print( buf[i], DEC );<br />
   if( i&lt;3 )<br />
     Serial.print( &#8220;.&#8221; );<br />
 }<br />
}</p>
<p>void printNetworkParameters(){<br />
 Serial.print( &#8220;My IP: &#8221; );<br />
 printIP( myip );<br />
 Serial.println();</p>
<p> Serial.print( &#8220;Netmask: &#8221; );<br />
 printIP( mynetmask );<br />
 Serial.println();</p>
<p> Serial.print( &#8220;DNS IP: &#8221; );<br />
 printIP( dnsip );<br />
 Serial.println();</p>
<p> Serial.print( &#8220;GW IP: &#8221; );<br />
 printIP( gwip );<br />
 Serial.println();<br />
}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarenhavell.com/projects/arduino/code-pachubev3-libtemp-seedlcd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nanode: Round 1 &#8211; Webserver and temperature sensor</title>
		<link>http://www.jarenhavell.com/projects/nanode-temperature-webserver/</link>
		<comments>http://www.jarenhavell.com/projects/nanode-temperature-webserver/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 03:24:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.jarenhavell.com/?p=214</guid>
		<description><![CDATA[First project with the nanode was getting a sensor to display the current temperature, then display it on a self refreshing webpage. Pretty simple, since I have already done this before. Just a few minor differences in how the libraries work. Currently it is pulling the temperature data from a ModernDevice temp sensor, and displaying [...]]]></description>
			<content:encoded><![CDATA[<p>First project with the nanode was getting a sensor to display the current temperature, then display it on a self refreshing webpage. Pretty simple, since I have already <a title="CODE: Server Room Environmental Monitoring -Light and Temperature" href="http://www.jarenhavell.com/?p=155">done this before</a>. Just a few minor differences in how the libraries work. Currently it is pulling the temperature data from a ModernDevice temp sensor, and displaying on this website, which refreshes every second. See it in action <a href="http://temperature.jarenhavell.com:1234">here</a>.</p>
<p>My Code:</p>
<p><a href="http://www.jarenhavell.com/wp-content/uploads/2011/09/Nanode_Server.zip">Nanode_Server</a> [.ZIP FILE!]<br />
Contains: (my simple Arduino Sketch, Libraries for the Nanode compatable ethernet shield and the Lib Temp Sensor )</p>
<p>Code examples:<br />
<a href="https://github.com/Nanode/Webserver-Live-Thermistor-Reading/blob/master/Webserver_Live_Thermistor_Reading.pde"> https://github.com/Nanode/Webserver-Live-Thermistor-Reading/blob/master/Webserver_Live_Thermistor_Reading.pde</a><br />
<a href="http://www.liquidware.com/apps/show/77"> http://www.liquidware.com/apps/show/77</a></p>
<p>Programming help:<br />
<a href="http://arduino.cc/en/Reference/Array"> http://arduino.cc/en/Reference/Array</a><br />
<a href="http://http://dereenigne.org/electronics/arduino/arduino-float-to-string"> http://dereenigne.org/electronics/arduino/arduino-float-to-string</a></p>
<p>hardware:<br />
<a href="http://shop.moderndevice.com/products/tmp421-temperature-sensor">http://shop.moderndevice.com/products/tmp421-temperature-sensor</a>   (As seen in my <a title="Server Room Environmental Monitoring -Light and Temperature" href="http://www.jarenhavell.com/projects/server-room-environmental-monitoring-light-and-temperature/">prior post</a>)<br />
<a href="http://www.jarenhavell.com/blog/nanodefirstimpressions/">http://www.jarenhavell.com/blog/nanodefirstimpressions/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarenhavell.com/projects/nanode-temperature-webserver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nanode : First Impressions</title>
		<link>http://www.jarenhavell.com/blog/nanodefirstimpressions/</link>
		<comments>http://www.jarenhavell.com/blog/nanodefirstimpressions/#comments</comments>
		<pubDate>Sun, 25 Sep 2011 00:42:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.jarenhavell.com/?p=175</guid>
		<description><![CDATA[The Nanode kit &#8211; an open designed, web enabled, &#8220;arduino compatible&#8221;? for $39 Are you kidding me? Thats a great deal! That was the first thought that crossed my mind when I saw the Nanode at the World Maker Faire in New York. This product is now available (and manufactured) in the USA thanks to the colaboration of [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.nanode.eu/">Nanode</a> kit &#8211; an open designed, web enabled, &#8220;arduino compatible&#8221;? f<a href="http://wickeddevice.com/index.php?main_page=product_info&amp;cPath=26&amp;products_id=102">or $39</a> Are you kidding me? Thats a great deal!</p>
<div id="attachment_204" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.jarenhavell.com/wp-content/uploads/2011/09/nanode2.jpg"><img class="size-medium wp-image-204" title="nanode2" src="http://www.jarenhavell.com/wp-content/uploads/2011/09/nanode2-300x224.jpg" alt="" width="300" height="224" /></a><p class="wp-caption-text">The Nanode!</p></div>
<p>That was the first thought that crossed my mind when I saw the Nanode at the <a href="http://makerfaire.com/newyork/2011/">World Maker Faire </a>in New York. This product is now available (and manufactured) in the USA thanks to the colaboration of its original designer, <a href="http://sustburbia.blogspot.com/2011/09/born-in-usa.html">Ken Boak</a> from London Hackspace and <a href="https://twitter.com/#!/vicatcu">Vic</a> and Dirk from WickedDevice. My board revision (Nanode 5) was the first set of kits available in the US.</p>
<p>I had heard of the nanode <a href="http://hackaday.com/2011/08/11/nanode-a-low-cost-network-enabled-arduino-ethernet-alternative/">before</a>, but never really was able to get over the international shipping costs and was not sold on a Microchip ethernet controller when the &#8220;<a href="http://www.arduino.cc/en/Main/ArduinoEthernetShield">standard</a>&#8221; is any shield based on the Wiznet ethernet controller.</p>
<p>but $35? Heck. Why not!</p>
<p>So I bought one.</p>
<p>&nbsp;</p>
<pre></pre>
<pre>And it <a href="http://24.63.158.155:1234/">works</a>!</pre>
<pre></pre>
<pre></pre>
<p>Here is my take on the assembly.</p>
<p>&nbsp;</p>
<h1 style="text-align: center;">HOLY RESISTORS</h1>
<p style="padding-left: 30px;"><a href="http://www.jarenhavell.com/wp-content/uploads/2011/09/photo-1.jpg"><img class="size-medium wp-image-176 alignleft" style="margin: 3px;" title="photo-1" src="http://www.jarenhavell.com/wp-content/uploads/2011/09/photo-1-300x224.jpg" alt="" width="300" height="224" /></a></p>
<p style="padding-left: 30px;">The<a href="http://wiki.london.hackspace.org.uk/view/Project:Nanode/Building_a_Nanode"> online pictorial</a> building guide included plenty of visual and text instructions, however there were a few discrepancies between my board and the pictures. This is not surprising, as the PCB pictured in the instructions is from <a href="http://london.hackspace.org.uk/">London Hackspace</a>, where as my device is a new product made in the USA and sold by <a href="http://www.wickeddevice.com/">WickedDevice</a>. They are working on their own documentation, as it should be available soon.</p>
<p style="padding-left: 30px;">Most of the differences were minor  component variations (the level shifter and capacitors were from a different manufacturer, the PCB was a different revision with a different screen print.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://www.jarenhavell.com/wp-content/uploads/2011/09/soicandserial.jpg"><img class="size-medium wp-image-185 alignright" style="margin-right: 2px; margin-left: 2px;" title="soic pad and serial" src="http://www.jarenhavell.com/wp-content/uploads/2011/09/soicandserial-300x224.jpg" alt="" width="300" height="224" /></a></p>
<p>&nbsp;</p>
<p>The first item to catch my eye was the SMT SOT23 labeled <a href="http://ww1.microchip.com/downloads/en/devicedoc/22122a.pdf">11AA02E48</a> which is a 3 pin serial eeprom, pre-soldered to the bottom of the board. This was identified as the &#8220;MAC Address IC&#8221; in the <a href="http://wiki.london.hackspace.org.uk/view/Project:Nanode/Building_a_Nanode">instructions</a>. This kit is intended to be assembled by the hobbyist, and most of us dont have surface mount soldering equipment (Well, some of us do). Props to <a href="https://twitter.com/monsonite/status/117335840904069120">the guy</a> who has to hand solder and pack all these boards!</p>
<p>&nbsp;</p>
<p>Another set of empty pads left room for an 8-lead SOIC, labeled <a href="http://ww1.microchip.com/downloads/en/DeviceDoc/22100D.pdf">23k256</a>, which is a 256k of SRAM connected to the SPI bus. No chip included with the N5 kit, but its <a href="http://wiki.london.hackspace.org.uk/view/Project:Nanode/docs">listed</a> as an optional component (original <a href="http://sustburbia.blogspot.com/2011/05/ram-and-mac.html">design notes </a>here) to be used for <del>additional code storage or data logging </del> <a href="http://blog.wickeddevice.com/?p=264">Ethernet based arduino sketch uploads!</a> This is based on a new bootloader called <a href="http://wickedboot.wickeddevice.com/">WickedBoot</a>. Code is available in the invite-only <a href="http://sketchgarden.co">Sketchgarden</a> beta site. Code was previously in <a href="https://github.com/arduino/TFTP-Bootloader">in development</a> by the Arduino guys, but the guys over at wickedDevice are not quite ready to let their code go mainstream yet.  (Other similar projects for TFTP arduino boot available <a href="https://github.com/esmil/arduino-netboot/tree/0f0f4a6425529369ebbef7c1c7c647042e3a3406">here</a> )</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h1 style="text-align: center;"> GOTCHA&#8217;S</h1>
<p>&nbsp;</p>
<div><a href="http://www.jarenhavell.com/wp-content/uploads/2011/09/TO-92Note.jpg"><br />
</a></div>
<div id="attachment_181" class="wp-caption alignleft" style="width: 234px"><a href="http://www.jarenhavell.com/wp-content/uploads/2011/09/photo-6rr.jpg"><img class="size-medium wp-image-181" title="photo-6rr" src="http://www.jarenhavell.com/wp-content/uploads/2011/09/photo-6rr-224x300.jpg" alt="" width="224" height="300" /></a><p class="wp-caption-text">C&#39;mon, Baby, Let&#39;s Do The Twist.</p></div>
<p style="text-align: left;">The only real &#8220;gotcha&#8221; is the 3.3v voltage regulator. The orientation does not match the orientation of the screen print. There is a &#8220;note&#8221; and a dashed line,probably a quick fix enabling them to deliver a working product in time for MakerFaire. This orientation is addressed in the documentation, but could be easily missed if you are used to jumping in without reading directions first (guillty as charged!). This has been <a href="https://twitter.com/#!/vicatcu/status/117797961391542272">identified</a> by WickedDevice as something that is going to be fixed in version 6.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Once everything is assembled, loading up the first test sketch only requires a <a href="http://wiki.london.hackspace.org.uk/view/Project:Nanode/FAQ#My_Nanode_can.27t_access_the_ENC28J60_and_comes_up_ENC28J60_Version_0">minor tweak</a> to the line to tell it to use Pin 8. The code was developed for the Nuelectronics EtherShield The source code is up on <a href="https://github.com/thiseldo/EtherShield">Github</a>, but hopefully there will be a custom library for the Nanode available directly from WickedDevice shortly.</p>
<div id="attachment_208" class="wp-caption aligncenter" style="width: 220px"><a href="http://www.jarenhavell.com/wp-content/uploads/2011/09/screen-capture-14.png"><img class="size-full wp-image-208" title="screen-capture-14" src="http://www.jarenhavell.com/wp-content/uploads/2011/09/screen-capture-14.png" alt="" width="210" height="168" /></a><p class="wp-caption-text">Modify this line to specify pin 8.</p></div>
<p>&nbsp;</p>
<p>Pop the ethernet cord in, fire up the browser, and go to the default IP address. you should see the first webpage served by the new Nanode!</p>
<div id="attachment_209" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.jarenhavell.com/wp-content/uploads/2011/09/screen-capture-16.png"><img class="size-medium wp-image-209  " style="margin: 2px;" title="screen-capture-16" src="http://www.jarenhavell.com/wp-content/uploads/2011/09/screen-capture-16-300x80.png" alt="" width="300" height="80" /></a><p class="wp-caption-text">Woot!</p></div>
<p>&nbsp;</p>
<h1 style="text-align: center;">AWESOMESAUCE</h1>
<p>I did notice  lots of spare holes for missing components- 2 zener diodes, 2 resistors and a capacitor was left out- the instructions make reference to a <a href="http://www.obdev.at/products/vusb/index.html">Virtual USB</a> option. Sweet!  A quick search on their Wiki page reveals that its<a href="http://wiki.london.hackspace.org.uk/view/Project:Nanode/Applications/Bootstrap_config_files"> in the works</a>,  Code for virtual USB available <a href="http://wiki.london.hackspace.org.uk/view/Project:Nanode/Applications/Bootstrap_config_files">here</a>.</p>
<div id="attachment_190" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-190" title="FTDI  and LED and the missing Zeners" src="http://www.jarenhavell.com/wp-content/uploads/2011/09/connector-300x224.jpg" alt="" width="300" height="224" /><p class="wp-caption-text">USB and FTDI header</p></div>
<p>&nbsp;</p>
<h2><span class="Apple-style-span" style="font-size: 13px; font-weight: normal;">The thing that really got me excited was the <a href="http://wickedboot.wickeddevice.com/">Ethernet Bootloader</a>. WickedDevice have a <a href="http://blog.wickeddevice.com/?p=264">video</a> showing this over on their blog. Cant wait till they release the code!</span></h2>
<div id="attachment_205" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.jarenhavell.com/wp-content/uploads/2011/09/nanode3.jpg"><img class="size-medium wp-image-205" title="nanode3" src="http://www.jarenhavell.com/wp-content/uploads/2011/09/nanode3-300x224.jpg" alt="" width="300" height="224" /></a><p class="wp-caption-text">Soft lighting sets the mood for some sweet ethernet and I²C lovin&#39;</p></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: center;">Overall I think it&#8217;s a great buy for under $40. Go buy one one!</p>
<p style="text-align: left;">Available from the following vendors:</p>
<p style="text-align: left;"><a href="http://wickeddevice.com/index.php?main_page=product_info&amp;cPath=26&amp;products_id=102">WickedDevice</a> -USA/Canada/Mexico</p>
<p style="text-align: left;"><a href="http://www.earthshineelectronics.com/arduino-products/111-nanode-kit.html" target="_blank">Earthshine Electronics</a> -UK</p>
<p style="text-align: left;"><a href="http://www.skpang.co.uk/catalog/nanode-kit-with-free-1-year-pachube-pro-account-p-973.html" target="_blank">SK Pang Electronics</a> -UK</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarenhavell.com/blog/nanodefirstimpressions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CODE_WebServer_And_i2c_LCD_Display_Light_sensor_w_temp_LED_MOTION</title>
		<link>http://www.jarenhavell.com/blog/code_webserver_and_i2c_lcd_display_light_sensor_w_temp_led_motion/</link>
		<comments>http://www.jarenhavell.com/blog/code_webserver_and_i2c_lcd_display_light_sensor_w_temp_led_motion/#comments</comments>
		<pubDate>Sun, 10 Jul 2011 03:30:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.jarenhavell.com/?p=155</guid>
		<description><![CDATA[Look at this code, bishes &#8211; for the wiznet based ethernet shield. /* LiquidCrystal Library - display() and noDisplay() Demonstrates the use a 16x2 LCD display. The LiquidCrystal library works with all LCD displays that are compatible with the Hitachi HD44780 driver. There are many of them out there, and you can usually tell them [...]]]></description>
			<content:encoded><![CDATA[<p>Look at this code, bishes &#8211; for the wiznet based ethernet shield.</p>
<pre class="cpp" style="font-family: monospace;">/*
LiquidCrystal Library - display() and noDisplay()
Demonstrates the use a 16x2 LCD display. The LiquidCrystal
library works with all LCD displays that are compatible with the
Hitachi HD44780 driver. There are many of them out there, and you
can usually tell them by the 16-pin interface.
The circuit:
* LCD RX pin to digital pin d2
* temp sensor analog pins a2,a3,a4,a5
* Light Sensor analog pin a0 (TEMT6000)
* xbee tx d0
* xbee rx d1
* Ethernet shield attached to pins 10, 11, 12, 13
* led Pin D3
Library originally added 18 Apr 2008
by David A. Mellis
library modified 5 Jul 2009
by Limor Fried (http://www.ladyada.net)
example added 9 Jul 2009
by Tom Igoe
modified 22 Nov 2010
by Tom Igoe
This example code is in the public domain.

http://www.arduino.cc/en/Tutorial/LiquidCrystal

*/
/*
Web Server
A simple web server that shows the value of the analog input pins.
using an Arduino Wiznet Ethernet shield.
Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
* Analog inputs attached to pins A0 through A5 (optional)
created 18 Dec 2009
by David A. Mellis
modified 4 Sep 2010
by Tom Igoe
*/
// include the library code:
#include
#include
#include
#include
#include
//------------------Start web server Setup -mac and IP address---------
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 10,0,0,174 };
// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
Server server(80);
//----------------- End Web Server Setup--------
//------------------Start i2c LCD backpack setup----------
// since the LCD does not send data back to the Arduino, we should only define the txPin
#define txPin 2 //pin used for i2c based LCD backpack
SoftwareSerial LCD = SoftwareSerial(2, txPin);
const int LCDdelay=10; // conservative, 2 actually works
//------------------End i2c LCD backpack setup
//-----------------Setup the Variables for sensors-------
int sensorPin1 = A0; // select the input pin for the light sensor
int sensorPin2 = A1; // select the input pin for the PIR sensor
int sensorValue1 = 0; // variable to store the value coming from the Light-sensor, default 0
int sensorValue2 = 0; // variable to store the value coming from the PIR-sensor, default 0
float tempF = 0; // variable to store the value coming from the temp sensor after converted to F degrees
const int ledpin3 = 3; //pin corresponding to pin 3 for LED
//-----------------End sensor variable madness------------
//-----------------Start LCD controlls-------------------
// wbp: goto with row &amp; column
void goTo(int row, int col) {
LCD.print(0xFE, BYTE); //command flag
LCD.print((col + row*64 + 128), BYTE); //position
delay(LCDdelay);
}
void clearLCD(){
LCD.print(0xFE, BYTE); //command flag
LCD.print(0x01, BYTE); //clear command.
delay(LCDdelay);
}
void backlightOn() { //turns on the backlight
LCD.print(0x7C, BYTE); //command flag for backlight stuff
LCD.print(157, BYTE); //light level.
delay(LCDdelay);
}
void backlightOff(){ //turns off the backlight
LCD.print(0x7C, BYTE); //command flag for backlight stuff
LCD.print(128, BYTE); //light level for off.
delay(LCDdelay);
}
void serCommand(){ //a general function to call the command flag for issuing all other commands
LCD.print(0xFE, BYTE);
}
//---------------------End LCD controlls-----------------
//---------------------Begin LCD setup -----------------
void setup() {
pinMode(txPin, OUTPUT); //sets up Pint as output to LCD
LCD.begin(9600);
clearLCD();
goTo(0,0);
//}
//--------------------End LCD Setup-----------------------
//---------------------Begin LED Output-------------------
pinMode(3, OUTPUT); //setup pin for digital out - pin 3
//---------------------End led Output---------------------
//------------------Begin Web SErver Setup---------------
//void setup()
//{
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
server.begin();
}
//------------------End Web SErver Setup----------------
//-------------------Begin Sensor read and LCD control----------------------
void loop() {
// read the value from the sensors:
sensorValue1 = analogRead(sensorPin1); //light sensor
sensorValue2 = analogRead(sensorPin2); //PIR
LibTemperature temp = LibTemperature(0); // reads temperature in Celcius
// convert to degF
tempF = (temp.GetTemperature() * 9 / 5) + 32;
//stores float to int because serlcd wont send floats
int tempfd = tempF;
// Print sensor value to the LCD.
goTo(1,0);
LCD.print("Light");
goTo(0,0);
LCD.print(" ");
goTo(0,0);
LCD.print(sensorValue1);
goTo(1,6);
LCD.print("PIR");
goTo(0,6);
LCD.print(" ");
goTo(0,6);
LCD.print(sensorValue2);
goTo(1,10);
LCD.print("Temp F");
goTo(0,12);
LCD.print(tempfd);
//Iluminate LED if motion.
digitalWrite(3, HIGH); // set the LED on
{if (sensorValue2 &lt; 10) {
// no motion
digitalWrite(ledpin3, LOW); // set the LED off
}
else {
// motion
digitalWrite(ledpin3, HIGH); // set the LED ON
}
}
delay(500);
//}
//-----------------End Sensor read and LCD control------------------------
//-----------------Web Server code---------------------------
// listen for incoming clients
Client client = server.available();
if (client) {
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
// if you've gotten to the end of the line (received a newline
// character) and the line is blank, the http request has ended,
// so you can send a reply
if (c == '\n' &amp;&amp; currentLineIsBlank) {
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
// output the value of each analog input pin
//for (int analogChannel = 0; analogChannel &lt; 1; analogChannel++) {
int analogChannel = 0; //select channell 1
client.print("Light Level from channel ");
client.print(analogChannel);
client.print(" is ");
client.print(analogRead(analogChannel));
client.println("
");
client.print("Temperature is ");
client.print(tempfd);
client.print(" Degrees F");
client.println("
");
//}
break;
}
if (c == '\n') {
// you're starting a new line
currentLineIsBlank = true;
}
else if (c != '\r') {
// you've gotten a character on the current line
currentLineIsBlank = false;
}
}
}
// give the web browser time to receive the data
delay(1);
// close the connection:
client.stop();
}
}
//--------------------End web server code ----------------------</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.jarenhavell.com/blog/code_webserver_and_i2c_lcd_display_light_sensor_w_temp_led_motion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maker Faire 2011, San Francisco</title>
		<link>http://www.jarenhavell.com/uncategorized/maker-faire-2011-san-francisco/</link>
		<comments>http://www.jarenhavell.com/uncategorized/maker-faire-2011-san-francisco/#comments</comments>
		<pubDate>Mon, 23 May 2011 01:11:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jarenhavell.com/?p=130</guid>
		<description><![CDATA[I&#8217;m at the Maker Faire in San Francisco this weekend. I got a chance to meet lots of cool people &#8211; Jeri Ellsworth, Jeff Keyzer, Garret Mace, Ian Lesnet and lots of other really awesome individuals. I stopped in the Element 14 booth and had a chat with one of their Software developers, Drew Fustini, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m at the Maker Faire in San Francisco this weekend. I got a chance to meet lots of cool people &#8211; <a href="http://twitter.com/jeriellsworth" target="_blank">Jeri Ellsworth</a>, <a href="http://twitter.com/mightohm" target="_blank">Jeff Keyzer</a>, <a href="http://twitter.com/macegr" target="_blank">Garret Mace</a>, <a href="http://dangerousprototypes.com/" target="_blank">Ian Lesnet</a> and lots of other really awesome individuals.</p>
<p>I stopped in the Element 14 booth and had a chat with one of their Software developers, <a href="http://pdp7.com/" target="_blank">Drew Fustini</a>, who is also a member of Pumping station one in chicago. We talked about <a href="http://www.theamphour.com" target="_blank">The Amp Hour</a> and who we had seen here in the expo hall. He hooked me up with a free Element 14/ Adafruit mini POV (persistence of Vision) solder kit and a station to put it together. As I was sitting working away, who should arrive but the Mighytohm (Jeff) himself!</p>
<p>Later in the day (once my mini POV was complete) I got a chance to talk to Ian from Dangerous prototypes. He had a new oscilloscope board that they had on display. He showed me some of its features, though we failed to read anything lower than 50 mhz square waves. He also showed me the <a href="http://dangerousprototypes.com/bus-pirate-manual/" target="_blank">BusPirate</a>, and how it can be used to interact and read back data from various devices.</p>
<p>I then moved on to the <a href="http://www.macetech.com" target="_blank">MaceTech</a> where I chilled in the awesome party tent with Garret and purchased a <a href="http://macetech.com/store/index.php?main_page=product_info&amp;products_id=23" target="_blank">Centipede shield</a> and an <a href="http://macetech.com/store/index.php?main_page=product_info&amp;cPath=1&amp;products_id=12" target="_blank">Octobright Cyanea </a>.</p>
<p>I also ran into Mark Sproul from Rutgers University and <a href="http://fubarlabs.com/author/rick-anderson-2-2-2/" target="_blank">Fubar Labs</a> (Hes the guy who did all the pic software development for the <a href="http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,719,895&amp;Prod=CHIPKIT-MAX32" target="_blank">chipKIT Max32</a>, and Rick Anderson did the compiler modifications. (EDIT: Hack-a-day had some additional coverage on Mark from Saturday&#8217;s event <a href="http://hackaday.com/2011/05/21/bamf2011-chipkit-is-arduino-to-the-power-of-32/" target="_blank">here</a>. )</p>
<p>Basically he said the Ethernet shield has some IC&#8217;s that talk on the physical level, and is going to be out in July.<br />
He also was referencing how the kit is possible, by working at the abstraction layer and making a simple text file that goes between the lower code and the h file. &#8220;Give me a GCC compiler, any GCC compiler, and ill have it running in a week&#8221;</p>
<p>He said he wants to work on ARM Cortex, and some other platforms, and that essentially its so simple you could do it, its just a text file.<br />
By the way, He&#8217;s just as much a hacker as anyone. While yes, Digilent sent him lots of free dev boards, hes not getting paid to develop this.</p>
<p>Off to day two of Maker Faire 20011, San Francisco Bay, and the &#8220;Bring a Hack&#8221; Meetup!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarenhavell.com/uncategorized/maker-faire-2011-san-francisco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server Room Environmental Monitoring -Light and Temperature</title>
		<link>http://www.jarenhavell.com/projects/server-room-environmental-monitoring-light-and-temperature/</link>
		<comments>http://www.jarenhavell.com/projects/server-room-environmental-monitoring-light-and-temperature/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 03:33:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.jarenhavell.com/?p=114</guid>
		<description><![CDATA[Did I leave the light on in the server room again? Kind of like &#8220;did I leave the oven on&#8221;&#8230; its going to bug me all night! At least I am well on my way to answering that, and several other questions I might be wondering. My goal with this project is to set up [...]]]></description>
			<content:encoded><![CDATA[<p>Did I leave the light on in the server room again? Kind of like &#8220;did I leave the oven on&#8221;&#8230; its going to bug me all night!<br />
At least I am well on my way to answering that, and several other questions I might be wondering.</p>
<p>My goal with this project is to set up a remote monitoring device I can place in my server room that will display basic information such as temperature, ambient light values, decibels, current draw, etc.</p>
<p>Right now I have a 16&#215;2 character LCD from <a href="http://jkdevices.com/character-lcd/blue-16x2-lcd">JKdevices</a>. Its compatible with the Hitachi HD44780, so it works great with the Arduino LiquidCrystal library. I have it connected in 4bit mode.</p>
<div id="attachment_115" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.jarenhavell.com/wp-content/uploads/2011/04/C360_2011-04-26-22-05-44.jpg"><img class="size-medium wp-image-115" title="Arduino with Temp, Light and Potentiometer sensors" src="http://www.jarenhavell.com/wp-content/uploads/2011/04/C360_2011-04-26-22-05-44-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Arduino with Temperature and Light sensors</p></div>
<p>&nbsp;</p>
<p>I have the arduino reading the 3 sensors and storing them to variables. the light and potentiometer values are stored to an integer, and the temperature is stored in a float. Those variables are then &#8220;printed&#8221; to the LCD screen, every 500 milliseconds.</p>
<p>Here is the temperature sensor  (based around Ti&#8217;s <a href="http://focus.ti.com/docs/prod/folders/print/tmp421.html">TMP421</a>), which I purchased from <a href="http://www.liquidware.com/shop/show/SEN-TMP/Temp+Sensor">Liquidware</a>. It is put together by <a href="http://shop.moderndevice.com/products/tmp421-temperature-sensor">Modern Devices</a>. its accurate to within +/- 1 degree Celsius, or for us Americans, +/- 1.8 degrees Fahrenheit. It&#8217;s based off the I2c protocol, and includes a library to download to make things easier to use.</p>
<div id="attachment_116" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.jarenhavell.com/wp-content/uploads/2011/04/C360_2011-04-26-21-15-10.jpg"><img class="size-medium wp-image-116" title="Modern Devices TMP421" src="http://www.jarenhavell.com/wp-content/uploads/2011/04/C360_2011-04-26-21-15-10-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text"> Modern Devices I2C Temp Sensor</p></div>
<p>&nbsp;</p>
<p>The light sensor is the same sensor I used in my 555 contest submission. It is manufactured by Vishay. The TEMT6000 [<a href="http://www.sparkfun.com/datasheets/Sensors/Imaging/TEMT6000.pdf">datasheet</a>] from <a href="http://www.sparkfun.com/products/8348">Sparkfun Electronics</a> . Right now I have no idea what units i am reading, just that the value changes proportionally to the amount of light.</p>
<p>The final item on the display is displaying the value from a potentiometer. Not much use for that unless I need a position sensor for something that rotates or opens.</p>
<p>I&#8217;m ordering a few more sensors &#8211; more to come as parts come in!</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>LCD Pinout</p>
<p>Blue Backlit LCD<br />
Standard HD44780 Interface<br />
Runs on 5 volts<br />
16&#215;2 Character Display<br />
4 Mounting Holes<br />
pin    symbol    description<br />
1    GND    Ground<br />
2    Vcc    Vcc (+5V) also powers backlight<br />
3    V0    Contrast adjustment<br />
4    RS    Register select: low = instruction, high = data<br />
5    R/W    low = write, high = read<br />
6    E    Enable (active high)<br />
7    DB0    Data-bus bit 0 (not used in 4-bit mode)<br />
8    DB1    Data-bus bit 1 (not used in 4-bit mode)<br />
9    DB2    Data-bus bit 2 (not used in 4-bit mode)<br />
10    DB3    Data-bus bit 3 (not used in 4-bit mode)<br />
11    DB4    Data-bus bit 4<br />
12    DB5    Data-bus bit 5<br />
13    DB6    Data-bus bit 6<br />
14    DB7    Data-bus bit 7<br />
15    LED+    Positive backlight supply (if used)<br />
16    LED-    Negative backlight supply (if used)</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Update 5/13/2011</p>
<p>PIR sensor and Audio level sensor have arrived, along with ethernet shield. Trying to get something solid together over the weekend, before next week&#8217;s Maker Faire in SF.</p>
<p>&#8212;&#8212;&#8212;&#8212;-</p>
<p>Update 6/14/2011</p>
<p>Received new parts - sparkfun i2C  backpack for LCD.<br />
Ran into a snag with my Arduino duemilanove -i think i <del>blew up</del> burned out the FTDI chip! Not to worry, I hooked up the Xbee for easy &#8220;wireless&#8221; programming! Got the backpack soldered to the LCD and got it displaying temperatures. Biggest issue was finding the right code to talk to an i2c display, then pushing over the temperature data. The temperature from the sensor is stored as a Float. Floats will not transfer over the serLCD from Sparkfun, so I needed to change it to an integer first. Who knew?</p>
<p><a href="http://www.jarenhavell.com/wp-content/uploads/2011/04/i2cdisplayxbee.jpg"><img class="aligncenter size-medium wp-image-144" title="i2cdisplayxbee" src="http://www.jarenhavell.com/wp-content/uploads/2011/04/i2cdisplayxbee-300x224.jpg" alt="" width="300" height="224" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarenhavell.com/projects/server-room-environmental-monitoring-light-and-temperature/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Laser Beams and 555&#8242;s</title>
		<link>http://www.jarenhavell.com/projects/laser-beams-and-555s/</link>
		<comments>http://www.jarenhavell.com/projects/laser-beams-and-555s/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 04:55:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.jarenhavell.com/?p=96</guid>
		<description><![CDATA[This page serves as my contest entry for the 555 timer design contest. I have created a laser trip wire that actuates a camera. An ambient light sensor by Vishay ,  the TEMT6000 [datasheet] from Sparkfun Electronics, acts as  an NPN transistor attached to a 555 in BiStable mode. The output is sent to a logic inverter for quick visual status, [...]]]></description>
			<content:encoded><![CDATA[<p>This page serves as my contest entry for the <a href="http://www.555contest.com/">555 timer design contest</a>.</p>
<p>I have created a laser trip wire that actuates a camera. An ambient light sensor by Vishay ,  the TEMT6000 <a></a>[<a href="http://www.sparkfun.com/datasheets/Sensors/Imaging/TEMT6000.pdf">datasheet</a>] from <a href="http://www.sparkfun.com/products/8348">Sparkfun Electronics</a>, acts as  an NPN transistor attached to a 555 in BiStable mode. The output is sent to a logic inverter for quick visual status, then off to another 555 in Monostable configuration. The output from that 555 can be used to actuate any number of devices (Electric squirt gun, Sirens, Nerf guns, etc.), but in this example I have my camera set up in continious fire mode, as the output stayes on for several seconds. This could be used for catching a burgler (who probably wants to steal my camera), or more usefull items such as taking pictures at the end of a race.</p>
<p>I have a green laser for visuals, but it is probably possible to use alternate frequencys or light that are less visible to the human eye.</p>
<p>Description:</p>
<p>laser &#8212;&#8212;-Light sensor(npn) ~555 bistable&gt; inverter logic chips and Status leds&gt; 555 monostable &gt;transistor (npn)-relay &gt;camera trigger &gt; CLICK!</p>
<p>The block diagram:<br />
<a href="http://www.jarenhavell.com/wp-content/uploads/2011/03/555-block-diagram.png"><img class="aligncenter size-medium wp-image-106" title="555 block diagram" src="http://www.jarenhavell.com/wp-content/uploads/2011/03/555-block-diagram-300x180.png" alt="" width="300" height="180" /></a><br />
The schematic:</p>
<p><a href="http://www.jarenhavell.com/wp-content/uploads/2011/03/circuit.jpg"><img class="aligncenter size-medium wp-image-108" title="circuit" src="http://www.jarenhavell.com/wp-content/uploads/2011/03/circuit-300x206.jpg" alt="" width="300" height="206" /></a></p>
<p>Video of my submission below:</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/e/VfJCeC1byJE"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/e/VfJCeC1byJE" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarenhavell.com/projects/laser-beams-and-555s/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Capacitance of the body?</title>
		<link>http://www.jarenhavell.com/uncategorized/capacitance-of-the-body/</link>
		<comments>http://www.jarenhavell.com/uncategorized/capacitance-of-the-body/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 18:50:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jarenhavell.com/?p=88</guid>
		<description><![CDATA[Take a look at this&#8230; a 555 circuit that powers on an LED when your place your hand near it. Lets see if i can get this down to just one 555, with predictable results. Thinking of using it for something&#8230; from NESIT&#8217;s 555 build off day, made by one of our junior &#8220;members&#8221;.]]></description>
			<content:encoded><![CDATA[<p>Take a look at this&#8230; a 555 circuit that powers on an LED when your place your hand near it.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="390" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/RT_OoC74UlU&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="390" src="http://www.youtube.com/v/RT_OoC74UlU&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Lets see if i can get this down to just one 555, with predictable results. Thinking of using it for something&#8230;</p>
<p>from NESIT&#8217;s <a href="http://www.thehackerspace.com/The_HackerSpace/Projects_Blog/Entries/2011/2/12_555_Contest_Projects.html">555 build off day</a>, made by one of our junior &#8220;members&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarenhavell.com/uncategorized/capacitance-of-the-body/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

