<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6555364095586804046</id><updated>2012-02-24T14:30:58.432-05:00</updated><category term='Rockets'/><category term='Mechanical'/><category term='Computers'/><category term='Art'/><category term='Audio'/><category term='Electronics'/><category term='Robotics'/><category term='Animation'/><category term='Blacksmithing'/><category term='Programming'/><category term='Boats'/><category term='Bicycles'/><title type='text'>BuildIts</title><subtitle type='html'>This is not so much a blog as a collection of my projects.  The earliest entries are projects from when I was in 8th and 9th grade.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-7112679825009872486</id><published>2012-01-28T12:55:00.001-05:00</published><updated>2012-02-15T22:12:24.730-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><title type='text'>Arduino Game Port Interface</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;A while back I got my hands on an old analog PC joystick, and since then I have been meaning to build an adapter make the joystick work over USB. &amp;nbsp;The adapter I&amp;nbsp;&lt;/span&gt;finally&lt;span style="font-family: inherit;"&gt;&amp;nbsp;built consists of an Arduino connected to a game port I hacked off an old sound card. &amp;nbsp;The Arduino reads the analog (x and y movement) and digital (buttons) inputs and then sends them to the computer over serial. &amp;nbsp;Then a Processing script running on the computer reads the serial data, and converts it into mouse movements and clicks using the Java Robot class.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/-YdQIa0R45N4/TyQrSdQYWdI/AAAAAAAAAZI/UUxel4iv15I/s1600/DSCN4005.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/-YdQIa0R45N4/TyQrSdQYWdI/AAAAAAAAAZI/UUxel4iv15I/s640/DSCN4005.jpg" width="640" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;I first made an adapter to break out the connections from the joystick. &amp;nbsp;I hacked a game port off an old sound card, and wired three sets of connections to it, using the &lt;a href="http://pinouts.ru/Inputs/GameportPC_pinout.shtml"&gt;pinout &lt;/a&gt;I found. &amp;nbsp;Although the particular joystick I have does not use every available pin, I went ahead an included all of them.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/-BfzE95UOprE/TyQrKAvkPHI/AAAAAAAAAYA/QlKlNUh-K_Q/s1600/DSCN3995.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/-BfzE95UOprE/TyQrKAvkPHI/AAAAAAAAAYA/QlKlNUh-K_Q/s640/DSCN3995.jpg" width="640" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/-eYLBheOl4pI/TyQrK42418I/AAAAAAAAAYI/jPfVOHSpAF8/s1600/DSCN3996.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/-eYLBheOl4pI/TyQrK42418I/AAAAAAAAAYI/jPfVOHSpAF8/s640/DSCN3996.jpg" width="640" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;In the picture below, the top three header pins are the 5V and ground connections (red is 5V). &amp;nbsp;The middle four are the analog connections, and the bottom four are digital, for the buttons.&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/-_YNE1AO4JdM/TyQrMoP4OpI/AAAAAAAAAYY/1xM9EYk1s4c/s1600/DSCN3998.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/-_YNE1AO4JdM/TyQrMoP4OpI/AAAAAAAAAYY/1xM9EYk1s4c/s640/DSCN3998.jpg" width="640" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;Unfortunately you cannot just plug these pins directly into a microcontroller and get it go read&amp;nbsp;useful&amp;nbsp;information from the joystick. Pull down resistors must be added for each of the button connections. &amp;nbsp;Also, the potentiometers in the joystick do not have their third pins connected to ground, so I had to add a 100k resistor after each of the analog pins, so that the potentiometers act as a voltage divider and the Arduino can read them properly.&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;In the picture below, orange jumpers are analog, green digital, and the two at the bottom are for 5V and ground:&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/-0oyh18ZF2TE/TyQrNRaMbqI/AAAAAAAAAYg/qwkU_W-2NZQ/s1600/DSCN4000.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/-0oyh18ZF2TE/TyQrNRaMbqI/AAAAAAAAAYg/qwkU_W-2NZQ/s640/DSCN4000.jpg" width="640" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;Pull down resistors:&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/-iJAEME-eJYQ/TyQrOubB-GI/AAAAAAAAAYo/5szkLC-B_U0/s1600/DSCN4001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/-iJAEME-eJYQ/TyQrOubB-GI/AAAAAAAAAYo/5szkLC-B_U0/s640/DSCN4001.jpg" width="640" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/-0R18QiMfdkM/TyQrPpaRIgI/AAAAAAAAAYw/rquATs5wapY/s1600/DSCN4002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/-0R18QiMfdkM/TyQrPpaRIgI/AAAAAAAAAYw/rquATs5wapY/s640/DSCN4002.jpg" width="640" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;Everything connected (minus the USB connection to the computer):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/-YdQIa0R45N4/TyQrSdQYWdI/AAAAAAAAAZI/UUxel4iv15I/s1600/DSCN4005.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/-YdQIa0R45N4/TyQrSdQYWdI/AAAAAAAAAZI/UUxel4iv15I/s640/DSCN4005.jpg" width="640" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;The way the code works is fairly simple. &amp;nbsp;The Arduino reads the values of the potentiometers and buttons, scales the values to under 255 (1 byte) so that they can be sent over serial, and then sends the values to the computer over the serial connection. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;The processing script running on the computer reads the sequence of numbers being received. &amp;nbsp;It compares the values form the potentiometer to the values when the joystick is centered, and then moves the mouse using the Robot.mouseMove() command based on the difference between the values. &amp;nbsp;Moving the joystick farther one direction means that the mouse will move faster. &amp;nbsp;The trigger button corresponds to left click, and the thumb button is right click. &amp;nbsp;The secondary joystick (top center) is used for scrolling, and the remaining two buttons currently adjust the sensitivity of the joystick.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;Due to the speed at which the processing script runs, I had to limit the rate at which the Arduino sent data over serial, because if data was sent too quickly, it backlogged and created a huge lag when moving the joystick. &amp;nbsp;Therefore, the joystick is not quite as responsive as I hoped it would be, and you must hold down the button longer than you would a mouse for your clicks to register. &amp;nbsp;A workaround for this would be to use something like a &lt;a href="http://www.pjrc.com/teensy/"&gt;Teensy&lt;/a&gt;, which can be recognized as a HID, so that the microcontroller could control the&amp;nbsp;mouse&amp;nbsp;directly, eliminating the need for an&amp;nbsp;interpreting&amp;nbsp;script.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: inherit;"&gt;Code:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="https://sites.google.com/site/benkatz94filestorage/joystick.ino?attredirects=0&amp;amp;d=1"&gt;&lt;span style="font-family: inherit;"&gt;Arduino&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="https://sites.google.com/site/benkatz94filestorage/mouse_move.pde?attredirects=0&amp;amp;d=1"&gt;&lt;span style="font-family: inherit;"&gt;Processing&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-7112679825009872486?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/7112679825009872486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2012/01/arduino-game-port-interface.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/7112679825009872486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/7112679825009872486'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2012/01/arduino-game-port-interface.html' title='Arduino Game Port Interface'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-YdQIa0R45N4/TyQrSdQYWdI/AAAAAAAAAZI/UUxel4iv15I/s72-c/DSCN4005.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-3473916916049441343</id><published>2011-11-23T21:53:00.001-05:00</published><updated>2011-11-23T22:28:38.550-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><title type='text'>Retro Rechargeable USB Booster</title><content type='html'>&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;This project started when I found a 7805 voltage regulator when I was searching through old circuit board for useful parts to scavenge. &amp;nbsp;Since these chips are often used in DIY USB chargers, I decided to build such a charger, but with some major improvements over the typical 9V battery powered chargers housed in Altoids tins.&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Retro Rechargeable USB Booster" src="http://www.instructables.com/image/FYHDPXSGV0KKVZT/Retro-Rechargeable-USB-Booster.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The two main things I wanted to improve upon were:&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: 13.5pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Aesthetics.&amp;nbsp;There is nothing wrong with an&amp;nbsp;Altoids &amp;nbsp;tin, but there is alsoa lot of room for improvement as far as looks are concerned.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 13.5pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Batteries:&amp;nbsp;The vast majority of DIY portable USB chargers use alkaline batteries, whichmeans that they must be replaced when they run out. &amp;nbsp;Also, their capacityis not especially impressive.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;ol start="1" type="1"&gt;&lt;/ol&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;My goal was to fix both of these problems, while using onlyparts I had lying around. &amp;nbsp;Every single component of this charger I eitheralready had, or I pulled out of some broken electronic device. &amp;nbsp;Because Ionly used what was available, the charging circuit uses a 7805 voltageregulator, meaning it is not especially efficient. &amp;nbsp;On average, it willstill be more efficient than a 9V charger, because the peak voltage of theLi-Ion battery pack is around 7.5-7.8V. &amp;nbsp;Had I built a Mintyboost typecircuit, it would no doubt have been more efficient. &amp;nbsp;However, as thebattery pack I used is significantly larger than AA batteries or a 9V (it is 1/3of a 15" Macbook Pro battery, in fact), this device should be able topower any iPod, phone, or other USB powered device for hours at a time beforeit must be recharged.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Retro Rechargeable USB Booster" src="http://www.instructables.com/files/deriv/F2K/2FWO/GV2OKVB8/F2K2FWOGV2OKVB8.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Retro Rechargeable USB Booster" src="http://www.instructables.com/files/deriv/FKO/5248/GV525L88/FKO5248GV525L88.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Retro Rechargeable USB Booster" src="http://www.instructables.com/files/deriv/FBG/6RFM/GV0KKT4T/FBG6RFMGV0KKT4T.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Retro Rechargeable USB Booster" src="http://www.instructables.com/files/deriv/FDI/40YO/GV7IV4WH/FDI40YOGV7IV4WH.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Retro Rechargeable USB Booster" src="http://www.instructables.com/files/deriv/FF2/7ZVX/GV0KKT4X/FF27ZVXGV0KKT4X.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Retro Rechargeable USB Booster" src="http://www.instructables.com/files/deriv/FQ9/0HZ1/GV0KKT4V/FQ90HZ1GV0KKT4V.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Retro Rechargeable USB Booster" src="http://www.instructables.com/files/deriv/FWG/0WPE/GV7CY670/FWG0WPEGV7CY670.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Retro Rechargeable USB Booster" src="http://www.instructables.com/files/deriv/FQK/IOXU/GV2OKVB9/FQKIOXUGV2OKVB9.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Retro Rechargeable USB Booster" src="http://www.instructables.com/files/deriv/FU0/2TNP/GV5JF791/FU02TNPGV5JF791.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Retro Rechargeable USB Booster" src="http://www.instructables.com/files/deriv/FQR/VK4O/GV525LQ6/FQRVK4OGV525LQ6.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Retro Rechargeable USB Booster" src="http://www.instructables.com/files/deriv/FWF/FKJP/GV7CY6JL/FWFFKJPGV7CY6JL.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Retro Rechargeable USB Booster" src="http://www.instructables.com/files/deriv/FZL/PCO5/GV525LQ5/FZLPCO5GV525LQ5.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Retro Rechargeable USB Booster" src="http://www.instructables.com/files/deriv/F6V/UE9A/GV5JF78Y/F6VUE9AGV5JF78Y.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Retro Rechargeable USB Booster" src="http://www.instructables.com/files/deriv/FN1/J8BQ/GV525LQ0/FN1J8BQGV525LQ0.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Retro Rechargeable USB Booster" src="http://www.instructables.com/files/deriv/FFH/JH58/GV7CY6JK/FFHJH58GV7CY6JK.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;So, how did I make it? &amp;nbsp;First off, here's what I used:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;Electronics:&lt;/span&gt;&lt;br /&gt;&lt;ul style="line-height: 18px;"&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;7805 Voltage regulator&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Resistors: 2x 49.7K, 1x 43K, 1x 74.9K (values do not need to be exact, and are taken from&amp;nbsp;&lt;a href="http://www.instructables.com/id/How-to-get-your-iPod-to-charge-with-your-homemade-/" style="cursor: pointer; text-decoration: none;"&gt;this instructable&lt;/a&gt;)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;2X Lithium Ion Cells (I got mine from a "dead" Macbook Pro battery)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;DPDTslide switch&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Barrel jack&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Thin gauge wire&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Female USB connector&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Heatsink (for the 7805)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;iPod cable&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;13cm ribbon&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;Case and Structure:&lt;/span&gt;&lt;br /&gt;&lt;ul style="line-height: 18px;"&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Hot Glue - All the internal bits are glued together and insulated with this stuff&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Aluminum flashing (approximately 12cm x 16cm)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;1/4" plywood, preferably good looking (I used marine&amp;nbsp;mahogany)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;2x small wood screws&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Epoxy&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;3mm Stainless Steel rod&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Black paint&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;2x small neodymium magnets&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Tung Oil&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Satin spray-on acrylic&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;Tools&lt;/span&gt;&lt;br /&gt;&lt;ul style="line-height: 18px;"&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Soldering iron and solder&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Dremel/rotary tool with sanding wheel&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Needle files - square and circular&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Scissors&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Philips head screwdriver&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Multimeter&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Drill and small drill bit&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;Here's most of the Macbook battery I started with. &amp;nbsp;The other cells appear to be dead, as they read under 1V. &amp;nbsp;The cells on the right seemed to be fine though:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Tools and Materials" src="http://www.instructables.com/image/F73553SGV7CY311/Tools-and-Materials.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;To get an iPod to recognize the charger, I followed the guide from&lt;/span&gt;&lt;a href="http://www.instructables.com/id/How-to-get-your-iPod-to-charge-with-your-homemade-/" style="cursor: pointer; line-height: 18px; text-decoration: none;"&gt;&amp;nbsp;this Instructable.&lt;/a&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&amp;nbsp; I did not have the exact resistor values, so I improvised and created the correct resistances by soldering resistors of about double or half the required values in series or parallel. &amp;nbsp;The result of this circuit is that the iPod gets 2.8V over both data lines, which signals the iPod to draw 1A from the charger. &amp;nbsp;Many devices will charge without the added resistors, so if you do not own an iPod/iPhone do not bother with them.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br style="line-height: 18px;" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;After soldering the resistors together and to the voltage regulator, I connected a female USB connector to the appropriate parts of the circuit. &amp;nbsp;When testing the circuit, be careful not to run it for too long, as the voltage regulator does not yet have a heatsink and will get hot.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;Here's the (mostly) assembled circuit:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Charging Circuit" src="http://www.instructables.com/image/FLGYS0DGV4W36A3/Charging-Circuit.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Working:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Charging Circuit" src="http://www.instructables.com/files/deriv/FHC/2XH9/GV0KKS1V/FHC2XH9GV0KKS1V.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;When building the charger, the most serious electronics problem I faced was that I only had a Li-Ion charger that could charge 1 cell, but in order to use the 7805 voltage regulator, I needed well over 5V, meaning that I had to use 2 cells in a series. &amp;nbsp;To get around this problem, I designed a circuit using a DPDT switch. &amp;nbsp;When the switch is flipped one direction, the two cells are wired in parallel, and are connected to a barrel connector for charging. &amp;nbsp;When the switch is flipped the other direction, the cells are wired in a series, and output to the voltage regulator. &amp;nbsp;This lets me charge the cells at 3.7V but discharge them at 7.4V.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;Extremely informal schematic. &amp;nbsp;The two top rectangles are the battery cells, and the two middle ones are SPDT switches. &amp;nbsp;When I actually built the thing, I used 1 DPDT switch:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Wiring the Battery Pack" src="http://www.instructables.com/image/FGQBDN9GV7IV40I/Wiring-the-Battery-Pack.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Wired switch. &amp;nbsp;From left to right, top row then bottom row: &amp;nbsp;Cell 1 +, cell 1 -, cell 2 +, cell 2 -, 7.4V out +, 7.4V ground, 3.7V ground, 3.7V out +:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Wiring the Battery Pack" src="http://www.instructables.com/files/deriv/FIS/OWM7/GV5JF4UA/FISOWM7GV5JF4UA.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Here's the circuit attached to the pair of battery cells, with a barrel connector soldered on to the charging input:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Wiring the Battery Pack" src="http://www.instructables.com/files/deriv/FPM/KGDT/GV7CY3FR/FPMKGDTGV7CY3FR.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;The only Li-Ion charger I had available was a camera battery charger, so I had to do some modifications to it so that it could charge this project. &amp;nbsp;I opened up the charger, and soldered two wires connected to a barrel connector to the positive and negative terminals inside the charger. &amp;nbsp;I then cut a small hole through the plastic wall of the charger, and routed the new wires out of the whole. &amp;nbsp;Now, to charge the batteries, I simply flip the switch to the "charge" position, and plug the barrel&amp;nbsp;connector&amp;nbsp;coming out of the charger into the socket I added in the previous step.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;Modified charger:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Modifying the Charger" src="http://www.instructables.com/image/FFF3SK4GV7CY333/Modifying-the-Charger.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Modifying the Charger" src="http://www.instructables.com/files/deriv/FBE/I0PS/GV2OKTTZ/FBEI0PSGV2OKTTZ.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;I decided it would be easier to build a good looking case if the charger had an internal structure holding it together. &amp;nbsp;Then the case could be entirely aesthetic, rather than structurally important. &amp;nbsp;To secure all the components, I simply hot glued them all to the battery cells, as compactly as possible. &amp;nbsp;The downside of using lots of hot glue to hold everything together is that it is nearly impossible to fix any electrical problems that may arise. &amp;nbsp;However, since the circuit used is very simple, I am hoping that nothing will go wrong any time soon. &amp;nbsp;During this step, I added a heatsink to the voltage regulator as well. &amp;nbsp;I used a thin segment of a heatsink pulled from a dead ATX power supply, and I cut and filed it to fit withing the dimensions of the charger. &amp;nbsp;It already had a tapped hole in it, so I simply screwed it onto the 7805 with a little bit of thermal paste between the two. &amp;nbsp;Before gluing everything together, make sure to test the circuit to see that nothing has gone wrong. &amp;nbsp;You would not want to have to fix it once all the&amp;nbsp;components&amp;nbsp;are covered in glue.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;Mostly glued together:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Internal Structure" src="http://www.instructables.com/image/FAAQ3B8GV4W369Y/Internal-Structure.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Heatsink:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Internal Structure" src="http://www.instructables.com/files/deriv/F2M/RETI/GV5JF4A8/F2MRETIGV5JF4A8.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Internal Structure" src="http://www.instructables.com/files/deriv/FQT/I0ZD/GV2OKTTX/FQTI0ZDGV2OKTTX.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;All glued:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Internal Structure" src="http://www.instructables.com/files/deriv/FZI/7GYC/GV2OKTTW/FZI7GYCGV2OKTTW.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Internal Structure" src="http://www.instructables.com/files/deriv/FPI/HA75/GV5JF4A3/FPIHA75GV5JF4A3.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Internal Structure" src="http://www.instructables.com/files/deriv/F60/BUWK/GV2OKTTV/F60BUWKGV2OKTTV.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Internal Structure" src="http://www.instructables.com/files/deriv/F81/HPI7/GV5JF4A0/F81HPI7GV5JF4A0.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Internal Structure" src="http://www.instructables.com/files/deriv/F0S/8EJT/GV525J15/F0S8EJTGV525J15.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Internal Structure" src="http://www.instructables.com/files/deriv/FFR/5YQH/GV0KKS1P/FFR5YQHGV0KKS1P.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;To eliminate the need for a cable when charging iPods or iPhone, I made a compact right-angle USB to 30 pin iPod adapter. &amp;nbsp;To do this, I first cut both ends of an iPod cable. &amp;nbsp;I removed as much plastic casing on both sides as possible, and on the Male USB end, I removed all the metal housing from the USB connector. &amp;nbsp;I cut and stripped the four wires on both sides, and soldered the two ends back together with about 1-2 cm of wire connecting them. &amp;nbsp;I then glued the two pieces together at a right angle, so that when the USB end was plugged into the battery pack, the iPod end would be in a plane parallel to the batteries. &amp;nbsp;This way, when the iPod was charging, it could rest against the battery pack.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;Stripped iPod plug:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="USB to iPod adapter" src="http://www.instructables.com/image/FXOJWS4GV4W369R/USB-to-iPod-adapter.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="USB to iPod adapter" src="http://www.instructables.com/files/deriv/FE3/PCSO/GV2OKTTN/FE3PCSOGV2OKTTN.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Glued in position:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="USB to iPod adapter" src="http://www.instructables.com/files/deriv/FDQ/J8B7/GV2OKTTM/FDQJ8B7GV2OKTTM.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="USB to iPod adapter" src="http://www.instructables.com/files/deriv/FTJ/ATU7/GV4W369Q/FTJATU7GV4W369Q.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Plugged into the battery pack:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="USB to iPod adapter" src="http://www.instructables.com/files/deriv/FMY/9JE5/GV0KKS1L/FMY9JE5GV0KKS1L.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="USB to iPod adapter" src="http://www.instructables.com/files/deriv/F2A/D00Q/GV7CY320/F2AD00QGV7CY320.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;I made most of the case out of aluminum flashing. &amp;nbsp;It is very thin, so it is very easy to bend and work with, but it also looks nice when finished properly. &amp;nbsp;The casing fits very tightly around the internal components, so the insides are only held in position by friction. &amp;nbsp;To bend the aluminum to the proper shape, I first cut a long strip about 1 cm longer than the length of the battery pack, and about 3 times as wide. &amp;nbsp;I bent smooth curves by bending the aluminum around a 1 cm diameter dowel. &amp;nbsp;I then put the electronics inside the rough aluminum case, and marked the locations of all the ports that needed to be cut: the USB port in the front, and the switch and charging ports along the side. &amp;nbsp;To cut the holes for these ports, I first drilled small pilot holes and then used needle files to file the holes to shape.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br style="line-height: 18px;" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;When the aluminum was satisfactorily cut, I placed the electronics inside the aluminum, and plugged in a USB cable into the USB port and the charger into the charging port, to keep the enclosure properly aligned about the electronics. &amp;nbsp;I then glued the seam in the metal with epoxy, and wrapped the assembly in electrical tape to hold the seam together while the glue dried&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;Flashing:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Making the Case" src="http://www.instructables.com/image/FS4T0LAGV525J0X/Making-the-Case.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Roughly bent into shape:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Making the Case" src="http://www.instructables.com/files/deriv/FFE/BI1U/GV0KKS1K/FFEBI1UGV0KKS1K.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Hole for charging filed:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Making the Case" src="http://www.instructables.com/files/deriv/FIQ/3VSK/GV525J0V/FIQ3VSKGV525J0V.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Making the Case" src="http://www.instructables.com/files/deriv/FHJ/WNCK/GV7CY31C/FHJWNCKGV7CY31C.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Making the Case" src="http://www.instructables.com/files/deriv/FPN/0OAH/GV7CY313/FPN0OAHGV7CY313.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I plugged things into the ports to hold everything in place while the epoxy was drying:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Making the Case" src="http://www.instructables.com/files/deriv/F46/6OCD/GV2OKTT7/F466OCDGV2OKTT7.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;To give it a bit more strength and make it look better, I enclosed the USB to iPod adapter in aluminum as well. &amp;nbsp;To do this, I bent a small piece of aluminum to fit the right-angle bend in the adapter. &amp;nbsp;I then glued it in place, and filled out the rest of the adapter with glue, to give it an nice shape. &amp;nbsp;To hide the color of the glue, I painted it all &amp;nbsp;black.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br style="line-height: 18px;" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;To keep the adapter secured in place while connected to the battery pack, I embedded neodymium magnets into both the adapter and the charger. &amp;nbsp;These magnets attract each other, and pull the adapter into place.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Enclosing the iPod Adapter" src="http://www.instructables.com/image/F4MA1LLGV525J02/Enclosing-the-iPod-Adapter.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Way too much glue:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Enclosing the iPod Adapter" src="http://www.instructables.com/files/deriv/FQ4/MWRW/GV2OKTT6/FQ4MWRWGV2OKTT6.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Enclosing the iPod Adapter" src="http://www.instructables.com/files/deriv/FOM/HQ8W/GV0KKS1H/FOMHQ8WGV0KKS1H.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Enclosing the iPod Adapter" src="http://www.instructables.com/files/deriv/F85/XFKP/GV0KKS1G/F85XFKPGV0KKS1G.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Enclosing the iPod Adapter" src="http://www.instructables.com/files/deriv/FF1/CBZT/GV7CY30W/FF1CBZTGV7CY30W.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Painted black:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Enclosing the iPod Adapter" src="http://www.instructables.com/files/deriv/FP4/592M/GV0KKS1F/FP4592MGV0KKS1F.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Magnet&amp;nbsp;embedded:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Enclosing the iPod Adapter" src="http://www.instructables.com/files/deriv/FE1/SLLM/GV4W3669/FE1SLLMGV4W3669.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Magnet glued just above the USB jack:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Enclosing the iPod Adapter" src="http://www.instructables.com/files/deriv/F4U/4V3M/GV0KKPT2/F4U4V3MGV0KKPT2.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Enclosing the iPod Adapter" src="http://www.instructables.com/files/deriv/FE7/LJO2/GV525IZA/FE7LJO2GV525IZA.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;As I built the case, the switch that changes the battery pack from charging mode to discharging mode did not extend past the aluminum casing, and therefore could not be switched. &amp;nbsp;To fix this, and make the switch look nicer, I made an extension for the switch out of a thin rod of stainless steel I had lying around. &amp;nbsp;I drilled a small hole in the plastic sliding bit of the DPDT switch, and inserted a short length of the stainless steel rod into it. &amp;nbsp;The bit of&amp;nbsp;stainless&amp;nbsp;steel extends past the aluminum housing, and lets the user actuate the switch.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;Metal bit:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Extending the Switch" src="http://www.instructables.com/image/FP6GF4JGV4W3687/Extending-the-Switch.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Plugged into the switch:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Extending the Switch" src="http://www.instructables.com/files/deriv/F6G/HK6I/GV525J0S/F6GHK6IGV525J0S.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Extending the Switch" src="http://www.instructables.com/files/deriv/FOO/OO84/GV2OKTTA/FOOOO84GV2OKTTA.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Extending the Switch" src="http://www.instructables.com/files/deriv/F87/FT4Q/GV2OKTT8/F87FT4QGV2OKTT8.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;The aluminum enclosure is not covered at the ends, so I made wood endcaps to hold all the parts inside the aluminum. &amp;nbsp;I chose to used some 1/4" mahogany marine plywood I had lying around, left over from&lt;/span&gt;&lt;a href="http://build-its.blogspot.com/2011/10/shellback-dinghy.html" style="cursor: pointer; line-height: 18px; text-decoration: none;"&gt;the boat I built.&lt;/a&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&amp;nbsp; I cut the basic shape using a coping saw, and then filed the pieces to shape. &amp;nbsp;The final shaping was done with a very fine sanding wheel on my Dremel tool. &amp;nbsp;I also ground out a lip that extends half way into each endcap, so that they can only push half way into the aluminum casing. &amp;nbsp;I did this by using a routing attachment for my Dremel to keep the sanding wheel at exactly half the depth of the wood. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br style="line-height: 18px;" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;The electronic internals slide into the metal casing only from one direction, as the insides are thicker on the bottom than on the top. &amp;nbsp;To fix the endcaps in place, I simply glued in the top one, since it never needs to be removed. &amp;nbsp;To secure the bottom one, I added tabs out of glue, to artificially extend the depth of the cap. &amp;nbsp;I then poke two very small holes into the sides of the aluminum casing, and screwed very small wood screws through them and into the glue tabs. &amp;nbsp;This way, if I need to remove the insides of the charger, I can unscrew the bottom cap and just slide the insides out.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br style="line-height: 18px;" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;I also made wood caps for the the USB to iPod adapter, using the same method as before. &amp;nbsp;These were just glued in place&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br style="line-height: 18px;" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;I finished the wood by sanding it with 1500 grit paper, and then giving it a few coats of Tung oil.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;Top end:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Woodwork" src="http://www.instructables.com/image/FIJ04Y4GV0KKPT4/Woodwork.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Woodwork" src="http://www.instructables.com/files/deriv/FOI/EFF1/GV2OKTT1/FOIEFF1GV2OKTT1.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Woodwork" src="http://www.instructables.com/files/deriv/FIQ/D8OF/GV2OKTT0/FIQD8OFGV2OKTT0.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Bottom:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Woodwork" src="http://www.instructables.com/files/deriv/F6X/L9YH/GV4W3666/F6XL9YHGV4W3666.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Woodwork" src="http://www.instructables.com/files/deriv/F6E/RYCQ/GV7CY2ZQ/F6ERYCQGV7CY2ZQ.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Finished with tung oil:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Woodwork" src="http://www.instructables.com/files/deriv/FBE/IBIY/GV7CY2Z7/FBEIBIYGV7CY2Z7.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Woodwork" src="http://www.instructables.com/files/deriv/F2E/Z3O2/GV2OKTS5/F2EZ3O2GV2OKTS5.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Woodwork" src="http://www.instructables.com/files/deriv/FUB/O3FX/GV525IYV/FUBO3FXGV525IYV.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Woodwork" src="http://www.instructables.com/files/deriv/F7T/ZKZP/GV2OKTS2/F7TZKZPGV2OKTS2.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Woodwork" src="http://www.instructables.com/files/deriv/FFG/HKI7/GV4W365B/FFGHKI7GV4W365B.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;iPod adapter:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Woodwork" src="http://www.instructables.com/files/deriv/FBX/N5DT/GV7CY2ZP/FBXN5DTGV7CY2ZP.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Woodwork" src="http://www.instructables.com/files/deriv/FAW/UYG5/GV0KKPSY/FAWUYG5GV0KKPSY.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Screw hole:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Woodwork" src="http://www.instructables.com/files/deriv/FMI/Q5OJ/GV0KKPSW/FMIQ5OJGV0KKPSW.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Glue tabs on the bottom plate:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Woodwork" src="http://www.instructables.com/files/deriv/FD4/7OIP/GV7CY2ZC/FD47OIPGV7CY2ZC.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Screwed in:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Woodwork" src="http://www.instructables.com/files/deriv/F1H/K5VB/GV525IZ5/F1HK5VBGV525IZ5.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;By the time I had finished shaping the aluminum enclosure, it was quite scratched, and had an ugly seam down it where I glued it. &amp;nbsp;To fix the seam, I filed down the edge of the seam so that the top layer of aluminum tapers down into the bottom layer. &amp;nbsp;To fix the scratches, I brushed the aluminum with about 600 grit sandpaper, making sure to only sand in one direction. &amp;nbsp;After sanding, the aluminum was much too shiny for my liking, so I sprayed it with two coats of satin acrylic spray. &amp;nbsp;This evens out the color, makes it much less shiny, and also makes the metal feel nicer to the touch.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;Surface before:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Finishing the Metal" src="http://www.instructables.com/image/FO0Q38XGV4W3667/Finishing-the-Metal.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Surface after:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img src="http://www.instructables.com/static/img/pixel.gif" /&gt;&lt;img src="http://www.instructables.com/static/img/pixel.gif" /&gt;&lt;img alt="Finishing the Metal" src="http://www.instructables.com/files/deriv/FGL/R1JH/GV5JF44Y/FGLR1JHGV5JF44Y.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Finishing the Metal" src="http://www.instructables.com/files/deriv/FUJ/VX46/GV5JF44W/FUJVX46GV5JF44W.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Finishing the Metal" src="http://www.instructables.com/files/deriv/FIB/WN17/GV5JF449/FIBWN17GV5JF449.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;Since I wanted to be able to take it apart, I glued a ribbon onto the battery pack, which extends past the edge of the enclosure, and lets me pull out all the components. &amp;nbsp;To assemble everything, you just push the glued together electronics into the case as far as they will go. &amp;nbsp;Then you insert the bottom endcap, and screw it in place. &amp;nbsp;Finally, you push the stainless steel switch extender into place &amp;nbsp;through the slot for the switch.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;Ribbon:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Assembly" src="http://www.instructables.com/image/F7ATOJRGV0KKPSR/Assembly.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Assembly" src="http://www.instructables.com/files/deriv/FQS/22JM/GV525IYL/FQS22JMGV525IYL.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;All put together:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Assembly" src="http://www.instructables.com/files/deriv/FJ2/8L5E/GV5JF446/FJ28L5EGV5JF446.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Assembly" src="http://www.instructables.com/files/deriv/F5Y/Y3DH/GV4W364H/F5YY3DHGV4W364H.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Assembly" src="http://www.instructables.com/files/deriv/FZC/BSHN/GV2OKTS0/FZCBSHNGV2OKTS0.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Assembly" src="http://www.instructables.com/files/deriv/F52/79MB/GV5JF442/F5279MBGV5JF442.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Assembly" src="http://www.instructables.com/files/deriv/FNO/I0SD/GV4W3647/FNOI0SDGV4W3647.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Assembly" src="http://www.instructables.com/files/deriv/FUK/WFJC/GV0KKPSN/FUKWFJCGV0KKPSN.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-3473916916049441343?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/3473916916049441343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2011/11/retro-rechargeable-usb-booster.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/3473916916049441343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/3473916916049441343'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2011/11/retro-rechargeable-usb-booster.html' title='Retro Rechargeable USB Booster'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-4142434500242703468</id><published>2011-10-30T12:48:00.001-04:00</published><updated>2011-10-30T12:48:51.958-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Boats'/><title type='text'>Shellback Dinghy</title><content type='html'>Back in the summer of 2007, I went to the Wooden Boat School in Maine with my granddad, and we took the Build a Shellback Dinghy class. &amp;nbsp;We made very slow progress on the boat after that, and it is only now finished. &amp;nbsp;The boat is made out of marine mahogany plywood, and it is just over 11 feet long. &amp;nbsp;It has a mast, spars and sail in addition to oarlocks, but they do not fit on the boat in my granddad's indoor wood shop.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-1Rlwg0qi3Kg/Tq17xYRZ6oI/AAAAAAAAAQI/Utn4Zn11i1s/s1600/DSC01018.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/-1Rlwg0qi3Kg/Tq17xYRZ6oI/AAAAAAAAAQI/Utn4Zn11i1s/s640/DSC01018.JPG" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;Here is the boat a couple of years ago:&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/-G-PhBLsCov0/Tq17ufNkmnI/AAAAAAAAAP4/5kBKL4yDLhE/s1600/DSC00353.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/-G-PhBLsCov0/Tq17ufNkmnI/AAAAAAAAAP4/5kBKL4yDLhE/s640/DSC00353.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-eG6YWXRNMA8/Tq17vyUk9PI/AAAAAAAAAQA/9EV71_HiUPQ/s1600/DSC00491.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/-eG6YWXRNMA8/Tq17vyUk9PI/AAAAAAAAAQA/9EV71_HiUPQ/s640/DSC00491.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Here you can see the red paint below the waterline:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-tcWN3c6VXYE/Tq1700EI_pI/AAAAAAAAAQo/pQHFLMorbTs/s1600/IMG_0350.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/-tcWN3c6VXYE/Tq1700EI_pI/AAAAAAAAAQo/pQHFLMorbTs/s640/IMG_0350.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-fa7r1fm2-ew/Tq17zvVLj4I/AAAAAAAAAQY/dGEVrp6GLnA/s1600/IMG_0348.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/-fa7r1fm2-ew/Tq17zvVLj4I/AAAAAAAAAQY/dGEVrp6GLnA/s640/IMG_0348.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-B5jNMijzh3w/Tq172BN7UcI/AAAAAAAAAQ4/EaqzqAfC0Pg/s1600/IMG_0352.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/-B5jNMijzh3w/Tq172BN7UcI/AAAAAAAAAQ4/EaqzqAfC0Pg/s640/IMG_0352.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ZPlNP5449kw/Tq171dGfmhI/AAAAAAAAAQw/6PIWd0KsehM/s1600/IMG_0351.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/-ZPlNP5449kw/Tq171dGfmhI/AAAAAAAAAQw/6PIWd0KsehM/s640/IMG_0351.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-o9iyc8JLOqQ/Tq1727X20pI/AAAAAAAAARA/4FUgDpzmTWY/s1600/IMG_0353.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/-o9iyc8JLOqQ/Tq1727X20pI/AAAAAAAAARA/4FUgDpzmTWY/s640/IMG_0353.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;In the back ground here is the Nutshell Pram my granddad has been working on since long before we started this boat:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-0cjCzez_icU/Tq17yxGDa5I/AAAAAAAAAQQ/Mk4g3uRAKJg/s1600/DSC01082.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/-0cjCzez_icU/Tq17yxGDa5I/AAAAAAAAAQQ/Mk4g3uRAKJg/s640/DSC01082.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;I do not have any pictures of it completely done, but now it has the seats in, the rudder and tiller mounted, and all the hardware such as oarlocks in place.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-4142434500242703468?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/4142434500242703468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2011/10/shellback-dinghy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/4142434500242703468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/4142434500242703468'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2011/10/shellback-dinghy.html' title='Shellback Dinghy'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-1Rlwg0qi3Kg/Tq17xYRZ6oI/AAAAAAAAAQI/Utn4Zn11i1s/s72-c/DSC01018.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-3388303544969219010</id><published>2011-09-22T16:46:00.000-04:00</published><updated>2011-10-14T16:25:19.186-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computers'/><category scheme='http://www.blogger.com/atom/ns#' term='Mechanical'/><title type='text'>iMac Mini</title><content type='html'>I started this project because I had a small pile of Macbook laptops and white iMacs in various states of&amp;nbsp;functionality. &amp;nbsp;For this project, I used the stand and friction hinge from a 2006 iMac, the LCD from a Macbook that had coffee spilled on it, and the motherboard from a Macbook with a smashed screen. &amp;nbsp;The keyboard header on the motherboard was missing, so I had no way to use it in a laptop. &amp;nbsp;I decided to build a miniature iMac-like computer out of the parts I had. &amp;nbsp;As it turned out, I built the computer only to find out that the USB ports on the motherboard I used were dead, rendering the computer useless. &amp;nbsp;It was still a fun project though.&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img534.imageshack.us/img534/1682/p5311056.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;As you can see from this picture, the header for the laptop's top panel had been ripped off the logic board. &amp;nbsp;It should be where the two rows of 5 grey rectangles now are:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img153.imageshack.us/img153/8693/p4080834.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;Unfortunately, the power button on a Macbook is on the keyboard. &amp;nbsp;However, they have two pins on the motherboard which can be shorted to turn the computer on. &amp;nbsp;I soldered wires to these pins, so that I could later attach a new power button. &amp;nbsp;The power button symbol is visible here:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img809.imageshack.us/img809/9422/p4230849.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;Wires attached:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img217.imageshack.us/img217/672/p4230855.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img543.imageshack.us/img543/8150/p4230856.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;Here's the laptop's CPU. &amp;nbsp;Not too shabby:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img130.imageshack.us/img130/4528/p4080837.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;Here's the screen I used:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img191.imageshack.us/img191/4550/p4230859.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;And the iMac stand:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img842.imageshack.us/img842/3571/p4230860.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="640" src="http://img860.imageshack.us/img860/1657/p4230861.jpg" width="480" /&gt;&lt;br /&gt;&lt;br /&gt;Next, I worked on the LCD. &amp;nbsp;To mount the LCD, I decided to flip the panel around within its frame, so that it faced outwards when the laptop was closed, instead of inwards. &amp;nbsp;For this to work, I had to extend the wires to the screen's inverter:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://imageshack.us/m/820/8403/p5170912.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;Next, I cut out the back of the plastic LCD frame, so that the LCD panel would be visible. &amp;nbsp;I did the rough cutting with a dremel, and filed it to shape:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://imageshack.us/m/836/527/p5180916.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;I also cut holes for the webcam, webcam led, and microphone:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://imageshack.us/m/109/9340/p5180917.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;Here's the size of the frame compared to a 17" iMac:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://imageshack.us/m/638/4731/p5180918.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;The LCD panel was held into the plastic by a metal frame. &amp;nbsp;I unscrewed it from the frame, flipped the LCD around, and screwed the frame back on. &amp;nbsp;I then screwed the frame down to the modified plastic enclosure:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://imageshack.us/m/593/1396/p5180919.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://imageshack.us/m/52/7425/p5180920.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://imageshack.us/m/708/4008/p5180921.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;Here is the LCD placed back on top of the rest of the laptop:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://imageshack.us/m/153/3313/p5180924.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://imageshack.us/m/153/6735/p5180927.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://imageshack.us/m/21/523/p5180928.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;To attach the modified laptop to the iMac stand, I first cut a piece of steel sheet to fit the back of the laptop:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img707.imageshack.us/img707/237/p5270985.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;I filed the friction hinges smooth:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img405.imageshack.us/img405/8264/p5270989.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;I then soldered the friction hinge to the metal sheet, using some heavy solder and a propane torch:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img97.imageshack.us/img97/5230/p5270990.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;Not very pretty at first:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img710.imageshack.us/img710/4404/p5270993.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;Cleaned up with sandpaper:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img192.imageshack.us/img192/1051/p5270995.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img52.imageshack.us/img52/873/p5270996.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img13.imageshack.us/img13/1302/p5270997.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;Here's the piece screwed to the base:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img7.imageshack.us/img7/18/p5270999.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img84.imageshack.us/img84/4965/p5271000.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img815.imageshack.us/img815/5093/p5271003.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img15.imageshack.us/img15/2720/p5271004.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;I removed the friction hinge that normally held the laptop's screen in place, and replaced it with four metal brackets. &amp;nbsp;These brackets screw first into the LCD's frame, and then into the base of the laptop, holding the two parts together:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img854.imageshack.us/img854/5681/p5311087.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;I cut a hole in the back of the metal back sheet for the MagSafe power adapter port:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img90.imageshack.us/img90/3019/p5271011.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;I also drilled a hole for a power button. &amp;nbsp;I reused the power button from a white iMac:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img143.imageshack.us/img143/7339/p5281014.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img228.imageshack.us/img228/7246/p5281017.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img268.imageshack.us/img268/4384/p5281021.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img148.imageshack.us/img148/4931/p5281022.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img268.imageshack.us/img268/6956/p5281024.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;To fix the metal back to the base of the laptop, I just epoxied it in place:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img714.imageshack.us/img714/368/p5281027.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;I extended the wires for the MagSafe connector, and glued the port in place. &amp;nbsp;I then assembled the computer:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img534.imageshack.us/img534/1682/p5311056.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img818.imageshack.us/img818/1420/p5311073.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img4.imageshack.us/img4/5107/p5311075.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img231.imageshack.us/img231/882/p5311076.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img88.imageshack.us/img88/8109/p5311080.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img121.imageshack.us/img121/9917/p5311085.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img822.imageshack.us/img822/7824/p5311083.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img101.imageshack.us/img101/8025/p5311082.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img802.imageshack.us/img802/9224/p5311081.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;I stuck a hard drive from another mac in the computer, and booted it up only to find out that the USB ports do not work, rendering the computer completely useless. &amp;nbsp;USB devices get power, but the computer does not respond to them in either the OS or the EFI. &amp;nbsp;I may be able to circumvent this problem by buying a firewire to USB hub, or using bluetooth, but I have not yet had the chance to try.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-3388303544969219010?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/3388303544969219010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2011/09/imac-mini.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/3388303544969219010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/3388303544969219010'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2011/09/imac-mini.html' title='iMac Mini'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-6577857602554284869</id><published>2011-08-29T21:40:00.001-04:00</published><updated>2011-11-30T18:19:23.911-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Robotics'/><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Mechanical'/><title type='text'>Tree Climbing Robot</title><content type='html'>After I got comfortable programming and building with an Arduino, I decided to build a robot.  I did not have any particular type in mind, so I wracked my brain (and the internet) for cool robot ideas.  Eventually, somehow the idea popped into my head to build a robot that could climb trees.  At first I dismissed the idea as beyond my skill level, but after further thought, and some time in Sketchup, I decided to take a shot at the challenge.  This is the result of my efforts.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/FBQU6L8GRFMUYC6/Tree-Climbing-Robot.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="390" src="http://www.youtube.com/embed/zkpH1BjD6Wc" width="640"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Cross posted from my Instructable here:&lt;br /&gt;&lt;a href="http://www.instructables.com/id/Tree-Climbing-Robot/"&gt;http://www.instructables.com/id/Tree-Climbing-Robot/&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FTX/F30R/GRFN1I9Y/FTXF30RGRFN1I9Y.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FVK/SLD3/GRFMUYC4/FVKSLD3GRFMUYC4.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FY2/9R7K/GRFN1LL7/FY29R7KGRFN1LL7.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FMM/GR43/GRHJHP0E/FMMGR43GRHJHP0E.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F7C/EH4D/GRFMV1CK/F7CEH4DGRFMV1CK.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;I started out by creating a basic design in Sketchup.  The robot was to consist of two segments, joined by a spine which could be extended or retracted.  Each segment would have four legs with very sharp points as feet.  To climb, the legs on the top segment would pinch together and the sharp feet would dig into the bark, securing the robot.  Then the spine would be retracted, pulling up the bottom segment.  The legs on the bottom segment would then grip the tree, and the top segment would release.  Finally, the spine would extend, pushing the top segment upwards, and the process would repeat.  The climbing sequence is somewhat similar to the way an inchworm climbs.&lt;br /&gt;&lt;br /&gt;In my original design (show in the images above), all four legs in each segment were controlled by one highly geared down motor.  I decided to ditch this idea for a few reasons.  Firstly, I could not find the type of spur gear needed to mesh the legs together.  Also, with all the legs linked together, the robot would have a hard time gripping uneven surfaces.  Finally, I decided that the robot would be much easier to build if the motors drove the legs directly.&lt;br /&gt;&lt;br /&gt;The other significant change I made from my original design was the way the spine worked.  In my model, I used a rack and pinion type gearing system to extend and contract the spine.  However, I could not find the necessary parts to build such a system, so I ended up using a threaded rod  coupled to a motor to actuate the spine.&lt;br /&gt;&lt;br /&gt;Original design:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/FWIFVRRGRFN1DSJ/Design.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FM5/GNIX/GRFNCOCK/FM5GNIXGRFNCOCK.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Tools and Materials:&lt;br /&gt;&lt;br /&gt;Microcontroller&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Arduino Uno (any will work)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Motor Controller&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;3X &lt;a href="http://www.st.com/internet/analog/product/63147.jsp"&gt;L298HN &lt;/a&gt;- these can be gotten for free as samples from ST&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.allelectronics.com/make-a-store/item/PC-3/SOLDERABLE-PERF-BOARD/1.html"&gt;2.5" x 3.125" Perf Board&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.allelectronics.com/make-a-store/item/TER-502/2-POSITION-PC-MOUNT-TERMINAL-STRIP/1.html"&gt;Terminal Strips&lt;/a&gt;&lt;/li&gt;&lt;li&gt;22AWG Solid core wire&lt;/li&gt;&lt;li&gt;3X Aluminum heatsinks (I cut in half an old northbridge heatsink)&lt;/li&gt;&lt;li&gt;Thermal paste&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Power&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;9V Battery (to power the Arduino)&lt;/li&gt;&lt;li&gt;Approximately 12V LiPo or Li-ion battery (I modified a laptop battery, so I did not even need to buy a charger)&lt;/li&gt;&lt;li&gt;5V regulator (To regulate power to the motor controller logic circutry)&lt;/li&gt;&lt;li&gt;9V Battery clip&lt;/li&gt;&lt;li&gt;Barrel connector (Must fit the Arduino power connector)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Other Electronics&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;4X &lt;a href="http://www.amazon.com/12VDC-Gear-Motor-Rpm-Dia/dp/B003M6DB9Q/ref=sr_1_2?ie=UTF8&amp;amp;qid=1313639072&amp;amp;sr=8-2"&gt;7 RPM Gear Motor&lt;/a&gt; (These power two legs each)&lt;/li&gt;&lt;li&gt;4X Thin linear trim pots (Rotation sensors for the legs)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.allelectronics.com/make-a-store/item/SMTS-8/DPDT-ON-ON-SUB-MINI-TOGGLE-SWITCH/1.html"&gt;DPDT Toggle switch&lt;/a&gt; (Power switch)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.allelectronics.com/make-a-store/item/SSW-55/SLIDE-SWITCH-DPDT/1.html"&gt;SPDT Slide switch&lt;/a&gt; (User input)&lt;/li&gt;&lt;li&gt;2X &lt;a href="http://www.allelectronics.com/make-a-store/item/SMS-220/SPDT-MINI-SNAP-ACTION-SWITCH-W/LEVER/1.html"&gt;Mini Snap Action Switch&lt;/a&gt; (Limit switch)&lt;/li&gt;&lt;li&gt;3 10K resistors (Pull down)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sparkfun.com/products/116"&gt;Headers&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Signal Wire (Old IDE cables work really well, and let you organize your wires easily)&lt;/li&gt;&lt;li&gt;Heat Shrink Tubing&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hardware&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;12'  3/4" x 1/8" Aluminum Bar (These come in 6' lengths at my local hardware store)&lt;/li&gt;&lt;li&gt;6" x 3" acrylic sheet (Electronics are mounted to this)&lt;/li&gt;&lt;li&gt;6x Standoffs with screws&lt;/li&gt;&lt;li&gt;1' Threaded rod and corresponding 1/2" nut&lt;/li&gt;&lt;li&gt;2X 1' x 3/16" steel rod&lt;/li&gt;&lt;li&gt;1' x 3/16" I.D. Brass Tubing&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sparkfun.com/products/10006"&gt;4X 5mm Aluminum Universal Mounting Hub&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Pack of large T Pins&lt;/li&gt;&lt;li&gt;4X 3/32 screws (to mount the motors)&lt;/li&gt;&lt;li&gt;An assortment of 4/40 screws and nuts&lt;/li&gt;&lt;li&gt;Assorted hex screws and nuts&lt;/li&gt;&lt;li&gt;4X Bic pens (I used the plastic shafts to fix the pots on the legs in place)&lt;/li&gt;&lt;li&gt;4X Locknuts&lt;/li&gt;&lt;li&gt;5 Minute epoxy&lt;/li&gt;&lt;li&gt;Sheet metal scraps (For spacing and mounting things. Bits of Meccano work well)&lt;/li&gt;&lt;li&gt;Stick on Velcro (For holding on the batteries)&lt;/li&gt;&lt;li&gt;Hard Drive reading head bearing&lt;/li&gt;&lt;li&gt;3/4" Plastic angle&lt;/li&gt;&lt;li&gt;Electrical Tape&lt;/li&gt;&lt;li&gt;Zip Ties&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tools&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Electric Drill / Drill press (As well as a lot of bits)&lt;/li&gt;&lt;li&gt;Hacksaw&lt;/li&gt;&lt;li&gt;Soldering Iron&lt;/li&gt;&lt;li&gt;Pliers&lt;/li&gt;&lt;li&gt;Allen wrench&lt;/li&gt;&lt;li&gt;Assorted screwdrivers&lt;/li&gt;&lt;li&gt;Wire Strippers&lt;/li&gt;&lt;li&gt;C Clamp (These can be used to make nice  90 degree bends in the aluminum)&lt;/li&gt;&lt;li&gt;Ruler&lt;/li&gt;&lt;li&gt;Files&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nonessential&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://build-its.blogspot.com/2011/04/bench-psu.html"&gt;Bench PSU&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Multimeter&lt;/li&gt;&lt;li&gt;Breadboard&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Arduino:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/FJL0PZWGRG3ZLC4/Tools-and-Materials.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Motor controller parts:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FVU/AMN4/GRG3ZLBZ/FVUAMN4GRG3ZLBZ.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Motors:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/static/img/pixel.gif" /&gt;&lt;img src="http://www.instructables.com/files/deriv/FFO/ZZ7S/GRG3ZLC1/FFOZZ7SGRG3ZLC1.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;The motor controller I built for this robot is based off the L298HN Dual Full Bridge chip.  To use the chip, I followed the guide &lt;a href="http://www.pyroelectro.com/tutorials/l298_control/index.html"&gt;here&lt;/a&gt;.  To start out, I placed all the components on a piece of perf board, to figure out the layout.  With this chip, each motor requires three inputs to work:  an enable signal and two input signals.  The enable signal is used to control the motor speed with PWM, but since I did not need to control PWM, I just wired all the enable pins in parallel to a 5V line when I hooked the controller up to the Arduino.  Once I figured out the layout, I soldered all the components in place, and made connections with 22AWG solid core wire.  Finally, I spread some thermal paste on the back of the L298's, and screwed on the heatsinks.  The particular heatsinks I used were made by cutting in half a northbridge heatsink from a computer motherboard, and drilling and tapping a hole for the screw.  They are probably much larger than needed, but there is no harm in having over sized heatsinks.  A higher resolution image of the labeled board can be found &lt;a href="http://imageshack.us/f/171/p6151152.jpg/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;When finished, this motor controller should be able to bidirectionally control 4 DC motors at up to 2A each (probably 2A continuously, because of the size of the heatsinks).  As you may notice, this leaves me one motor short.  My original design used a servo to actuate the spine, but I had to change my design to using a DC motor.  To power it, I wired my third L298 chip to a molex connector (so I can disconnect the motor) and soldered on wires for all the connections.  It does not look as pretty as my controller on a circuit board, but it works.&lt;br /&gt;&lt;br /&gt;I have a writeup building the motor controller here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://build-its.blogspot.com/2011/06/dual-l298hn-motor-driver.html"&gt;http://build-its.blogspot.com/2011/06/dual-l298hn-motor-driver.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's the controller:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FMC/VJYQ/GRFMUWGC/FMCVJYQGRFMUWGC.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;The robot's power is supplied by two different sources.  The Arduino and the motor controller logic circuitry are powered by a 9V battery, while the motors are powered by an approximately 12V Li-Ion battery pack.  &lt;br /&gt;&lt;br /&gt;I wanted to avoid having to buy an expensive LiPo/Li-Ion battery pack and charger, so I searched through my piles of electronic junk for a device with an appropriate battery.  I settled on the battery from a 12" iBook laptop.  The battery was 10.8V and 50Wh, but it was a little large and heavy for my needs.  To fix this, I tore it open and had a look at the internals.  I found that the battery was comprised of six 3.7 volt cells.  These cells were organized in pairs of two wired in paralleled.  The three pairs were then wired in a series, making a total 11.1V.  To shrink the pack but keep the voltage, I simply removed one cell from each pair.  The final battery pack had only half the capacity and half the discharge rate of the original (now only 2C), but the full voltage.  I then wrapped the cells together with electrical tape so they would hold their shape, and soldered a quick-disconnect connector to the battery leads.&lt;br /&gt;&lt;br /&gt;Original Battery:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/F21CGRQGRFNCQL4/Power.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Casing removed:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FO7/M3S0/GRFNCQLC/FO7M3S0GRFNCQLC.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;New layout:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FK6/OUDV/GRFNCQLJ/FK6OUDVGRFNCQLJ.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Wrapped in electrical tape:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F2Y/O2MI/GRFMUWNC/F2YO2MIGRFMUWNC.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;The Arduino and the logic circuitry for the motor controller are both powered by a 9V battery.  While the Arduino can take 9V input, the logic circuitry requires 5V, so I wired a 5V regulator in paralleled to the 9V going to the Arduino.  Now, why did I not just take advantage of the Arduino's internal 5V regulator?  Well, basically I ran out of pins, and I did not want to overdraw the Arduino.  In addition to the regulator, I soldered a barrel power connector to the 9V end of the circuit, to fit into the Arduino.  Finally, I added a DPDT toggle switch to break the 12V battery circuit as well as the 9V battery circuit.&lt;br /&gt;&lt;br /&gt;On/Off switch:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/FXADW9EGRFNCQPJ/Power-cont.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;5V regulator:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F3Q/SCQF/GRFN1FRT/F3QSCQFGRFN1FRT.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FMJ/ZGPK/GRFNCQPV/FMJZGPKGRFNCQPV.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;The legs are some of the most important parts of this robot, because their design determines whether or not the robot can grip onto trees.  I decided to have four pairs of legs, each pair controlled by one motor.  &lt;br /&gt;&lt;br /&gt;To make the legs, I cut four 8.5" lengths of the aluminum bar.  I marked the segments 2.5" from each end.  At those marks, I bent the aluminum at a right angle, to make a "U" shape.  If you do not have a bending brace (which I don't) you can get a clean bend by clamping the aluminum with a c-clamp right on the mark, and pushing the unclamped end against a solid surface, like a work bench.&lt;br /&gt;&lt;br /&gt;Legs:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/FVFUH70GRHJHIW1/Legs.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;To grip the tree, the robot has very sharp feet at the end of its legs (where else?).  The feet are made from jumbo-sized T pins, which you can get at your local fabric store.  To fasten them to the legs, I made some clamps out of aluminum.  I cut 8 3/8" or so lengths of aluminum, and filed a thin groove lengthwise into each of them, for the pins to fit into.  Then I drilled a pair of holes into the aluminum, and corresponding holes into the ends of the legs.  The clamps were then bolted down to the legs, with the pins inserted in the grooves.  I left about 3/8" of an inch of the pins extending form the legs, but the length can be adjusted by loosening the bolts.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/FSL0UCXGRFN1G8K/Feet.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FSS/9QUC/GRHJHJ2L/FSS9QUCGRHJHJ2L.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FX2/OVHE/GRFN1G9H/FX2OVHEGRFN1G9H.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;The next step is to couple the legs to the motors.  I found these handy &lt;a href="http://www.sparkfun.com/products/10006"&gt;5mm mounting hubs&lt;/a&gt;, which were perfect for the job.  I drilled four holes in a square on one side of each pair of legs, and screwed the hub to the legs with 4/40 screws.  To fix the motors to the legs, you simply line up the flat side of the motor shaft with the screw in the hub, and tighten the screw.&lt;br /&gt;&lt;br /&gt;Hubs mounted:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/FVZYJNMGRFNCR83/Motor-Hubs.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F1N/TW1J/GRFNCR87/F1NTW1JGRFNCR87.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Fixed to the motors:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FMC/2OIX/GRHJHJHV/FMC2OIXGRHJHJHV.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FF0/5VXN/GRFMUX2Y/FF05VXNGRFMUX2Y.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FPU/Q5JF/GRFMUX34/FPUQ5JFGRFMUX34.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;With the legs finished, the next step was to build a frame to hold the motors and legs together and in place.  I started the frame by making a plate out of aluminum to hold the motors together.  I drilled the plate to fit the screw holes of the motors and the gearbox shaft.  The motors are held in place by 3/32 screws.  &lt;br /&gt;&lt;br /&gt;Next, I made a matching plate for the opposite side of the leg assembly.  This plate holds the legs straight while they turn.  I drilled holes through the legs, opposite to the motor hubs.  Then I bolted the legs through the plate with washers and a locknut to hold them in place and let them spin freely on the bolt.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/FZYNWABGRFMUX57/Building-the-Frame.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FP6/1O13/GRFN1GI9/FP61O13GRFN1GI9.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F7U/UBEN/GRFN1GIH/F7UUBENGRFN1GIH.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F25/VC8Z/GRHJHK1R/F25VC8ZGRHJHK1R.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F1G/92B4/GRFNCRAS/F1G92B4GRFNCRAS.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F1S/OXY9/GRHJHK9I/F1SOXY9GRHJHK9I.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FET/Q5SS/GRHJHK7K/FETQ5SSGRHJHK7K.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Next, I made a piece out of aluminum to fix the two opposite plate together.  This piece sits between the pair of legs on each assembly, and is the primary structural support of each segment.  As well as holding the robot together, it provides a place to mount the electronics and other components later on.&lt;br /&gt;&lt;br /&gt;I bent the aluminum at right angles using a c-clamp, and drilled four holes in each end.  I drilled matching holes in the motor plate and the opposite plate in each leg assembly, and then bolted everything together with 4/40 screws.&lt;br /&gt;&lt;br /&gt;Once both segments of the robot were built and structurally sound, I could test their tree-gripping ability by hooking the motors up directly to a battery.  Fortunately, they worked quite well, or I would have had nothing else to share.&lt;br /&gt;&lt;br /&gt;Aluminum backbone:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/F9YV8DRGRFMUY5Q/Frame-cont.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FZ0/MF1J/GRFN1HYM/FZ0MF1JGRFN1HYM.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F00/UD5L/GRHJHLBS/F00UD5LGRHJHLBS.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F5Y/9EDB/GRFN1HZU/F5Y9EDBGRFN1HZU.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F6C/93F4/GRFNCS0E/F6C93F4GRFNCS0E.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;To hold the electronics, I cut an approximately 6" x 3" piece of acrylic.  I drilled six holes in it and screwed standoffs into the holes, to support the Arduino and the motor controller.  Then I drilled four holes in the top of the leg assembly, and bolted the acrylic to the assembly, with spacers to lift it up above the motors.  Finally, I screwed the Arduino and motor controller into the standoffs.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/F0DFV92GRHJHLPW/Electronics-Platform.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FZ6/J5ER/GRFMUYAT/FZ6J5ERGRFMUYAT.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FTZ/S7UI/GRFNCSQB/FTZS7UIGRFNCSQB.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FEM/DS86/GRFN1I7Q/FEMDS86GRFN1I7Q.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FR5/6CCI/GRFNCSQG/FR56CCIGRFNCSQG.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Rotation sensors are key to the operation of this robot.  It has one rotation sensor per motor, so the robot knows the exact position of each leg at all times, allowing for precise control of the legs.  For my rotation sensors, I used four very thin trimpots I had lying around.  Pots are extremely easy to interface with the microcontroller, and are plenty precise for my purposes.  They were not, however, very easy to interface with the hardware of my robot.  &lt;br /&gt;&lt;br /&gt;While designing and building the leg assemblies, I neglected to build in an easy way to connect the potentiometers to the legs.  In the solution I came up with, one side of the pot is fixed to the inside of the leg by the protruding screw heads.  The other side of the pot is fixed to the locknut on the end of the bolt that holds the leg in place.  When the leg turns, the side of the pot fixed to the leg turns, while the side fixed to the locknut is held in place.&lt;br /&gt;&lt;br /&gt;To interface the pots and the legs, I first sanded the plastic side of the pots flat.  I took four squares of acrylic, approximately 3/4" on each side, and drilled four holes in each, corresponding to the four screw heads in each leg.  Then I glued a potentiometer to the center of each acrylic square.  &lt;br /&gt;&lt;br /&gt;To fix the opposite side of the pots to the locknut I had to get even more creative.  First, I glued metal standoffs scavenged from a &lt;a href="http://build-its.blogspot.com/2011/04/how-to-fit-your-pc-in-power-mac-g5-case.html"&gt;PowerMac G5&lt;/a&gt; case to the metal side of the pots.  Then I glued the plastic shaft from a Bic pen to the metal side of the pots.  The other ends of each pen were cut to fit within the metal legs.  Then the pen shaft was forced over the square locknut and epoxied to it.&lt;br /&gt;&lt;br /&gt;Pots glued to acrylic:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/FTLINU0GRFMUYL5/Rotation-Sensors.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F2A/I0R8/GRFNCT1H/F2AI0R8GRFNCT1H.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FP9/W7S9/GRHJHM1Y/FP9W7S9GRHJHM1Y.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FD7/NW82/GRHJHM2B/FD7NW82GRHJHM2B.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F22/TVPL/GRHJHM2M/F22TVPLGRHJHM2M.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FE4/D8E8/GRFNCT1Z/FE4D8E8GRFNCT1Z.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FFC/ZHMK/GRFN1IF9/FFCZHMKGRFN1IF9.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;To move up and down a tree, the robot extends and contracts by spinning a threaded rod that is fixed to the top segment.  When the rod is spun clockwise, the two segments are pulled together, and the are pushed apart when it spins counter clockwise.  To spin the rod, I needed a relatively high-torque low-speed motor that would run at 12V, and I happened to find just such a motor in my box of parts.  This particular motor came fitted with a brass gear.  To assist with coupling the motor to the threaded shaft, I filed two sides of the gear flat.&lt;br /&gt;&lt;br /&gt;To mount the motor to the robot, I bent a short length of aluminum to an "L" shape.  I drilled a large hole out of the center of one of the faces (for the motor shaft and gear) and two small holes in both faces for bolting the motor to the metal and bolting the metal to the robot.  I drilled corresponding holes into the back of one end of the segment of the robot without the electronics, so that the motor was positioned between the two legs.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/FF3JJOVGRFMUYOE/Backbone-Motor.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FJU/UTBO/GRFN1IJK/FJUUTBOGRFN1IJK.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FDS/9J1U/GRFN1IJY/FDS9J1UGRFN1IJY.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;There are a couple problems with getting a threaded spine to spin smoothly.  First, it must be coupled to the motor well, and second it must have some sort of bearing fixed to it on which it can spin.  One of the first things I found while trying to couple the motor shaft to the threaded rod was that the connection should be flexible for smooth operation.  I made my coupling out of two segments of clear nylon tubing.  A wider diameter segment fits tightly over the gear attached to the motor shaft, while a thinner segment fits into the larger tubing and tightly over the outside of the threaded shaft.  The coupling is secured with a zip tie.  &lt;br /&gt;&lt;br /&gt;With only the coupling, the threaded shaft still can not bear any load, because it would just pull off the motor.  To support load, I made a bearing for the shaft out of an old hard drive read/write head bearing.  I drilled out the center so that the threaded rod could pass through it.  I then fed the rod through it, and fastened a nut on each side of the bearing, to hold the threaded rod in place.  I then bolted the bearing down to the back of the robot's frame.&lt;br /&gt;&lt;br /&gt;Bearings:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/FJ3LKI4GRHJHNR0/Mounting-the-Spine.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Coupling:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FGF/823W/GRFMUZHU/FGF823WGRFMUZHU.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F73/K6NG/GRFNCUMV/F73K6NGGRFNCUMV.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;For the spine to work, it must pass through a nut that is fixed to the other segment of the robot.  For ease of mounting, I used a large 1/2" long nut.  To fix it to the segment of the robot, I cut two ~4" lengths of aluminum, drilled them to match the bolts that hold the acrylic piece,  and mounted them through the screw holes, across the frame.  These will later become supports for linear slides.  I then drilled four more holes around the center of the back of the robot, with enough space between them for the nut to fit.  I cut a piece of aluminum to run along the back of the robot, and drilled it to match the holes.  I then placed the nut on the back of the robot, placed the bar of aluminum on top of it, and bolted through the bar, to sandwiched the nut between the two pieces of aluminum.  Finally, I threaded the rod through the nut.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/FYGQUNDGRFNCUPV/Mounting-the-Spine-cont.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FWH/Z1WC/GRFN1K4C/FWHZ1WCGRFN1K4C.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FPD/DLWO/GRFMUZQR/FPDDLWOGRFMUZQR.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Without something holding the two segments of the robot in the same plane, the top segment would turn when the threaded rod turned, instead of moving up or down.  To keep the two halves of the robot in the same plane, I built linear slides out of two steel rods and brass tubing.  &lt;br /&gt;&lt;br /&gt;First, I added a pair of aluminum bars to the segment of the robot without the electronics, to match the pair on the other segment.  To mount the steel rods and the brass tubing to these, I made a clamp system similar to the clamps holding the feet in place.  To do this for the large diameter rods, I first clamped two 3/4" squares of aluminum together.  I then drilled a 1/8" hole down the intersection of the squares, and then took them apart.  I drilled two holes in each square, and corresponding holes in each supporting arm.  Then I repeated the process four times.  To get the slides perfectly parallel to the threaded rod, I had to bend up the supporting arms on the non-electronics segment of the robot.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/FU9O0UQGRFNCV23/Linear-Slides.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F2M/49VS/GRHJHO4D/F2M49VSGRHJHO4D.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FH9/KTB6/GRFMV0BT/FH9KTB6GRFMV0BT.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Clamps:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FY0/9UIW/GRFNCV2N/FY09UIWGRFNCV2N.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F9I/0D99/GRFN1K9H/F9I0D99GRFN1K9H.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FF5/XZ76/GRFNCV30/FF5XZ76GRFNCV30.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FQ5/1II9/GRFN1K9W/FQ51II9GRFN1K9W.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;The next step is to wire all the electrical components of the robot together.  I started out by soldering long wires to the contacts on the motors.  I twisted the wires together by chucking one end in an electric drill and holding the other end with pliers (a trick I learned from the Ben Heck show).  Next, I wired together the pots on the legs.  I did this using segments of ribbon cable from an old IDE cable.  I wired the pots so that they all had a common ground and input voltage.  The input voltage was connected to the +5V pin on the Arduino, and the four signal wires were soldered to headers and then connected to analog inputs A0 - A3 on the Arduino.  &lt;br /&gt;&lt;br /&gt;Because this robot is autonomous, I needed a method for controlling the robot's actions so that I could get it to release from the tree.  For this, I just used a simple slide switch connected to a digital input on the Arduino&lt;br /&gt;&lt;br /&gt;Next, I wired the digital output pins on the Arduino to the inputs on the motor controller.  First, I connected all the motor enabling pins on the motor controller to eachother.  The rest of the wiring went as follows:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Enable Motors&lt;br /&gt;Motor 4 Input 2&lt;br /&gt;Motor 4 Input 1&lt;br /&gt;Motor 3 Input 2&lt;br /&gt;Motor 3 Input 1&lt;br /&gt;Control Switch &lt;br /&gt;empty&lt;br /&gt;Motor 2 Input 2&lt;br /&gt;Motor 2 Input 1&lt;br /&gt;Motor 1 Input 2&lt;br /&gt;Motor 1 Input 1&lt;br /&gt;Motor 5 Input 2&lt;br /&gt;Motor 5 Input 1I then connected the motor's leads to the terminal strips on the motor controller, and connected the motor voltage terminal to the 12V battery pack, via a toggle switch.  I connected the 5V regulator to the logic voltage terminal, via the same toggle switch.&lt;br /&gt;&lt;br /&gt;I collected the umbilical cord of wires running between the two segments of the robot into a bundle, and fastened them together with zip ties and electrical tape, to keep them organized.&lt;br /&gt;&lt;br /&gt;Pot wiring:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/FU8WKNRGRFMV0K5/Wiring-the-Robot.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FUH/HVL3/GRFNCV5Y/FUHHVL3GRFNCV5Y.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Arduino to motor controller wiring:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FV9/LWZ7/GRHJHOB0/FV9LWZ7GRHJHOB0.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F4V/F74O/GRHJHOB5/F4VF74OGRHJHOB5.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FQG/72MU/GRFN1KNP/FQG72MUGRFN1KNP.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Umbilical cord:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FB5/ZOVR/GRFMV0KB/FB5ZOVRGRFMV0KB.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Control switch:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F2M/6Q9B/GRFNCV6J/F2M6Q9BGRFNCV6J.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Power switch:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FB7/EV29/GRFNCV6I/FB7EV29GRFNCV6I.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Because I used a regular DC motor instead of a servo or a stepper to spin the threaded rod that is the spine, the robot can not know the degree of extension of the spine at all times.  Therefore, limit switches must be used to prevent it from extending or contracting too much.  &lt;br /&gt;&lt;br /&gt;The spine has two limit switches.  One is pressed in when the two segments of the robot are pulled close together, and the other becomes un-pressed when the threaded rod retracts past it.  The latter is a switch like &lt;a href="http://parts.digikey.com/1/parts/974782-switch-detect-lever-snapact-vert-zmcjf7l0t.html"&gt;this &lt;/a&gt;glued parrallel to the threaded rod, on the segment of the robot with the electronics.  When the spine retracts, it pushes down the lever of the switch, and when it retracts, the switch opens.&lt;br /&gt;&lt;br /&gt;The second limit switch is a push button switch that requires very little force to actuate.  I mounted it on a strip of aluminum from the front of the electronics segment.&lt;br /&gt;&lt;br /&gt;Both the switches are connected to the same 5V and ground lines as the potentiometers on the legs, and their signals go to inputs A4 and A5, which the Arduino is set to read as digital inputs rather than analog.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/image/F14PCKUGRFNCVOU/Limit-Switches.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FLF/6G2O/GRHJHOOW/FLF6G2OGRHJHOOW.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FHB/7SZ6/GRFMV17B/FHB7SZ6GRFMV17B.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F39/0GOG/GRFN1L6P/F390GOGGRFN1L6P.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;The last mechanical part of this project was to create a way to hold the batteries, while making sure that they are easy to remove for replacement or charging.  &lt;br /&gt;&lt;br /&gt;The perfect place for mounting the 9V battery was right above the Arduino, so I created a mounting system for it out of some scrap metal.  A piece of metal (with an electrical tape insulated bottom) screws on above the Arduino through one of the standoffs.  On top of the metal is a bit of stick-on velcro.  A piece of metal bent into a "U" shape clips onto the 9V battery, and then sticks to the velcro above the Arduino board, holding the battery in place.&lt;br /&gt;&lt;br /&gt;To hold the larger battery pack, I cut two brackets out of some soft plastic angle bar I had lying around.  These brackets screw into the arms that hold the linear slides.  The battery stays in mostly by friction, but a bit of velcro on one side helps to stop it from slipping out.&lt;br /&gt;&lt;br /&gt;9V holder:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FPO/G3N6/GRHJHOUS/FPOG3N6GRHJHOUS.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FDL/J8AK/GRFNCVSD/FDLJ8AKGRFNCVSD.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Battery pack holder:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/FII/1MVA/GRHJHOVI/FII1MVAGRHJHOVI.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F1D/FF2M/GRHJHOVQ/F1DFF2MGRHJHOVQ.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instructables.com/files/deriv/F9X/5MOV/GRHJHOW0/F9X5MOVGRHJHOW0.MEDIUM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;To climb up a tree, the robot goes through a simple series of motions.  First, the top segment grips the tree and the bottom segment releases form the tree (if necessary).  Then the spine contracts, pulling the bottom segment up towards the top segment.  Next the bottom segment grips the tree, and afterwards the top segment releases from the tree.  Finally, the spine extends, pushing the top segment upwards, and the cycle can start over again.  For ease of programming, I wrote a function corresponding to each basic motion.  These are as follows:&lt;br /&gt;closeTop&lt;br /&gt;closeBottom&lt;br /&gt;openTop&lt;br /&gt;openBottom&lt;br /&gt;Lift&lt;br /&gt;PushBy combining these functions in the proper order, the robot can be made to ascend or descend trees.  &lt;br /&gt;&lt;br /&gt;Opening the legs is very simple.  The legs turn outwards from the tree until their rotation sensors reach a point set in the program.  Then power is cut off to the motors.  Closing the legs on the tree, however, is a little bit more complex.  Since trees vary in diameter, the legs need to be able to grip a wide variety of diameters without reprogramming the robot for each size.  To figure out when to cut off power to the motors, the controller first calculates the speed at which the legs are moving towards the tree.  It does this by sampling the position of the legs' pots every .05 seconds.  It subtracts the previous value of the pot from the current one to find the distance traveled by the legs over the  time period.  When the distance travels becomes close to zero (I used 1 in my program), it means that the legs have gripped into the tree and are beginning to slow down.  Then the controller cuts of power to the motors, to prevent them from stalling out, or damaging themselves, the motor controller or the gearboxes.&lt;br /&gt;&lt;br /&gt;The last piece to the programming puzzle is the method of controlling the robot's actions.  If you look at the above movement cycle, you will notice that the robot is gripping the tree at all times.  This makes it difficult to remove the robot, so I programmed the control switch to manually control the behavior of the robot.  While the switch is off (circuit open), the robot keeps its legs open.  Once the switch is turned on, the robot begins its climbing cycle.  To remove the robot from the tree, the switch is turned back to the off position.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Update&lt;br /&gt;This project was &lt;a href="http://hackaday.com/2011/08/23/tree-climbing-bot-climbs-tree/#more-53508"&gt;featured on Hack A Day!&lt;/a&gt;  Thanks for the great article.&lt;br /&gt;&lt;br /&gt;You can download the code for this project here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.instructables.com/files/orig/FQ7/33F3/GRFMV1BK/FQ733F3GRFMV1BK.tmp"&gt;http://www.instructables.com/files/orig/FQ7/33F3/GRFMV1BK/FQ733F3GRFMV1BK.tmp&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-6577857602554284869?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/6577857602554284869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2011/08/tree-climbing-robot.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/6577857602554284869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/6577857602554284869'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2011/08/tree-climbing-robot.html' title='Tree Climbing Robot'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/zkpH1BjD6Wc/default.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-6020919762592014005</id><published>2011-08-16T13:28:00.000-04:00</published><updated>2011-10-28T19:48:49.199-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Predator-Prey Simulation</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Since I started programming, I have thought it would be interesting to attempt to approximate life within a computer program. &amp;nbsp;I started this project on my own, but finished it, collected data from it, and wrote a paper on if for my final CS class project. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;What my final program does is create a virtual Petri dish with two types of cells in it: predator cells and prey cells. &amp;nbsp;As the cells move around in their virtual environment, the predator cells try to chase down the prey cells, and the prey try to escape the predators. &amp;nbsp;If the predators do not eat for a long time, they die of starvation. &amp;nbsp;As the cells move in the simulation, the also replicate. &amp;nbsp;All of the cells, both predator and prey, have two individual attributes: sight radius and movement speed, which are passed on from parent cells to child cells. &amp;nbsp;However, as the cells replicate, there is a small chance that the child cells "mutate." &amp;nbsp;In other words, one or both of their attributes has a slightly different value than the parent cell's attributes. &amp;nbsp;These random mutations allow for natural selection to occur within the simulation, provided it runs for long enough. &amp;nbsp;The most effective predators will survive the longest, and therefore produce the most offspring, so their&amp;nbsp;desirable&amp;nbsp;attributes proliferate. &amp;nbsp;The same applies to prey cells that can escape most easily. &amp;nbsp;As the simulation runs, it outputs the average attributes of all of each type of cell to a text file at regular intervals. &amp;nbsp;If the simulation is run for a long period of time, these values can be evaluated, and one can see if natural selection&amp;nbsp;occurred&amp;nbsp;or not, on average.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/-pEnO2KH6xKQ/TkqlxzlHS5I/AAAAAAAAAOw/EbSTFCvDhBU/s1600/simulation.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/-pEnO2KH6xKQ/TkqlxzlHS5I/AAAAAAAAAOw/EbSTFCvDhBU/s640/simulation.jpg" width="624" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;In the simulation's graphics, red squares represent predator cells. &amp;nbsp;Other colors represent the prey. &amp;nbsp;The color of they prey is determined by the cells movement speed, in order to help visualize the mutations that occur. &amp;nbsp;Green prey are the slowest, and magenta prey are the fastest. &amp;nbsp;Along the bottom of the window, the average speed of the prey (the black dots) and the predators (the red dots) &amp;nbsp;are graphed. &amp;nbsp;Vertical black lines indicate the start of a new simulation. &amp;nbsp;This happens when all of one type of cell become extinct. &amp;nbsp;Alternatively, the graph can be used to track the populations of the predators and prey. &amp;nbsp;For faster data collection, the graphics can be disabled, which increases the speed at which the program runs by about ten times.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The python 3 code can be found on Instructables, here:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.instructables.com/files/orig/FVL/IYEL/GREPYCQF/FVLIYELGREPYCQF.py"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;http://www.instructables.com/files/orig/FVL/IYEL/GREPYCQF/FVLIYELGREPYCQF.py&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The graphics can be enabled or disabled by commenting out the line "canvas.update()" in the function "run()."&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The program, especially when run with the graphics, is highly CPU dependent, and the speed will decrease significantly as the simulation is populated. &amp;nbsp;To change the results of the simulation, the cells starting attributes (including rate of reproduction and rate of mutation along with the two others descibed) can be modified, as can the starting populations and the map size.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-6020919762592014005?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/6020919762592014005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2011/08/predator-prey-simulation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/6020919762592014005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/6020919762592014005'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2011/08/predator-prey-simulation.html' title='Predator-Prey Simulation'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-pEnO2KH6xKQ/TkqlxzlHS5I/AAAAAAAAAOw/EbSTFCvDhBU/s72-c/simulation.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-5309093421477429070</id><published>2011-08-16T12:06:00.000-04:00</published><updated>2012-02-15T22:21:06.528-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blacksmithing'/><category scheme='http://www.blogger.com/atom/ns#' term='Mechanical'/><title type='text'>More Blacksmithing</title><content type='html'>I spent another 4 days blacksmithing, and came up with this:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img829.imageshack.us/img829/8063/ben20b26w.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="556" src="http://img829.imageshack.us/img829/8063/ben20b26w.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="390" src="http://www.youtube.com/embed/QKkMCGp68Rk" width="640"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I mostly made up the piece as I went along. &amp;nbsp;The entire thing can be taken apart and put together without any fasteners, and there are close-up pictures after the break:&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is the bit that converts the circular motion to a linear motion:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img820.imageshack.us/img820/7535/dscn3688d.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;This piece is part of the stand, and it clips onto the rails of the above piece. &amp;nbsp;The bottom fits into the circular base:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img810.imageshack.us/img810/7434/dscn3689c.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;Here you can see the grooves that the linear actuator clips into:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img651.imageshack.us/img651/2748/dscn3691z.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;This part fits onto the stand above. &amp;nbsp;The bell fits onto the hook at the left end, and the arm with the slot hits the bell when it is moved back and forth by the linear actuator. &amp;nbsp;The slot was cut with a die grinder and filed smooth:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img18.imageshack.us/img18/9642/dscn3692p.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;This circular bit supports the rest of the gizmo:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img35.imageshack.us/img35/5218/dscn3693.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;This is the bell. &amp;nbsp;It was forged out of a short segment of 1" round steel pipe:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img268.imageshack.us/img268/9930/dscn3694l.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img808.imageshack.us/img808/1351/dscn3702.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;Here you can see how the linear actuator fits into the slot to move the arm that hits the bell:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img821.imageshack.us/img821/4448/dscn3703.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;In this picture you can see how the linear actuator fits into the stand, and how the bell and arm holder attach to the stand:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img684.imageshack.us/img684/8461/dscn3705n.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img849.imageshack.us/img849/710/dscn3706o.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img705.imageshack.us/img705/2091/dscn3707t.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img202.imageshack.us/img202/254/dscn3708k.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img828.imageshack.us/img828/5139/dscn3709q.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;The spiral handle is attached in grooves, so it spins as you turn the crank around:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img820.imageshack.us/img820/9403/dscn3713j.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img834.imageshack.us/img834/7272/dscn3714i.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-5309093421477429070?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/5309093421477429070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2011/08/more-blacksmithing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/5309093421477429070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/5309093421477429070'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2011/08/more-blacksmithing.html' title='More Blacksmithing'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/QKkMCGp68Rk/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-5340676696488923149</id><published>2011-06-25T17:48:00.000-04:00</published><updated>2011-06-25T17:48:00.546-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><title type='text'>Dual L298HN Motor Driver</title><content type='html'>I built this motor controller to power the motors for an Arduino-controlled robot I am working on. &amp;nbsp;It uses 2 &lt;a href="http://www.datasheetcatalog.org/datasheet/stmicroelectronics/1773.pdf"&gt;L298HN&lt;/a&gt; dual full-bridge chips, each of which is capable of powering 2 DC motors at 2A each, with bidirectional control. &amp;nbsp;You can get up to 3 of the L298HN chips for free from the ST website. &amp;nbsp;The rest of the parts needed are as follows:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.allelectronics.com/make-a-store/item/PC-3/SOLDERABLE-PERF-BOARD//1.html"&gt;2.5" x 3.125" perfboard&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.allelectronics.com/make-a-store/item/TER-502/2-POSITION-PC-MOUNT-TERMINAL-STRIP/1.html"&gt;4 2-Position PC Mount Terminal Strip&lt;/a&gt;s&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.allelectronics.com/make-a-store/item/TER-503/3-POSITION-PC-MT-TERRMINAL-BLOCK/1.html"&gt;5 3-Position PC Mount Terminal Strips&lt;/a&gt;&lt;/li&gt;&lt;li&gt;22 AWG Solid Core Hookup Wire&lt;/li&gt;&lt;li&gt;2 Heatsinks for the L298's&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;img height="480" src="http://img163.imageshack.us/img163/8237/p6151156.jpg" width="640" /&gt;&lt;/div&gt;&lt;div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Components:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img height="480" src="http://desmond.imageshack.us/Himg221/scaled.php?server=221&amp;amp;filename=p6151144nd.jpg&amp;amp;res=medium" width="640" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Placement:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://desmond.imageshack.us/Himg713/scaled.php?server=713&amp;amp;filename=p6151145.jpg&amp;amp;res=medium" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Soldered:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://desmond.imageshack.us/Himg848/scaled.php?server=848&amp;amp;filename=p6151152.jpg&amp;amp;res=medium" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://desmond.imageshack.us/Himg52/scaled.php?server=52&amp;amp;filename=p6151153.jpg&amp;amp;res=medium" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://desmond.imageshack.us/Himg860/scaled.php?server=860&amp;amp;filename=p6151154.jpg&amp;amp;res=medium" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://desmond.imageshack.us/Himg585/scaled.php?server=585&amp;amp;filename=p6151155.jpg&amp;amp;res=medium" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I cut an old northbridge heatsink in half and drilled and tapped it to fit the chips:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://desmond.imageshack.us/Himg4/scaled.php?server=4&amp;amp;filename=p6151158.jpg&amp;amp;res=medium" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://desmond.imageshack.us/Himg402/scaled.php?server=402&amp;amp;filename=p6151160.jpg&amp;amp;res=medium" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's the board's layout:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://desmond.imageshack.us/Himg171/scaled.php?server=171&amp;amp;filename=p6151152.jpg&amp;amp;res=medium" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Next to an Arduino for a size reference:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://desmond.imageshack.us/Himg36/scaled.php?server=36&amp;amp;filename=p6151161.jpg&amp;amp;res=medium" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In use:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://desmond.imageshack.us/Himg20/scaled.php?server=20&amp;amp;filename=p6151147.jpg&amp;amp;res=medium" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-5340676696488923149?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/5340676696488923149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2011/06/dual-l298hn-motor-driver.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/5340676696488923149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/5340676696488923149'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2011/06/dual-l298hn-motor-driver.html' title='Dual L298HN Motor Driver'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-7362648593783138537</id><published>2011-06-23T16:08:00.004-04:00</published><updated>2011-11-27T08:39:32.954-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><title type='text'>GUI Controlled LED Matrix</title><content type='html'>&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;I recently got an Arduino Uno, and it quickly became my favorite toy. &amp;nbsp;After learning the basics of how the platform operates, I became interested in interfacing the Arduino with personal computers. &amp;nbsp;After seeing a large number of LED matrix projects on Instructables and the rest of the web, the LED matrix seemed like a perfect project to attempt to interface with a computer. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="510" src="http://www.youtube.com/embed/opbp5bpgsKo" width="640"&gt;&lt;/iframe&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;I chose to build a 3 x 3 matrix, because I thought it would be best to start small (and I did not have enough LED's for a larger one). &amp;nbsp;Also, 3 x 3 is about the largest size it is safe to power directly from the Arduino, without using an external power supply. &amp;nbsp;However, the design for the matrix and the software in this Instructable should be fairly easy to scale up to 8 x 8 or so, by using an external power supply and some transistors.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Unlike most of my projects, this one is not very hardware focused, so the materials list is not too long. &amp;nbsp;If you have played with an Arduino before, you will likely have all of these parts on hand.&lt;br /&gt;&lt;br /&gt;To build the matrix, you will need:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;a href="http://www.sparkfun.com/products/9950" style="cursor: pointer; text-decoration: none;"&gt;Arduino&lt;/a&gt;&amp;nbsp;microcontroller: &amp;nbsp;I used an Arduino Uno, but pretty much any will work.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;9 LED's: &amp;nbsp;Any sort should work. &amp;nbsp;I had some left over from my bicycle's&amp;nbsp;&lt;a href="http://www.instructables.com/id/Build-a-Bamboo-Bicycle-And-Light-it-up/#step13" style="cursor: pointer; text-decoration: none;"&gt;spoke lights&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;3 resistors: &amp;nbsp;These are to prevent the pins/LED's from burning out. &amp;nbsp;I used the 330 Ohm variety, but anything around there should work&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;A breadboard&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;1 Foot of thin gauge electrical wire: &amp;nbsp;To connect the negative ends of the matrix to the breadboard&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;6 breadboard jumpers&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Soldering materials&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;To run the software:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;A Mac or PC with the&lt;a href="http://www.arduino.cc/en/Main/Software" style="cursor: pointer; text-decoration: none;"&gt;&amp;nbsp;Arduino IDE&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://www.python.org/download/releases/2.7.2/" style="cursor: pointer; text-decoration: none;"&gt;Python 2.6/2.7&lt;/a&gt;. &amp;nbsp;Unfortunately, I could not get Python 3 to talk to the Arduino, so you'll have to use python 2.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="step-bucket" style="margin-bottom: 15px;"&gt;&lt;div class="txt" style="line-height: 1.3em;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The matrix itself is fairly simple to build, and if you are building one as small as 3 x 3, it can be built without any sort of jig to align the LED's or circuitboard to hold the components. &lt;br /&gt;&lt;br /&gt;To start out, bend the anodes (the longer leads) of all 9 LED's to a 90 degree angles, perpendicular to the plane the leads are on. &amp;nbsp;Then bend the cathodes (the shorter leads) &amp;nbsp;to 90 degree angles parallel&amp;nbsp;to the plane of the leads. &amp;nbsp;Make sure the leads extend farther out of the LED before bending on the cathodes than the anodes.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="txt" style="line-height: 1.3em;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Building the Matrix" src="http://www.instructables.com/files/deriv/F4Q/KUDX/GOZIQLBB/F4QKUDXGOZIQLBB.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="txt" style="line-height: 1.3em;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;Next, divide the LED's into groups of three. &amp;nbsp;Solder the cathodes of all three LED's together, so that the LED's form a chain. &amp;nbsp;The anodes of the chain should all stick out in the same direction. &amp;nbsp;Once you have done this three times, you will have three chains of three LED's. &amp;nbsp;Then you can solder the anodes of each chain to the anodes of the next chain. &amp;nbsp;If all your bends are 90 degrees, and you secure the LED's while you solder them, the LEDs' leads should form a nice grid.&lt;/span&gt;&lt;/div&gt;&lt;div class="txt" style="line-height: 1.3em;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="txt" style="line-height: 1.3em;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Building the Matrix" src="http://www.instructables.com/files/deriv/FNO/CLUP/GOW486P4/FNOCLUPGOW486P4.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="txt" style="line-height: 1.3em;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="txt" style="line-height: 1.3em;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Building the Matrix" src="http://www.instructables.com/files/deriv/FAX/7L2F/GOZIQLAM/FAX7L2FGOZIQLAM.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="txt" style="line-height: 1.3em;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="txt" style="line-height: 1.3em;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Building the Matrix" src="http://www.instructables.com/files/deriv/FFV/9CYB/GOW3YNXS/FFV9CYBGOW3YNXS.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="txt" style="line-height: 1.3em;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="txt" style="line-height: 1.3em;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Building the Matrix" src="http://www.instructables.com/image/FE1UPWKGOZIQLB8/Building-the-Matrix.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="txt" style="line-height: 1.3em;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="txt" style="line-height: 1.3em;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Building the Matrix" src="http://www.instructables.com/image/FE1UPWKGOZIQLB8/Building-the-Matrix.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Once all the LED's are soldered together, solder a resistor to the three anode leads that are not connected to other LED's. &amp;nbsp;Finally, solder a short length of wire to each of the three cathode leads protruding from the matrix.&lt;/span&gt;&lt;/div&gt;&lt;div id="files"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6555364095586804046&amp;amp;postID=7362648593783138537&amp;amp;from=pencil" name="files" style="cursor: pointer; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;For ease of construction and disassembly, I hooked the matrix up to my Arduino using a mini breadboard and breadboard jumpers. &amp;nbsp;I simply plugged the matrix into the breadboard by the three anode pins. &amp;nbsp;To attach them to the breadboard, I soldered solid metal leads to the ends of the cathode wires. &amp;nbsp;I used the leads that I clipped off the resistors. &lt;br /&gt;&lt;br /&gt;I attached the leads to the Arduino in the following order:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;Left anode: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Pin 2&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;li&gt;Center anode: &amp;nbsp; &amp;nbsp; &amp;nbsp; Pin 3&lt;/li&gt;&lt;li&gt;Right anode: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Pin 4&lt;/li&gt;&lt;li&gt;Top cathode: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Pin 5&lt;/li&gt;&lt;li&gt;Middle cathode: &amp;nbsp; &amp;nbsp; Pin 6&lt;/li&gt;&lt;li&gt;Bottom cathode: &amp;nbsp; &amp;nbsp;Pin 7&lt;/li&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;img alt="Attaching the Matrix" src="http://www.instructables.com/image/FWON916GOZIQLEI/Attaching-the-Matrix.jpg" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;img alt="Attaching the Matrix" src="http://www.instructables.com/files/deriv/FK9/QH8C/GOZIQLED/FK9QH8CGOZIQLED.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;img alt="Attaching the Matrix" src="http://www.instructables.com/files/deriv/FA8/PN5Z/GOZIQLE7/FA8PN5ZGOZIQLE7.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;The advantage of building the matrix to be controlled by rows and columns is that you do not need a pin to control every single LED. &amp;nbsp;The downside, however, is that certain LED's cannot be displayed simultaneously without lighting up other unwanted LED's. &amp;nbsp;To prevent unwanted LED's from lighting, the display must be &lt;a href="http://en.wikipedia.org/wiki/Multiplexed_display"&gt;multiplexed&lt;/a&gt;, wich takes advantage of an effect called&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Persistence_of_vision" style="cursor: pointer; text-decoration: none;"&gt;persistance of vision (POV). &amp;nbsp;&lt;/a&gt;&amp;nbsp; To use this effect, the Arduino will actually only light one row of LED's at a time, but it will cycle through the rows so quickly that the image will look solid. &lt;br /&gt;&lt;br /&gt;Now, I do not know if there is a standard for how LED displays cycle through the rows/columns, but I wrote my POV controlling program from scratch. &amp;nbsp;If you go down to the basics, it works like this:&lt;br /&gt;&lt;br /&gt;The Arduino's code contains a set of arrays (one could also use a single 2D array), one for each row, that indicates which LEDs in the row are activated. &amp;nbsp;The program scans through these arrays one at a time, and the Arduino lights only the LED's which are indicated in the one row. &amp;nbsp;It lights the LED's in the row by setting the pin for the row to "LOW" and the pins for the lit LED's to "HIGH." &amp;nbsp;Every cycle, the program also runs a function which gathers input over a serial connection. &amp;nbsp;Inputs are in the form of integers, which correspond to an LED on the matrix. &amp;nbsp;The matrix is arranged as such:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="line-height: normal; margin-bottom: 10px; margin-left: 280px; margin-right: 0px; margin-top: 3px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;[0, 1, 2]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;[3, 4, 5]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;[6, 7, 8]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 3px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;If the code receives the number "6" over serial, the state of the bottom left LED in the array is switched.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 3px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;You can download the code for the Arduino here:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 3px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;a href="http://www.instructables.com/id/GUI-Controlled-LED-Matrix/step4/Programming-the-Arduino/"&gt;http://www.instructables.com/id/GUI-Controlled-LED-Matrix/step4/Programming-the-Arduino/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 3px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;I&amp;nbsp;programmed the program and GUI that control the LED matrix in Python, using the built-in&amp;nbsp;&lt;a href="http://infohost.nmt.edu/tcc/help/pubs/tkinter/" style="cursor: pointer; text-decoration: none;"&gt;Tkinter&lt;/a&gt;&amp;nbsp;&amp;nbsp;graphics module. &amp;nbsp;The design of the GUI is very simple. &amp;nbsp;It contains nine buttons, each representing one LED. &amp;nbsp;When the buttons are clicked, they turn orange, and when they are clicked again they turn white. &amp;nbsp;As the buttons are clicked, they update the LED matrix in real-time.&lt;br /&gt;&lt;br /&gt;In order for Python to communicate with the Arduino, it needs the&amp;nbsp;&lt;a href="http://pypi.python.org/pypi/pyserial" style="cursor: pointer; text-decoration: none;"&gt;Pyserial&lt;/a&gt;&amp;nbsp;module. &amp;nbsp;Once this is installed, you can read and write to the Arduino over the serial connection. &lt;br /&gt;&lt;br /&gt;In my program, whenever a button is clicked, the button calls a function which writes the number of the button to the Arduino. &amp;nbsp;Using that number, the Arduino figures out which LED the number corresponds to, and switches the state of that LED.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;When running it, there are a few things to note: &lt;br /&gt;&lt;br /&gt;If you run the file in Windows, it is advisable to simply double click the file instead of opening it in IDLE (the python IDE) and running it from there. &amp;nbsp;Also, you will have to set the serial port to use within the code. &amp;nbsp;By default, it is set to 2, which corresponds to COM3 on Windows.&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;Mac users: &amp;nbsp;I have not tested the program on a mac. &amp;nbsp;Please let me know if there are any problems with it, so I can try to fix them. &amp;nbsp;Python sometimes behaves differently on Macs, especially when dealing with graphics stuff.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;You can view or download the Python code here:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;a href="http://www.instructables.com/id/GUI-Controlled-LED-Matrix/step5/Programming-the-User-Interface/"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;http://www.instructables.com/id/GUI-Controlled-LED-Matrix/step5/Programming-the-User-Interface/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img src="http://www.instructables.com/static/img/pixel.gif" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="line-height: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 3px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Programming the User Interface" src="http://www.instructables.com/image/FEUDXYEGOZIQLJO/Programming-the-User-Interface.jpg" /&gt;&lt;img src="http://www.instructables.com/static/img/pixel.gif" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 3px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 3px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Programming the User Interface" src="http://www.instructables.com/files/deriv/FEK/F2D0/GOZIQLJP/FEKF2D0GOZIQLJP.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 3px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 3px;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;To test the matrix, plug it in to your computer, and download the program to it from the Arduino IDE. &amp;nbsp;Then run the Serial Monitor. &amp;nbsp;You can use the number keys, 0-8, to test each LED and make sure the program is running correctly. &amp;nbsp;Then you can run the Python GUI program. &amp;nbsp;Before you do so, make sure you have closed the Serial Monitor in the Arduino IDE, or the Python will not be able to connect over Serial, since the port is already in use. &amp;nbsp;When you quit the GUI, you can go ahead and connect to it in the Arduino IDE again, because the GUI closes its connection when it quits. &lt;br /&gt;&lt;br /&gt;Have fun playing with your GUI controlled LED matrix! &amp;nbsp;I have found that it is almost infinitely entertaining to small children. &amp;nbsp;If you build your matrix with different color LED's, you can easily change the color of the buttons in the GUI to match your LED's, using&amp;nbsp;&lt;a href="http://www.websitetoad.com/images/hexadecimal-color-chart.gif" style="cursor: pointer; text-decoration: none;"&gt;hexadecimal color codes&lt;/a&gt;. &amp;nbsp;The section of the code that must be changed is clearly commented.&lt;br /&gt;&lt;br /&gt;I would like to create a much larger 8x8 version of this matrix. &amp;nbsp;8x8 is the largest size you can build on an Arduino Uno without using shift registers or other controlling circuitry, other than some transistors for the power. &amp;nbsp;If you build one of these, please post pictures, and I will post them in this last step. &amp;nbsp;The construction of the matrix actually very little work. &amp;nbsp;Programming it took far longer, and I have already done that part for you.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 3px;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 3px;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Using the Matrix, Conclusion" src="http://www.instructables.com/image/FFWVCFAGOZIQLX5/Using-the-Matrix-Conclusion.jpg" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote style="color: #333333; font-family: arial, helvetica, sans-serif; font-size: 14px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-7362648593783138537?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/7362648593783138537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2011/06/gui-controlled-led-matrix.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/7362648593783138537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/7362648593783138537'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2011/06/gui-controlled-led-matrix.html' title='GUI Controlled LED Matrix'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/opbp5bpgsKo/default.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-5420538026290904465</id><published>2011-06-05T18:26:00.000-04:00</published><updated>2011-06-05T18:26:15.203-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Mechanical'/><title type='text'>Useless Machines</title><content type='html'>I built three "Useless Machines" within the last few months, and here are two of them. &amp;nbsp;I made one for my younger sister to decorate and give to her science teacher, and the other out of leftover parts I had. &amp;nbsp;The circuits of both have been modified from the standard circuit to include an LED strip. &amp;nbsp;The LED's are wired through the bumper switch, so they only light up when the box is open and the arm is moving.&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img191.imageshack.us/img191/483/p5240938.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img821.imageshack.us/img821/6086/p5240942.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img845.imageshack.us/img845/3155/p5240946.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;I made the wiring extremely need for this one, both for looks and serviceability. &lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img217.imageshack.us/img217/9929/p5240947.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img97.imageshack.us/img97/8831/p5240949.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img824.imageshack.us/img824/3551/p5240951.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img18.imageshack.us/img18/3632/p5240952.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img709.imageshack.us/img709/9056/p5240954.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img600.imageshack.us/img600/1104/p5240957.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img40.imageshack.us/img40/4650/p5240961e.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img534.imageshack.us/img534/7530/p5240967.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;Here's a video of it working. &amp;nbsp;You can see how bright the LED's are well in it.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/U_CYvnGmKK4" width="425"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;The second box is a completely different design, because I had smaller box and different shaped gear motor.&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img716.imageshack.us/img716/8207/p5240969.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;Messy wiring and DIY battery clip:&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img51.imageshack.us/img51/6205/p5240970.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img195.imageshack.us/img195/6519/p5240972.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="480" src="http://img40.imageshack.us/img40/267/p5240974.jpg" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;For more info on building useless machines, go &lt;a href="http://www.instructables.com/id/The-Most-Useless-Machine/"&gt;HERE&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-5420538026290904465?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/5420538026290904465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2011/06/useless-machines.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/5420538026290904465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/5420538026290904465'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2011/06/useless-machines.html' title='Useless Machines'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/U_CYvnGmKK4/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-8604091290004534927</id><published>2011-04-17T11:47:00.000-04:00</published><updated>2011-04-17T11:47:38.419-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computers'/><title type='text'>How to Fit Your PC in a Power Mac G5 Case</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Whether you are an apple fan or not, it is hard to disagree with the fact that the Power Mac G5 computer looks great, inside and out. My goals for this project were to preserve the look of the case, inside and out; fit my PC's hardware, including a full length ATX motherboard, 2 GPU's, and a CoolIt ECO; and keep the system fully upgradeable, meaning no modifying the hardware.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img820.imageshack.us/img820/9117/49005878.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I started out with a broken Dual 1.8 Ghz G5 with all the parts save the HDD's.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="640" src="http://img849.imageshack.us/img849/9586/p4020674.jpg" width="480" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img838.imageshack.us/img838/9556/p4020675.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Although it looks very neat and tidy on the inside, the G5 is an absolute pain to completely&amp;nbsp;disassemble. &amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Here are the CPU's mounted to their heatsinks. The stock AMD cooler is for size reference:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img687.imageshack.us/img687/6995/p4020676a.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Here is the PSU compared to a standard ATX one:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img832.imageshack.us/img832/3029/p4020681.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Motherboard:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img864.imageshack.us/img864/6249/p4020682.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Interestingly, the motherboard has its chipset heatsinks on the back of the board, rather than on the front:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img845.imageshack.us/img845/7638/p4020683.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;To start, I completely emptied out the case, including the latching mechanism that holds the side panel on:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img641.imageshack.us/img641/6032/p4020686.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="640" src="http://img841.imageshack.us/img841/3268/p4020687.jpg" width="480" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Since this case must fit a full ATX length motherboard, I had to cut the top divider to give the board clearance:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img834.imageshack.us/img834/6410/p4020691.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img837.imageshack.us/img837/8229/p4020693.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Since the motherboard now sat where the HDD cage was mounted, I had to move the cage forwards so the board could fit under it. &amp;nbsp;For it to fit, I had to cut the cage's plastic shorter:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img191.imageshack.us/img191/6387/p4030696.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Then I screwed it to the divider:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img7.imageshack.us/img7/820/p4030697.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img684.imageshack.us/img684/5960/p4030700.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img706.imageshack.us/img706/8314/p4030701.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;I then reinstalled the latching mechanism:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img43.imageshack.us/img43/5417/p4030707.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Since I wanted to keep the original internal look of the G5, I rewired all the stock fans to fit standard Molex connectors. &amp;nbsp;All fans run of 5V, since they sound like leaf blowers at 12. &amp;nbsp;I used wiring diagrams found &lt;a href="http://www.insanelymac.com/forum/index.php?showtopic=109381"&gt;HERE&lt;/a&gt;. &amp;nbsp;For the front pair of fans, I reused the slide-in plug, so the fans can be hot-swapped.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img607.imageshack.us/img607/91/p4030733.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img849.imageshack.us/img849/1552/p4030729.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img840.imageshack.us/img840/360/p4030734.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="640" src="http://img684.imageshack.us/img684/3253/p4040753.jpg" width="480" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;I ended up not using the HDD bay fan and blower for clearance reasons, but I did wire them up as well:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img862.imageshack.us/img862/4080/p4030744.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;To mount the motherboard, I removed the stock standoff by popping them out with pliers, and built a motherboard tray out of the steel side panel of an old case and some aluminum flat bar.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img716.imageshack.us/img716/3752/p4030746.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img17.imageshack.us/img17/6971/p4030748.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img59.imageshack.us/img59/1470/p4030747h.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img717.imageshack.us/img717/7272/p4030749.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Because the stock G5 PSU is much longer and shorter than an ATX one, mounting the power supply was one of the most difficult parts of this project. &amp;nbsp;Also, the front fans and the CPU cover both mount to the bottom divider, which is screwed directly into the stock power supply. &amp;nbsp;To fit an ATX one but keep the bottom divider, I cut a hole in both the divider and the casing of the original power supply. &amp;nbsp;I then added an aluminum bracket which the PSU can be screwed to on one side using a thumb screw. &amp;nbsp;The other side of the power supply is fixed down with a neodymium magnet I glued to the bottom of the stock PSU. &amp;nbsp;If you happen to have to glue a strong magnet, remember not to used JB Weld, as it has steel in it. &amp;nbsp;The glue is attracted to the magnet, so it flows around the magnet and tries to coat the outside of the magnet evenly.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img855.imageshack.us/img855/9441/p4040756.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img689.imageshack.us/img689/7037/p4040758.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;When the CPU cover and fans are in place, the PSU is nearly invisible:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img43.imageshack.us/img43/8162/p4040757.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;The next step was to rewire the G5's front panel to fit standard ATX headers. &amp;nbsp;The wiring diagrams for this can be found in the same place as the fan pinouts.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img218.imageshack.us/img218/2418/p4040760.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img88.imageshack.us/img88/674/p4040762.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Next I made a new back panel for the case out of some thin aluminum sheet scavenged from an old baking sheet. &amp;nbsp;As it was, the back panel fans interfered with the motherboard's I/O, so I had to move the fans off-center. &amp;nbsp;All the rough cuts were done with my a rotary tool, and then filed.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img196.imageshack.us/img196/1645/p4060769.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img851.imageshack.us/img851/4861/p4060771.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;I used used the original fan grill as well:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img705.imageshack.us/img705/762/p4060773.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;I cut out the original back panel, and mounted the new one with hex screws:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="640" src="http://img593.imageshack.us/img593/4660/p4060776.jpg" width="480" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="640" src="http://img862.imageshack.us/img862/1193/p4060778.jpg" width="480" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Since I had to move the fans, they stuck out of the case, so I had to cut their plastic mounting bracket shorter:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img811.imageshack.us/img811/8030/p4060784.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="640" src="http://img200.imageshack.us/img200/936/p4060781.jpg" width="480" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Then I cut the &amp;nbsp;PCI divider so that the motherboard could fit under it, and made a mounting bracket for it out of aluminum:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img33.imageshack.us/img33/4760/p4070785.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img64.imageshack.us/img64/305/p4070786.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;The PCI divider supports 3 fans as well as the CPU cover:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img269.imageshack.us/img269/8793/p4070787.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;I epoxied the motherboard tray in place:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img819.imageshack.us/img819/5950/p4070800.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Then I transplanted my PC's innards into the case:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;I removed the ECO's stock fan, and bolted it to the pair of back panel fans using spacers. &amp;nbsp;This has had absolutely no impact on CPU temps:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img194.imageshack.us/img194/4379/p4080812.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;My second GPU just barely fits: the passive heatsink is actually touching the top divider.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img849.imageshack.us/img849/2006/p4080813.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;PCI divider and fans installed:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img200.imageshack.us/img200/6521/p4080820.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;With the CPU cover:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img42.imageshack.us/img42/3477/p4080821.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="640" src="http://img852.imageshack.us/img852/7914/p4080823.jpg" width="480" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="640" src="http://img7.imageshack.us/img7/4137/p4080825.jpg" width="480" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img193.imageshack.us/img193/4030/p4080826.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img684.imageshack.us/img684/566/p4080827.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img607.imageshack.us/img607/883/82554064.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img191.imageshack.us/img191/4232/35807121.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img850.imageshack.us/img850/6051/34609921.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img215.imageshack.us/img215/1632/38150540.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="480" src="http://img820.imageshack.us/img820/9117/49005878.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="640" src="http://img683.imageshack.us/img683/4240/72561915.jpg" width="598" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="640" src="http://img19.imageshack.us/img19/602/70010946.jpg" width="480" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="489" src="http://img191.imageshack.us/img191/7709/48466750.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="640" src="http://img64.imageshack.us/img64/1835/46375444.jpg" width="480" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="640" src="http://img694.imageshack.us/img694/2318/92603965.jpg" width="525" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="639" src="http://img534.imageshack.us/img534/9612/15863577.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="633" src="http://img153.imageshack.us/img153/581/50553969.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="640" src="http://img202.imageshack.us/img202/9915/10147822.jpg" width="480" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="640" src="http://img857.imageshack.us/img857/3634/85659109.jpg" width="480" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="640" src="http://img715.imageshack.us/img715/4344/29061827.jpg" width="480" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;img height="507" src="http://img809.imageshack.us/img809/1613/12040321m.jpg" width="640" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-8604091290004534927?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/8604091290004534927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2011/04/how-to-fit-your-pc-in-power-mac-g5-case.html#comment-form' title='30 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/8604091290004534927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/8604091290004534927'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2011/04/how-to-fit-your-pc-in-power-mac-g5-case.html' title='How to Fit Your PC in a Power Mac G5 Case'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>30</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-6345237721529682869</id><published>2011-04-01T23:02:00.004-04:00</published><updated>2011-08-18T00:15:00.564-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><title type='text'>Bench PSU</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;This is a&amp;nbsp;bench-top&amp;nbsp;power supply built to power my various electronics projects. &amp;nbsp;It is built from a PC Power and Cooling Silencer 470 watt PSU.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img24.imageshack.us/img24/2995/p3270647.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Here is the stock PSU:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img5.imageshack.us/img5/9610/p3260612.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Power ratings:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;28A at 3.3V&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;32A at 5V&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;26A at 12V&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;.8A at -12V&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Here is the inside of the PSU. &amp;nbsp;It is pretty crowded in there as it is.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img863.imageshack.us/img863/5218/p3260616.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img839.imageshack.us/img839/9692/p3260617.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Next I installed a switch on the front to turn it on and off:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img823.imageshack.us/img823/3904/p3260622.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img585.imageshack.us/img585/6281/p3260621.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I then cut all the connectors off.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img703.imageshack.us/img703/1205/p3260624.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I installed 5 banana jacks on the front: Ground, 3.3V, 5V, 12V, and -12V.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img854.imageshack.us/img854/761/p3260625.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img232.imageshack.us/img232/5384/p3260627.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I then connected the wires to crimp-on connectors, which can be screwed to the back of the banana jacks. &amp;nbsp;Blue is -12V, red is 5V, orange is 3.3V, and yellow is 12V. &amp;nbsp;I used up to 3 wires per connector, and up to four connectors per jack in order to get the maximum possible current flow.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img508.imageshack.us/img508/9495/p3260628.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Switch:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img508.imageshack.us/img508/7264/p3260629.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;All the internals wired together:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img821.imageshack.us/img821/2228/p3260630.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Power LED:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img88.imageshack.us/img88/453/p3260633.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Leads connected to the power jacks:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img852.imageshack.us/img852/7784/p3270636.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img832.imageshack.us/img832/5986/p3270641.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Switch connected:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img291.imageshack.us/img291/3307/p3270642.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;In order to start, modern ATX power supplies require a load on them, so I used these ohmite resistors to put load on the 5V and 3.3V rails.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img193.imageshack.us/img193/6978/p3260634.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The 5 Ohm resistor on the 5V rail got quite hot, so I built a heatsink for it out of some scraps:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img862.imageshack.us/img862/2956/p3270663.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img825.imageshack.us/img825/7263/p3270668.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img145.imageshack.us/img145/7669/p3270669.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img33.imageshack.us/img33/9928/p3270670.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Completely assembled:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img339.imageshack.us/img339/9732/p3270648.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img41.imageshack.us/img41/1259/p3270649.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img861.imageshack.us/img861/9749/p3270650.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Powered on:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img832.imageshack.us/img832/6539/p3270651.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Here are 10 possible voltage outputs:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img41.imageshack.us/img41/6412/p3270653.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;img height="480" src="http://img695.imageshack.us/img695/9371/p3270654.jpg" width="640" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;nbsp;&lt;img height="480" src="http://img705.imageshack.us/img705/3472/p3270655.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img850.imageshack.us/img850/9381/p3270656.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img855.imageshack.us/img855/3956/p3270657.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img849.imageshack.us/img849/4351/p3270658.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img705.imageshack.us/img705/189/p3270659.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img52.imageshack.us/img52/8197/p3270660.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img828.imageshack.us/img828/4771/p3270661.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="480" src="http://img228.imageshack.us/img228/2411/p3270662.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-6345237721529682869?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/6345237721529682869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2011/04/bench-psu.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/6345237721529682869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/6345237721529682869'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2011/04/bench-psu.html' title='Bench PSU'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-6613092186376344874</id><published>2011-03-15T20:15:00.002-04:00</published><updated>2011-07-18T19:38:43.137-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Art'/><title type='text'>Doodle4Google Entry</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;My entry to this year's Doodle4Google contest:&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="https://lh4.googleusercontent.com/-Kxqe3WipTWI/TX__xwSVH8I/AAAAAAAAALw/WU75fYuWSB4/s1600/doodle4google.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="494" src="https://lh4.googleusercontent.com/-Kxqe3WipTWI/TX__xwSVH8I/AAAAAAAAALw/WU75fYuWSB4/s640/doodle4google.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;The drawing was created in Photoshop, and the fragments of code come from a python program I wrote that simulates predator and prey cells, which can replicate, mutate and hunt each other down. &amp;nbsp;If you check carefully enough and are Google-savvy enough, you may find some surprises!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-6613092186376344874?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/6613092186376344874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2011/03/doodle4google-entry.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/6613092186376344874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/6613092186376344874'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2011/03/doodle4google-entry.html' title='Doodle4Google Entry'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-Kxqe3WipTWI/TX__xwSVH8I/AAAAAAAAALw/WU75fYuWSB4/s72-c/doodle4google.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-3598769869474827257</id><published>2011-02-19T10:14:00.003-05:00</published><updated>2011-04-17T10:41:05.130-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computers'/><title type='text'>Birch and Mahogany Home Theater PC</title><content type='html'>&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;This is a home theater PC I built from mostly spare parts. &amp;nbsp;It was designed to be as compact and quiet as possible, given the parts I used, and also not look intrusive in a living room setting.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6555364095586804046&amp;amp;postID=3598769869474827257" name="images" style="cursor: pointer; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div id="spot221524" style="margin-left: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;"&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Build a Birch and Mahogany Home Theater PC" galleryimg="NO" src="http://www.instructables.com/image/F7ZO05CGBB7G7TA/Build-a-Birch-and-Mahogany-Home-Theater-PC.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer"&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;First of all, you will need all the hardware required for a fully functioning computer: &amp;nbsp;A Motherboard, CPU, RAM, Video card, Power Supply, Hard Drive, DVD Drive, and an cooling components.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;To build the case, you will need:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;1/4" sheet of marine mahogany&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;3/4" sheet of birch&amp;nbsp;veneer&amp;nbsp;plywood&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;12' of 3/4" aluminum angle bar&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;"L" brackets and screws&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Lots of machine screws and nuts&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Scrap of sheet steel- I cut mine from an old CD player&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Perforated&amp;nbsp;aluminum sheet, "Modders Mesh"&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Varnish&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;2 large momentary push buttons&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Tools:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Wood Saw&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Dremel/Rotary tool&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Sand paper&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Drill&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Pliers&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Screw drivers&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Hacksaw&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6555364095586804046&amp;amp;postID=3598769869474827257" name="images" style="cursor: pointer; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="spot221525" style="margin-left: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;"&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Components, Tools, and Materials" galleryimg="NO" src="http://www.instructables.com/image/FBTO20XGBB7G7YS/Components-Tools-and-Materials.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Components, Tools, and Materials" src="http://www.instructables.com/files/deriv/FED/APSD/GBB7G7YR/FEDAPSDGBB7G7YR.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Components, Tools, and Materials" src="http://www.instructables.com/files/deriv/FNN/5TS9/GBB7G7YQ/FNN5TS9GBB7G7YQ.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Components, Tools, and Materials" src="http://www.instructables.com/files/deriv/FD6/484I/GBB7G7YP/FD6484IGBB7G7YP.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;This slot loading DVD drive was pulled from an old ibook, and I soldered leads on it for the eject button&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Components, Tools, and Materials" src="http://www.instructables.com/files/deriv/FDQ/FDFT/GBB7G7YO/FDQFDFTGBB7G7YO.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Mini-ITX motherboard, 1 Gb Ram, 2.6 ghz Celeron CPU&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Components, Tools, and Materials" src="http://www.instructables.com/files/deriv/FBM/31VL/GBB7G7YN/FBM31VLGBB7G7YN.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;To mount the cpu cooler, I cut out the outer fins, drilled holes lining up with the holes in the motherboard, and bolted in the cooler.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Components, Tools, and Materials" src="http://www.instructables.com/files/deriv/FVS/P4V8/GBB7G7Z9/FVSP4V8GBB7G7Z9.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer"&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;I built my motherboard tray out of a scrap bit of metal cut out of an old CD player. &amp;nbsp;I used this, because the height of the folded up part on the left happened to be almost the exact height of the video card I used. &amp;nbsp; The motherboard needs to be raised from the surface, so I mounted standoffs in the proper positions. &amp;nbsp;I also cut a hole for the back panel out of the side of the metal. &amp;nbsp;To secure the video card, I drilled a hole in the top lip of the metal. &amp;nbsp;The video card is bolted to this through the hole in the low profile back panel adapter.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6555364095586804046&amp;amp;postID=3598769869474827257" name="images" style="cursor: pointer; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div id="spot221526" style="margin-left: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;"&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Motherboard Tray" galleryimg="NO" src="http://www.instructables.com/image/FN6DVVPGBB7G80K/Building-the-Motherboard-Tray.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Metal with standoffs attached.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Motherboard Tray" src="http://www.instructables.com/files/deriv/FJM/8W08/GBB7G80Q/FJM8W08GBB7G80Q.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Backplate hole cut:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Motherboard Tray" src="http://www.instructables.com/files/deriv/FFJ/ZN6V/GBB7G80O/FFJZN6VGBB7G80O.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Motherboard Tray" src="http://www.instructables.com/files/deriv/FZS/P6TT/GBB7G80N/FZSP6TTGBB7G80N.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;The video card is secured by being screwed into the lip in the top of the metal.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Motherboard Tray" src="http://www.instructables.com/files/deriv/FOG/55FL/GBB7G80L/FOG55FLGBB7G80L.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer"&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;To save space, I decided to mount the DVD drive directly to the bottom of the motherboard tray. &amp;nbsp;To do this, I just cut the aluminum drive bracket out of an old laptop, and screwed it to the bottom of the motherboard tray. &amp;nbsp;I glued sheets of felt to the top and bottom of the slot in order to eliminate vibrations.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6555364095586804046&amp;amp;postID=3598769869474827257" name="images" style="cursor: pointer; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="spot221527" style="margin-left: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;"&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="DVD Drive Mount" galleryimg="NO" src="http://www.instructables.com/image/FA0KTWBGBB7G81N/DVD-Drive-Mount.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer"&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;I decided to build the internal frame of the case out of aluminum angle bars, because it is light,&amp;nbsp;versatile, and easy to work with. &amp;nbsp;The design had to be as compact as possible, but the case also had to be well ventilated and parts had to be relatively easy to install. &amp;nbsp;All the parts were drilled and bolted together with hex nuts- the same ones used in erector sets.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6555364095586804046&amp;amp;postID=3598769869474827257" name="images" style="cursor: pointer; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="spot221528" style="margin-left: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;"&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Frame" galleryimg="NO" src="http://www.instructables.com/image/FE1WP9YGBB7G82G/Building-the-Frame.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Frame" src="http://www.instructables.com/files/deriv/FXD/8SJX/GBB7G82P/FXD8SJXGBB7G82P.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Frame" src="http://www.instructables.com/files/deriv/FI2/SG9J/GBB7G82K/FI2SG9JGBB7G82K.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Frame" src="http://www.instructables.com/files/deriv/FTZ/4ZBU/GBB7G82J/FTZ4ZBUGBB7G82J.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;The motherboard trey was screwed into the frame:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Frame" src="http://www.instructables.com/files/deriv/FLJ/L99P/GBB7G82I/FLJL99PGBB7G82I.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Frame" src="http://www.instructables.com/files/deriv/F7D/0GEP/GBB7G82H/F7D0GEPGBB7G82H.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Frame" src="http://www.instructables.com/files/deriv/FE7/0FVF/GBB7G82O/FE70FVFGBB7G82O.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Test fit with spare CD drive:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Frame" src="http://www.instructables.com/files/deriv/FVY/D6RK/GBB7G82N/FVYD6RKGBB7G82N.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Frame" src="http://www.instructables.com/files/deriv/FBC/VPBJ/GBB7G82E/FBCVPBJGBB7G82E.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer"&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;To mount the hard drive, I added another bar of aluminum along the bottom, and drilled it to fit the holes in the HDD.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;I cut holes in the motherboard tray adjacent to the 24 pin power socket and the IDE socket, to make routing cables easier. &amp;nbsp;Once your frame is finished, take some time to practice installing the hardware, as there will probably be some installation quirks with your case. &amp;nbsp;For example, you have to screw in the hard drive in mine before you screw in the PSU, because if you don't, the screw holes on one side are&amp;nbsp;inaccessible. &amp;nbsp;These are not big issues, but it is good to take note of them. &amp;nbsp;Especially practice routing cables, as this is probably the most difficult thing to do in a cramped space.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6555364095586804046&amp;amp;postID=3598769869474827257" name="images" style="cursor: pointer; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="spot221529" style="margin-left: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;"&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Frame, cont." galleryimg="NO" src="http://www.instructables.com/image/FZL6N14GBB7G85M/Building-the-Frame-cont.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Frame, cont." src="http://www.instructables.com/files/deriv/FO0/I2VE/GBB7G85L/FO0I2VEGBB7G85L.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;All hardware installed:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img src="http://www.instructables.com/static/img/pixel.gif" /&gt;&lt;img src="http://www.instructables.com/static/img/pixel.gif" /&gt;&lt;img alt="Building the Frame, cont." src="http://www.instructables.com/files/deriv/FLC/VF29/GBB7G87D/FLCVF29GBB7G87D.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Cable routing is pretty tricky:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Frame, cont." src="http://www.instructables.com/files/deriv/FOU/4VQ4/GBB7G878/FOU4VQ4GBB7G878.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Frame, cont." src="http://www.instructables.com/files/deriv/FHJ/5ELV/GBB7G879/FHJ5ELVGBB7G879.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Frame, cont." src="http://www.instructables.com/files/deriv/FHF/T97F/GBB7G87A/FHFT97FGBB7G87A.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Frame, cont." src="http://www.instructables.com/files/deriv/FOM/VXQK/GBB7G876/FOMVXQKGBB7G876.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Frame, cont." src="http://www.instructables.com/files/deriv/FR9/BMNQ/GBB7G87B/FR9BMNQGBB7G87B.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer"&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Most of the outside of the case is made of birch plywood, but the front is a strip of marine mahogany left over from the boat I am building. &amp;nbsp;I cut notches in the plywood, so the mahogany just slides in. &amp;nbsp;The plywood is held together with brass "L" brackets.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;The case needs to be well ventilated, especially since I am using a passively cooled GPU, so I made the top of the case out of aluminum modders mesh. &amp;nbsp;I cut the sheet a few inches wider than the case, and folded in the edges. &amp;nbsp;To fix the aluminum to the wood, simply screw it in from the inside with a few wood screws. &amp;nbsp;Make sure you can remove them though, as it is best to fix the aluminum after you sand and finish the wood.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;I designed the exterior of the case so that the aluminum frame, and all the computer hardware, can slide out of the case, giving easy access to the hardware.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6555364095586804046&amp;amp;postID=3598769869474827257" name="images" style="cursor: pointer; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="spot221530" style="margin-left: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;"&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Outside of the Case" galleryimg="NO" src="http://www.instructables.com/image/FF6ACJ8GBB7G8AS/Building-the-Outside-of-the-Case.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Outside of the Case" src="http://www.instructables.com/files/deriv/FSG/1H4I/GBB7G8AP/FSG1H4IGBB7G8AP.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Outside of the Case" src="http://www.instructables.com/files/deriv/FQL/A9N8/GBB7G8AN/FQLA9N8GBB7G8AN.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Outside of the Case" src="http://www.instructables.com/files/deriv/FBK/WUHS/GBB7G8AM/FBKWUHSGBB7G8AM.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Outside of the Case" src="http://www.instructables.com/files/deriv/FKL/JAOD/GBB7G8AL/FKLJAODGBB7G8AL.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Outside of the Case" src="http://www.instructables.com/files/deriv/FGI/AIVM/GBB7G8AK/FGIAIVMGBB7G8AK.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;All the metal edges were folded in:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Outside of the Case" src="http://www.instructables.com/files/deriv/F5Q/FG6W/GBB7G8AJ/F5QFG6WGBB7G8AJ.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img src="http://www.instructables.com/static/img/pixel.gif" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Outside of the Case" src="http://www.instructables.com/files/deriv/FJV/12QO/GBB7G8AQ/FJV12QOGBB7G8AQ.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Outside of the Case" src="http://www.instructables.com/files/deriv/F3O/RA7M/GBB7G8AI/F3ORA7MGBB7G8AI.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer"&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;If you have been paying close attention, you may have noticed that the intake fan on the PSU is facing directly into a solid piece of plywood. &amp;nbsp;To fix this problem, I cut a series of slots in the side panel of the case using a jigsaw and the router dremel attachment, and cleaned them up with lots of sanding. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;There also needs to be a way to mount the switches to the outside of the case. &amp;nbsp;I did this by simply drilling two holes of the same diameter as the switches in the mahogany front panel.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6555364095586804046&amp;amp;postID=3598769869474827257" name="images" style="cursor: pointer; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="spot221531" style="margin-left: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;"&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Outside of the Case, cont." galleryimg="NO" src="http://www.instructables.com/image/FM187FFGBB7G8GR/Building-the-Outside-of-the-Case-cont.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Outside of the Case, cont." src="http://www.instructables.com/files/deriv/FCD/67E9/GBB7G8GQ/FCD67E9GBB7G8GQ.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Outside of the Case, cont." src="http://www.instructables.com/files/deriv/F0O/SIE1/GBB7G8GS/F0OSIE1GBB7G8GS.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Outside of the Case, cont." src="http://www.instructables.com/files/deriv/FD3/EAB7/GBB7G8GN/FD3EAB7GBB7G8GN.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Outside of the Case, cont." src="http://www.instructables.com/files/deriv/FK5/0MMU/GBB7G8GM/FK50MMUGBB7G8GM.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;The wires on the switches lead to a molex connector, so that I can disconnect the switches if I need to remove the hardware.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Building the Outside of the Case, cont." src="http://www.instructables.com/files/deriv/F6E/C693/GBB7G8GL/F6EC693GBB7G8GL.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer"&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;One of the downsides to having a cool slot-loading DVD drive is that you have to cut a slot in your case that is perfectly aligned with your DVD drive. &amp;nbsp;I marked the drive by removing the aluminum from the case, installing the frame with the DVD drive, and inserting a CD part way into the drive before hand. &amp;nbsp;This lets you see where the CD touches the mahogany, so you can mark it to be cut. &amp;nbsp;The cutting was done with a Dremel. &amp;nbsp;Be very careful when you do this and go very slowly, or it will probably look bad. &amp;nbsp;Finish the slot out by sanding the inside edges.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6555364095586804046&amp;amp;postID=3598769869474827257" name="images" style="cursor: pointer; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="spot221532" style="margin-left: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;"&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="DVD Drive Slot" galleryimg="NO" src="http://www.instructables.com/image/FA0UTDUGBB7G8DL/DVD-Drive-Slot.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="DVD Drive Slot" src="http://www.instructables.com/files/deriv/FML/896J/GBB7G8DK/FML896JGBB7G8DK.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer"&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;The particular motherboard I used only had 2 back panel USB ports, so I decided to mount the wireless card to the internal USB header. &amp;nbsp;I started by stripping the wireless card of its casing, and screwing it into the bottom corner of the aluminum frame. &amp;nbsp;I insulated it with strips of electrical tape along the bottom, and I drilled a slot that served as a hinge for the antenna. &amp;nbsp;I mounted a two port USB panel from the front of an old case next to the wireless card, and connected it to the motherboard's USB header and the wireless card using an extra short USB cable I made.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6555364095586804046&amp;amp;postID=3598769869474827257" name="images" style="cursor: pointer; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="spot221533" style="margin-left: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;"&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Integrating the Wireless Card" galleryimg="NO" src="http://www.instructables.com/image/FZARRYUGBB7G8EF/Integrating-the-Wireless-Card.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Integrating the Wireless Card" src="http://www.instructables.com/files/deriv/FAO/WASQ/GBB7G8ED/FAOWASQGBB7G8ED.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Integrating the Wireless Card" src="http://www.instructables.com/files/deriv/F0R/UCDV/GBB7G8EC/F0RUCDVGBB7G8EC.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Integrating the Wireless Card" src="http://www.instructables.com/files/deriv/FWL/5TJU/GBB7G8EB/FWL5TJUGBB7G8EB.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer"&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;To finish the wood, I chose to use gel varnish, which gives the mahogany a fantastic color. &amp;nbsp;I also sprayed the aluminum with a coat of clear acrylic, which evens out the color and prevents oxidation. &amp;nbsp;This would also be a good time to add rubber feet to the bottom of the case.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6555364095586804046&amp;amp;postID=3598769869474827257" name="images" style="cursor: pointer; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="spot221534" style="margin-left: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;"&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Finishing the Wood and Aluminum" galleryimg="NO" src="http://www.instructables.com/image/FHE2OXNGBB7G8JU/Finishing-the-Wood-and-Aluminum.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Finishing the Wood and Aluminum" src="http://www.instructables.com/files/deriv/F9P/9N4G/GBB7G8JT/F9P9N4GGBB7G8JT.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Finishing the Wood and Aluminum" src="http://www.instructables.com/files/deriv/FQQ/SI8E/GBB7G8JP/FQQSI8EGBB7G8JP.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Finishing the Wood and Aluminum" src="http://www.instructables.com/files/deriv/FET/PMII/GBB7G8JL/FETPMIIGBB7G8JL.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Finishing the Wood and Aluminum" src="http://www.instructables.com/files/deriv/FYM/PB7Q/GBB7G8JK/FYMPB7QGBB7G8JK.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Finishing the Wood and Aluminum" src="http://www.instructables.com/files/deriv/FIB/JVII/GBB7G8JJ/FIBJVIIGBB7G8JJ.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer"&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Install all your hadware into your internal frame, and then install the frame into the case. &amp;nbsp;To attach the DVD and Power switches from the front of the case to the motherboard, I wired the switches to a spare molex connector. &amp;nbsp;This way, whenever I need to remove the hardware, I simply unplug the switches and pull out the frame with the components. &amp;nbsp;I also added a metal lip to the bottom of the frame, so it can screw into the base of the wood and prevent the hardware from sliding out by accident.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6555364095586804046&amp;amp;postID=3598769869474827257" name="images" style="cursor: pointer; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="spot221535" style="margin-left: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;"&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Assembly" galleryimg="NO" src="http://www.instructables.com/image/FM3Y0KDGBB7G8LK/Assembly.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Assembly" src="http://www.instructables.com/files/deriv/FM8/QWKB/GBB7G8LL/FM8QWKBGBB7G8LL.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Assembly" src="http://www.instructables.com/files/deriv/FZJ/FG6M/GBB7G8LJ/FZJFG6MGBB7G8LJ.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Assembly" src="http://www.instructables.com/files/deriv/FLF/P6GS/GBB7G8LI/FLFP6GSGBB7G8LI.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;Final pictures:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Eye Candy" src="http://www.instructables.com/image/FCNG9S0GBB7G8MF/Eye-Candy.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Eye Candy" src="http://www.instructables.com/files/deriv/F46/SRW4/GBB7G8ME/F46SRW4GBB7G8ME.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Eye Candy" src="http://www.instructables.com/files/deriv/F70/S37N/GBB7G8MD/F70S37NGBB7G8MD.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Eye Candy" src="http://www.instructables.com/files/deriv/FQC/8AVJ/GBB7G8MC/FQC8AVJGBB7G8MC.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Eye Candy" src="http://www.instructables.com/files/deriv/FZN/YY8K/GBB7G8MB/FZNYY8KGBB7G8MB.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Eye Candy" src="http://www.instructables.com/files/deriv/FQ4/8HW7/GBB7G8MA/FQ48HW7GBB7G8MA.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Eye Candy" src="http://www.instructables.com/files/deriv/FXW/NBMB/GBB7G8M9/FXWNBMBGBB7G8M9.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Eye Candy" src="http://www.instructables.com/files/deriv/FTQ/9I8N/GBB7G8M8/FTQ9I8NGBB7G8M8.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Eye Candy" src="http://www.instructables.com/files/deriv/F2F/M55F/GBB7G8M7/F2FM55FGBB7G8M7.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sizer" style="text-align: center;"&gt;&lt;div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img alt="Eye Candy" src="http://www.instructables.com/files/deriv/FKS/3H7N/GBB7G8M6/FKS3H7NGBB7G8M6.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;*Update*&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;The hardware has now been upgraded, so streaming playback has been&amp;nbsp;significantly&amp;nbsp;improved.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img height="480" src="http://img828.imageshack.us/img828/6618/p2040489.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img height="480" src="http://img34.imageshack.us/img34/4721/p2040492.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;I had do some modifications to the new optical drive to get it to work. &amp;nbsp;I pulled it out of a macbook, so it did not have any eject button. &amp;nbsp;I opened up the case, and found the pin for ejecting it, and soldered a wire to it to connect to the eject button.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img height="480" src="http://img511.imageshack.us/img511/9447/p2060504.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img height="480" src="http://img209.imageshack.us/img209/8323/p2060517.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img height="480" src="http://img837.imageshack.us/img837/6607/p2060518.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;New hardware installed:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img height="480" src="http://img163.imageshack.us/img163/5782/p2060521.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img height="480" src="http://img200.imageshack.us/img200/2136/p2060522.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #f3f3f3; font-family: inherit;"&gt;&lt;img height="552" src="http://img594.imageshack.us/img594/9352/p2190550.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-3598769869474827257?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/3598769869474827257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2010/07/birch-and-mahogany-home-theater-pc.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/3598769869474827257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/3598769869474827257'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2010/07/birch-and-mahogany-home-theater-pc.html' title='Birch and Mahogany Home Theater PC'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-352115039119573799</id><published>2011-02-13T11:26:00.002-05:00</published><updated>2011-10-14T16:21:01.135-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computers'/><title type='text'>Triple Monitors</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I recently switched GPUs from an HD3650 to a 9800GTX+, and because I also have an old 8500gt, I now have two nVidia cards. &amp;nbsp;This means that in Windows Vista, I can run two video cards (Vista requires the two cards to use the same drivers, but W7 does not). &amp;nbsp;To get the setup working, I had to do some modifications to the 8500gt, as well as build a stand for my monitors, since my desk is too small for three.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="ImageShack, share photos, pictures, free image hosting, free video hosting, image hosting, video hosting, photo image hosting site, video hosting site" height="480" src="http://img714.imageshack.us/img714/80/p2130538.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The first problem was that both my video cards use PCIe X16, and my computer only has 1 x16 slot. &amp;nbsp;Fortunately, it has four x1 slots, and all speeds of the PCIe interface are electrically compatible with each other. &amp;nbsp;But an x16 card will physically not fit in an x1 slot. &amp;nbsp;To get around this, I just cut off the extra pins on the video card. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="PCIe X1" height="479" src="http://www.techspot.com/gallery/data/501/medium/DSCN1305.JPG" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The 8500gt's cooler was also very loud, so I put the passive cooler from my old 3650 on it. &amp;nbsp;The holes in the PCB for mounting the cooler were too small for the push pins the heatsink used, so I had to drill them out to get the cooler to fit.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="ImageShack, share photos, pictures, free image hosting, free video hosting, image hosting, video hosting, photo image hosting site, video hosting site" height="480" src="http://img195.imageshack.us/img195/9606/p2130544.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="ImageShack, share photos, pictures, free image hosting, free video hosting, image hosting, video hosting, photo image hosting site, video hosting site" height="480" src="http://img40.imageshack.us/img40/7224/p2130546.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;To get all the monitors to fit side by side, one of them had to be on my work desk, next to my computer desk. &amp;nbsp;The work desk is about three inches higher than the computer desk, so I built a stand for the monitors that extends my computer desk and doubles as a storage unit for disks.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="ImageShack, share photos, pictures, free image hosting, free video hosting, image hosting, video hosting, photo image hosting site, video hosting site" height="480" src="http://img717.imageshack.us/img717/4176/p2130539.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="ImageShack, share photos, pictures, free image hosting, free video hosting, image hosting, video hosting, photo image hosting site, video hosting site" height="480" src="http://img404.imageshack.us/img404/9448/p2130540.jpg" width="640" /&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="ImageShack, share photos, pictures, free image hosting, free video hosting, image hosting, video hosting, photo image hosting site, video hosting site" height="640" src="http://img148.imageshack.us/img148/1186/p2130537.jpg" width="480" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="ImageShack, share photos, pictures, free image hosting, free video hosting, image hosting, video hosting, photo image hosting site, video hosting site" height="480" src="http://img200.imageshack.us/img200/6265/p2130547.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Now, why would I want three monitors, besides the awesome-factor? &amp;nbsp;Here is one example: &amp;nbsp;I can have a Photoshop window in full screen on my center monitor, have all the tools open on the right monitor, and have a browser window open on the third. &amp;nbsp;This setup gives me a total resolution of&amp;nbsp;&lt;span class="Apple-style-span" style="line-height: 14px;"&gt;4224 x 1080.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img height="163" src="http://img513.imageshack.us/img513/9241/monitorsb.jpg" width="640" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-352115039119573799?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/352115039119573799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2011/02/triple-monitors.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/352115039119573799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/352115039119573799'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2011/02/triple-monitors.html' title='Triple Monitors'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-5025557000733611783</id><published>2011-01-15T17:18:00.002-05:00</published><updated>2011-04-17T10:38:39.731-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Artillery Game</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;This is a basic artillery game I wrote in python. &amp;nbsp;There are still some minor issues I need to fix, but it works and is playable. &amp;nbsp;It includes wind, movement, and variable-height terrain.&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_PnQYn-snRf8/TTIcDJ4GFUI/AAAAAAAAAKo/d1TuRVhImqY/s1600/artillery.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="537" src="http://1.bp.blogspot.com/_PnQYn-snRf8/TTIcDJ4GFUI/AAAAAAAAAKo/d1TuRVhImqY/s640/artillery.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;Here is the code:&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;from tkinter import *&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;from sys import getfilesystemencoding&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;import time&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;import random&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;import math&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;height = 600&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;width = 800&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;global t, Vo, P1Vo, P2Vo, P1A, P2A, counter,wind,active&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;Vo=0&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;t=0&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;Angle=0&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;counter=2&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;P1Vo=0&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;P1A=0&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;P2Vo=0&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;P2A=0&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;wind=0&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;active=False&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;##&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;def windspeed():&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; global wind&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; x=0&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; for i in range(4):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;x+=random.randint(-20,20)&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; wind=x//4&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; return wind&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;canvas = Canvas(highlightthickness=0, height=height, width=width, )&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;canvas.master.title("Artillery")&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;if getfilesystemencoding() == 'utf-8': &amp;nbsp; &amp;nbsp; &amp;nbsp; # only for mac&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; canvas.master.call('console', 'hide')&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;canvas.pack()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;canvas.create_rectangle(0,600,800,590,fill='green', outline='green', tag = 'ground')&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;class missile():&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; "blows junk up"&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; def __init__(self,power=Vo,angle=Angle, start=0,y=590, direction='right'):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;global t&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.power=power&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.angle=angle&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.x=start&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.y=y&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.d=direction&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.id = canvas.create_oval(self.x,self.y,self.x+5,self.y-5,fill='red')&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; def trajectory(self,start, starty):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;"calculates the position of the missile"&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;global t&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;#canvas.coords(self.id,self.x,self.y,self.x+5,self.y-5)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;#canvas.create_oval(self.x,self.y,self.x+1,self.y-1)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if self.d=='right':&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.x=int((self.power*t*math.cos(self.angle))//1)+start&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;else:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.x=int(-((self.power*t*math.cos(self.angle))//1))+start&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.y=int((-(((-9.8*(t**2))//2) + (self.power*math.sin(self.angle)*t)//1))+starty)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.coords(self.id,self.x,self.y,self.x+5,self.y-5)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;t+=.005&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;class tank():&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; "shoots some missiles"&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; def __init__(self, pos=50,health=100,movement=100, side=10,):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.pos=pos&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.side=side&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.health=health&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.pic=canvas.create_rectangle(self.pos, 590, self.pos+20, 580)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.display_health()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.movement=movement&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.display=canvas.create_text(self.side+50, 50, text=(self.movement))&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.barrel_r()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; def display_health(self):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;"displays the tank's health bar"&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.x=canvas. create_rectangle(self.side, 20, self.side+self.health, 23, fill='red')&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; def move_left(self):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;global Angle&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.coords(self.pic, self.pos-2, 590, self.pos+18, 580)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.update()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.movement-=1&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.pos-=2&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;a_up(Angle/.0174532925)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.display_mov()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; def move_right(self):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.coords(self.pic, self.pos+2, 590, self.pos+22, 580)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.update()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.movement-=1&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.pos+=2&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;a_up(Angle/.0174532925)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.display_mov()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; def display_mov(self):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;"displays the amount of movement left"&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.delete(self.display)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.display=canvas.create_text(self.side+50, 50, text=(self.movement))&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; def barrel_r(self):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;global Angle&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.b=canvas.create_line(self.pos+10, 580, 15*math.cos(Angle)+self.pos+10, 580- 15*math.sin(Angle))&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.tip=(15*math.cos(Angle)+self.pos+10)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.y=(580- 15*math.sin(Angle))&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.update()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; def barrel_l(self):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;global Angle&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.b=canvas.create_line(self.pos+10, 580, 15*math.cos(Angle-(math.pi))+self.pos+10, 580- 15*math.sin(Angle))&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.tip=(15*math.cos(Angle-(math.pi))+self.pos+10)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.y=(580- 15*math.sin(Angle))&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.update()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;class terrain():&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; "a hill that is placed in the middle of the map"&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; def __init__(self):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;height=random.randint(50,600)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;self.shape=canvas.create_polygon(100, 600+height, 250, 200+height, 300, 250+height,400, 0+height, 700, 600+height, fill='green')&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;hill=terrain()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;wind=windspeed()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;z=canvas.create_text(400,20,text=('Wind Speed: %.2d') %(wind))&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;tank1=tank()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;tank2=tank(pos=720, side=690)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;def shoot(tank, p, a):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; "animates the missile, along with lots of other stuff"&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; global t,counter, P1Vo, P2Vo, P1A, P2A, Angle, Vo, tank1, tank2,wind,z,active,text, hill&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; active=True&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; if counter %2 ==0:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;tank=tank2&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;target=tank1&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; else:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;tank=tank1&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;target=tank2 &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; if tank==tank1:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;d='right'&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; else:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;d='left'&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; x=missile(power=p,angle=a,start=tank.tip+1, y=tank.y-3, direction=d)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; while True:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;x.x+=int((wind*t**2)/5)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;x.trajectory(start=tank.tip, starty=tank.y)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;hit=target.pos&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (hit&amp;lt;= x.x &amp;lt;= hit+20) and 590&amp;gt;=x.y&amp;gt;=580:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; target.health-=20&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print (target.health)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; t=0&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; canvas.delete(x.id)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; counter+=1&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tag=target.x&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; canvas.delete(tag)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; target.display_health()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if target.health==0:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if target==tank1:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; player='Player 1'&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; player='Player 2'&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;text=canvas.create_text(400,300, text=("%s wins") % (player))&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.update()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;elif x.y&amp;gt;600 or x.x&amp;gt;800 or x.x&amp;lt;0:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; t=0&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; canvas.delete(x.id)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; counter+=1&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;elif hill.shape in (canvas.find_overlapping(x.x, x.y, x.x+5, x.y-5)):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; canvas.delete(x.id)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; t=0&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; counter+=1&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;time.sleep(.001):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.update()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; if counter % 2 == 0:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;p_adjuster.set(P1Vo)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;a_adjuster.set(P1A/.0174532925)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; else:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;p_adjuster.set(P2Vo)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;a_adjuster.set(P2A/.0174532925)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; wind=windspeed()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; canvas.delete(z)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; z=canvas.create_text(400,20,text=('Wind Speed: %.2d') %(wind))&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; active=False&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;def keypress(event):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; global tank1, Vo, Angle, counter, P1A, P2A, P1Vo, P2Vo,active&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; if not active:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if event.keysym=="space":&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if counter % 2 == 0:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Angle=P1A&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Vo=P1Vo&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Angle=P2A&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Vo=P2Vo&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; shoot(tank1, Vo, Angle)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; if event.keysym=='Right':&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if counter %2 ==0:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tank=tank2&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;else:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tank=tank1&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if tank.movement &amp;gt; 0 and tank.pos&amp;lt;778:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tank.move_right()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;else:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pass&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; elif event.keysym=='Left':&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if counter %2 ==0:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tank=tank2&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;else:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tank=tank1&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if tank.movement &amp;gt; 0 and 0&amp;lt;tank.pos:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tank.move_left()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;else:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pass&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;def retry(event):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; global &amp;nbsp;tank1, tank2,text,counter, P1Vo, P2Vo, P1A, P2A, hill&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; counter=2&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; canvas.delete(text)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; canvas.delete(tank1.pic)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; canvas.delete(tank2.pic)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; canvas.delete(tank1.b)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; canvas.delete(tank2.b)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; canvas.delete(tank1.x)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; canvas.delete(tank2.x)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; canvas.delete(tank1.display)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; canvas.delete(tank2.display)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; canvas.delete(hill.shape)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; hill=terrain()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; P1Vo, P2Vo, P1A, P2A=0, 0, 0, 0&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; tank1.health=100&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; tank2.health=100&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; tank1=tank()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; tank2=tank(pos=720, side=690)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; p_adjuster.set(0)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; a_adjuster.set(0)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;def p_up(x):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; global Vo, Angle,counter, P1Vo, P2Vo&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; if counter % 2 == 0:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; P1Vo=int(x)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Vo=P1Vo&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; else:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; P2Vo=int(x)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Vo=P2Vo&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;def a_up(x):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; global Vo,Angle,counter, P1A, P2A, tank1, tank2&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; if counter % 2 == 0:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; P1A=int(x)*.0174532925&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Angle=P1A&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tank=tank2&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; canvas.delete(tank.b)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tank.barrel_l()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; else:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; P2A=int(x)*.0174532925&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Angle=P2A&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tank=tank1&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; canvas.delete(tank.b)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tank.barrel_r()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;p_adjuster = Scale(canvas.master, length=400, orient=HORIZONTAL, command=p_up, from_=0, to=200, label="Power")&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;p_adjuster.pack(side=LEFT)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;a_adjuster = Scale(canvas.master, length=400, orient=HORIZONTAL, command=a_up, from_=0, to=90, label = "Angle" )&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;a_adjuster.pack(side=RIGHT)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;x&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;canvas.master.bind("&amp;lt;Key&amp;gt;", keypress)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;canvas.master.bind("&amp;lt;Key-Return&amp;gt;", retry)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;####&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;canvas.mainloop()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;In order to run the game at a reasonable speed, it may be necessary to adjust the numbers in line 64:&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;"t+=.005"&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;or line 183:&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;"time.sleep(.001):"&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;To play, you can move your tank with the arrow keys, and press space bar to fire. &amp;nbsp;Power and angle are adjusted with the sliders.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-5025557000733611783?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/5025557000733611783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2011/01/artillery-game.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/5025557000733611783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/5025557000733611783'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2011/01/artillery-game.html' title='Artillery Game'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_PnQYn-snRf8/TTIcDJ4GFUI/AAAAAAAAAKo/d1TuRVhImqY/s72-c/artillery.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-5073196588875934236</id><published>2010-12-30T11:48:00.001-05:00</published><updated>2011-04-17T10:38:54.241-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Animation'/><title type='text'>Christmas White-board Animation</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;This video is my first attempt at stop-motion animation using a white board. &amp;nbsp;The process is very simple: all you have to do to animate your characters is redraw them in a a new position over the old drawing, and then erase away the old drawing with your finger. &amp;nbsp;The video was shot using a gorilla pod tripod, which is why the frame shifts slightly.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Ru8Bqa1SIEA?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Ru8Bqa1SIEA?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-5073196588875934236?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/5073196588875934236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2010/12/christmas-white-board-animation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/5073196588875934236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/5073196588875934236'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2010/12/christmas-white-board-animation.html' title='Christmas White-board Animation'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-796863286565054475</id><published>2010-11-26T13:37:00.006-05:00</published><updated>2011-04-17T10:39:09.603-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mechanical'/><title type='text'>World's Smallest Milling Machine</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I was talking to a fellow member of my school's robotics team, and we got to thinking that we should build ourselves a CNC mill to machine custom parts with. &amp;nbsp;While doing some research, I came across and Instructable called &lt;span class="Apple-style-span" style="color: white;"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.instructables.com/id/Make-a-mini-milling-machine/" style="cursor: pointer; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;How to make a mini milling machine- manual or CNC!&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: white;"&gt;."&lt;/span&gt; &amp;nbsp;The design of this particular machine is very good for a small scale milling machine, and I got to thinking I could scale it down even farther- much farther. &amp;nbsp;This project is the result.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;This project is entered in a few contests on Instructables.com. &amp;nbsp;You can vote for me in the first contest here, in the top left corner:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;a href="http://www.instructables.com/id/Worlds-Smallest-Milling-Machine/"&gt;http://www.instructables.com/id/Worlds-Smallest-Milling-Machine/&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="World\" src="http://www.instructables.com/image/FPGZJ0YGGPEY1OD/Worlds-Smallest-Milling-Machine.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;It really does not take much in the way of materials to build this. &amp;nbsp;Here are the tools and materials I used.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Square dowels- lots of them, a few different sizes helps&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;1/8" plywood. &amp;nbsp;Mine is marine mahogany, because I have some scraps of it.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Furniture&amp;nbsp;nails- use anything thicker and the wood will split almost every time&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Wood glue&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Drill with lots of small bits&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Brass tubing&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Stainless steel axles- these can be taken from RC cars&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;3 long bolts and twice as many nuts&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Dremel tool with flexible shaft attachment.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Saw&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Box cutter- for cutting the brass tubing&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Wood carving knife&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;"U" screws with bolts&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Pliers&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Axles:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Materials" src="http://www.instructables.com/image/F1VBJUHGGPF3XNI/Materials.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;In this mill design, the base of the mill contains the Y axis. &amp;nbsp;To approximately match the length of the axles, I made the base 3.25" square. &amp;nbsp;To make the rails for the platform to slide on, I drilled 4 holes through opposite sides so that the axles fit&amp;nbsp;parallel&amp;nbsp;to each other at the same height. &amp;nbsp;All the joints are both nailed and glued in place.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Building the Base" src="http://www.instructables.com/image/F9TJZOKGGPF3Y1L/Building-the-Base.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The next platform up contains the X axis. &amp;nbsp;It is constructed similarly to the base, but with dimensions of 1.25" by 2.75", and the rails are raised up. &amp;nbsp;On the base of this level, two sockets are fixed that slide on the rails of the base. &amp;nbsp;The sockets are short segments of dowel which have been drilled out and have a piece of brass tubing in them.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Level Up" src="http://www.instructables.com/image/FZ4SYQWGGPFBKNY/Level-Up.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The sliding bits are made up of these two pieces:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Level Up" src="http://www.instructables.com/files/deriv/FHI/AXKV/GGPEY2PA/FHIAXKVGGPEY2PA.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Level Up" src="http://www.instructables.com/files/deriv/F33/38BC/GGPF3Y2T/F3338BCGGPF3Y2T.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The two platforms attached to each other:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Level Up" src="http://www.instructables.com/files/deriv/FN4/MOO6/GGPFBKO1/FN4MOO6GGPFBKO1.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Level Up" src="http://www.instructables.com/files/deriv/F7H/YMMW/GGPETJ2K/F7HYMMWGGPETJ2K.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Level Up" src="http://www.instructables.com/files/deriv/FBY/ER8V/GGPETJ2S/FBYER8VGGPETJ2S.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The next step is to build the milling platform. &amp;nbsp;The platform is the part of the mill that whatever you are milling is fixed to. &amp;nbsp;I estimated the range of motion of the mill, and cut a platform to the corresponding size out of mahogany plywood. &amp;nbsp;Onto the bottom, I fixed sockets that slide on the rails of the second platform.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Building the Platform" src="http://www.instructables.com/image/FQW2XFRGGPF3Y4E/Building-the-Platform.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Building the Platform" src="http://www.instructables.com/files/deriv/FRC/TDA1/GGPFBKQ7/FRCTDA1GGPFBKQ7.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Building the Platform" src="http://www.instructables.com/files/deriv/FGU/3QXB/GGPEY2RB/FGU3QXBGGPEY2RB.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Building the Platform" src="http://www.instructables.com/files/deriv/FQO/HFE2/GGPEY2RC/FQOHFE2GGPEY2RC.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The next step is to build the tower to hold the motorized part of the mill (in this case a Dremel flex shaft) and contains the Z axis. &amp;nbsp;This was once again built with square wooden dowels. &amp;nbsp;Unfortunately, I ran out of stainless steel axles, so I used some thiner brass tubing instead. &amp;nbsp;It is very important that the tower extends the right amount outwards, or the milling bit will not be able to cover all of the platform. &amp;nbsp;With this design, the bit has to be a little in front of the center of the base.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The original design:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Building the Tower" src="http://www.instructables.com/image/FO7JPPZGGPETJ6R/Building-the-Tower.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Building the Tower" src="http://www.instructables.com/files/deriv/FL2/7Y3Z/GGPFBKSB/FL27Y3ZGGPFBKSB.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The next step is to build the part of the tower that will actually move up and down, and will hold the dremel. &amp;nbsp;The base of this part is made up of more plywood. &amp;nbsp;I added two segments of dowel down the middle and carved their corners out to fit the contours of the dremel attachment. &amp;nbsp;On the back of the piece, I fitted two more sockets to slide on the rails of the tower.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Building the Tower, cont." src="http://www.instructables.com/image/F4K8V9TGGPETJ7F/Building-the-Tower-cont.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Building the Tower, cont." src="http://www.instructables.com/files/deriv/FW1/H1BO/GGPEY2RT/FW1H1BOGGPEY2RT.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Building the Tower, cont." src="http://www.instructables.com/files/deriv/FHU/HXVO/GGPETJ7M/FHUHXVOGGPETJ7M.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;In order to make the platform and milling bit actually move, I had to add lots of threads. &amp;nbsp;In the base of each moving part, between the two rails, I fixed a set of nuts that a long bolt fits through. &amp;nbsp;If the bolt is held in place and turned, the platform moves forward or backward depending on the direction you turn the screw. &amp;nbsp;The end of each bolt was fixed with a locknut and a piece of wood to stop it from moving. &amp;nbsp;It is critical that the nuts are lined up perfectly perpendicular to the rails, or when the bolt passes through them it will not be&amp;nbsp;parallel, which will cause problems when the platform moves.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Adding the Movement" src="http://www.instructables.com/image/FSUKWHHGGPFBKVV/Adding-the-Movement.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Adding the Movement" src="http://www.instructables.com/files/deriv/F1M/FFDT/GGPETJ86/F1MFFDTGGPETJ86.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Adding the Movement" src="http://www.instructables.com/files/deriv/F5O/ML0B/GGPEY2SY/F5OML0BGGPEY2SY.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Adding the Movement" src="http://www.instructables.com/files/deriv/FFF/JJRN/GGPEY2SF/FFFJJRNGGPEY2SF.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Platform:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Adding the Movement" src="http://www.instructables.com/files/deriv/FPL/J2HI/GGPETJ8E/FPLJ2HIGGPETJ8E.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Assembled:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Adding the Movement" src="http://www.instructables.com/files/deriv/FEC/WDI3/GGPETJ8W/FECWDI3GGPETJ8W.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Adding the Movement" src="http://www.instructables.com/files/deriv/FYV/WK3I/GGPF3YBW/FYVWK3IGGPF3YBW.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Stops:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Adding the Movement" src="http://www.instructables.com/files/deriv/FC3/V5SS/GGPEY2TU/FC3V5SSGGPEY2TU.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I mounted the Dremel attachment to the mill using "U" shaped bolts and some perforated aluminum. &amp;nbsp;In order to not block the rails, the lower U bolt was bent at a 90 degree angle, and the threads protrude forwards instead of backwards like the first. &amp;nbsp;I bent a piece of perforated aluminum to fit around the Dremel and hold it in place when bolted down.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Mounting the Dremel to the Tower" src="http://www.instructables.com/image/F5W8WDIGGPF3YF1/Mounting-the-Dremel-to-the-Tower.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Mounting the Dremel to the Tower" src="http://www.instructables.com/files/deriv/F97/5HDU/GGPETJJ4/F975HDUGGPETJJ4.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Mounting the Dremel to the Tower" src="http://www.instructables.com/files/deriv/F60/65IJ/GGPEY2VN/F6065IJGGPEY2VN.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Mills tend to work better when they are fully assembled, so I had to find a way to sturdily fix the tower to the base of the mill. &amp;nbsp;I started out by simply nailing and&amp;nbsp;gluing&amp;nbsp;it to the base, but this proved to be fairly flimsy, so I built a larger base and triangular supports for the tower. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Attaching the Tower" src="http://www.instructables.com/image/FKLE8IVGGPF3YFM/Attaching-the-Tower.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Attaching the Tower" src="http://www.instructables.com/files/deriv/FWX/W39G/GGPF3YFP/FWXW39GGGPF3YFP.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;To actually use the mill, will need to mount whatever you are milling to the milling platform. &amp;nbsp;I accomplished this with very small wood screws. &amp;nbsp;Obviously, this will not work with any material more&amp;nbsp;substantial&amp;nbsp;with wood, but past that point the entire mill would probably break, so it is not really an issue. &amp;nbsp;It is helpful to hang your dremel up above the mill while using it, so that the weight of the flex shaft does not tip the mill over. &amp;nbsp;I have a loft bed, which makes hanging it above my desk very easy.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Setup and Final Pictures" src="http://www.instructables.com/image/FJHY4OTGGPETJMP/Setup-and-Final-Pictures.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Setup and Final Pictures" src="http://www.instructables.com/image/FJHY4OTGGPETJMP/Setup-and-Final-Pictures.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Setup and Final Pictures" src="http://www.instructables.com/files/deriv/FQI/29BW/GGPETJNS/FQI29BWGGPETJNS.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Setup and Final Pictures" src="http://www.instructables.com/files/deriv/F8D/STYW/GGPETJNZ/F8DSTYWGGPETJNZ.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Test piece screwed into the milling platform:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Setup and Final Pictures" src="http://www.instructables.com/files/deriv/F2A/FMFF/GGPETJO7/F2AFMFFGGPETJO7.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Setup and Final Pictures" src="http://www.instructables.com/files/deriv/FTH/P83U/GGPFBL4B/FTHP83UGGPFBL4B.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Setup and Final Pictures" src="http://www.instructables.com/files/deriv/F1Z/LK1K/GGPF3YID/F1ZLK1KGGPF3YID.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Setup and Final Pictures" src="http://www.instructables.com/files/deriv/FJ1/8ZS5/GGPF3YIM/FJ18ZS5GGPF3YIM.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Setup and Final Pictures" src="http://www.instructables.com/files/deriv/F4U/EMQ5/GGPEY2ZD/F4UEMQ5GGPEY2ZD.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Setup and Final Pictures" src="http://www.instructables.com/files/deriv/FOJ/F6CV/GGPFBL52/FOJF6CVGGPFBL52.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Setup and Final Pictures" src="http://www.instructables.com/files/deriv/FY4/5WOK/GGPEY2ZG/FY45WOKGGPEY2ZG.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;img alt="Setup and Final Pictures" src="http://www.instructables.com/files/deriv/F37/JFO7/GGPF3YJY/F37JFO7GGPF3YJY.MEDIUM.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="txt" style="margin-bottom: 5px; margin-left: 2px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;img alt="Setup and Final Pictures" src="http://www.instructables.com/files/deriv/F7W/8UZ7/GGPF3YK1/F7W8UZ7GGPF3YK1.MEDIUM.jpg" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6555364095586804046&amp;amp;postID=796863286565054475" name="images" style="color: #ff5200; cursor: pointer; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="image-spot" id="spot768203" style="color: #333333; font-family: arial, helvetica, sans-serif; font-size: 12px; margin-left: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, sans-serif; font-size: 12px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6555364095586804046&amp;amp;postID=796863286565054475" name="images" style="color: #ff5200; cursor: pointer; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="image-spot" id="spot766003" style="color: #333333; font-family: arial, helvetica, sans-serif; font-size: 12px; margin-left: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, sans-serif; font-size: 12px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6555364095586804046&amp;amp;postID=796863286565054475" name="images" style="color: #ff5200; cursor: pointer; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="image-spot" id="spot766000" style="color: #333333; font-family: arial, helvetica, sans-serif; font-size: 12px; margin-left: 2px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6555364095586804046-796863286565054475?l=build-its.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://build-its.blogspot.com/feeds/796863286565054475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://build-its.blogspot.com/2010/11/worlds-smallest-milling-machine.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/796863286565054475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6555364095586804046/posts/default/796863286565054475'/><link rel='alternate' type='text/html' href='http://build-its.blogspot.com/2010/11/worlds-smallest-milling-machine.html' title='World&apos;s Smallest Milling Machine'/><author><name>Ben Katz</name><uri>http://www.blogger.com/profile/15816221191617788028</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6555364095586804046.post-6981241136343532549</id><published>2010-11-06T10:44:00.021-04:00</published><updated>2011-04-17T10:39:41.495-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computers'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Python Game and Cipher</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;I wrote this simple game in Python using the tkinter graphics module. &amp;nbsp;This is my first attempt at writing a game, so it is very basic but (hopefully) entertaining at the same time.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://img59.imageshack.us/img59/9446/pygame.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://img59.imageshack.us/img59/9446/pygame.jpg" width="573" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;You are the R2D2 robot, and you dodge the falling stars. &amp;nbsp;Your score is judged by the number of stars that fall before you die, and there are three different difficulty settings. &amp;nbsp;The speed at which stars fall is determined by their size; the larger the star, the faster it falls. &amp;nbsp;When you lose, your high score is saved to a text file so that you can keep your scores when you quit the game. &amp;nbsp;If you would like to run the game or modify the code,&lt;a href="http://www.python.org/"&gt; you can download Python from here.&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;Here is the code for the game:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div helvetica,="" sans-serif;width:127px;font-color:#44a854;=""&gt;&lt;div style="text-align: center;"&gt;&lt;code&gt; &lt;/code&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;code&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: left;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;from tkinter import *&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;from sys import getfilesystemencoding&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;import time&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;import random&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;height = 700&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;width = 700&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;movement=0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;pos=0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;size=0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;score=0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;canvas = Canvas(highlightthickness=0, height=height, width=width)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;canvas.master.title("Falling Stars")&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;if getfilesystemencoding() == 'utf-8': &amp;nbsp; &amp;nbsp; &amp;nbsp; # only for mac&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; canvas.master.call('console', 'hide')&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;canvas.pack()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;pic = PhotoImage(width=width, height=height)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;canvas.create_image(0,0,image=pic,anchor=NW)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;canvas.create_rectangle(0,0,height,width,fill='black')&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;floor=canvas.create_rectangle(0,700,700,671,fill='brown',tag='ground')&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;density=12&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;def easy():&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; global density&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; density=20&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; return density&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;def medium():&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; global density&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; density=8&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; return density&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;def hard():&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; global density&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; density=5&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; return density&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;easy=Button(canvas.master, text='Easy', command=easy)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;easy.pack()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;medium=Button(canvas.master, text='Medium',command=medium)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;medium.pack()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;hard=Button(canvas.master, text='Hard',command=hard)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;hard.pack()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;global r2,character&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;r2=PhotoImage(file='right.gif')&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;r2R=PhotoImage(file='right.gif')&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;r2L=PhotoImage(file='left.gif')&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;character=canvas.create_image(370,636, image=r2,tag='character')&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;def game():&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; global pos,movement,character,size,lose,star,lose_screen,density,score,r2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; pos=350&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; count=0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; print_score=0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; score=0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; while True:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;x = (random.randint(0,width))&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;y = (random.randint(0,height))&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;z= random.randint(1,15)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if z&amp;lt;5:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; size='large'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;elif 4&amp;lt;z&amp;lt;10:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; size='medium'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;elif 11&amp;lt;z:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; size='small'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if count%density==0:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; star=canvas.create_polygon(x,-200+(75//z), x+(200//z),-200+(75//z),x+(40//z),-200+(200//z),x+(100//z),-200,x+(170//z),-200+(200//z),x,-200+(75//z),fill='grey',outline='grey',tag=size)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; score=score+1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if star-320&amp;gt;4:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; canvas.delete(star-320)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.move('small',0,6)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.move('medium',0,10)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.move('large',0,15)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;count=count+1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.delete(print_score)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;print_score=canvas.create_text(350,15,text=("Score:",score),fill='blue',)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.tag_raise('ground',star)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if pos&amp;gt;=680:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pos=0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;elif pos&amp;lt;=0:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pos=680&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.coords('character',pos+20,636)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;pos=pos+movement&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;lose=str(canvas.find_overlapping(pos,670,pos+40,604))&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if lose!= '(1, 2, 4)':&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; canvas.create_rectangle(0,0,700,700,fill='green')&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; canvas.create_text(350,350,text='You Lose', fill='black')&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; canvas.create_text(350,370,text='Press Enter to try again', fill='black')&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; canvas.create_text(350,390,text=("Your score was",score), fill='black')&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; f = open("high_score_h.txt", "r")&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string = f.read()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hscore=(int(string))&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; finally:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;f.close()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; except IOError:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pass&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if score&amp;gt;hscore:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;f = open("high_score_h.txt", "w")&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;f.write(str(score))&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;finally:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;f.close()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;except IOError:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pass&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; f = open("high_score_h.txt", "r")&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string = f.read()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hscore=(int(string))&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; finally:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;f.close()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; except IOError:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pass&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; canvas.create_text(350,410,text=("Your high score is",hscore), fill='black')&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;time.sleep(.01)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.update()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;def retry(event):&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; x=list(canvas.find_all())&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; for item in x:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if item&amp;gt;4:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; canvas.delete(item)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; game()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;def keypress(event):&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; global &amp;nbsp;movement,pos, restart,r2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; if (event.keysym=='d' or event.keysym=='Right'):&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;movement=7&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;r2=PhotoImage(file='right.gif')&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.itemconfigure('character', image=r2)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; elif (event.keysym=='a' or event.keysym=='Left'):&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;movement=-7&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;r2=PhotoImage(file='left.gif')&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;canvas.itemconfigure('character', image=r2)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;def keyrelease(event):&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&amp;nbsp;&amp;nbsp; global movement&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family:
