<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Omega&#039;s Electronics</title>
	<atom:link href="http://blog.omegacs.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.omegacs.net</link>
	<description>It&#039;s all in the firmware....</description>
	<lastBuildDate>Tue, 24 Jan 2012 17:11:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.omegacs.net' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Omega&#039;s Electronics</title>
		<link>http://blog.omegacs.net</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.omegacs.net/osd.xml" title="Omega&#039;s Electronics" />
	<atom:link rel='hub' href='http://blog.omegacs.net/?pushpress=hub'/>
		<item>
		<title>New scope!</title>
		<link>http://blog.omegacs.net/2011/08/31/new-scope/</link>
		<comments>http://blog.omegacs.net/2011/08/31/new-scope/#comments</comments>
		<pubDate>Thu, 01 Sep 2011 03:25:54 +0000</pubDate>
		<dc:creator>omegacs</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Logic]]></category>
		<category><![CDATA[oscilloscope]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[workbench]]></category>

		<guid isPermaLink="false">http://blog.omegacs.net/?p=400</guid>
		<description><![CDATA[Today I got my new (rented) scope in the mail.  It&#8217;s an Agilent MSOX3014A with RS232 option.  It&#8217;s got 4 analog and 16 digital channels, with a 4Gsps capture rate and 100Mhz bandwidth (no need to spend up to twice as much for the max 500MHz unit, which is nothing more than a license upgrade [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=400&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I got my new (rented) scope in the mail.  It&#8217;s an <a href="http://www.home.agilent.com/agilent/product.jspx?nid=-33573.970760.00&amp;cc=US&amp;lc=eng">Agilent MSOX3014A </a>with RS232 option.  It&#8217;s got 4 analog and 16 digital channels, with a 4Gsps capture rate and 100Mhz bandwidth (no need to spend up to twice as much for the max 500MHz unit, which is nothing more than a license upgrade anyway&#8230;).</p>
<p><a href="http://omegacs.files.wordpress.com/2011/08/msox-desk1.jpg"><img class="aligncenter size-full wp-image-402" title="New scope on desk!" src="http://omegacs.files.wordpress.com/2011/08/msox-desk1.jpg?w=450&#038;h=602" alt="" width="450" height="602" /></a></p>
<p>(sorry for the grainy iPhone image&#8230;)</p>
<p>Here you can see the new scope, my old scope, and the project under development with some of the probes hooked up.  Here&#8217;s a shot of the scope in action, screenshot from it directly to a USB flash key:</p>
<p><a href="http://omegacs.files.wordpress.com/2011/08/scope_4.png"><img class="aligncenter size-full wp-image-403" title="scope_4" src="http://omegacs.files.wordpress.com/2011/08/scope_4.png?w=450&#038;h=303" alt="" width="450" height="303" /></a></p>
<p>This shot shows a lot of the features I that made me get this scope.  In this shot the screen is split into zoom mode, with 10us/div on top and 1us/div on bottom.  I can change the scale on the bottom and scroll it within the larger region at will, and it&#8217;s got all the data there at full resolution (2GS/s as shown).  The green trace is half of the RS-485 bus, while the pink trace is the math channel showing the differential result of that and its mate, after almost 100ft of lamp cord ;-)  D1 (cyan) and D0 (red) are the digital inputs hooked to the digital side of the bus controller.  S1 shows the RS-232 decode of that bus.  The really neat trick is that I&#8217;m actually triggering on the serial <strong>data</strong>, specifically 0&#215;66.  You can see the orange triangle at the top of the two windows lining up with the end of the byte.  Since 0&#215;66 happens to be the trigger byte for the end of the packet preamble in my design, what you see is preamble to the left and actual data to the right</p>
<p>I&#8217;ve even got the trigger output of this scope hooked up to a channel on my older TDS224, which allows the exact same waveform timings to be shown on the other scope at the same time ;-)</p>
<p>The scope also has a high-speed USB interface, which will allow me to set up, capture, and retrieve data from a Python script on my computer.  Since I have code already in place that will take a byte-stream in CSV format (so far from the Salaea Logic analyzer dump), it should be almost trivial for me to take the info from this scope and produce a human-readable packet dump.  The question is whether I can actually trigger and transfer data fast enough for every frame.  I suspect not, but that&#8217;s what the digital channels are good for: use a spare trace I/O on the board to signal a timeout or other bus condition, and go from there.</p>
<p>Only problem so far is that the thing&#8217;s got a decent-sized fan, which means both noise and heat ;-(</p>
<br /> Tagged: <a href='http://blog.omegacs.net/tag/logic/'>Logic</a>, <a href='http://blog.omegacs.net/tag/oscilloscope/'>oscilloscope</a>, <a href='http://blog.omegacs.net/tag/tools/'>tools</a>, <a href='http://blog.omegacs.net/tag/workbench/'>workbench</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/omegacs.wordpress.com/400/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/omegacs.wordpress.com/400/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/omegacs.wordpress.com/400/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/omegacs.wordpress.com/400/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/omegacs.wordpress.com/400/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/omegacs.wordpress.com/400/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/omegacs.wordpress.com/400/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/omegacs.wordpress.com/400/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/omegacs.wordpress.com/400/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/omegacs.wordpress.com/400/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/omegacs.wordpress.com/400/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/omegacs.wordpress.com/400/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/omegacs.wordpress.com/400/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/omegacs.wordpress.com/400/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=400&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.omegacs.net/2011/08/31/new-scope/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9790e716bb0a2562373d9d6cc6321b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">omegacs</media:title>
		</media:content>

		<media:content url="http://omegacs.files.wordpress.com/2011/08/msox-desk1.jpg" medium="image">
			<media:title type="html">New scope on desk!</media:title>
		</media:content>

		<media:content url="http://omegacs.files.wordpress.com/2011/08/scope_4.png" medium="image">
			<media:title type="html">scope_4</media:title>
		</media:content>
	</item>
		<item>
		<title>My magic AVR build script</title>
		<link>http://blog.omegacs.net/2011/08/11/my-magic-avr-build-script/</link>
		<comments>http://blog.omegacs.net/2011/08/11/my-magic-avr-build-script/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 15:04:26 +0000</pubDate>
		<dc:creator>omegacs</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Xmega]]></category>

		<guid isPermaLink="false">http://blog.omegacs.net/?p=394</guid>
		<description><![CDATA[Don&#8217;t get me wrong, I like make&#8230;  Hah! Yeah, right! make has its place, no doubt, but small microcontroller projects not so much.  In my projects I like to just start coding, pulling in existing code where it makes sense.  Maintaining a makefile for that gets old really fast, and is massively overwrought compared to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=394&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t get me wrong, I like <em>make</em>&#8230;  Hah! <strong>Yeah, right!</strong></p>
<p><em>make</em> has its place, no doubt, but small microcontroller projects not so much.  In my projects I like to just start coding, pulling in existing code where it makes sense.  Maintaining a makefile for that gets old really fast, and is massively overwrought compared to the requirements.</p>
<p>So, over the last couple years I&#8217;ve developed my own scripts to build AVR projects.  The latest variation has just received a major speedup, so I thought I&#8217;d share it along with some selected Bash tips.</p>
<p><span id="more-394"></span></p>
<pre>#!/bin/sh -e

# Paths to various libraries
xmega=/home/omega/work/xmega
libpaths="/home/omega/work/iostack $xmega"

# Figure out what chip we're targetting
prog=`echo $1 | sed 's/\.c$//g'`;shift
core=$1;shift

# Set up the common commands
cc="avr-gcc -O6 -g -mmcu=${core} -I. -Wl,-u,vfprintf -lprintf_flt -lm -Wall -Werror -Wno-unused-variable $*"
for libpath in $libpaths;do
  cc="$cc -I$libpath"
done
#avrdude="avrdude -cavrisp2 -p${chip} -Pnet:localhost:$pipe"

# Remove and recreate the hidden bin directory
rm -rf .run-${prog}
mkdir .run-${prog}

# Remove the final binary and its srec
rm -f ${prog} ${prog}.srec

# Compile the main source (in background)
/bin/echo -en "${prog}."
$cc -o .run-${prog}/${prog}.o -c ${prog}.c -Wa,-almshd=.run-${prog}/${prog}.lst &gt; .run-${prog}/${prog}.err 2&gt;&amp;1 &amp;
objs=".run-${prog}/${prog}.o"

# Track down all the lib files that are in use
sources="${prog}"
srctocheck="${prog}"
while :;do
  # for all sources still to check, find all the headers they're dependent on
  headers=""
  for srcbase in $srctocheck;do
    hdrs=$(echo `$cc -MM ${srcbase}.c | sed -e 's@\\\\@@g' -e 's@^.*:@@g'`)
    headers="$headers $hdrs"
  done
  # break the list into lines, sort/uniq it, and collapse it again
  headers=$(echo `echo $headers | fmt -w1 | sort -u`)

  # for each header found, check to see if it exists as a C file
  newsrctocheck=""
  for srcbase in `echo $headers | sed 's/\.h//g'`;do
    if [ -e ${srcbase}.c ];then
      # if it isn't already in the sources list, add it
      if `echo $sources | grep -vq ${srcbase}`;then
        # start the compile
        src=`basename $srcbase`
        /bin/echo -en "."
        $cc -c ${srcbase}.c -o .run-${prog}/${src}.o -Wa,-almshd=.run-${prog}/${src}.lst &gt; .run-${prog}/${src}.err &amp;
        objs="$objs .run-${prog}/${src}.o"

        sources="$sources ${srcbase}"
        newsrctocheck="$newsrctocheck ${srcbase}"
      fi
    fi
  done

  if [ "x$newsrctocheck" = "x" ];then
    break
  fi
  srctocheck=$newsrctocheck
done

wait

echo

# check for any errors
haserrors=0
for srcbase in $sources;do
  if [ -s .run-${prog}/${srcbase}.err ];then
    haserrors=$((haserrors + 1))
    echo "ERRORS for $srcbase:"
    cat .run-${prog}/${srcbase}.err
  fi
done
if [ $haserrors -ne 0 ];then
  exit
fi

# Link it all together, strip, and generate SREC
$cc -o ${prog} $objs
avr-strip ${prog}
avr-objcopy --output-target=srec ${prog} ${prog}.srec</pre>
<p>The script is run with the base name of the project (without the .c suffix) and the microcontroller to build for. Additional CFLAGS can be added to the commandline, like -D&#8217;s.  It will start compiling the main source file, and simultaneously recurse through all the referenced non-system headers looking for other source files in the same place (#includewill add xyz.c in that same directory to the source list).  The libraries listed at the top of the file ($libpaths) contain my various library files (many of which I should publish eventually).</p>
<p>Oh, I promised to share a tip or two about bash:</p>
<ul>
<li>If you have a bunch of strings intermixed with both spaces/tabs <em>and</em> newlines, do this: <strong>list=$(echo `generate list`)</strong></li>
<li>If that list has potential duplicates you want to get rid of, do this: <strong>list=$(echo `echo $list | fmt -w1 | sort -u`)</strong></li>
</ul>
<p>Anyway, I&#8217;m hoping this script is useful for someone ;-)</p>
<br /> Tagged: <a href='http://blog.omegacs.net/tag/avr/'>AVR</a>, <a href='http://blog.omegacs.net/tag/software/'>software</a>, <a href='http://blog.omegacs.net/tag/xmega/'>Xmega</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/omegacs.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/omegacs.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/omegacs.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/omegacs.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/omegacs.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/omegacs.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/omegacs.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/omegacs.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/omegacs.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/omegacs.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/omegacs.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/omegacs.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/omegacs.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/omegacs.wordpress.com/394/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=394&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.omegacs.net/2011/08/11/my-magic-avr-build-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9790e716bb0a2562373d9d6cc6321b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">omegacs</media:title>
		</media:content>
	</item>
		<item>
		<title>New monitor and more OctoPDI5 boards</title>
		<link>http://blog.omegacs.net/2011/07/15/new-monitor-and-more-octopdi5-boards/</link>
		<comments>http://blog.omegacs.net/2011/07/15/new-monitor-and-more-octopdi5-boards/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 22:13:43 +0000</pubDate>
		<dc:creator>omegacs</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.omegacs.net/?p=383</guid>
		<description><![CDATA[Today a new monitor arrived for work, a 1920&#215;1080 pivot-able LCD.  I&#8217;ll hold all the debug consoles for stations I&#8217;m building as I  scale out to as many as I can before the bus starts to fail (hopefully quite a ways).  I also built up more OctoPDI5 boards a couple days ago, so I now [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=383&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today a new monitor arrived for work, a 1920&#215;1080 pivot-able LCD.  I&#8217;ll hold all the debug consoles for stations I&#8217;m building as I  scale out to as many as I can before the bus starts to fail (hopefully quite a ways).  I also built up more OctoPDI5 boards a couple days ago, so I now have 24 ports of fully-isolated program &amp; debug.</p>
<p><a href="http://omegacs.files.wordpress.com/2011/07/octopdi5monitor.jpg"><img class="aligncenter size-full wp-image-384" title="octopdi5+monitor" src="http://omegacs.files.wordpress.com/2011/07/octopdi5monitor-e1310767851592.jpg?w=450&#038;h=602" alt="" width="450" height="602" /></a></p>
<p>I&#8217;ve actually managed to cram all 24 debug windows onto the screen at the same time.  Time will tell if they&#8217;re actually <em>too</em> small&#8230;  So far I&#8217;ve got 4 stations and the port controller hooked up, though I need to see if I can get a single-port PDI5 controller built to isolate the port controller.  For some reason when I have too many stations attached to the same OctoPDI5 as the port, engaging the power-cut relay on the controller causes enough noise that the controller resets and turns everything back on again&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/omegacs.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/omegacs.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/omegacs.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/omegacs.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/omegacs.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/omegacs.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/omegacs.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/omegacs.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/omegacs.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/omegacs.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/omegacs.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/omegacs.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/omegacs.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/omegacs.wordpress.com/383/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=383&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.omegacs.net/2011/07/15/new-monitor-and-more-octopdi5-boards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9790e716bb0a2562373d9d6cc6321b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">omegacs</media:title>
		</media:content>

		<media:content url="http://omegacs.files.wordpress.com/2011/07/octopdi5monitor-e1310767851592.jpg" medium="image">
			<media:title type="html">octopdi5+monitor</media:title>
		</media:content>
	</item>
		<item>
		<title>Absolutely ridiculous packaging from Arrow</title>
		<link>http://blog.omegacs.net/2011/07/13/absolutely-ridiculous-packaging-from-arrow/</link>
		<comments>http://blog.omegacs.net/2011/07/13/absolutely-ridiculous-packaging-from-arrow/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 21:26:25 +0000</pubDate>
		<dc:creator>omegacs</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.omegacs.net/?p=377</guid>
		<description><![CDATA[I order parts from various places, though mostly Digikey.  Sometimes parts are only available from certain distributors, or in some cases they can be noticeably cheaper even after counting in shipping to get parts from multiple distributors.  In this case one particular part I need qty.16 of was $7.48 from Arrow and $11.13 from Digikey, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=377&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I order parts from various places, though mostly Digikey.  Sometimes parts are only available from certain distributors, or in some cases they can be noticeably cheaper even after counting in shipping to get parts from multiple distributors.  In this case one particular part I need qty.16 of was $7.48 from Arrow and $11.13 from Digikey, while another I needed qty.2 of was $7.17 vs $10.20.  The parts are 100-TQFP and 16-SOIC-W, so.. not very big.</p>
<p>Imagine my surprise when UPS shows up with a 7&#8243; x 8&#8243; x 27&#8243; box:</p>
<p><a href="http://omegacs.files.wordpress.com/2011/07/arrow-packaging1.jpg"><img class="aligncenter size-full wp-image-378" title="arrow-packaging1" src="http://omegacs.files.wordpress.com/2011/07/arrow-packaging1.jpg?w=450&#038;h=336" alt="" width="450" height="336" /></a></p>
<p>Inside this monstrous box there are 3 (!) large static bags, 7&#8243; x28&#8243; and 11&#8243; x 18&#8243;.  One of them is covered in bubble-wrap, and all 3 of them are packed inside a large volume of loose paper.  Unpacking all 3 of these bags yields a <strong>full tray</strong> with 2 parts in it (the TQFP), a tube with 14 of the SOICs, and a second tube with 2 more of the SOICs (besides the large dessicant bag and moisture card in each):</p>
<p><a href="http://omegacs.files.wordpress.com/2011/07/arrow-packaging31.jpg"><img class="aligncenter size-full wp-image-380" title="arrow-packaging3" src="http://omegacs.files.wordpress.com/2011/07/arrow-packaging31.jpg?w=450&#038;h=336" alt="" width="450" height="336" /></a></p>
<p>Now, under absolutely <strong>no</strong> circumstances is this even <strong>remotely</strong> acceptable.  The SOIC parts should have been consolidated into a single tube, or at least they might have shortened the tube rather than cut additional plastic strips to fill the immense amount of empty space in them.  Even with 2 tubes they should have been packed in a single (smaller) bag.  The tray designed to hold 67 parts should have been chopped down significantly and packed in a smaller bag.  The entirety of this should have been in a radically smaller box, with less waste material.</p>
<p>In theory I saved $64.46 on the components by ordering them from Arrow rather than Digikey.  However, the shipping cost from Arrow was $14.99, reducing the cost savings to $49.47.  Saving $50 is a pretty good deal, but if the savings were any smaller, I would <strong>refuse</strong> to order anything from Arrow until they fix these absurd shipping practices.  The larger cost is in garbage, recycling, shipping volume and the resulting additional fuel cost for more trucks on the road with the additional traffic and noise.  You might say that this one package is a drop in the bucket, but unless I&#8217;m presented with evidence that Arrow only ships things like this to <strong>me</strong> (repeatedly, I might add), the impact is <strong>far</strong> larger than it might seem on the surface.</p>
<p>Responsible packing and shipping has been the watchword for years now, and Arrow needs to get a clue.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/omegacs.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/omegacs.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/omegacs.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/omegacs.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/omegacs.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/omegacs.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/omegacs.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/omegacs.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/omegacs.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/omegacs.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/omegacs.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/omegacs.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/omegacs.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/omegacs.wordpress.com/377/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=377&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.omegacs.net/2011/07/13/absolutely-ridiculous-packaging-from-arrow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9790e716bb0a2562373d9d6cc6321b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">omegacs</media:title>
		</media:content>

		<media:content url="http://omegacs.files.wordpress.com/2011/07/arrow-packaging1.jpg" medium="image">
			<media:title type="html">arrow-packaging1</media:title>
		</media:content>

		<media:content url="http://omegacs.files.wordpress.com/2011/07/arrow-packaging31.jpg" medium="image">
			<media:title type="html">arrow-packaging3</media:title>
		</media:content>
	</item>
		<item>
		<title>Teensy-based PDI5 programmer</title>
		<link>http://blog.omegacs.net/2011/07/12/teensy-based-pdi5-programmer/</link>
		<comments>http://blog.omegacs.net/2011/07/12/teensy-based-pdi5-programmer/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 05:34:13 +0000</pubDate>
		<dc:creator>omegacs</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.omegacs.net/?p=375</guid>
		<description><![CDATA[I&#8217;m preparing to radically scale out my product development, which means a number of things.  First, I&#8217;ve ordered parts to populate 2 more of the &#8220;OctoPDI5&#8221; boards, so I can scale out to a total of 24 units under development at the same time, all of them electrically isolated from each other and the host [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=375&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m preparing to radically scale out my product development, which means a number of things.  First, I&#8217;ve ordered parts to populate 2 more of the &#8220;<a href="http://http://blog.omegacs.net/2011/01/20/octopdi5-board-underway/">OctoPDI5</a>&#8221; boards, so I can scale out to a total of 24 units under development at the same time, all of them electrically isolated from each other and the host computer.  I&#8217;ve also got an inexpensive <a href="http://http://www.newegg.com/Product/Product.aspx?Item=N82E16824236116">1920&#215;1080 monitor</a> on the way that will have enough room for me to actually put 24 copies of by debugging console on it in pivot mode.  However, I&#8217;ve still got to program/debug the controller board for this whole mess.  So far I haven&#8217;t had enough stations active at the same time to make me hit the 8-port limit on the OctoPDI5.  However, with 24 stations and 3 OctoPDI5&#8242;s, I&#8217;m going to need another programmer&#8230;</p>
<p>Luckily I have a <a href="http://www.pjrc.com/teensy/">Teensy++</a> sitting on my desk, which I haven&#8217;t had a chance to do much with yet besides play with the loader and core examples.  It&#8217;s nominally got all the stuff I need to pull this off, though before I actually connect it to anything I&#8217;ll need to alter it to run on 3.3V lest it blow out my port controller with 5V&#8230;</p>
<p>The software stack porting turns out to be quite trivial, because of the way I&#8217;ve set up all the code for the existing PDI5-related boards.  Basically I&#8217;ve built a rough object-oriented system for the various &#8220;streams&#8221; such as USARTs and the STK500V2 engine.  A little bit of hacking gave me both an &#8220;avrmega&#8221; standard USART module (though it&#8217;s hard-coded for USART1 so far; I&#8217;ll need to enhance it to run on &#8220;any&#8221; AVR mega, especially the one with more than one&#8230;) and a &#8220;USART&#8221; that uses PJRC&#8217;s usb_serial code.  A little more code gives me the &#8220;iosmux&#8221; mainloop that multiplexes the serial and stk500v2 streams through the upstream.  Some quick tweaks to my host-side software so it handles the /dev/ttyACM0 path instead of /dev/ttyUSB0, and I&#8217;ve got the basic ability to send a text substream out to hardware.</p>
<p>The next step will be porting the PDI physical layer to the &#8220;avrmega&#8221; type, and shuffling the pdi5 code around so it&#8217;s not hardcoded to the Xmega PHY.  Neither of those will be particularly difficult.  At that point I&#8217;ll be able to hook up a PDI5 cable (USB micro-B) to the Teensy and my port controller, and I&#8217;ll have a nifty single-port version of the OctoPDI5 (albeit without isolation in this form).</p>
<p>At some point in the future I hope to implement an ARM SWD interface in the same style as PDI5, using the same cable, connector, and pinout.  If all goes well I should be able to run this on a Teensy as well, which means I might have a particularly killer ARM programming interface at some point ;-)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/omegacs.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/omegacs.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/omegacs.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/omegacs.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/omegacs.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/omegacs.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/omegacs.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/omegacs.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/omegacs.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/omegacs.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/omegacs.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/omegacs.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/omegacs.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/omegacs.wordpress.com/375/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=375&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.omegacs.net/2011/07/12/teensy-based-pdi5-programmer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9790e716bb0a2562373d9d6cc6321b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">omegacs</media:title>
		</media:content>
	</item>
		<item>
		<title>DIY HVAC zoning</title>
		<link>http://blog.omegacs.net/2011/06/17/diy-hvac-zoning/</link>
		<comments>http://blog.omegacs.net/2011/06/17/diy-hvac-zoning/#comments</comments>
		<pubDate>Fri, 17 Jun 2011 22:26:34 +0000</pubDate>
		<dc:creator>omegacs</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[DMX-512]]></category>
		<category><![CDATA[HVAC]]></category>
		<category><![CDATA[Xmega]]></category>

		<guid isPermaLink="false">http://blog.omegacs.net/?p=367</guid>
		<description><![CDATA[Last December (just in time for the &#8220;perfect storm&#8221; of energy credits&#8230;) we had a new heat-pump installed to replace the old gas furnace.  Additional work was done to run ducts to my office upstairs.  The plan was to make the upstairs actually workable during the summer, rather than having the window unit chill the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=367&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last December (just in time for the &#8220;perfect storm&#8221; of energy credits&#8230;) we had a new heat-pump installed to replace the old gas furnace.  Additional work was done to run ducts to my office upstairs.  The plan was to make the upstairs actually workable during the summer, rather than having the window unit chill the office overnight, then lose the battle at 2 or 3pm and effectively end my productive work day.  So far the system has worked nicely, though the actual compressor has been a persistent noise problem (which Carrier is slowly working on).</p>
<p>The problem is, there really is no such thing as &#8220;balance&#8221; in a straight ducted system like this.  If the heat is on at any point, the duct to upstairs has to be completely closed off in order to not boil me alive, since there&#8217;s plenty of existing heat-producing equipment on my desk.  If it switches to cooling mode, I have to open the duct lest the ambient temperature ooze through the roof and equally boil me alive.  To help this later situation the installation included a duct-assist fan for the upstairs registers, which has to be turned on in many cases to get enough cold air (which is heavy and doesn&#8217;t want to go upstairs) where it needs to be.</p>
<p>Unfortunately, the assumption that there would be enough air return &#8220;falling&#8221; down the stairs hasn&#8217;t turned out to be true, which means I&#8217;m likely going to have to look into adding return registers and figuring out how to route a duct alongside the supply to the basement.  That&#8217;ll mean disassembly of the supply duct because it was positioned in the <em>middle</em> of the available space&#8230;.</p>
<p>All of this is of course a preamble to the real topic (as per the, um, topic line) of this post, which is my plans to turn this into a zoned system.  The actual meat is after the break&#8230;.<span id="more-367"></span>The heat-pump is located in the basement, with various supply ducts spidering off it to the rooms of the house.   Two come directly from the riser and go to the living room and dining/kitchen area.  A trunk goes to the other side of the house and splits to supply the bathroom and both bedrooms.  The upstairs is supplied by another duct that cuts through the framing just over the foundation, through the garage (where the assist fan is) and down the east knee-wall attic space.</p>
<p>At the point each of the per-room ducts splits off from the rest (either right at the riser or after the trunk split), there&#8217;s a rotary damper.  This is nothing more than a metal disc in the duct that swivels on a rod, controlled by a handle on the outside.  Rotate it through 90 degrees in order to close or open it to a variable degree.  Conventional &#8220;balancing&#8221; involves opening all dampers all the way, then progressively closing down the dampers that are getting too much air (warm or cold).  As long as the overall temperature outside stays in the same window in which it was balanced, this works well enough.  However, the point of the heat-pump is that it accommodates a wide range of outside temperatures, so the idea of balancing to a given point is, um, pointless.</p>
<p>My plan is to mount conventional hobby servos (e.g. the Futaba S3003, or smaller/cheaper ones if they&#8217;re strong enough) at each damper, coupled somehow to drive the damper handle.  I&#8217;ve done some experimentation with that, and so far haven&#8217;t implemented a viable system.  My next attempt is going to be constructing an extended servo armature of the same radius as the damper handle, and double-stick-taping it to the duct nearby.  A stiff wire will connect the two, and hopefully that&#8217;s sufficient (and simple).  Upstairs there are 3 registers that really ought to be individually controlled, which means I&#8217;ll need to figure out a method for mounting the servos <em>inside</em> the registers.  I&#8217;ve seen people do it before, and it doesn&#8217;t look particularly hard.</p>
<p>Controlling the servos is another matter though.  The PWM signal they run off of doesn&#8217;t actually take kindly to being run over a very long wire (I&#8217;ve tried), which means I need to locate the control electronics near each one.  Luckily the majority of them are all in the immediate vicinity of the fan coil in the basement.  Living room, kitchen, upstairs, and the assist fan&#8217;s rheostat are right there, and the bathroom+bedrooms trunk split is about 15ft away from there.</p>
<p>I recently put together a lighting controller for church (which I really should post about, even though it&#8217;s pretty simple) built around an ATmega48 and an SN75176-alike Rs-485 transceiver (since DMX-512 lighting control is a 485 bus).  I have plenty of those parts floating around from AnySeis(tm) development, and it&#8217;s really the only way to go for long-distance communications (it&#8217;s somewhere between 50- and 60-feet between the fan coil and my computer, along the ducting path).  My plan then is to build a multi-channel servo controller out of those same parts, and use a protocol either similar or identical to DMX-512 to drive them.</p>
<p>The main trick there is the fact that the ATmega48 doesn&#8217;t have enough hardware PWM ports.  That means I&#8217;ll need to figure out the best means of implementing a bunch of soft-PWM ports.  Depending on whether I can put together a solid interrupt-based DMX receive routine or not, I can either run PWM as the main() loop, or use a timer interrupt to drive it.  A simple approach for the latter would be to have a table in memory with each of the PWM step periods as a single byte, and just blindly blast them out on the port for each interrupt.  Setting the PWM period for each channel is just an exercise in setting the right bits throughout the table.</p>
<p>I haven&#8217;t thought much about the controller yet, but for now it&#8217;s going to take the form of a USB to &#8220;DMX&#8221; protocol bridge.  I could use my Enttec OpenDMX USB module, but it&#8217;s kindof wacky to deal with.  I&#8217;ll probably just hook a FT232RL module to an Xmega board and make a simple command protocol to set the DMX frame.</p>
<p>However, there&#8217;s an aspect not discussed yet: temperature sensing.  I have a batch of 10 1-wire sensors that I need to figure out how to place in the various rooms in the house.  The location of each will determine how effective the system is (too close to vent means early response, in a dead-air zone means too late, near the outer walls means an offset to outside temperature, near windows means drafts, etc.) and I also don&#8217;t want these wires and little black sensors to be particularly visible&#8230;.</p>
<p>The last part of this is something I think I just came up with a solution for.  The problem is this: the heat-pump is controlled by a thermostat located in the living room.  The only temperature it cares about (except for the outdoor sensor it uses for anticipation) is its internal sensor.  That means that if I get into a situation where the rest of the house is too warm and I <em>really</em> need cooling, I don&#8217;t actually get it unless the living room is too warm.  <em>Getting</em> the living room warm enough in any kind of expedient manner is not really feasible.</p>
<p>In a normal system, I could simply replace the thermostat with relays and drive the compressor, reversing, and fan terminals myself (with appropriate sanity checks for dead time and such).  However, my system is a &#8220;communicating&#8221; Infinity setup, which means there&#8217;s a 4-wire bus running from the stat to the fan coil, then out to the compressor.  The bus contains 24VAC power for the stat, and what I assume at this point is a proprietary RS-485-based bus (manual says &#8220;A&#8221; and &#8220;B&#8221;, which are the standard names for a 485 bus).  Because the thermostat is the master on the bus, there&#8217;s really no way I can force the system to do anything at all, unless I&#8217;m prepared to completely reverse-engineer and <em>fully replicate</em> the existing thermostat&#8230;</p>
<p>However, I discovered two terminals underneath the stat that give me hope.  The manual says they&#8217;re for a &#8220;remote sensor&#8221; to be used in the case where the stat is in a position that&#8217;s not representative of the rest of the building.  You can attach an external sensor and locate it somewhere else in the house.  It even shows how to connect multiple sensors in order to average the readings: 2&#215;2 series/parallel arrangement.  This <em>strongly</em> implies that the sensor is nothing but a bare thermistor, as a such an arrangement will actually perform passive averaging of a rough sort.</p>
<p>So, my though is to connect up a digital potentiometer to those terminals, under the control of my system.  By adjusting the resistance of the digipot, I can &#8220;fake&#8221; different temperatures to the thermostat.  If I set the stat with a particular fixed temperature goal, I can then control whether the system heats or cools by whether the temperature I&#8217;m faking is above or below the scheduled setpoint.  Because my system is variable-speed and dual-stage, I should be able to hint the system as to how much heating or cooling I want by how far off the setpoint I tell it.</p>
<p>Since the weather here is finally starting to show signs of actually being mid spring (even though it&#8217;s going to officially be summer in only 4 days), this project is getting to be a pretty high priority.  I&#8217;m tired of running downstairs to mess with the dampers several times a day&#8230;.</p>
<p>I&#8217;ll post more on each piece as I get there.  First will be the remote DMX-ish servo control and attempting to mount the two servos I have on the upstairs damper and assist fan rheostat.</p>
<br /> Tagged: <a href='http://blog.omegacs.net/tag/dmx-512/'>DMX-512</a>, <a href='http://blog.omegacs.net/tag/hvac/'>HVAC</a>, <a href='http://blog.omegacs.net/tag/xmega/'>Xmega</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/omegacs.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/omegacs.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/omegacs.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/omegacs.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/omegacs.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/omegacs.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/omegacs.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/omegacs.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/omegacs.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/omegacs.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/omegacs.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/omegacs.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/omegacs.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/omegacs.wordpress.com/367/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=367&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.omegacs.net/2011/06/17/diy-hvac-zoning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9790e716bb0a2562373d9d6cc6321b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">omegacs</media:title>
		</media:content>
	</item>
		<item>
		<title>I have a friend at Fedex ;-)</title>
		<link>http://blog.omegacs.net/2011/06/10/i-have-a-friend-at-fedex/</link>
		<comments>http://blog.omegacs.net/2011/06/10/i-have-a-friend-at-fedex/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 20:33:19 +0000</pubDate>
		<dc:creator>omegacs</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.omegacs.net/?p=364</guid>
		<description><![CDATA[So there I was yesterday, placing an order with Digikey for some spacers, LEDs, pins, etc.  It&#8217;s 4:50pm on Thursday, and the parts aren&#8217;t exactly time-critical, but I go with the company-standard Fedex Economy (2-day), expecting them on Monday or so. Then a couple minutes ago (1:25pm Friday) through my headphones I hear somebody shouting [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=364&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So there I was yesterday, placing an order with Digikey for some spacers, LEDs, pins, etc.  It&#8217;s 4:50pm on Thursday, and the parts aren&#8217;t exactly time-critical, but I go with the company-standard Fedex Economy (2-day), expecting them on Monday or so.</p>
<p>Then a couple minutes ago (1:25pm Friday) through my headphones I hear somebody shouting outside, competing with the lawn equipment grinding away nearby.  Headphones come off, and it sounds like my name&#8230;. Huh?  Then I recognize the local Fedex driver&#8217;s voice and run downstairs, apparently I missed the doorbell (gotta find a solution for that).</p>
<p>He hands me a Digikey box, and I&#8217;m thinking &#8220;was there another order before this I forgot about???&#8221;.  He points to the &#8220;Monday&#8221; on the box and says he&#8217;s just &#8220;getting a jump on things&#8221;.  Out comes the leatherman, and out come the parts I ordered <strong>22 hours and 25 minutes ago</strong>&#8230;..  These early deliveries are becoming a common event with this driver, and I&#8217;m definitely not complaining &lt;g&gt;</p>
<p>Making it even more amazing, one of the parts I ordered was a replacement for some parts Digikey mis-picked for the big assembly order.  I got a call from them around 5pm yesterday and he said he&#8217;d try to make sure the confusion with the parts was dealt with before the order shipped out.  I only got the shipment notification from them at 10:51 this morning.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/omegacs.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/omegacs.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/omegacs.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/omegacs.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/omegacs.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/omegacs.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/omegacs.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/omegacs.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/omegacs.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/omegacs.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/omegacs.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/omegacs.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/omegacs.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/omegacs.wordpress.com/364/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=364&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.omegacs.net/2011/06/10/i-have-a-friend-at-fedex/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9790e716bb0a2562373d9d6cc6321b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">omegacs</media:title>
		</media:content>
	</item>
		<item>
		<title>Bootstrapping the new boards</title>
		<link>http://blog.omegacs.net/2011/06/08/bootstrapping-the-new-boards/</link>
		<comments>http://blog.omegacs.net/2011/06/08/bootstrapping-the-new-boards/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 19:08:10 +0000</pubDate>
		<dc:creator>omegacs</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.omegacs.net/?p=357</guid>
		<description><![CDATA[So far so good with the new boards.  I started very carefully by feeding it 5V on the intermediate rail to see if the 3.3v supply comes up, which it did.  Next was hotwiring the microcontroller to my AVR-ISP mkII and confirming the chip is happy, then replacing that with one of my program/debug boards [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=357&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So far so good with the new boards.  I started very carefully by feeding it 5V on the intermediate rail to see if the 3.3v supply comes up, which it did.  Next was hotwiring the microcontroller to my AVR-ISP mkII and confirming the chip is happy, then replacing that with one of my program/debug boards and connecting it to my <a href="http://blog.omegacs.net/2011/01/20/octopdi5-board-underway/">isolated 8-channel programmer</a>:<a href="http://omegacs.files.wordpress.com/2011/06/img_0066.jpg"><br />
</a></p>
<p><a href="http://omegacs.files.wordpress.com/2011/06/img_0069.jpg"><img class="aligncenter size-full wp-image-362" title="AnySeis(tm) bootstrapping" src="http://omegacs.files.wordpress.com/2011/06/img_0069.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a></p>
<p>I&#8217;m taking the old codebase and rebuilding it module-by-module so I can clean things up as I go, and make the main loop more configurable for various experiments.  After getting the serial port (which is running over the same cable, to my programming board) up and running, I moved on to the <a href="http://blog.omegacs.net/2010/09/16/abirtrary-clock-generation-with-benefits/">FD77T</a> (which is an CDCE949 + crystal).  Now I&#8217;m starting to build in all the other subsystems necessary to get the thing actually talking to other units&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/omegacs.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/omegacs.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/omegacs.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/omegacs.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/omegacs.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/omegacs.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/omegacs.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/omegacs.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/omegacs.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/omegacs.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/omegacs.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/omegacs.wordpress.com/357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/omegacs.wordpress.com/357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/omegacs.wordpress.com/357/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=357&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.omegacs.net/2011/06/08/bootstrapping-the-new-boards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9790e716bb0a2562373d9d6cc6321b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">omegacs</media:title>
		</media:content>

		<media:content url="http://omegacs.files.wordpress.com/2011/06/img_0069.jpg" medium="image">
			<media:title type="html">AnySeis(tm) bootstrapping</media:title>
		</media:content>
	</item>
		<item>
		<title>Fully-assembled boards</title>
		<link>http://blog.omegacs.net/2011/06/07/fully-assembled-boards/</link>
		<comments>http://blog.omegacs.net/2011/06/07/fully-assembled-boards/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 18:30:32 +0000</pubDate>
		<dc:creator>omegacs</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[assembly]]></category>
		<category><![CDATA[panelization]]></category>
		<category><![CDATA[PCB]]></category>

		<guid isPermaLink="false">http://blog.omegacs.net/?p=348</guid>
		<description><![CDATA[I got a call yesterday that triggered a mad dash to try to get to Canby by 5pm to grab the freshly assembled PCBs.  Not sure they wouldn&#8217;t have answered after 5pm, but didn&#8217;t want to take the chance, eh? ;-) The only error was actually caused by Digikey, where somehow they managed to stick [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=348&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I got a call yesterday that triggered a mad dash to try to get to Canby by 5pm to grab the freshly assembled PCBs.  Not sure they wouldn&#8217;t have answered after 5pm, but didn&#8217;t want to take the chance, eh? ;-)</p>
<p>The only error was actually caused by Digikey, where somehow they managed to stick a cut tape of some random SOT23-5 part inside a bag marked for SC70-6 parts&#8230;  I&#8217;ll have to figure that one out with them and mount those parts myself.  Luckily those are on the controller boards, of which there are only 3.</p>
<p><a href="http://omegacs.files.wordpress.com/2011/06/img_0057.jpg"><img class="aligncenter size-full wp-image-349" title="AnySeis(tm) assembled boards: MCU and ADC" src="http://omegacs.files.wordpress.com/2011/06/img_0057.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a></p>
<p><a href="http://omegacs.files.wordpress.com/2011/06/img_0059.jpg"><img class="aligncenter size-full wp-image-350" title="AnySeis(tm) assembled boards: Port controller" src="http://omegacs.files.wordpress.com/2011/06/img_0059.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a></p>
<p>I have to assemble the 3rd board of each stack myself, because I ran them on the DorkbotPDX group order.  That&#8217;s because they&#8217;re simple by design, so I can run variations more frequently (and cheaper) as I work on fine-tuning that part of the product.  That and the debug board (which I have to solder a cable to) bracket the above boards, making the whole thing quite colorful ;-)</p>
<p><a href="http://omegacs.files.wordpress.com/2011/06/img_0064.jpg"><img class="aligncenter size-full wp-image-352" title="AnySeis(tm) assembled boards: Iso view" src="http://omegacs.files.wordpress.com/2011/06/img_0064.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a></p>
<p>Part of my design is careful re-usability of parts.  The interface boards I&#8217;ve designed for upgradability are also snapped onto the controller, so if I come up with a better version I can replace the controller&#8217;s interface just as easily as all the others.</p>
<p><a href="http://omegacs.files.wordpress.com/2011/06/img_0063.jpg"><img class="aligncenter size-full wp-image-351" title="AnySeis(tm) assembled boards: IF on Port" src="http://omegacs.files.wordpress.com/2011/06/img_0063.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a></p>
<p>The next step of course is to bootstrap them, which is always a very nerve-wracking procedure&#8230;  It begs the question though: if the boards are red and purple, what color of smoke should come out if something goes wrong???</p>
<br /> Tagged: <a href='http://blog.omegacs.net/tag/assembly/'>assembly</a>, <a href='http://blog.omegacs.net/tag/panelization/'>panelization</a>, <a href='http://blog.omegacs.net/tag/pcb/'>PCB</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/omegacs.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/omegacs.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/omegacs.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/omegacs.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/omegacs.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/omegacs.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/omegacs.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/omegacs.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/omegacs.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/omegacs.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/omegacs.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/omegacs.wordpress.com/348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/omegacs.wordpress.com/348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/omegacs.wordpress.com/348/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=348&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.omegacs.net/2011/06/07/fully-assembled-boards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9790e716bb0a2562373d9d6cc6321b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">omegacs</media:title>
		</media:content>

		<media:content url="http://omegacs.files.wordpress.com/2011/06/img_0057.jpg" medium="image">
			<media:title type="html">AnySeis(tm) assembled boards: MCU and ADC</media:title>
		</media:content>

		<media:content url="http://omegacs.files.wordpress.com/2011/06/img_0059.jpg" medium="image">
			<media:title type="html">AnySeis(tm) assembled boards: Port controller</media:title>
		</media:content>

		<media:content url="http://omegacs.files.wordpress.com/2011/06/img_0064.jpg" medium="image">
			<media:title type="html">AnySeis(tm) assembled boards: Iso view</media:title>
		</media:content>

		<media:content url="http://omegacs.files.wordpress.com/2011/06/img_0063.jpg" medium="image">
			<media:title type="html">AnySeis(tm) assembled boards: IF on Port</media:title>
		</media:content>
	</item>
		<item>
		<title>Panels arrived!</title>
		<link>http://blog.omegacs.net/2011/05/26/panels-arrived/</link>
		<comments>http://blog.omegacs.net/2011/05/26/panels-arrived/#comments</comments>
		<pubDate>Thu, 26 May 2011 20:39:56 +0000</pubDate>
		<dc:creator>omegacs</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.omegacs.net/?p=341</guid>
		<description><![CDATA[Just got the panels from EpecTec, and so far they look fantastic! ;-)<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=341&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just got the panels from EpecTec, and so far they look fantastic! ;-)</p>
<p><a href="http://omegacs.files.wordpress.com/2011/05/img_0052.jpg"><img class="aligncenter size-full wp-image-342" title="IMG_0052" src="http://omegacs.files.wordpress.com/2011/05/img_0052.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a></p>
<p><a href="http://omegacs.files.wordpress.com/2011/05/img_0053.jpg"><img class="aligncenter size-full wp-image-343" title="IMG_0053" src="http://omegacs.files.wordpress.com/2011/05/img_0053.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a></p>
<p><a href="http://omegacs.files.wordpress.com/2011/05/img_0054.jpg"><img class="aligncenter size-full wp-image-344" title="IMG_0054" src="http://omegacs.files.wordpress.com/2011/05/img_0054.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/omegacs.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/omegacs.wordpress.com/341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/omegacs.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/omegacs.wordpress.com/341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/omegacs.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/omegacs.wordpress.com/341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/omegacs.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/omegacs.wordpress.com/341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/omegacs.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/omegacs.wordpress.com/341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/omegacs.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/omegacs.wordpress.com/341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/omegacs.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/omegacs.wordpress.com/341/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.omegacs.net&amp;blog=8829088&amp;post=341&amp;subd=omegacs&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.omegacs.net/2011/05/26/panels-arrived/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9790e716bb0a2562373d9d6cc6321b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">omegacs</media:title>
		</media:content>

		<media:content url="http://omegacs.files.wordpress.com/2011/05/img_0052.jpg" medium="image">
			<media:title type="html">IMG_0052</media:title>
		</media:content>

		<media:content url="http://omegacs.files.wordpress.com/2011/05/img_0053.jpg" medium="image">
			<media:title type="html">IMG_0053</media:title>
		</media:content>

		<media:content url="http://omegacs.files.wordpress.com/2011/05/img_0054.jpg" medium="image">
			<media:title type="html">IMG_0054</media:title>
		</media:content>
	</item>
	</channel>
</rss>
