<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Code, images &amp; ramblings of Evan Borgstrom
Founder of FatBox, hacker, dj, lover of pickled foods &amp; all around nice guy.</description><title>Borgström</title><generator>Tumblr (3.0; @borgstrom)</generator><link>http://evan.borgstrom.ca/</link><item><title>Knitting is awesome #knitterstream  (Taken with Instagram at...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m4hizq4qQe1qzujqvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Knitting is awesome #knitterstream  (Taken with &lt;a href="http://instagr.am"&gt;Instagram&lt;/a&gt; at Conférence C2MTL)&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/23614158321</link><guid>http://evan.borgstrom.ca/post/23614158321</guid><pubDate>Wed, 23 May 2012 12:55:01 -0400</pubDate><category>knitterstream</category></item><item><title>The #knitterstream is underway (Taken with Instagram at C2-MTL)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m4g2g8ztyE1qzujqvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;The #knitterstream is underway (Taken with &lt;a href="http://instagr.am"&gt;Instagram&lt;/a&gt; at C2-MTL)&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/23566547695</link><guid>http://evan.borgstrom.ca/post/23566547695</guid><pubDate>Tue, 22 May 2012 18:00:07 -0400</pubDate><category>knitterstream</category></item><item><title>Delicious grilled octopus salad (Taken with Instagram at Kazu)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m4alxx5wRj1qzujqvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Delicious grilled octopus salad (Taken with &lt;a href="http://instagr.am"&gt;Instagram&lt;/a&gt; at Kazu)&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/23377969856</link><guid>http://evan.borgstrom.ca/post/23377969856</guid><pubDate>Sat, 19 May 2012 19:15:32 -0400</pubDate></item><item><title>Where the bad kids are sent (Taken with instagram)</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_m4a65f5f2T1qzujqvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Where the bad kids are sent (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/23359209397</link><guid>http://evan.borgstrom.ca/post/23359209397</guid><pubDate>Sat, 19 May 2012 13:34:27 -0400</pubDate></item><item><title>Flowers, errr uhhhh or maybe not. Amazing creation of a sushi...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m3u621SI2m1qzujqvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Flowers, errr uhhhh or maybe not. Amazing creation of a sushi chef (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/22818662451</link><guid>http://evan.borgstrom.ca/post/22818662451</guid><pubDate>Thu, 10 May 2012 22:10:49 -0400</pubDate></item><item><title>Hacking the E6000 - control panel &amp; serial interface</title><description>&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m3lq9tGwad1qzuvxk.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;For the past couple weeks I&amp;#8217;ve been working on automating and hacking the &lt;a href="http://www.knittingmachinemuseum.com/Passap_E6000.php"&gt;Passap E6000&lt;/a&gt; knitting machine with &lt;a href="http://www.ivansharko.com/"&gt;Ivan&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I have &lt;a href="http://evan.borgstrom.ca/post/20180956227/hacking-cut-files-for-the-passap-e6000"&gt;previously posted about hacking on .cut files&lt;/a&gt;, but it turns out that the machine doesn&amp;#8217;t even use .cut files. While Ivan &amp;amp; I were learning to knit we heavily used a piece of software called &lt;a href="http://www.offthestreet.net/Win_Crea/WiCrDwnl.php"&gt;WinCrea&lt;/a&gt; and it lead us down the path of .cut files as that it is what WinCrea reads and writes by default. It turns out that it uses something even simpler, much simpler.&lt;/p&gt;

&lt;p&gt;The E6000 uses a straight forward protocol that is represented by a specifically formatted ASCII string. The string describes the number of colours, columns &amp;amp; rows in the pattern and then just sends &amp;#8220;0&amp;#8221;, &amp;#8220;1&amp;#8221;, &amp;#8220;2&amp;#8221; or &amp;#8220;3&amp;#8221; to represent which colour should be used for that stitch. (For more details see the code, link to the GitHub repo is at the end of the post).&lt;/p&gt;

&lt;p&gt;With the task of being able to directly send patterns to the E6000 over the serial interface behind us I needed to design and attach the arduino circuit that would allow us to interface with it.&lt;/p&gt;

&lt;p&gt;The E6000&amp;#8217;s main control panel is exposed and easily hackable inside the plastic housing. Minimal dis-assembly was required to get into it and the electronics for the buttons have through-holes (via&amp;#8217;s) for each button that made attaching our own leads to them a breeze. &lt;em&gt;(Ok, maybe &amp;#8220;breeze&amp;#8221; was the wrong word. I forgot how out of practice I was at soldering so the first 20 - 25 solders were a total PITA until I found my rhythm again)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The main component used in our circuit is an &lt;a href="http://en.wikipedia.org/wiki/Opto-isolator"&gt;Opto-isolator/Opto-coupler&lt;/a&gt;, which is essentially a digital switch that the arduino can control and allows us to trigger the buttons for any arbitrary period of time. Pins 5 &amp;amp; 6 of the opto-isolator attach to the leads to the button, pin 2 goes to ground and pin 1 goes to the arduino, via a 1K resistor to ensure that we don&amp;#8217;t arbitrarily trigger the button press. (&lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1217077559"&gt;This thread on the arduino forums&lt;/a&gt; was most helpful in coming up with a design).&lt;/p&gt;

&lt;p&gt;The final piece to the hardware hack was a simple arduino program that reads single bytes over the serial interface and translates them into button presses on our console, thus allowing us to trigger the buttons from our control machine. The code is small and straight forward, and can be found in the GitHub repository.&lt;/p&gt;

&lt;p&gt;We&amp;#8217;re ready to rock. Who&amp;#8217;s ready to knit?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/borgstrom/KnitterStream"&gt;KnitterStream code on GitHub&lt;/a&gt;&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/22513138258</link><guid>http://evan.borgstrom.ca/post/22513138258</guid><pubDate>Sun, 06 May 2012 09:20:18 -0400</pubDate><category>arduino</category><category>knitterstream</category><category>knitting</category><category>passap</category><category>e6000</category><category>python</category><category>hacking</category><category>hardware</category></item><item><title>Control panel successfully hacked (Taken with instagram)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m3klbuJyOe1qzujqvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Control panel successfully hacked (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/22473690180</link><guid>http://evan.borgstrom.ca/post/22473690180</guid><pubDate>Sat, 05 May 2012 18:04:42 -0400</pubDate></item><item><title>Chili peppers (Taken with instagram)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m36cbeboeg1qzujqvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Chili peppers (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/21962207480</link><guid>http://evan.borgstrom.ca/post/21962207480</guid><pubDate>Sat, 28 Apr 2012 01:23:38 -0400</pubDate></item><item><title>Charcoal hot dogs. You better believe it! (Taken with instagram)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m2sgkdkQT51qzujqvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Charcoal hot dogs. You better believe it! (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/21441924201</link><guid>http://evan.borgstrom.ca/post/21441924201</guid><pubDate>Fri, 20 Apr 2012 13:29:01 -0400</pubDate></item><item><title>Home made spicy thai beef pizza. Mmmm.  (Taken with instagram)</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_m2alw50cGb1qzujqvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Home made spicy thai beef pizza. Mmmm.  (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/20880670385</link><guid>http://evan.borgstrom.ca/post/20880670385</guid><pubDate>Tue, 10 Apr 2012 22:07:17 -0400</pubDate></item><item><title>Dear Microsoft: Thank you for your thoughtfully outdated error...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m2abzziV8V1qzujqvo1_400.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Dear Microsoft: Thank you for your thoughtfully outdated error messaging.&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/20865605842</link><guid>http://evan.borgstrom.ca/post/20865605842</guid><pubDate>Tue, 10 Apr 2012 18:33:35 -0400</pubDate><category>microsoft</category><category>error</category><category>internet</category></item><item><title>Lunar (Taken with instagram)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m21870n6sH1qzujqvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Lunar (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/20557586740</link><guid>http://evan.borgstrom.ca/post/20557586740</guid><pubDate>Thu, 05 Apr 2012 20:33:00 -0400</pubDate></item><item><title>Pirates can knit too… (Taken with instagram)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m1xewa2Gep1qzujqvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Pirates can knit too… (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/20432674078</link><guid>http://evan.borgstrom.ca/post/20432674078</guid><pubDate>Tue, 03 Apr 2012 19:07:22 -0400</pubDate></item><item><title>Hacking .cut files for the Passap E6000</title><description>&lt;p&gt;I&amp;#8217;ve recently gotten involved in a project that involves building some custom software to do some image manipulation and some hardware to control an amazingly cool machine; &lt;a href="http://www.knittingmachinemuseum.com/Passap_E6000.php"&gt;The Passap E6000&lt;/a&gt;. Watching this thing in action is awesome to say the least. I&amp;#8217;ll be posting more about it as we progress on the build, but for know I&amp;#8217;m just going to talk about the first real aspect of the software development part.&lt;/p&gt;

&lt;p&gt;A .cut file is a simple image file format that can be used store very basic image data plotted in pixels and using a limited 256 colour palette. These files can be loaded onto the E6000 via a serial cable and there&amp;#8217;s a couple different pieces of software out there that can both create .cut files and download them to the E6000 but we&amp;#8217;ve been using &lt;a href="http://www.offthestreet.net/Win_Crea/WiCrDwnl.php"&gt;Win_Crea&lt;/a&gt; for our testing.&lt;/p&gt;

&lt;p&gt;The first step in our experimentation was to learn to decode the .CUT files. The files use a run length encoding scheme built upon single bytes in a file. You can find the full details here: &lt;a href="http://www.fileformat.info/format/drhalo/spec/f735fa9d62f348058fe6f6a70aca4f9e/view.htm"&gt;.cut file details&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And after a day of tinkering around with it&amp;#8230; Success!&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m1poimHpXt1qzuvxk.png" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;The window on the left is Win Crea showing a simple pattern I designed in the grid editor and the window on the right is Preview on OSX showing the PNG I generated using some python code &amp;amp; PIL.&lt;/p&gt;

&lt;p&gt;The goal is to build a nice interface to reading and writing .cut files called pycutter, but for now it&amp;#8217;s just a straight forward python script. You can find it in my github account: &lt;a href="https://github.com/fatbox/pycutter"&gt;https://github.com/fatbox/pycutter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;More to come as we continue to put this project together.&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/20180956227</link><guid>http://evan.borgstrom.ca/post/20180956227</guid><pubDate>Fri, 30 Mar 2012 15:25:26 -0400</pubDate><category>hacking</category><category>passap</category><category>e6000</category><category>.cut</category><category>python</category><category>programming</category></item><item><title>Needles. Lots of em.  (Taken with instagram)</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m1iqtspa4Z1qzujqvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Needles. Lots of em.  (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/19984148773</link><guid>http://evan.borgstrom.ca/post/19984148773</guid><pubDate>Mon, 26 Mar 2012 21:01:03 -0400</pubDate></item><item><title>Cameron house (Taken with instagram)</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_m1f7s0aD7o1qzujqvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Cameron house (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/19873088229</link><guid>http://evan.borgstrom.ca/post/19873088229</guid><pubDate>Sat, 24 Mar 2012 23:16:47 -0400</pubDate></item><item><title>Oh hai (Taken with instagram)</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_m1cnjbgUSM1qzujqvo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Oh hai (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/19789034764</link><guid>http://evan.borgstrom.ca/post/19789034764</guid><pubDate>Fri, 23 Mar 2012 14:04:00 -0400</pubDate><category>oh hai</category><category>meow</category><category>cat</category></item><item><title>The greatest rapper ever died on March 9th.

The one and only...</title><description>&lt;iframe width="400" height="225" src="http://www.youtube.com/embed/y89axte5Wjs?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;The greatest rapper ever died on March 9th.&lt;/p&gt;

&lt;p&gt;The one and only BIG.&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/19003633109</link><guid>http://evan.borgstrom.ca/post/19003633109</guid><pubDate>Fri, 09 Mar 2012 10:38:53 -0500</pubDate><category>big</category><category>biggie</category><category>notorious big</category><category>rip</category><category>greatest rapper ever</category></item><item><title>Boston Dynamics builds some awesome robots.

I can’t even...</title><description>&lt;iframe width="400" height="225" src="http://www.youtube.com/embed/83ULlgpT1UQ?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Boston Dynamics builds some awesome robots.&lt;/p&gt;

&lt;p&gt;I can’t even imagine what it would feel like to be chased by this thing if it was coming at you @ 18/mph.&lt;/p&gt;

&lt;p&gt;Crazy.&lt;/p&gt;</description><link>http://evan.borgstrom.ca/post/18806107200</link><guid>http://evan.borgstrom.ca/post/18806107200</guid><pubDate>Mon, 05 Mar 2012 16:23:54 -0500</pubDate><category>video</category><category>robot</category><category>robotics</category><category>boston dynamics</category><category>cheetah</category><category>awesome</category></item><item><title>Missed Connector is now free! Like Craigslist? Have an iPhone? Check it out. </title><description>&lt;a href="http://bit.ly/mc-itunes-e"&gt;Missed Connector is now free! Like Craigslist? Have an iPhone? Check it out. &lt;/a&gt;</description><link>http://evan.borgstrom.ca/post/18549693763</link><guid>http://evan.borgstrom.ca/post/18549693763</guid><pubDate>Thu, 01 Mar 2012 08:27:00 -0500</pubDate><category>missed connector</category><category>missedconnector</category><category>craigslist</category><category>free</category><category>app</category><category>iphone</category></item></channel></rss>

