<?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"
	>

<channel>
	<title>EE-Fail</title>
	<atom:link href="http://blog.hodgepig.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hodgepig.org</link>
	<description></description>
	<pubDate>Fri, 13 Jan 2012 10:06:43 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>PCB prices</title>
		<link>http://blog.hodgepig.org/2012/01/13/pcb-prices/</link>
		<comments>http://blog.hodgepig.org/2012/01/13/pcb-prices/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 06:49:15 +0000</pubDate>
		<dc:creator>jrt</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hodgepig.org/?p=671</guid>
		<description><![CDATA[Lately, I&#8217;ve been investigating how to get some real PCBs manufactured for my projects. My PCB is an adapter board to fit between two pre-made modules. It&#8217;s 2-layer, plated through hole.
It&#8217;s a design for a wireless gateway/hub.
I went and got a few formal quotes from PCB manufacturers.
They&#8217;re all around £130 for a single 12in x [...]]]></description>
			<content:encoded><![CDATA[<p>Lately, I&#8217;ve been investigating how to get some real PCBs manufactured for my projects. My PCB is an adapter board to fit between two pre-made modules. It&#8217;s 2-layer, plated through hole.</p>
<p>It&#8217;s a design for a wireless gateway/hub.</p>
<p>I went and got a few formal quotes from PCB manufacturers.<br />
They&#8217;re all around £130 for a single 12in x 9in panel.<br />
I can pay closer to £100 if I order from abroad, but then I&#8217;ll likely have to pay import duty on top.</p>
<p>It&#8217;s not really 12in x 9in as you need a margin around the edge and a gap between PCBs of at least 0.1in.</p>
<p>Here&#8217;s my current PCB:</p>
<p><img src="http://wp.hodgepig.org/wp-uploads/2012/01/hub2.png" alt="" /></p>
<p>It&#8217;s 1.7in x 2.4in  = 4.08 sq in<br />
That&#8217;s a best case of 26 PCBs per panel, coming out at £5 per PCB.<br />
If I tesselate with appropriate gaps, I can get 20 on a panel for a real cost of £6.50 per PCB.</p>
<p>That cost is much too high for my project.</p>
<p>And, not to forget, that doesn&#8217;t include any sensor PCBs&#8230;<br />
At the  ratio of 1:2 for hubs:sensors that I wanted to get made, I&#8217;ll be getting  maybe 6 or 7 hubs for £130, which I can&#8217;t stomach&#8230;</p>
<p>So, back to the drawing board!<br />
It&#8217;s not as sexy (or easy to fit in a  box), but it&#8217;s much smaller. (I haven&#8217;t routed the tracks yet, so it  might end up a little bigger).<br />
Looking down, the Ciseco module faces you with the antenna poking you in the eye.<br />
The blue board sits on top of the ethernet board, mating with the square pads on the right.<br />
The power jack is mounted on the underside of the blue board along with the serial header and LED.</p>
<p><img src="http://wp.hodgepig.org/wp-uploads/2012/01/hub3.png" alt="" /></p>
<p>This PCB is 0.9in x 1in = 0.9 sq in<br />
Best case of 109 PCBs per panel, coming out at £1.20 per PCB.<br />
Even if the reality is only half that yield, I&#8217;d be a lot happier.</p>
<p>It&#8217;s a bit fugly, but they&#8217;re just prototypes&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hodgepig.org/2012/01/13/pcb-prices/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ciseco XRF programming/test jig</title>
		<link>http://blog.hodgepig.org/2011/11/26/ciseco-xrf-programmingtest-jig/</link>
		<comments>http://blog.hodgepig.org/2011/11/26/ciseco-xrf-programmingtest-jig/#comments</comments>
		<pubDate>Sat, 26 Nov 2011 22:34:45 +0000</pubDate>
		<dc:creator>jrt</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hodgepig.org/?p=669</guid>
		<description><![CDATA[The Ciseco XRF is a CC1110F32 module with the same form factor as the XBee. It&#8217;s cheaper than an XBee and is completely reprogrammable.
But, the XRF doesn&#8217;t feature a standard connector for programming. So, here&#8217;s a single sided programming/test jig users can etch at home (or you can buy something similar).
There&#8217;s a single LED on [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://shop.ciseco.co.uk/xrf-wireless-rf-radio-uart-rs232-serial-data-module-xbee-shape-arduino-pic-etc/">Ciseco XRF</a> is a <a href="http://www.ti.com/product/cc1110f32">CC1110F32</a> module with the same form factor as the <a href="http://www.digi.com/products/wireless-wired-embedded-solutions/zigbee-rf-modules/point-multipoint-rfmodules/xbee-series1-module#overview">XBee</a>. It&#8217;s cheaper than an XBee and is completely reprogrammable.</p>
<p>But, the XRF doesn&#8217;t feature a standard connector for programming. So, here&#8217;s a single sided programming/test jig users can etch at home (or you can <a href="http://shop.ciseco.co.uk/xino-basic-for-xrf-arduino-shaped-kit-ti-cc1110-based/">buy something similar</a>).</p>
<p>There&#8217;s a single LED on P2_3, a serial port on P0_2/P0_3 and nothing else.</p>
<p>I&#8217;m making the project files available as I&#8217;ve created a custom Eagle CAD footprint for the XRF with the CC1110F32 pins labelled.</p>
<p><a href="http://www.hodgepig.org/xrfjig.tar.gz">Here are the Eagle files</a>.</p>
<p><a href="http://www.flickr.com/photos/54388270@N04/sets/72157628164933097/"><br />
<img src="http://farm8.staticflickr.com/7017/6407509165_0aae9083f1_m.jpg" alt="" /></a></p>
<p><a href="http://www.flickr.com/photos/54388270@N04/sets/72157628164933097/"><img src="http://farm8.staticflickr.com/7164/6407507499_fb16510f5d_m.jpg" alt="" /></a></p>
<p><a href="http://www.flickr.com/photos/54388270@N04/sets/72157628164933097/"><img src="http://farm7.staticflickr.com/6226/6407506865_9612798a59_m.jpg" alt="" /></a></p>
<p><a href="http://www.flickr.com/photos/54388270@N04/sets/72157628164933097/"><img src="http://farm8.staticflickr.com/7028/6407507973_cbf879be1e_m.jpg" alt="" /></p>
<p></a></p>
<p><a href="http://www.flickr.com/photos/54388270@N04/sets/72157628164933097/"></a></p>
<p><a href="http://www.flickr.com/photos/54388270@N04/sets/72157628164933097/"></a></p>
<p><a href="http://www.flickr.com/photos/54388270@N04/sets/72157628164933097/"><img src="http://farm8.staticflickr.com/7009/6407508671_bb3976ed7b_m.jpg" alt="" /><br />
</a><br />
(Note, looking down on the board, pin 1 on the programming header is on the bottom right)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hodgepig.org/2011/11/26/ciseco-xrf-programmingtest-jig/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lidded, lasered box</title>
		<link>http://blog.hodgepig.org/2011/11/04/lidded-lasered-box/</link>
		<comments>http://blog.hodgepig.org/2011/11/04/lidded-lasered-box/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 18:51:50 +0000</pubDate>
		<dc:creator>jrt</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[laser]]></category>

		<guid isPermaLink="false">http://blog.hodgepig.org/?p=668</guid>
		<description><![CDATA[For Christmas presents this year, I&#8217;ve been thinking about making some laser cut boxes. Perhaps something a bit like this:

I found a great little tool called BoxMaker which can generate a PDF of the faces to cut. There&#8217;s an online version or a Java app.
I&#8217;ve modified it to generate a lid piece, so an external [...]]]></description>
			<content:encoded><![CDATA[<p>For Christmas presents this year, I&#8217;ve been thinking about making some laser cut boxes. Perhaps something a bit like this:</p>
<p><img src="http://herbhoover.com/images/2boxes.jpg" alt="" width="211" height="106" /></p>
<p>I found a great little tool called BoxMaker which can generate a PDF of the faces to cut. There&#8217;s an <a href="http://boxmaker.rahulbotics.com/">online version</a> or a <a href="http://www.rahulbotics.com/personal-projects/boxmaker/">Java app</a>.</p>
<p>I&#8217;ve modified it to generate a lid piece, so an external hinge can be fitted. Get the sources on github: <a href="https://github.com/jobytaffey/boxmaker">https://github.com/jobytaffey/boxmaker</a>.</p>
<p>Today, the proof that it works arrived from <a href="http://www.razorlab.co.uk/">@RazorLab</a>.</p>
<p><img src="http://farm7.static.flickr.com/6097/6312943194_6efbc0febb.jpg" alt="" width="500" height="416" /></p>
<p>Etching a QR code, seemed to work pretty well too.</p>
<p><img src="http://farm7.static.flickr.com/6097/6312943710_1d7a81623f.jpg" alt="" width="500" height="473" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hodgepig.org/2011/11/04/lidded-lasered-box/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IM-Me Dongle Walkthrough</title>
		<link>http://blog.hodgepig.org/2011/01/20/im-me-dongle-walkthrough/</link>
		<comments>http://blog.hodgepig.org/2011/01/20/im-me-dongle-walkthrough/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 22:27:18 +0000</pubDate>
		<dc:creator>jrt</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[imme]]></category>

		<guid isPermaLink="false">http://blog.hodgepig.org/?p=666</guid>
		<description><![CDATA[How to hack an IM-Me dongle for power, serial and reflashing.
Now that I&#8217;m doing projects with the IM-Me, I&#8217;m getting the hang of modifying them. Here&#8217;s my process.
Buy an IM-Me. My local Toys&#8217;R'Us has them for £4.99.

Gather some tools.

Unscrew and remove the casing.

Remove the USB connector. Apply gentle pressure while heating all of the pins [...]]]></description>
			<content:encoded><![CDATA[<p>How to hack an IM-Me dongle for power, serial and reflashing.</p>
<p>Now that I&#8217;m doing projects with the IM-Me, I&#8217;m getting the hang of modifying them. Here&#8217;s my process.</p>
<p>Buy an IM-Me. My local Toys&#8217;R'Us has them for £4.99.</p>
<p><a href="http://www.flickr.com/photos/54388270@N04/5373240171/"><img src="http://farm6.static.flickr.com/5124/5373240171_2bb1cdd2e5_m.jpg" alt="" /></a></p>
<p>Gather some tools.</p>
<p><a href="http://www.flickr.com/photos/54388270@N04/5373241705/"><img src="http://farm6.static.flickr.com/5202/5373241705_f8c3be262e_m.jpg" alt="" /></a></p>
<p>Unscrew and remove the casing.</p>
<p><a href="http://www.flickr.com/photos/54388270@N04/5373240487/"><img src="http://farm6.static.flickr.com/5207/5373240487_e865d5d8d9_m.jpg" alt="" /></a></p>
<p>Remove the USB connector. Apply gentle pressure while heating all of the pins on the top.</p>
<p><a href="http://www.flickr.com/photos/54388270@N04/5373843546/"><img src="http://farm6.static.flickr.com/5044/5373843546_136ba33c9d_m.jpg"></a><br />
<a href="http://www.flickr.com/photos/54388270@N04/5373240795/"><img src="http://farm6.static.flickr.com/5045/5373240795_01244a70a7_m.jpg" alt="" /></a><a href="http://www.flickr.com/photos/54388270@N04/5373840774/"><img src="http://farm6.static.flickr.com/5168/5373840774_186dcdf090_m.jpg" alt="" /></a></p>
<p>Then do the same for the bottom two pins and remove the connector.</p>
<p><a href="http://www.flickr.com/photos/54388270@N04/5373244163/"><img src="http://farm6.static.flickr.com/5289/5373244163_e561b1c0aa_m.jpg"></a><a href="http://www.flickr.com/photos/54388270@N04/5373241169/"><img src="http://farm6.static.flickr.com/5128/5373241169_639f8f22d6_m.jpg"></a></p>
<p>Find and remove the Cypress USB controller chip.</p>
<p><a href="http://www.flickr.com/photos/54388270@N04/5373242723/"><img src="http://farm6.static.flickr.com/5087/5373242723_d5d0d304c2_m.jpg"></a></p>
<p>Blob solder down one side. Heat the solder and lift the legs, so that one side is raised. Then repeat.</p>
<p><a href="http://www.flickr.com/photos/54388270@N04/5373244539/"><img src="http://farm6.static.flickr.com/5082/5373244539_084ca704be_m.jpg"><a href="http://www.flickr.com/photos/54388270@N04/5373841158/"><img src="http://farm6.static.flickr.com/5002/5373841158_aff6d5b06a_m.jpg"></a></p>
<p>Clean up the pads with solder wick.</p>
<p><a href="http://www.flickr.com/photos/54388270@N04/5373241535/"><img src="http://farm6.static.flickr.com/5208/5373241535_893497b92d_m.jpg"></a></p>
<p>Glue some pin strip along the edge to turn the dongle into a SIL module suitable for a breadboard.</p>
<p><a href="http://www.flickr.com/photos/54388270@N04/5373241809/"><img src="http://farm6.static.flickr.com/5006/5373241809_0a24ac9bff_m.jpg"></a></p>
<p>Use thin insulated wire to connect the pins to the board. I&#8217;m using a laquered copper wire.</p>
<p><a href="http://www.flickr.com/photos/54388270@N04/5373841730/"><img src="http://farm6.static.flickr.com/5090/5373841730_8db85ace8f_m.jpg"></a></p>
<p>Use <a href="http://farm2.static.flickr.com/1131/5099267353_4b36eba6dc_b.jpg">this</a> reference to help you. Connect your power and ground pins to the legs of the electrolytic capacitor, connect your serial port to the two pads from the Cypress (TX = MOSI, RX = MISO), connect your programmer to the vias with the white circles.</p>
<p>Build a handy programming, serial and power cable. Mine plugs into a SmartRF board, you may want a different header for GoodFET.</p>
<p><a href="http://www.flickr.com/photos/54388270@N04/5373242255/"><img src="http://farm6.static.flickr.com/5162/5373242255_ef754b2f7d_m.jpg"></a></p>
<p>Plug and play.</p>
<p><a href="http://www.flickr.com/photos/54388270@N04/5373842212/"><img src="http://farm6.static.flickr.com/5168/5373842212_cd8d24aac0_m.jpg"></a></p>
<p><a href="http://blog.hodgepig.org/2010/11/23/im-me-dongle-uart/">Grab some sample UART code and a test binary</a>.</p>
<p>Upload <a href="http://code.google.com/p/pinkos/">PinkOS</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hodgepig.org/2011/01/20/im-me-dongle-walkthrough/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Teensy MAME Controller</title>
		<link>http://blog.hodgepig.org/2011/01/17/teensy-mame-controller/</link>
		<comments>http://blog.hodgepig.org/2011/01/17/teensy-mame-controller/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 21:14:49 +0000</pubDate>
		<dc:creator>jrt</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hodgepig.org/?p=661</guid>
		<description><![CDATA[At home, we have a Mac Mini as a media centre. I put MAME on it, so that my kids can be properly educated in gaming - it&#8217;s important to start right!
I found an old XBox arcade stick. But, I couldn&#8217;t persuade OSX to read it properly. So decided to gut it and replace the [...]]]></description>
			<content:encoded><![CDATA[<p>At home, we have a Mac Mini as a media centre. I put MAME on it, so that my kids can be properly educated in gaming - it&#8217;s important to start right!</p>
<p>I found an old XBox arcade stick. But, I couldn&#8217;t persuade OSX to read it properly. So decided to gut it and replace the internals.</p>
<p><img src="http://wp.hodgepig.org/wp-uploads/2011/01/teensy.jpg" alt="" /></p>
<p><img src="http://wp.hodgepig.org/wp-uploads/2011/01/inside.jpg" alt="" /></p>
<p>I wired a Teensy 1.0 up and hacked the LUFA keyboard sample to emit the right keys.</p>
<p><img src="http://wp.hodgepig.org/wp-uploads/2011/01/pad.jpg" alt="" /></p>
<p>I&#8217;m off to play Mr. Do&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hodgepig.org/2011/01/17/teensy-mame-controller/feed/</wfw:commentRss>
		</item>
		<item>
		<title>This year I have mostly been&#8230;</title>
		<link>http://blog.hodgepig.org/2010/12/31/this-year-i-have-mostly-been/</link>
		<comments>http://blog.hodgepig.org/2010/12/31/this-year-i-have-mostly-been/#comments</comments>
		<pubDate>Fri, 31 Dec 2010 02:21:12 +0000</pubDate>
		<dc:creator>jrt</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hodgepig.org/?p=659</guid>
		<description><![CDATA[
    &#8230; 
Making PCBs and learning how not to solder.

Test driving cheap ARM JTAG adapters

Developing a single chip USB Bus Pirate around an AVR with new hardware and software

Getting familiar with the TI MSP430


Hacking IM-me dongles and handsets to do interesting new things



Playing Chiphacker

]]></description>
			<content:encoded><![CDATA[<p><img src="http://wp.hodgepig.org/wp-uploads/2010/12/picture-1.png"><br />
    <a href="http://www.youtube.com/results?search_query=jesse%27s+diets">&#8230; </a></p>
<p>Making <a href="http://blog.hodgepig.org/2010/01/25/523/">PCBs</a> and <a href="http://blog.hodgepig.org/2010/02/07/535/">learning how not to solder</a>.</p>
<p><img src="http://blog.hodgepig.org/wp-uploads/articles/000029-toast/burntcorner.jpg" alt="" width="200" /></p>
<p><a href="http://blog.hodgepig.org/2010/04/13/545/">Test driving cheap ARM JTAG adapters</a></p>
<p><img src="http://blog.hodgepig.org/wp-uploads/articles/000034-buspirate/sam7.jpg" alt="" width="200" /></p>
<p>Developing a single chip USB Bus Pirate around an AVR with new <a href="http://blog.hodgepig.org/2010/06/29/561/">hardware</a> and <a href="http://blog.hodgepig.org/busninja/">software</a></p>
<p><img src="http://blog.hodgepig.org/wp-uploads/articles/000039-bn4/top.jpg" alt="" width="200" /></p>
<p><a href="http://blog.hodgepig.org/tag/msp430/">Getting familiar</a> with the TI MSP430</p>
<p><img src="http://wp.hodgepig.org/wp-uploads/2010/09/imag0247.jpg" alt="" width="200" /><br />
<img src="http://farm6.static.flickr.com/5048/5285841599_30fa716bbc.jpg" alt="" width="200" /></p>
<p><a href="http://blog.hodgepig.org/tag/imme/">Hacking IM-me dongles and handsets</a> to do interesting new things</p>
<p><img src="http://farm2.static.flickr.com/1131/5099267353_4b36eba6dc.jpg" alt="" width="200" /></p>
<p><img src="http://farm5.static.flickr.com/4151/5221297311_bca40f9715.jpg" alt="" width="200" /></p>
<p><img src="http://wp.hodgepig.org/wp-uploads/2010/11/anim.gif" alt="" width="200" /></p>
<p>Playing <a href="http://electronics.stackexchange.com/users">Chiphacker</a></p>
<p><img src="http://a1.twimg.com/profile_images/579654141/chiphacker_bigger.png" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hodgepig.org/2010/12/31/this-year-i-have-mostly-been/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Finished Fireflies</title>
		<link>http://blog.hodgepig.org/2010/12/23/finished-fireflies/</link>
		<comments>http://blog.hodgepig.org/2010/12/23/finished-fireflies/#comments</comments>
		<pubDate>Thu, 23 Dec 2010 20:35:03 +0000</pubDate>
		<dc:creator>jrt</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hodgepig.org/?p=654</guid>
		<description><![CDATA[My family is having a &#8220;no bought gifts&#8221; Christmas this year. So, we decided to make a bunch of tappable firefly jars as presents. They had to be cheap and easy to assemble.
I&#8217;m really happy with how they&#8217;ve turned out.


In the dark, they&#8217;re quite hypnotic.

We used old glass jars, diffused with some spray on paint. [...]]]></description>
			<content:encoded><![CDATA[<p>My family is having a &#8220;no bought gifts&#8221; Christmas this year. So, we decided to make a bunch of tappable firefly jars as presents. They had to be cheap and easy to assemble.</p>
<p>I&#8217;m really happy with how they&#8217;ve turned out.</p>
<p><img src="http://farm6.static.flickr.com/5048/5285841599_30fa716bbc.jpg"><br />
<img src="http://farm6.static.flickr.com/5125/5285841581_68341b1224.jpg"></p>
<p>In the dark, they&#8217;re quite hypnotic.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/wK2l9vqze_Q?fs=1&amp;hl=en_GB"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/wK2l9vqze_Q?fs=1&amp;hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>We used old glass jars, diffused with some spray on paint. Inside, there&#8217;s an MSP430G2221, 7 LEDs, 2 resistors and a piezo transducer (to detect tapping). Cheap and simple.</p>
<p>I prototyped everything on TI&#8217;s MSP430 Launchpad before home-etching some single sided PCBs.<br />
<a href='http://wp.hodgepig.org/wp-uploads/2010/12/fireflies-eagletar.gz'>Here are the Eagle CAD design files.</a> Admittedly, the Launchpad is only $4.30, but, I didn&#8217;t want the bulk.</p>
<p><img src="http://wp.hodgepig.org/wp-uploads/2010/12/fireflyschematic.png" alt="" title="fireflyschematic" width="463" height="394" class="alignnone size-full wp-image-658" /></p>
<p><img src="http://wp.hodgepig.org/wp-uploads/2010/09/imag0208-205x300.jpg" alt="" title="imag0208" width="205" height="300" class="alignnone size-medium wp-image-604" /><img src="http://wp.hodgepig.org/wp-uploads/2010/09/imag0211.jpg" alt="" title="imag0211" width="250" height="259" class="alignnone size-medium wp-image-605" /><img src="http://wp.hodgepig.org/wp-uploads/2010/09/imag0213.jpg" alt="" title="imag0213" width="250" height="237" class="alignnone size-medium wp-image-606" /><img src="http://wp.hodgepig.org/wp-uploads/2010/09/imag0214.jpg" alt="" title="imag0214" width="250" height="222" class="alignnone size-medium wp-image-607" /><img src="http://wp.hodgepig.org/wp-uploads/2010/09/imag0216.jpg" alt="" title="imag0216" width="250" height="240" class="alignnone size-medium wp-image-608" /><img src="http://wp.hodgepig.org/wp-uploads/2010/09/imag0218-253x300.jpg" alt="" title="imag0218" width="253" height="300" class="alignnone size-medium wp-image-609" /></p>
<p>Here&#8217;s the first prototype:</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/m1RKUbG_yys?fs=1&amp;hl=en_GB"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/m1RKUbG_yys?fs=1&amp;hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>Each jar contains seven lights, which slowly synchronize with each other over time, like <a href="http://boingboing.net/2009/06/16/syncronized-smokey-m.html">real fireflies</a>. Tapping the piezo transducer in the lid makes them all flash and randomises the pattern.</p>
<p>Real flies synchronize with <a href="http://vortex.bd.psu.edu/~sas56/MATH497K/Papers/Syncrhonization.pdf">pulse coupled oscillators</a>. Here&#8217;s a <a href="http://www.math.ucdavis.edu/~tlewis/teaching/old/strogatz93.pdf">good overview</a>. I use a simple <a href="http://www.southalabama.edu/philosophy/baldwin/flash/info.htm">algorithmic version</a>.</p>
<p>And here&#8217;s my firmware image for anyone wanting to make their own: <a href='http://wp.hodgepig.org/wp-uploads/2010/12/fireflieself.gz'>fireflies.elf.gz</a>.</p>
<p><a href='http://wp.hodgepig.org/wp-uploads/2010/12/fireflies.c'>Here&#8217;s my source code</a> (compile with mspgcc).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hodgepig.org/2010/12/23/finished-fireflies/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PinkOS</title>
		<link>http://blog.hodgepig.org/2010/11/30/pinkos/</link>
		<comments>http://blog.hodgepig.org/2010/11/30/pinkos/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 20:27:54 +0000</pubDate>
		<dc:creator>jrt</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[imme]]></category>

		<guid isPermaLink="false">http://blog.hodgepig.org/?p=653</guid>
		<description><![CDATA[http://code.google.com/p/pinkos/

I&#8217;ve released my open source IM-Me bootloader/operating system, PinkOS.

Interactive shell &#8220;with backspace!&#8221;
32&#215;8 scrolling text console on handset LCD
Console over UART (for modified dongles)
Packet radio (868MHz@250kbaud+pauses)

Sequence numbers, ACKs and CRCs (think UDP)
Broadcast and 255 unique device addresses
Over the air graphics blitting
Remote LED control!

Bootloader for launching third-party applications from the top half of the flash (eg. Michael [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/pinkos/">http://code.google.com/p/pinkos/</a><br />
<img src="http://code.google.com/p/pinkos/logo?cct=0"></p>
<p>I&#8217;ve released my open source IM-Me bootloader/operating system, PinkOS.</p>
<ul>
<li>Interactive shell &#8220;with backspace!&#8221;</li>
<li>32&#215;8 scrolling text console on handset LCD</li>
<li>Console over UART (for modified dongles)</li>
<li>Packet radio (868MHz@250kbaud+pauses)</li>
<ul>
<li>Sequence numbers, ACKs and CRCs (think UDP)</li>
<li>Broadcast and 255 unique device addresses</li>
<li>Over the air graphics blitting</li>
<li>Remote LED control!</li>
</ul>
<li>Bootloader for launching third-party applications from the top half of the flash (eg. Michael Ossmann&#8217;s <a href="http://ossmann.blogspot.com/2010/03/16-pocket-spectrum-analyzer.html">speccan</a>)
</ul>
<p>If you have an interesting app, bug fix or improvement to the bootloader - come and contribute something.</p>
<p>(Serial and over-the-air application upgrades are on the todo list&#8230;)</p>
<p><img src="http://farm5.static.flickr.com/4151/5221297311_bca40f9715.jpg"></p>
<p></p>
<p>An IM-Me dongle, hacked for battery power and TTL serial (click for detail):<br />
<a href="http://www.flickr.com/photos/54388270@N04/5215650149/"><img src="http://farm6.static.flickr.com/5127/5216201880_2af8ea07b8.jpg" border=0></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hodgepig.org/2010/11/30/pinkos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IM-Me Dongle UART</title>
		<link>http://blog.hodgepig.org/2010/11/23/im-me-dongle-uart/</link>
		<comments>http://blog.hodgepig.org/2010/11/23/im-me-dongle-uart/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 21:04:04 +0000</pubDate>
		<dc:creator>jrt</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[imme]]></category>

		<guid isPermaLink="false">http://blog.hodgepig.org/?p=652</guid>
		<description><![CDATA[In this post, I&#8217;ll detail how to add a serial port to an IM-Me dongle.
The first thing I did when I got my IM-Me was to try and communicate through the existing Cypress chip. It works, but it&#8217;s slow and clunky. I had to treat the channel as lossy and build an ACKing and retry [...]]]></description>
			<content:encoded><![CDATA[<p>In this post, I&#8217;ll detail how to add a serial port to an IM-Me dongle.</p>
<p><a href="http://blog.hodgepig.org/2010/10/22/im-me-usb-dongle-hacking/">The first thing I did when I got my IM-Me was to try and communicate through the existing Cypress chip</a>. It works, but it&#8217;s slow and clunky. I had to treat the channel as lossy and build an ACKing and retry system on top. It&#8217;s a hack.</p>
<p>A much better solution is to solder a real TTL level serial port onto the dongle and communicate with it that way.</p>
<p>Modifying the board for serial comms isn&#8217;t much harder than wiring on a GoodFET.</p>
<p>Here is an unmodified dongle:<br />
<a href="http://farm2.static.flickr.com/1131/5099267353_4b36eba6dc_b.jpg"><br />
<img src="http://farm2.static.flickr.com/1131/5099267353_4b36eba6dc.jpg" border="0" alt="" /><br />
</a></p>
<p><strong>Add an external power source:</strong><br />
On an unmodified IM-me dongle, 5V is supplied over USB. This drives the Cypress&#8217; internal voltage regulator which produces 3V for the CC1110.<br />
I run my boards with the Cypress powered down and I provide 3V directly into the CC1110. I am using a wall-wart and a 3.3V regulator, but 2xAA batteries work fine.<br />
Connect your 3V power supply to ground and 3V on the dongle. The easiest connections are at the positive leg of the through hole capacitor and the GND pin of the USB plug.</p>
<p><strong>Disable the Cypress chip:</strong><br />
It seems that supplying 3V to the board has the side effect of powering up the Cypress chip. It will immediately start writing junk over the SPI lines which will interrupt the serial communications. To disable it, cut or lift the Cypress VCC pin. This is best done by heating the pin with a soldering iron then levering it up with a small screwdriver.</p>
<p><strong>Add serial:</strong><br />
Connect a <a href="http://www.sparkfun.com/products/10009">standard 3V FTDI-type cable</a> to the Cypress pins marked MOSI and MISO. MOSI is transmit and MISO is receive.<br />
Connect the ground pin of your serial cable to GND on the board.</p>
<p>For reference, <a href="http://www.flickr.com/photos/54388270@N04/5185260619/">this</a> may be useful (Note that most of the thin green wires connected to the Cypress won&#8217;t be needed)</p>
<p>Once the board is modified - here&#8217;s a test firmware image:</p>
<pre>:0400000002001B32AD
:01000B0032C2
:03001300020117D0
:0300740002001671
:0500160012007780FEDE
:100077001200B01200DC1200CF43FD4012011A7AC1
:10008700647B017C808A828B838CF0120144FD6043
:10009700EE8D820ABA00010BC002C003C004120130
:0900A70038D004D003D00280DC43
:1001640057617272616E747920766F696465640D8B
:020174000A007F
:1000B000539ADFA2AFE433F452A82274FC55C9F579
:1000C000F0740345F0F5C953C9FB43C90880FE43EA
:1000D000F32843FD1443FE0275FF182253BEFBE5CF
:1000E000BE30E6FB53C6B8E5C620E6FB43BE04229D
:1000F000AA82AB831ABAFF011BC3E49A74808BF007
:1001000063F08095F0500F7CB07D041CBCFF011D96
:10011000EC4D70F780DE22C28B32AAF174FE5AF5E4
:10012000F0740245F0F5F143F33C7586C075C222C8
:1001300075C50CD28BD2AA228582C1E58630E1FB3F
:040140005386FD22C3
:06004A00E478FFF6D8FD8A
:100028007900E94400601B7A0090017678007593A6
:1000380000E493F2A308B800020593D9F4DAF27544
:0200480093FF24
:100050007800E84400600A7900759300E4F309D859
:10006000FC7800E84400600C7900900000E4F0A304
:04007000D8FCD9FAE5
:0D001B00758107120160E582600302001686
:1001440020F71430F6148883A88220F507E6A883E4
:1001540075830022E280F7E49322E0227582002274
:00000001FF
</pre>
<pre>$ goodfet.cc erase
$ goodfet.cc flash dongle.hex
</pre>
<p>Connect to the serial port at 115200 8-N-1</p>
<p>Driving the UART from C using SDCC looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">void</span> uart0rx_isr<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span> __interrupt URX0_VECTOR
<span style="color: #009900;">&#123;</span>
    URX0IF <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    <span style="color: #666666; font-style: italic;">// read U0DBUF and do something with it...</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> uart_init<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    PERCFG <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>PERCFG <span style="color: #339933;">&amp;</span> ~PERCFG_U0CFG<span style="color: #009900;">&#41;</span> <span style="color: #339933;">|</span> PERCFG_U1CFG<span style="color: #339933;">;</span>
    P0SEL <span style="color: #339933;">|=</span> BIT5 <span style="color: #339933;">|</span> BIT4 <span style="color: #339933;">|</span> BIT3 <span style="color: #339933;">|</span> BIT2<span style="color: #339933;">;</span>
&nbsp;
    U0CSR <span style="color: #339933;">=</span> <span style="color: #208080;">0x80</span> <span style="color: #339933;">|</span> <span style="color: #208080;">0x40</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">// UART, RX on</span>
&nbsp;
    U0BAUD <span style="color: #339933;">=</span> <span style="color: #0000dd;">34</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">// 115200</span>
    U0GCR <span style="color: #339933;">=</span> <span style="color: #0000dd;">12</span><span style="color: #339933;">;</span>
&nbsp;
    URX0IF <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
    URX0IE <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> uart_putc<span style="color: #009900;">&#40;</span>uint8_t ch<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    U0DBUF <span style="color: #339933;">=</span> ch<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span>U0CSR <span style="color: #339933;">&amp;</span> U0CSR_TX_BYTE<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// wait for byte to be transmitted</span>
    U0CSR <span style="color: #339933;">&amp;=</span> ~U0CSR_TX_BYTE<span style="color: #339933;">;</span>         <span style="color: #666666; font-style: italic;">// Clear transmit byte status</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Good luck and enjoy voiding your warranty.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hodgepig.org/2010/11/23/im-me-dongle-uart/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IM-me Roguelike</title>
		<link>http://blog.hodgepig.org/2010/11/11/im-me-roguelike/</link>
		<comments>http://blog.hodgepig.org/2010/11/11/im-me-roguelike/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 06:00:58 +0000</pubDate>
		<dc:creator>jrt</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[imme]]></category>

		<guid isPermaLink="false">http://blog.hodgepig.org/?p=649</guid>
		<description><![CDATA[I&#8217;ve written a game for the IM-me. It&#8217;s a top down dungeon explorer in the Rogue style. It runs both on the IM-me and Linux.
It&#8217;s all released under the GPL and is a decent framework for making your own games.

Download the source code and precompiled IM-me binary here.

Engine features:

No in-memory framebuffer - 8&#215;8 cursor based [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written a game for the IM-me. It&#8217;s a top down dungeon explorer in the Rogue style. It runs both on the <a href="http://www.youtube.com/watch?v=iKNA1l3ArK4">IM-me</a> and Linux.</p>
<p>It&#8217;s all released under the GPL and is a decent framework for making your own games.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://wp.hodgepig.org/wp-uploads/2010/11/anim.gif" alt="" /></p>
<p><a href="/wp-uploads/game.tar.gz">Download the source code and precompiled IM-me binary here.</a></p>
<ul>
<li>Engine features:
<ul>
<li>No <a href="http://travisgoodspeed.blogspot.com/2010/11/bitmapped-sprites-on-girltech-imme.html">in-memory framebuffer</a> - 8&#215;8 cursor based graphics (very low RAM usage)</li>
<li>Background tiles must be aligned to an 8 pixel grid</li>
<li>Foreground sprites blitted with transparency to floor tile and aligned on a 1 pixel grid</li>
<li>No proper overlapping of foreground sprites implemented</li>
</ul>
</li>
<li>Build features:
<ul>
<li>Compiles for both IM-Me (CC1110) and PC (using <a href="http://www.libsdl.org/">SDL</a>)</li>
<li>Converts sprites from BMP to ST7565 8bit monochrome vertical stripes in C header files</li>
<li>Converts <a href="http://www.mapeditor.org/">Tiled TMX files</a> to C header files</li>
</ul>
</li>
</ul>
<p>I did experiment with <a href="http://rousselmanu.free.fr/?p=195&amp;lang=en">adding music</a>. But, the IM-me is designed to be a pager. It&#8217;s good at making very loud, very high pitch noises and not a lot else.</p>
<p>Here&#8217;s the game map:</p>
<p style="text-align: center;"><img class="aligncenter" src="http://wp.hodgepig.org/wp-uploads/2010/11/map.png" alt="" /></p>
</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/08hJgr2AelM?fs=1&amp;hl=en_GB"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/08hJgr2AelM?fs=1&amp;hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>
Who&#8217;s going to write me an RF networked Bomberman clone?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hodgepig.org/2010/11/11/im-me-roguelike/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

