<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
	<title>Latest posts from “adafruit industries” board.</title>
	<description>Latest posts from “adafruit industries” board.</description>
	<link>http://forums.adafruit.com/index.php</link>
	<atom:link href="http://forums.adafruit.com/generate_feed.php?content=posts&amp;global=1" rel="self" type="application/rss+xml" />
	<lastBuildDate>Fri, 30 Jul 2010 03:52:21 -0400</lastBuildDate>

			<item>
			<dc:creator>clxwgs</dc:creator>
			<pubDate>Fri, 30 Jul 2010 22:43:07 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=25&amp;p=83699#p83699</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=25&amp;p=83699#p83699</link>
			<title>How to work together?</title>
			<description><![CDATA[I can have some different sensors worked separately.<br />
Now,I need to make them work at the same time.<br />
For example,I want to driver the motors while read the encoder(count the circles the motors run) together.<br />
I can only use the two sensors in turn instead,but they cannot work well.What should I do to improve the program?<br />
Thanks.]]></description>
		</item>
			<item>
			<dc:creator>franklin97355</dc:creator>
			<pubDate>Fri, 30 Jul 2010 21:41:51 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=26&amp;p=83698#p83698</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=26&amp;p=83698#p83698</link>
			<title>Re: plastic enclosures</title>
			<description><![CDATA[<blockquote class="uncited"><div>Is this really cost prohibitive under a certain number of units?</div></blockquote> The answer is it depends on where the cost becomes prohibitive to you. Even at $50 for the mold I wouldn't buy just one.]]></description>
		</item>
			<item>
			<dc:creator>robodude666</dc:creator>
			<pubDate>Fri, 30 Jul 2010 21:28:41 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=40&amp;p=83697#p83697</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=40&amp;p=83697#p83697</link>
			<title>Re: New XBees configurable, but don't respond in terminal</title>
			<description><![CDATA[Hey guys,<br />
<br />
Played around with CoolTerm a bit. Got it working, I think. It seems I need to enable RTS. Also, you don't hit enter after the +++ command. Then just wait 5-10 seconds and the AT___ commands seem to work fine. Epic Win.<br />
<br />
Now to figure out why the two won't communicate.<br />
<br />
They're both in ID 1337. One is MY 1 and DL 2, other is MY 2 DL 1. Is this a correct setup for a Point To Point configuration?]]></description>
		</item>
			<item>
			<dc:creator>erexx</dc:creator>
			<pubDate>Fri, 30 Jul 2010 19:39:09 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=8&amp;p=83696#p83696</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=8&amp;p=83696#p83696</link>
			<title>Re: Arduino Xbee Sensor Project - Need Help Please!</title>
			<description><![CDATA[The code I need might be in here somewhere.<br />
This reads ph to lcd and alot of other sensor data.<br />
<br />
I only need the code that will read the voltages into valid ph values in hyperterminal.<br />
Again if anybody can parse exactly what I need out of this I would be very grateful.<br />
<br />
<dl class="codebox"><dt>Code: <a href="#" onclick="selectCode(this); return false;">Select all</a></dt><dd><code>/*<br />
 pHduino.pde - pHduino firmware for Arduino.<br />
 Copyright (c) 2009 Carlos A. Neves<br />
 http://code.google.com/p/phduino<br />
 <br />
 This program is free software: you can redistribute it and/or modify<br />
 it under the terms of the GNU General Public License as published by<br />
 the Free Software Foundation, either version 3 of the License, or<br />
 (at your option) any later version.<br />
 <br />
 This program is distributed in the hope that it will be useful,<br />
 but WITHOUT ANY WARRANTY; without even the implied warranty of<br />
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&nbsp; See the<br />
 GNU General Public License for more details.<br />
 <br />
 You should have received a copy of the GNU General Public License<br />
 along with this program.&nbsp; If not, see &lt;http://www.gnu.org/licenses/&gt;.<br />
 <br />
 Author: Carlos A. Neves &lt;caneves at google&gt;<br />
 <br />
 */<br />
<br />
#include &quot;WProgram.h&quot;<br />
#include &lt;LiquidCrystal.h&gt;<br />
#include &quot;pHduino.h&quot;<br />
#include &quot;float2string.h&quot;<br />
#include &quot;commandline.h&quot;<br />
#include &quot;string.h&quot;<br />
#include &quot;stdlib.h&quot;<br />
#include &lt;avr/eeprom.h&gt;<br />
//#include &quot;freemem.h&quot;<br />
<br />
// Creates the LCD instance<br />
LiquidCrystal lcd(PH_LCD_RS_PIN, PH_LCD_RW_PIN, PH_LCD_E_PIN, PH_LCD_D4_PIN, PH_LCD_D5_PIN, PH_LCD_D6_PIN, <br />
<br />
PH_LCD_D7_PIN);<br />
<br />
// ordinary variables<br />
char myStr&#91;16&#93;;<br />
int val_E;<br />
int val_R;<br />
int val_T;<br />
float E;<br />
float R;<br />
float T;<br />
float pH;<br />
int i;<br />
unsigned long ul;<br />
float f, f2;<br />
<br />
unsigned long int my_timer0;<br />
unsigned long int my_timer;<br />
<br />
boolean pH_alarm_status = false;<br />
<br />
// struct of parameters<br />
struct myRec_T{<br />
&nbsp; unsigned int magic_number;<br />
&nbsp; boolean start_flag;<br />
&nbsp; unsigned int time_between_acquisitions_ms;<br />
&nbsp; boolean temperature_sensor_flag;<br />
&nbsp; float temperature_constant_celcius;<br />
&nbsp; boolean pH_alarm_flag;<br />
&nbsp; float pH_inf;<br />
&nbsp; float pH_sup;<br />
} <br />
myRec;<br />
<br />
void parameters_reset(void){<br />
<br />
&nbsp; myRec.magic_number = MAGIC_NUMBER;<br />
&nbsp; myRec.start_flag = true;<br />
&nbsp; myRec.time_between_acquisitions_ms = PH_INITIAL_TIME_BETWEEN_ACQUISITIONS_MS;<br />
&nbsp; myRec.temperature_sensor_flag = true;<br />
&nbsp; myRec.temperature_constant_celcius = PH_TEMPERATURE_VALUE_INITIAL_CELCIUS;<br />
&nbsp; myRec.pH_alarm_flag = false;<br />
&nbsp; myRec.pH_inf = 0.0;<br />
&nbsp; myRec.pH_sup = 14.0;<br />
<br />
&nbsp; eeprom_write_block(&amp;myRec, (void *)0, sizeof(myRec));<br />
}<br />
<br />
void setup(void){<br />
<br />
&nbsp; // Init serial port<br />
&nbsp; Serial.begin(115200);<br />
<br />
&nbsp; // setup LED, button, and buzzer<br />
&nbsp; pinMode(PH_LED_PIN, OUTPUT);<br />
&nbsp; pinMode(PH_BUTTON_CTRL_PIN, INPUT);<br />
&nbsp; pinMode(PH_BUZZER_PIN, OUTPUT);<br />
<br />
&nbsp; // initialize LED and buzzer<br />
&nbsp; digitalWrite(PH_LED_PIN, LOW);<br />
&nbsp; digitalWrite(PH_BUZZER_PIN, LOW);<br />
<br />
&nbsp; // begin LCD<br />
&nbsp; lcd.begin(16, 2);<br />
&nbsp; lcd.clear();<br />
&nbsp; lcd.noCursor();<br />
&nbsp; lcd.home();<br />
&nbsp; lcd.display();<br />
<br />
&nbsp; // Initial messagens.<br />
&nbsp; digitalWrite(PH_BUZZER_PIN, HIGH);<br />
&nbsp; delay(200);<br />
&nbsp; digitalWrite(PH_BUZZER_PIN, LOW);<br />
<br />
&nbsp; digitalWrite(PH_LED_PIN, HIGH);<br />
&nbsp; lcd.setCursor(0,0);<br />
&nbsp; lcd.print(&quot;pHduino&quot;);<br />
&nbsp; lcd.setCursor(0,1);<br />
&nbsp; lcd.print(PH_PHDUINO_VERSION); <br />
&nbsp; delay(2000);<br />
&nbsp; digitalWrite(PH_LED_PIN, LOW);<br />
<br />
&nbsp; // read parameters from EEPROM<br />
&nbsp; eeprom_read_block(&amp;myRec, (void *)0, sizeof(myRec));<br />
<br />
&nbsp; // check for empty memory or different data block<br />
&nbsp; if (myRec.magic_number != MAGIC_NUMBER){<br />
&nbsp; &nbsp; parameters_reset();<br />
&nbsp; }<br />
<br />
&nbsp; lcd.clear();<br />
<br />
&nbsp; // Free memory check<br />
&nbsp; //Serial.println(availableMemory());<br />
}<br />
<br />
void process_data(void){<br />
<br />
&nbsp; digitalWrite(PH_LED_PIN, HIGH);<br />
<br />
&nbsp; // print temperature<br />
&nbsp; // Obs.: You can operate the pHduino without a temperature sensor.<br />
&nbsp; // In this case, you need setup a temperature value <br />
&nbsp; // and comment the readADC and calc lines.<br />
<br />
&nbsp; if (myRec.temperature_sensor_flag == true){<br />
&nbsp; &nbsp; val_T = readADC(PH_TEMP_ADC_PIN, PH_TIME_ADC_READINGS_MICROSECONS);<br />
&nbsp; &nbsp; T = 100 * val_T * 5.0 / 1024;<br />
&nbsp; }<br />
&nbsp; else<br />
&nbsp; {<br />
&nbsp; &nbsp; T = myRec.temperature_constant_celcius; // celcius temperature to operates without a temperature sensor.<br />
&nbsp; }<br />
<br />
&nbsp; floatToString(myStr, T, 1);<br />
<br />
&nbsp; lcd.setCursor(0,0);<br />
&nbsp; lcd.print(myStr);<br />
&nbsp; lcd.print((char)223); // degree symbol<br />
&nbsp; lcd.print(&quot;C&nbsp; &quot;);<br />
<br />
&nbsp; //Serial.print(val_T, DEC);<br />
&nbsp; //Serial.print(&quot; &quot;);<br />
&nbsp; Serial.print(myStr);<br />
&nbsp; Serial.print(&quot; &quot;);<br />
<br />
&nbsp; val_R = readADC(PH_REF_ADC_PIN, PH_TIME_ADC_READINGS_MICROSECONS);<br />
&nbsp; R = PH_GAIN_STAGE2_REF * (val_R * 5.0 / 1024);<br />
<br />
&nbsp; //floatToString(myStr, R, 3);<br />
<br />
&nbsp; //lcd.setCursor(0,0);<br />
&nbsp; //lcd.print(myStr);<br />
&nbsp; //lcd.print((char)223); // degree symbol<br />
&nbsp; //lcd.print(&quot;C&nbsp; &quot;);<br />
<br />
&nbsp; //Serial.print(val_T, DEC);<br />
&nbsp; //Serial.print(&quot; &quot;);<br />
&nbsp; //Serial.print(myStr);<br />
&nbsp; //Serial.print(&quot; &quot;);<br />
<br />
&nbsp; // print ADC value and voltage of electrochemical potential<br />
&nbsp; val_E = readADC(PH_PH_ADC_PIN, PH_TIME_ADC_READINGS_MICROSECONS);<br />
&nbsp; E = -1 * ((val_E * 5.0 / 1024) - R) / PH_GAIN_STAGE1_PH;<br />
<br />
&nbsp; //floatToString(myStr, E, 3);<br />
<br />
&nbsp; lcd.setCursor(0, 1);<br />
&nbsp; lcd.print((int)(E*1000), DEC); // mili volts<br />
&nbsp; lcd.print(&quot;mV&nbsp; &quot;);<br />
<br />
&nbsp; lcd.setCursor(8, 1);<br />
&nbsp; lcd.print(&quot;AD:&quot;);<br />
&nbsp; lcd.print(val_E, DEC);<br />
&nbsp; lcd.print(&quot;&nbsp; &quot;);<br />
<br />
&nbsp; Serial.print(val_E);<br />
&nbsp; Serial.print(&quot; &quot;);&nbsp; <br />
&nbsp; Serial.print((int)(E*1000), DEC); // mili volts<br />
&nbsp; Serial.print(&quot; &quot;);<br />
<br />
&nbsp; // print pH<br />
&nbsp; // delta_pH = -(F/(2.303*R*T))*delta_E<br />
&nbsp; // &lt;http://en.wikipedia.org/wiki/PH&gt;<br />
&nbsp; // where,<br />
&nbsp; // gas constant R = 8.31451 J * K^-1 * mol^-1 &lt;http://en.wikipedia.org/wiki/Gas_constant&gt;<br />
&nbsp; // Kelvin temperature T = celcius temperature plus 273.15 K &lt;http://en.wikipedia.org/wiki/Kelvin&gt;<br />
&nbsp; // Faraday constant F = 96485 C &lt;http://en.wikipedia.org/wiki/Faraday_constant&gt;<br />
&nbsp; pH = (float)((-5038.8 * E / (273.15 + T)) + 7.0);<br />
<br />
&nbsp; floatToString(myStr, pH, 2);<br />
<br />
&nbsp; lcd.setCursor(8, 0);<br />
&nbsp; lcd.print(&quot;pH:&quot;);<br />
&nbsp; lcd.print(myStr);<br />
&nbsp; lcd.print(&quot;&nbsp; &quot;);<br />
<br />
&nbsp; Serial.print(myStr);<br />
&nbsp; Serial.print(&quot; &quot;);<br />
<br />
&nbsp; // print alarm signal<br />
&nbsp; if (myRec.pH_alarm_flag == true){<br />
&nbsp; &nbsp; Serial.print(1, DEC);<br />
&nbsp; &nbsp; Serial.print(&quot; &quot;);<br />
&nbsp; &nbsp; if ((pH &lt; myRec.pH_inf) || (pH &gt; myRec.pH_sup)){<br />
&nbsp; &nbsp; &nbsp; Serial.print(1, DEC);<br />
&nbsp; &nbsp; &nbsp; pH_alarm_status = true;<br />
&nbsp; &nbsp; &nbsp; lcd.setCursor(7, 0);<br />
&nbsp; &nbsp; &nbsp; lcd.print(&quot;*&quot;);<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; else{<br />
&nbsp; &nbsp; &nbsp; Serial.print(0, DEC);<br />
&nbsp; &nbsp; &nbsp; pH_alarm_status = false;<br />
&nbsp; &nbsp; &nbsp; lcd.setCursor(7, 0);<br />
&nbsp; &nbsp; &nbsp; lcd.print(&quot; &quot;);<br />
&nbsp; &nbsp; }<br />
&nbsp; }<br />
&nbsp; else{<br />
&nbsp; &nbsp; Serial.print(0, DEC);<br />
&nbsp; &nbsp; Serial.print(&quot; &quot;);<br />
&nbsp; &nbsp; Serial.print(0, DEC);<br />
&nbsp; &nbsp; pH_alarm_status = false;<br />
&nbsp; }<br />
<br />
&nbsp; Serial.println();<br />
<br />
&nbsp; if (pH_alarm_status == false){<br />
&nbsp; &nbsp; digitalWrite(PH_LED_PIN, LOW);<br />
&nbsp; }<br />
&nbsp; else{<br />
&nbsp; &nbsp; digitalWrite(PH_BUZZER_PIN, HIGH);<br />
&nbsp; &nbsp; delay(100);<br />
&nbsp; &nbsp; digitalWrite(PH_BUZZER_PIN, LOW);<br />
&nbsp; }<br />
}<br />
<br />
void process_cmd(void){<br />
<br />
&nbsp; if (process_command_line() == 1){<br />
<br />
&nbsp; &nbsp; // cmd<br />
&nbsp; &nbsp; if (strcmp(cmd_str, &quot;cmd&quot;) == 0){<br />
&nbsp; &nbsp; &nbsp; Serial.println(cmd_parm_str);<br />
<br />
&nbsp; &nbsp; &nbsp; // cmd phduino on|off<br />
&nbsp; &nbsp; &nbsp; if (strcmp(cmd_parm&#91;0&#93;, &quot;phduino&quot;) == 0){<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; if (strcmp(cmd_parm&#91;1&#93;, &quot;start&quot;) == 0){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myRec.start_flag = true;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; digitalWrite(PH_BUZZER_PIN, HIGH);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; delay(200);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; digitalWrite(PH_BUZZER_PIN, LOW);<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; if (strcmp(cmd_parm&#91;1&#93;, &quot;stop&quot;) == 0){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myRec.start_flag = false;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lcd.clear();<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; digitalWrite(PH_BUZZER_PIN, HIGH);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; delay(200);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; digitalWrite(PH_BUZZER_PIN, LOW);<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; &nbsp; // cmd interval_ms INT<br />
&nbsp; &nbsp; &nbsp; if ((cmd_n_parms &gt; 1) &amp;&amp; (strcmp(cmd_parm&#91;0&#93;, &quot;interval_ms&quot;) == 0)){<br />
&nbsp; &nbsp; &nbsp; &nbsp; ul = atol(cmd_parm&#91;1&#93;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; if (ul &gt; 0){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myRec.time_between_acquisitions_ms = ul;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; my_timer0 = millis(); // reset the timer<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; &nbsp; // cmd set_temp_sensor on|off<br />
&nbsp; &nbsp; &nbsp; if (strcmp(cmd_parm&#91;0&#93;, &quot;set_temp_sensor&quot;) == 0){<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; if (strcmp(cmd_parm&#91;1&#93;, &quot;on&quot;) == 0){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myRec.temperature_sensor_flag = true;<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; if (strcmp(cmd_parm&#91;1&#93;, &quot;off&quot;) == 0){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myRec.temperature_sensor_flag = false;<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; &nbsp; // cmd set_temp FLOAT<br />
&nbsp; &nbsp; &nbsp; if (strcmp(cmd_parm&#91;0&#93;, &quot;set_temp&quot;) == 0){<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; f = (float)atof(cmd_parm&#91;1&#93;);<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; if ((f &gt;= 0.0) &amp;&amp; (f &lt;= 100.0)){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myRec.temperature_constant_celcius = f;<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; else{<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Serial.println(&quot;Error: Temperature range from 0.0 to 100.0&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; &nbsp; // set pH alarm range<br />
&nbsp; &nbsp; &nbsp; if (strcmp(cmd_parm&#91;0&#93;, &quot;set_ph_alarm&quot;) == 0){<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; f = (float)atof(cmd_parm&#91;1&#93;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; f2 = (float)atof(cmd_parm&#91;2&#93;);<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; if ((f &gt;= 0.0) &amp;&amp; (f &lt;= 14.0) &amp;&amp; (f2 &gt;= 0.0) &amp;&amp; (f2 &lt;= 14.0) &amp;&amp; (f2 &gt; f)){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myRec.pH_inf = f;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myRec.pH_sup = f2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; else{<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Serial.println(&quot;Error: pH range from 0.0 to 14.0&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; <br />
<br />
&nbsp; &nbsp; &nbsp; // pH alarm<br />
&nbsp; &nbsp; &nbsp; if (strcmp(cmd_parm&#91;0&#93;, &quot;ph_alarm&quot;) == 0){<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; if (strcmp(cmd_parm&#91;1&#93;, &quot;on&quot;) == 0){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myRec.pH_alarm_flag = true;<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; if (strcmp(cmd_parm&#91;1&#93;, &quot;off&quot;) == 0){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myRec.pH_alarm_flag = false;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; digitalWrite(PH_LED_PIN, LOW);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lcd.setCursor(7, 0);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lcd.print(&quot; &quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; &nbsp; // reset parameters<br />
&nbsp; &nbsp; &nbsp; if (strcmp(cmd_parm&#91;0&#93;, &quot;reset&quot;) == 0){<br />
&nbsp; &nbsp; &nbsp; &nbsp; parameters_reset();&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; &nbsp; // cmd help<br />
&nbsp; &nbsp; &nbsp; if (strcmp(cmd_parm&#91;0&#93;, &quot;help&quot;) == 0){<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; Serial.println(&quot;cmd help&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; Serial.println(&quot;cmd phduino start|stop&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; Serial.println(&quot;cmd interval_ms INT&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; Serial.println(&quot;cmd set_temp_sensor on|off&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; Serial.println(&quot;cmd set_temp FLOAT&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; Serial.println(&quot;cmd set_ph_alarm TEMP_INF TEMP_SUP&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; Serial.println(&quot;cmd ph_alarm on|off&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; Serial.println(&quot;cmd reset&quot;);<br />
&nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; &nbsp; // save parameters<br />
&nbsp; &nbsp; &nbsp; eeprom_write_block(&amp;myRec, (void *)0, sizeof(myRec));<br />
&nbsp; &nbsp; }<br />
&nbsp; }<br />
}<br />
<br />
void loop(void){<br />
<br />
&nbsp; my_timer = millis();<br />
<br />
&nbsp; if ((my_timer-my_timer0) &gt; myRec.time_between_acquisitions_ms){<br />
<br />
&nbsp; &nbsp; // reset the timer<br />
&nbsp; &nbsp; my_timer0 = my_timer;<br />
<br />
&nbsp; &nbsp; if (myRec.start_flag == true){<br />
&nbsp; &nbsp; &nbsp; process_data();&nbsp; <br />
&nbsp; &nbsp; }<br />
&nbsp; }<br />
<br />
&nbsp; process_cmd();&nbsp; <br />
}<br />
<br />
</code></dd></dl>]]></description>
		</item>
			<item>
			<dc:creator>E:pp:ik</dc:creator>
			<pubDate>Fri, 30 Jul 2010 19:34:21 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=7&amp;p=83695#p83695</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=7&amp;p=83695#p83695</link>
			<title>Re: Help with CV/Gate and Yamaha CS-5</title>
			<description><![CDATA[At the very least you'll have that!<br />
<br />
<img src="http://forums.adafruit.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" />]]></description>
		</item>
			<item>
			<dc:creator>bbunk</dc:creator>
			<pubDate>Fri, 30 Jul 2010 19:25:57 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=30&amp;p=83694#p83694</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=30&amp;p=83694#p83694</link>
			<title>Re: Generate ICMP Packets</title>
			<description><![CDATA[ICMP's are broadcast packets. To generate a custom packet type, typically you will need a raw socket. Good luck!]]></description>
		</item>
			<item>
			<dc:creator>LoGiCa</dc:creator>
			<pubDate>Fri, 30 Jul 2010 18:04:01 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=7&amp;p=83693#p83693</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=7&amp;p=83693#p83693</link>
			<title>Re: Help with CV/Gate and Yamaha CS-5</title>
			<description><![CDATA[Great, thanks for the help. I will experiment <img src="http://forums.adafruit.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" />]]></description>
		</item>
			<item>
			<dc:creator>youeatwaffles</dc:creator>
			<pubDate>Fri, 30 Jul 2010 18:00:02 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=8&amp;p=83692#p83692</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=8&amp;p=83692#p83692</link>
			<title>Mint tin amp</title>
			<description><![CDATA[I want to make the make magazine mint tin amp, but all I have is a chip that says opa2132pa<br />
it says &quot;High Speed FET-Input TI Op amps&quot; on the package, can this be substituted for the LM386N-3 on the plans? thanks here is the link <!-- m --><a class="postlink" href="http://www.make-digital.com/make/vol04?folio=131#pg133">http://www.make-digital.com/make/vol04?folio=131#pg133</a><!-- m -->]]></description>
		</item>
			<item>
			<dc:creator>robodude666</dc:creator>
			<pubDate>Fri, 30 Jul 2010 17:54:35 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=40&amp;p=83691#p83691</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=40&amp;p=83691#p83691</link>
			<title>New XBees configurable, but don't respond in terminal</title>
			<description><![CDATA[Hey guys,<br />
<br />
I got my order for two XBees, an XBee Adapter Kit and the Parallax USB Adapter from Adafruit today. Assembled it all, and now I'm trying to get the little bees to work.<br />
<br />
I'm working in Windows 7, as X-CTU is windows-only. I have the USB adapter plugged in, and it's visible as COM3 (I had the drivers previously installed from using my Arduino on it). The Green and Yellow LEDs are solid on the right side, and on the left side the red LED is constantly blinking. In X-CTU, I can run the Test / Query and a modem of type XB24 is found running a firmware of 10E6. The Modem Configuration works fine as well; I can read and write, as well as upload the latest firmware. I set both XBees to a PAN ID of 1337. XBee A was setup with MY of 1 and DL of 2, whilst XBee B was setup with MY of 2 and DL of 1. In both cases, the modem parameters were successfully written to the XBee.<br />
<br />
Everything is fine... up to here. When I open up a terminal (I tried Cool Term, TeraTerm, Putty, and X-CTU's Terminal) I always get.. nothing. I can type +++ or AT and hit enter all I want, but I never receive an OK in return. The LEDs remain in the same state (Green + Yellow solid, Red blinking).<br />
<br />
I tried the USB Adapter on both my Windows 7 machine, as well as my iMac running Mac OS X 10.6.4. I'm using the default 9600 buad, no flow control, 8-bit with no parity and 1 stop bit in every terminal I tried. I've read and played along with the XBee pages on ladyada's site several times, but no dice...<br />
<br />
Any ideas? Did I do something incorrectly? I can configure the modules just fine, and they're seen by X-CTU... I just can't talk to them via a terminal. I also tried both XBee modules with the USB Adapter, so the chance of it being a bad Bee is low I think.<br />
<br />
Cheers,<br />
-robodude666]]></description>
		</item>
			<item>
			<dc:creator>rj44319</dc:creator>
			<pubDate>Fri, 30 Jul 2010 17:53:18 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=25&amp;p=83690#p83690</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=25&amp;p=83690#p83690</link>
			<title>Re: What?</title>
			<description><![CDATA[The problem was the lib. I downloaded....<br />
I took the lib. from another computer and it was fine...<br />
the one i downloaded version 10c. Has any one reported problems with it?]]></description>
		</item>
			<item>
			<dc:creator>Antiklesys</dc:creator>
			<pubDate>Fri, 30 Jul 2010 17:20:20 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=31&amp;p=83689#p83689</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=31&amp;p=83689#p83689</link>
			<title>Zero search script for adafruit motor shield</title>
			<description><![CDATA[Posting my Zero Search script, works like a charm. It reads from a digital sensor, at the moment using a magnetic sensor on my motors.<br />
It centers the motor zero in the middle of the sensor. <br />
<br />
<a href="http://www.megaupload.com/?d=49DFJJ01" class="postlink">http://www.megaupload.com/?d=49DFJJ01</a>]]></description>
		</item>
			<item>
			<dc:creator>stbtrax</dc:creator>
			<pubDate>Fri, 30 Jul 2010 17:16:33 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=26&amp;p=83688#p83688</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=26&amp;p=83688#p83688</link>
			<title>plastic enclosures</title>
			<description><![CDATA[I am wondering how much it costs to make those plastic enclosures like the arduino one adafruit sells.  <br />
What kindof costs can be expected assuming I have the design ready?  i.e. molding tooling, injecting.  Is this really cost prohibitive under a certain number of units?]]></description>
		</item>
			<item>
			<dc:creator>E:pp:ik</dc:creator>
			<pubDate>Fri, 30 Jul 2010 17:01:45 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=7&amp;p=83687#p83687</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=7&amp;p=83687#p83687</link>
			<title>Re: Help with CV/Gate and Yamaha CS-5</title>
			<description><![CDATA[Basically yes. The x0xb0x will act as this go-between. The midi data coming in is binary and the x0xb0x converts it to voltages which it uses internally and also sends out via the cv/gate jacks out back.<br />
<br />
It just so happens that Yamaha and a few other companies at that time chose a different method to interpret how an octave would be tuned. The &quot;standard&quot; most synths (including the x0x) use is 1.0 V / octave. You're going to hear a shift in those notes because the CS-5 sees an octave as 1.2V as opposed to 1.0 (0.1 V / semitone x 12 notes in that octave = 1.2).<br />
<br />
Technically speaking the CS-5 is incompatible in this arrangement. I can't recall how it interprets the gate either (i.e. note on/off) but you may find that there's an issue there too. There are several variants on how that works as well. You may end up still needing a converter to get this all to work the way you'd expect it to. Midi -&gt; CV /Gate for the Yamaha spec or voltage and trigger converter to keep it all in tune and triggering properly as you slave it to your sequencer.]]></description>
		</item>
			<item>
			<dc:creator>adafruit</dc:creator>
			<pubDate>Fri, 30 Jul 2010 16:52:55 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=19&amp;p=83686#p83686</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=19&amp;p=83686#p83686</link>
			<title>Re: Dimensions of the DS1307 breakout board</title>
			<description><![CDATA[did you click on Download Source?]]></description>
		</item>
			<item>
			<dc:creator>ohnoezitasploded</dc:creator>
			<pubDate>Fri, 30 Jul 2010 16:01:43 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=19&amp;p=83685#p83685</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=19&amp;p=83685#p83685</link>
			<title>Dimensions of the DS1307 breakout board</title>
			<description><![CDATA[Hi All,<br />
       I'm looking at the DS1307 breakout board, but I'm pretty constrained for space in the project I have in mind.  What are the dimensions of the board.<br />
<br />
       By the way, I tried to download the schematics from the github site, but the files appear to be corrupted-- neither the Eagle files nor the picture would open on my machine (Win7 64 with Eagle 5.10, if it matters).<br />
<br />
Thanks!<br />
Max]]></description>
		</item>
			<item>
			<dc:creator>ChuckM</dc:creator>
			<pubDate>Fri, 30 Jul 2010 15:58:25 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=25&amp;p=83684#p83684</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=25&amp;p=83684#p83684</link>
			<title>Re: What?</title>
			<description><![CDATA[To answer your specific question, the string 'NULL' was not defined. <br />
<br />
Unlike some languages the notion of 'NULL' is not a standard part of the C language, rather its a convention used by the libraries. Typically it will become defined when some include file needs it and they have protected themselves from this error by adding the code:<br />
<dl class="codebox"><dt>Code: <a href="#" onclick="selectCode(this); return false;">Select all</a></dt><dd><code>#ifndef NULL<br />
#define NULL (void *)0<br />
#endif<br />
</code></dd></dl><br />
Or some such (this particular usage comes from include files on Linux but others have it as well).<br />
<br />
You can put the above code at the top of your file before you include anything if you'd like to ensure that NULL is defined. <br />
<br />
--Chuck]]></description>
		</item>
			<item>
			<dc:creator>LoGiCa</dc:creator>
			<pubDate>Fri, 30 Jul 2010 15:46:21 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=7&amp;p=83683#p83683</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=7&amp;p=83683#p83683</link>
			<title>Re: Help with CV/Gate and Yamaha CS-5</title>
			<description><![CDATA[Thanks for the reply E:pp:ik.<br />
<br />
Am I right in saying that MIDI data I send to the Xoxbox will generate note voltages. I haven't used anything like this before so apologies if I am incorrect.]]></description>
		</item>
			<item>
			<dc:creator>rj44319</dc:creator>
			<pubDate>Fri, 30 Jul 2010 15:32:07 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=25&amp;p=83682#p83682</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=25&amp;p=83682#p83682</link>
			<title>Re: What?</title>
			<description><![CDATA[I will post the code tonight....one more thing....the code compiles on another computer just fine....]]></description>
		</item>
			<item>
			<dc:creator>adafruit</dc:creator>
			<pubDate>Fri, 30 Jul 2010 15:31:01 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=8&amp;p=83681#p83681</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=8&amp;p=83681#p83681</link>
			<title>Re: EAGLE library &quot;invalid data&quot;</title>
			<description><![CDATA[read the topic &quot;Eagle Part Library&quot; about 20 threads down?]]></description>
		</item>
			<item>
			<dc:creator>jmsaavedra</dc:creator>
			<pubDate>Fri, 30 Jul 2010 15:08:35 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=8&amp;p=83680#p83680</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=8&amp;p=83680#p83680</link>
			<title>EAGLE library &quot;invalid data&quot;</title>
			<description><![CDATA[Hi all -<br />
<br />
I'm trying to import the Adafruit Eagle library, and for some reason Eagle doesn't like it.  It's telling me &quot;invalid data in file&quot;.  I've got the .lbr in the same directory as all the other .lbr's, and I'm using EAGLE 5.10.0<br />
<br />
Any suggestions... I'm no EAGLE pro, just an amateur, so please excuse me if I'm doing something obviously wrong...<br />
<br />
Thanks in advance!]]></description>
		</item>
			<item>
			<dc:creator>E:pp:ik</dc:creator>
			<pubDate>Fri, 30 Jul 2010 15:07:59 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=7&amp;p=83679#p83679</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=7&amp;p=83679#p83679</link>
			<title>Re: Help with CV/Gate and Yamaha CS-5</title>
			<description><![CDATA[These old Yamahas use a Hz (0.1V / semitone)/Octave set up so while you can connect the x0x to it, the notes won't match. If you want to connect it though it would be the following:<br />
<br />
x0xb0x CV Out --&gt; CS-5 Control Volt IN<br />
x0xb0x Gate Out --&gt; CS-5 Trigger IN]]></description>
		</item>
			<item>
			<dc:creator>arduwino</dc:creator>
			<pubDate>Fri, 30 Jul 2010 14:20:39 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=17&amp;p=83678#p83678</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=17&amp;p=83678#p83678</link>
			<title>Re: Can't bike fast enough?</title>
			<description><![CDATA[<blockquote class="uncited"><div>For the whole circle you need about 20 Hz.<br />
</div></blockquote><br />
<br />
Not sure where this number comes from.  Many 8mm movies were made at 16 fps.  And you don't need even that rate for a static image.  <br />
<br />
The persistance of vision effect is subject to many variables ranging from image contrast and ambient lighting to the viewer.]]></description>
		</item>
			<item>
			<dc:creator>guest</dc:creator>
			<pubDate>Fri, 30 Jul 2010 14:06:45 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=12&amp;p=83677#p83677</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=12&amp;p=83677#p83677</link>
			<title>Re: Power supply issue</title>
			<description><![CDATA[do you have your meter set to ac or dc voltage<br />
the capacitors should only have dc voltage<br />
<br />
otherwise double check the diodes are facing the right way<br />
and press your probes into the point you are measuring<br />
sometimes the flux from soldering  keeps it from contacting]]></description>
		</item>
			<item>
			<dc:creator>adafruit</dc:creator>
			<pubDate>Fri, 30 Jul 2010 13:57:03 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=41&amp;p=83676#p83676</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=41&amp;p=83676#p83676</link>
			<title>Re: IceTube Clock display goes out after a minute</title>
			<description><![CDATA[you can post clear photos of your kit PCB top and bottom, we can look for errors that could cause this!]]></description>
		</item>
			<item>
			<dc:creator>Dave</dc:creator>
			<pubDate>Fri, 30 Jul 2010 13:49:59 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=17&amp;p=83675#p83675</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=17&amp;p=83675#p83675</link>
			<title>Re: Can't bike fast enough?</title>
			<description><![CDATA[I still don't understand.<br />
Can you just tell me what's wrong with the thoughts and calculations I did ?]]></description>
		</item>
			<item>
			<dc:creator>LoGiCa</dc:creator>
			<pubDate>Fri, 30 Jul 2010 13:35:10 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=7&amp;p=83674#p83674</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=7&amp;p=83674#p83674</link>
			<title>Help with CV/Gate and Yamaha CS-5</title>
			<description><![CDATA[Hi guys, could someone with some experience controlling analog synths with the Xoxbox CV/Gate tell me what I need to plug in where on the Yamaha CS-5.<br />
<br />
<img src="http://img168.imageshack.us/img168/8431/cs5back.jpg" alt="Image" /><br />
<br />
Thanks in advance <img src="http://forums.adafruit.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" />]]></description>
		</item>
			<item>
			<dc:creator>erexx</dc:creator>
			<pubDate>Fri, 30 Jul 2010 13:34:06 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=8&amp;p=83673#p83673</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=8&amp;p=83673#p83673</link>
			<title>Re: Arduino Xbee Sensor Project - Need Help Please!</title>
			<description><![CDATA[I have done this.<br />
The output in hyperterminal is not accurate at all but its better than garbage.<br />
The code I am using is a generic averaging code for a temp sensor by Jeff Gray and Dave Millis.<br />
I need to covert the mah to ph but I dont know how to plug in the equation.<br />
<br />
With the current code I get this result in Hyperterminal:<br />
0 = ph 7<br />
36 = ph 4<br />
0 = ph 10<br />
<br />
I found some ph convertion code here: <a href="http://www.emesystems.com/OL2ph.htm" class="postlink">http://www.emesystems.com/OL2ph.htm</a><br />
<dl class="codebox"><dt>Code: <a href="#" onclick="selectCode(this); return false;">Select all</a></dt><dd><code>Here is the first cut on how to program it on the Basic Stamp: <br />
This assumes that the output of the pH electrode is exactly 0 volts at pH7, and that it has a Nernst slope of exactly 59.16 mV per pH unit:<br />
<br />
pHloop:<br />
DO&nbsp; <br />
GOSUB ADread ' return millivolts, mV, not shown&nbsp; <br />
pH = mV ** 55405&nbsp; &nbsp; &nbsp; ' stamp's way to multiply times 700/828 (see below)&nbsp; <br />
pH = pH - 845&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;' 845 is the 1 volt offset, times 700/828&nbsp; <br />
pH = 700 - pH&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;' adjusts to pH 7.00 at 1 volt input, decreasing in acid&nbsp; <br />
DEBUG REP &quot;-&quot;\pH.bit14,DEC abs (pH/100),&quot;.&quot;.DEC2 abs pH&nbsp; ' display with decimal point xx.xx<br />
LOOP<br />
</code></dd></dl><br />
<br />
The code I am currently using. I need a valid voltage to ph equation to replace the averaging one.<br />
<dl class="codebox"><dt>Code: <a href="#" onclick="selectCode(this); return false;">Select all</a></dt><dd><code>/* Analog Average - Rolling Buffer<br />
 * Jeff Gray - 2008<br />
 * ------------------ <br />
 * Averaging Code, modified from Dave Millis example<br />
 */<br />
<br />
int average&#91;100&#93;;<br />
byte counter = 0;<br />
<br />
void setup() {<br />
&nbsp; Serial.begin(9600);<br />
}<br />
<br />
void loop() {<br />
&nbsp; // read the value from the sensor<br />
&nbsp; int inAn = analogRead(0);<br />
&nbsp; average&#91;counter&#93; =&nbsp; inAn;<br />
<br />
&nbsp; byte c;<br />
&nbsp; int total = 0;<br />
&nbsp; for(c = 0;c&lt;100;c++){<br />
&nbsp; &nbsp; total += average&#91;c&#93;;<br />
&nbsp; }<br />
&nbsp; int averaged = total / 100;<br />
<br />
&nbsp; Serial.println(averaged);<br />
<br />
&nbsp; counter = (counter + 1) % 100;<br />
}</code></dd></dl>]]></description>
		</item>
			<item>
			<dc:creator>Zener</dc:creator>
			<pubDate>Fri, 30 Jul 2010 13:19:15 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=8&amp;p=83672#p83672</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=8&amp;p=83672#p83672</link>
			<title>Re: Reducing Values from FSR's idle pressure reading</title>
			<description><![CDATA[I agree that the solution will be mechanical not electrical/software.  Do you have a force vs. resistance graph for the sensor you are using?  This should help you understand what is happening.  My previous limited experience with FSR's is that if you leave a significant force applied all the time (like your floor tiles) then their response will change over time.  Basically, they don't like that.  However, you could get away with it by having some calibration routine I suppose.  But that is a bit of a seperate issue at this point, since you don't have it working at all yet.  Good luck.]]></description>
		</item>
			<item>
			<dc:creator>AudiTTchick</dc:creator>
			<pubDate>Fri, 30 Jul 2010 13:00:39 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=41&amp;p=83671#p83671</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=41&amp;p=83671#p83671</link>
			<title>Re: IceTube Clock display goes out after a minute</title>
			<description><![CDATA[Hello,<br />
<br />
Yes If the coin cell is not in the clock it works with out a problem but as soon as it goes in it fades out after bit of time elapses.<br />
<br />
Erica]]></description>
		</item>
			<item>
			<dc:creator>docdigital</dc:creator>
			<pubDate>Fri, 30 Jul 2010 12:59:37 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=12&amp;p=83670#p83670</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=12&amp;p=83670#p83670</link>
			<title>Power supply issue</title>
			<description><![CDATA[Hi ,<br />
<br />
I begun today soldering my power supply and already run into a problem of not getting any voltage across the 2 capacitors C4 and C5.<br />
<br />
I have the 10 volt on the plug and from there on 10 volts at the beginning of the diode rectifier circuit but after that nothing whatsoever  <img src="http://forums.adafruit.com/images/smilies/icon_sad.gif" alt=":(" title="Sad" /> <br />
<br />
Everything is correctly soldered, polarity seems in order, cant see any cold solders, so i am a bit stomped.<br />
<br />
Could it be that i fried those Diodes already? If i am not mistaken they should be pretty robust, How can i test them properly? they seem to work when i test for continuity, 1 direction (.630), but nothing in the other direction.<br />
<br />
BTW, i am following the instructions on the site to the letter, so i cant go on with the work untill i fixed this  <img src="http://forums.adafruit.com/images/smilies/icon_cry.gif" alt=":cry:" title="Crying or Very sad" />]]></description>
		</item>
			<item>
			<dc:creator>adafruit</dc:creator>
			<pubDate>Fri, 30 Jul 2010 12:48:25 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=41&amp;p=83669#p83669</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=41&amp;p=83669#p83669</link>
			<title>Re: IceTube Clock display goes out after a minute</title>
			<description><![CDATA[yes we split your topic - you may or may not have the same problem and it only confuses the situation to respond to an existing and solved thread.<br />
 <br />
<br />
 if you dont have the coin cell in, it works fine?]]></description>
		</item>
			<item>
			<dc:creator>AudiTTchick</dc:creator>
			<pubDate>Fri, 30 Jul 2010 12:44:27 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=41&amp;p=83668#p83668</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=41&amp;p=83668#p83668</link>
			<title>Re: IceTube Clock display goes out after a minute</title>
			<description><![CDATA[Hi,<br />
<br />
Thats weird I wanted this post to be a reply to the other one but it got out on its own.  hmmmm....<br />
Yes the coin cell is inserted correctly and it as soon as it comes on it beeps and fades out after a bit of time.  It may be the same issue that the other person is having..<br />
<br />
Erica]]></description>
		</item>
			<item>
			<dc:creator>adafruit</dc:creator>
			<pubDate>Fri, 30 Jul 2010 11:30:08 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=19&amp;p=83667#p83667</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=19&amp;p=83667#p83667</link>
			<title>Re: multiple power switches</title>
			<description><![CDATA[hmm yes the github project could have really benefitted from PSTs<br />
the best thing you can do is go to the HW store and get some 3 prong plugs and wire up each one so that they work with an extension cord. then swap in the PST's and connect them to a outlet strip<br />
one of the nice things about the PST is that it prods one in the right direction by requiring a proper plug instead of just wires <img src="http://forums.adafruit.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /> dont forget to bolt ground to the outside of the metal case!]]></description>
		</item>
			<item>
			<dc:creator>adafruit</dc:creator>
			<pubDate>Fri, 30 Jul 2010 11:25:20 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=41&amp;p=83666#p83666</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=41&amp;p=83666#p83666</link>
			<title>Re: IceTube Clock display goes out after a minute</title>
			<description><![CDATA[does it turn off immediately? are you putting the coin cell in the right way?]]></description>
		</item>
			<item>
			<dc:creator>AudiTTchick</dc:creator>
			<pubDate>Fri, 30 Jul 2010 11:23:08 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=41&amp;p=83665#p83665</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=41&amp;p=83665#p83665</link>
			<title>IceTube Clock display goes out after a minute</title>
			<description><![CDATA[Hi,<br />
<br />
I am having the same problem with mine if I have the button cell in the clock turns off but without it works like a charm.  What do I have to replace exactly and with what??  Sorry it may be in the text and I might have missed it.<br />
<br />
Erica]]></description>
		</item>
			<item>
			<dc:creator>zed82</dc:creator>
			<pubDate>Fri, 30 Jul 2010 11:06:01 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=23&amp;p=83664#p83664</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=23&amp;p=83664#p83664</link>
			<title>Re: The charger blows in my hands</title>
			<description><![CDATA[thank you.<br />
Do you need my adress?]]></description>
		</item>
			<item>
			<dc:creator>Frodob</dc:creator>
			<pubDate>Fri, 30 Jul 2010 10:46:31 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=10&amp;p=83663#p83663</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=10&amp;p=83663#p83663</link>
			<title>PIR Sensor - Image citation</title>
			<description><![CDATA[I was reading your (great) PIR &quot;How to Use..&quot; page, and followed the link to the Glolab site, and found the image you needed a citation for on their focusing devices page ( <!-- m --><a class="postlink" href="http://www.glolab.com/focusdevices/focus.html">http://www.glolab.com/focusdevices/focus.html</a><!-- m --> ). A modified version is also on the PIR page you link to at Glolab.<br />
<br />
Edit:  Also on the NYU page (<!-- m --><a class="postlink" href="http://itp.nyu.edu/physcomp/sensors/Reports/PassiveInfraRedSensor">http://itp.nyu.edu/physcomp/sensors/Rep ... aRedSensor</a><!-- m -->)]]></description>
		</item>
			<item>
			<dc:creator>arduwino</dc:creator>
			<pubDate>Fri, 30 Jul 2010 10:45:12 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=25&amp;p=83662#p83662</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=25&amp;p=83662#p83662</link>
			<title>Re: What?</title>
			<description><![CDATA[Likely because the other code includes the appropriate headers.<br />
<br />
Since we have no idea what code you are talking about, we can't offer any more specific advice.]]></description>
		</item>
			<item>
			<dc:creator>rj44319</dc:creator>
			<pubDate>Fri, 30 Jul 2010 10:36:34 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=25&amp;p=83661#p83661</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=25&amp;p=83661#p83661</link>
			<title>Re: What?</title>
			<description><![CDATA[well it compiles on another set of code.....?]]></description>
		</item>
			<item>
			<dc:creator>misjah</dc:creator>
			<pubDate>Fri, 30 Jul 2010 10:28:31 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=12&amp;p=83660#p83660</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=12&amp;p=83660#p83660</link>
			<title>Re: back panel layout</title>
			<description><![CDATA[thanx, I'll find somebody that uses autocad to convert it or whatever is needed.]]></description>
		</item>
			<item>
			<dc:creator>arduwino</dc:creator>
			<pubDate>Fri, 30 Jul 2010 10:28:06 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=31&amp;p=83659#p83659</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=31&amp;p=83659#p83659</link>
			<title>Re: Stepper/Servo/Motor Shield Questions</title>
			<description><![CDATA[It comes as a kit, you'll need basic soldering skills to assemble it.  You can build it with &quot;stacking headers&quot;.  Pin usage is detailed in the FAQ and in a sticky at the top of this forum.]]></description>
		</item>
			<item>
			<dc:creator>SimplicityGuy</dc:creator>
			<pubDate>Fri, 30 Jul 2010 10:05:42 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=31&amp;p=83658#p83658</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=31&amp;p=83658#p83658</link>
			<title>Stepper/Servo/Motor Shield Questions</title>
			<description><![CDATA[I have a question about the stepper/servo/motor shield. I'm curious, which pins on the arduino are used to run this shield? For instance, if I want to use this shield in conjunction with an LCD and some buttons, would I be able to? Unfortunately there was no information about passthrough pins or which pins were used by the shield.<br />
<br />
Additionally, does this come assembled, or unassembled? If unassembled, would it be possible to add pass through headers to this shield?]]></description>
		</item>
			<item>
			<dc:creator>ahdavidson</dc:creator>
			<pubDate>Fri, 30 Jul 2010 09:59:19 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=19&amp;p=83657#p83657</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=19&amp;p=83657#p83657</link>
			<title>Re: multiple power switches</title>
			<description><![CDATA[Thanks for the pointer to the GitHub project (the comments are the most educational part about that post) and the advice about not using a common neutral.<br />
<br />
AC power is one of the reasons I bought three of the Power Switch Relays. I would like not to kill my students, just inspire them!]]></description>
		</item>
			<item>
			<dc:creator>arduwino</dc:creator>
			<pubDate>Fri, 30 Jul 2010 09:03:20 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=31&amp;p=83656#p83656</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=31&amp;p=83656#p83656</link>
			<title>Re: Mating connector for PF35T-48L4 stepper motor?</title>
			<description><![CDATA[I usually cut them off and use the screw terminals on the stepper controller.  But if you need a more convenient disconnect and can't find the mating connector, you might want to just replace the whole thing with a matched M/F pair.]]></description>
		</item>
			<item>
			<dc:creator>bootstrap</dc:creator>
			<pubDate>Fri, 30 Jul 2010 07:52:50 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=42&amp;p=83655#p83655</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=42&amp;p=83655#p83655</link>
			<title>Re: super-cheap pick-and-place device with ~1 mil accuracy</title>
			<description><![CDATA[I'm looking for parts to build a couple of the super-cheap pick-and-place devices that I described previously in this thread.  The linear bearings and shafts are easy enough to find, but where to find a few of the parts isn't obvious to me.  Anyone know where I can find:<br />
<br />
#1:  vacuum pick-up head :  It would be great if the head included a switch that toggles the vacuum on and off each time the tip presses down on something.  This way the vacuum would turn on when the tip pressed down against the top of the component to pick it up, then turn off when the tip pressed the component down onto the PCB.<br />
<br />
#2:  linear track end blocks :  I thought I'd find these, but so far no luck.  These are simply thick metal plates (or cast equivalents) that have two 15mm~25mm round holes 50mm ~ 100mm apart to plug round linear rails into.  Obviously I can get this machined up pretty easily, but better if I can buy off the shelf.<br />
<br />
#3:  PCB stand :  This is just a sturdy adjustable frame that can hold any size PCB ~25mm above the tabletop.  I'll attach teflon feet so it can easily slide around on the tabletop.<br />
<br />
I guess that's it.  Most of the rest is easy to find (loose linear bearings, linear bearings in pillow blocks, round shaft for linear rails, etc)... or something that clearly needs to be machined custom (the templates).]]></description>
		</item>
			<item>
			<dc:creator>arduwino</dc:creator>
			<pubDate>Fri, 30 Jul 2010 07:28:22 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=15&amp;p=83654#p83654</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=15&amp;p=83654#p83654</link>
			<title>Re: Solar minty boost questions</title>
			<description><![CDATA[<blockquote class="uncited"><div>Has anyone tried any of the flexible/rollable solar panels with this?</div></blockquote><br />
Not with a minty-boost, but I've experimented with a flexible solar panel for backpacking.<br />
<br />
The theoretical advantages of a flexible panel for this application are the light weight and low-bulk.  But, as Adafruit says, the lower efficiency means that you will need a larger panel to get the same power output as you would with a good quality rigid panel such as the one Adafruit sells.  If you are attaching this to your pack so you can charge while on the trail, the larger size means it is more susceptible to snagging on branches or damage from leaning your pack against a tree.  You will also need to attach them to some sort of backing material for to protect the cells.  This will cut into the weight advantage.]]></description>
		</item>
			<item>
			<dc:creator>arduwino</dc:creator>
			<pubDate>Fri, 30 Jul 2010 06:44:23 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=25&amp;p=83653#p83653</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=25&amp;p=83653#p83653</link>
			<title>Re: What?</title>
			<description><![CDATA[Looks like you are missing one of the standard header files.<br />
Beyond that, it is hard to say.  You haven't given us much info to work with.]]></description>
		</item>
			<item>
			<dc:creator>arduwino</dc:creator>
			<pubDate>Fri, 30 Jul 2010 06:04:50 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=8&amp;p=83652#p83652</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=8&amp;p=83652#p83652</link>
			<title>Re: Reducing Values from FSR's idle pressure reading</title>
			<description><![CDATA[Your static load is using up 90% of the dynamic range of the sensor.  You can do things to reduce the static load  the easiest would be to use larger bumpers to spread the load over a larger area.<br />
<br />
From there, you can fine tune the range using the &quot;map()&quot; function to re-scale the analog values.  <a href="http://arduino.cc/en/Reference/Map" class="postlink">http://arduino.cc/en/Reference/Map</a>]]></description>
		</item>
			<item>
			<dc:creator>bswift5528</dc:creator>
			<pubDate>Fri, 30 Jul 2010 04:36:51 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=31&amp;p=83651#p83651</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=31&amp;p=83651#p83651</link>
			<title>Re: Ethernet shield issues</title>
			<description><![CDATA[This thread has been helpful!  I don't know if you guys ever resolved your problem, but for me, the problem with the Java errors in LEDColorPicker.pde only really exists in the javascript line, because it's more than 1024 chars (I think).  I solved the problem by splitting it into 2 strings.  Works perfectly after that.  I'm using Arduino-0018.<br />
<br />
After that, I get a bunch of the following errors on compile that look like:<br />
<dl class="codebox"><dt>Code: <a href="#" onclick="selectCode(this); return false;">Select all</a></dt><dd><code>/Users/bjswift/Documents/Arduino/libraries/NewSoftSerial/NewSoftSerial.h: In member function 'void AF_XPort::begin(uint16_t)':<br />
/Users/bjswift/Documents/Arduino/libraries/NewSoftSerial/NewSoftSerial.h:74: error: 'void NewSoftSerial::setTX(uint8_t)' is private<br />
/Users/bjswift/Documents/Arduino/libraries/AF_XPort/AF_XPort.cpp:27: error: within this context<br />
/Users/bjswift/Documents/Arduino/libraries/NewSoftSerial/NewSoftSerial.h:75: error: 'void NewSoftSerial::setRX(uint8_t)' is private<br />
/Users/bjswift/Documents/Arduino/libraries/AF_XPort/AF_XPort.cpp:28: error: within this context<br />
</code></dd></dl><br />
Ok...there's a great note on these errors <a href="http://forums.adafruit.com/viewtopic.php?f=31&amp;t=12654&amp;start=15#p73996" class="postlink">here</a>.  Well, assuming there were other changes in NewSoftSerial from version 9 that he's saying to use, I just went with the newest version but moved the lines in the header declaring 'setRX' and 'setTX' as private methods into the public methods block.  The NSS author <a href="http://forums.adafruit.com/viewtopic.php?f=8&amp;t=14665" class="postlink">seems to think this is fine</a>. <br />
<br />
Also, <a href="http://forums.adafruit.com/viewtopic.php?f=31&amp;t=12076&amp;p=63442&amp;hilit=LEDcolorpicker#p63442" class="postlink">this bit from another thread</a> seems like it may be important to set Connect Mode to D4 on the XPort server settings.  Doesn't matter to me.  I can get it to work for either C4 or D4.  Don't know the difference, either, so there's that.]]></description>
		</item>
			<item>
			<dc:creator>bootstrap</dc:creator>
			<pubDate>Fri, 30 Jul 2010 03:52:21 -0400</pubDate>
			<guid>http://forums.adafruit.com/viewtopic.php?f=42&amp;p=83650#p83650</guid>
			<link>http://forums.adafruit.com/viewtopic.php?f=42&amp;p=83650#p83650</link>
			<title>Re: super-cheap pick-and-place device with ~1 mil accuracy</title>
			<description><![CDATA[<blockquote><div><cite>mikeselectricstuff wrote:</cite><blockquote><div><cite>bootstrap wrote:</cite><blockquote><div><cite>mikeselectricstuff wrote:</cite>webcams are cheap - maybe just have a second upward-facing one to measure the relative alignment of the package alignment to the pads, then use this to correct the placement on the overhead one.</div></blockquote><br />
I'm not sure I understand the purpose.  Are you trying to avoid the hole-array and rectangle templates?  Or what?  The scheme I described only has 1 webcam and is extremely accurate, so I must be missing something about your intention or line of reasoning.  Please explain more completely.</div></blockquote><br />
Yes - to avoid the need for a template for every different footprint, and any need for accurate mechanics, e.g. to avoid rotation &amp; drift issues between the template and the placement position.The  templates will only work on BGAS, not with parts like QFNs which have no bumps.</div></blockquote><br />
The scheme I mentioned does not require a template for every different footprint.  It only requires one template (area) for every pitch.  For example, every BGA component with 1mm pitch is handled by a single &quot;hole-array&quot; with ~32 x 32 (or maybe 40 x 40) holes with 1mm pitch.  No matter how many solderballs a given 1mm pitch BGA component has, we place it in the upper-left corner of the 1mm &quot;hole-array&quot;.  Yes, this still requires about 8 templates for BGAs, but not the hundreds or thousands of templates that would be required to support every BGA pattern.<br />
<br />
What &quot;rotation and drift issues&quot; between template and placement position?  Unless I'm missing something, the only precision that is needed is repeatability of the endpoints in the X-axis stage.  When you move the X-axis stage all the way to the right, then to the left, then back to the right - that stage must end up exactly where it was the first time --- relative to the pick-and-place device (but NOT to the templates or PCB).  In fact, that's the main beauty and attraction of this scheme (unless I'm missing/mistaking something important)... that nothing needs to be &quot;measured&quot; (by encoders).  All that matters is, as long as the &quot;full-left&quot; position is always 50mm (actually, ANY distance) from the &quot;full-right&quot; position - the device places the component exactly.  Yes, the component must not rotate on the vacuum pick-up tool, but why would that happen?  Even pick-and-place machines with fancy encoders and upward-looking cameras move the component (real fast) between the upward-looking camera and final placement position.  If THAT doesn't cause &quot;rotate or drift&quot; problems, why would anything about the configuration of this device?<br />
<br />
However, I don't think the above is the kind of &quot;rotation or drift&quot; you mean.  To attempt to expose the source of the misunderstanding (either you or me), let me make a statement that seems perfectly correct to me, but may seem totally insane to you.  If this is what happens, we need to focus on this example more carefully to figure out who is making a mental mistake.<br />
<br />
I claim the following.  In step #9 we take a still image of the template where the BGA component was located a few seconds before.  At this point, we know the BGA component is exactly 50mm to the right (along the X-axis) from the center of the still image we just took.  We know this because that's exactly how far the X-axis stage moves when we move it to its &quot;extreme left&quot; or &quot;extreme right&quot; position.  The image has also exactly captured the rotation of the BGA component relative to the X and Y axes, which are aligned with the rows and columns of pixels in the image.<br />
<br />
Now, I claim the PCB can be removed from the teflon sheet, taken outside into your back yard and thrown around like a frisbee for a few minutes, then brought back inside and securely taped down to the teflon sheet again in an entirely different location and rotation compared to its original position and rotation on the teflon sheet.  Now we perform the rest of the steps (step #10 to the end).<br />
<br />
My claim is, the BGA component will be placed perfectly.  My guess is, you think the enormous &quot;drift and rotation&quot; errors caused by grossly moving and rotating the PCB will screw up the process.  Does this sum up our assumptions?<br />
<br />
Let me try to explain why I take my [seemingly insane] position.  When we move and rotate the PCB around in step #10 to make the still image of the holes in the &quot;hole-array&quot; lie on top of the video image of the BGA pads on the PCB, we must rotate the PCB (presumably by rotating the teflon sheet) until the X-axis of the &quot;hole-array&quot; is exactly aligned with the X-axis of the BGA pads on the PCB... otherwise their images would not align and correspond.  The webcam has not rotated relative to the X-axis stage, so the PCB is now rotationally aligned in the exact same way (at the exact same angle) as the &quot;hole-array&quot; was previously... otherwise the two images would not align.  Right?<br />
<br />
Furthermore once the still and video images are aligned, we know the BGA component is exactly 50mm to the right (along the X-axis) of the webcam, because that's simply the way the device is assembled.  Thus, when we move that stage 50mm back to its &quot;extreme left&quot; position, the BGA component is precisely located over the BGA pads on the PCB (that the video image was just displaying).<br />
<br />
I know that's a long-winded description, but I hope it captures the point I'm trying to make.  To me, the logic of this description seems solid and bullet proof (that is, lacking any logical/rational errors).  Frankly, I was surprised when I first came to this conclusion, and suspicious of my conclusion until I had tried to find a fault in the logic.  On a simple intuitive basis it doesn't seem possible to achieve something like this with no encoders, and in fact, no known distances at all (the X-axis stage can move any distance... 50mm is just convenient, but 48.53243mm is just as good), no alignment of the PCB with the X-axis stage, and only 1 webcam.  What I think makes this work is that the steps of the described process make &quot;certain repeatability of extreme-left and extreme-right positions&quot; substitute for linear encoders.  Seems like all we needed was a 2 position linear encoder to make this work.  Well, that plus the pixels of the webcam being on the order of 0.0005&quot; to 0.0010&quot; on the PCB.  So in a manner of speaking, the webcam plays the role of our 2-axis optical encoder - when combined with the described process.<br />
<br />
Or so I still believe... until you set me straight?   <img src="http://forums.adafruit.com/images/smilies/icon_eek.gif" alt=":shock:" title="Shocked" /><br />
<br />
You also seem to think this device doesn't work on QFNs and iLCCs (which are also QFNs, essentially).  I'm not sure why you think this, unless you didn't understand what those square and rectangular cutout &quot;templates&quot; were for.  These are the templates for QFNs any similar package.<br />
<br />
The nice thing about QFNs is - your technique works (assuming the outline of the physical package is aligned with the component pads/contacts).  We can assume this because the component pads/contacts run to the edge of the physical package.  This eliminates the possibility of offset or rotation between the physical package and the pads/contacts.<br />
<br />
Therefore, to place a QFN component, you simply drop it into the appropriate size square/rectangular hole/cutout &quot;template&quot;, then perform all the steps described for the BGA.  The only difference is, when you align the still and video images on your LCD monitor, you are aligning the still image of the square/rectangle template with the outer edges of the QFN component pads/contacts on the PCB.  The principle is exactly the same.  No need for &quot;bumps&quot;, we only need the &quot;outline&quot;.<br />
<br />
If you're concerned about potentially needing a large number of square/rectangular cutout templates, note that technically and in fact we only need one large square cutout large enough to fit the largest QFN package into.  We simply shove the QFN into the upper-left corner of this large square cutout &quot;template&quot;, then align the still image of that upper-left corner of the &quot;template&quot; with the ends of the QFN pads/contacts its top-side and left-side in the video image.  However, I'm pretty sure that we can machine (?or punch?) all existing QFN sizes in a reasonably modest size area of the SMT template plate.  Again, I envision only one template plate to support all BGA and QFN components, plus a few others (like 0603, 0402, 0201, etc).<br />
<br />
Okay, did I convince you?  If not, tell me where I went wrong.]]></description>
		</item>
	</channel>
</rss>