Most Recent Update

November 23, 2011

Retro Rechargeable USB Booster

This project started when I found a 7805 voltage regulator when I was searching through old circuit board for useful parts to scavenge.  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.

Retro Rechargeable USB Booster

October 30, 2011

Shellback Dinghy

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.  We made very slow progress on the boat after that, and it is only now finished.  The boat is made out of marine mahogany plywood, and it is just over 11 feet long.  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.

September 22, 2011

iMac Mini

I started this project because I had a small pile of Macbook laptops and white iMacs in various states of functionality.  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.  The keyboard header on the motherboard was missing, so I had no way to use it in a laptop.  I decided to build a miniature iMac-like computer out of the parts I had.  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.  It was still a fun project though.

August 29, 2011

Tree Climbing Robot

After I got comfortable programming and building with an Arduino, I used my newly acquire microcontroller skills to build a robot.  Using a microcontroller, four high-torque DC gear motors, spiked legs, a linear actuator, rotation sensors, and 3 L298 H-bridge circuits, this robot can climb up trees of varying diameter.  The very long build log follows.

The robot in action:

August 16, 2011

Predator-Prey Simulation

Since I started programming, I have thought it would be interesting to attempt to approximate life within a computer program.  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.  

What my final program does is create a virtual Petri dish with two types of cells in it: predator cells and prey cells.  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.  If the predators do not eat for a long time, they die of starvation.  As the cells move in the simulation, the also replicate.  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.  However, as the cells replicate, there is a small chance that the child cells "mutate."  In other words, one or both of their attributes has a slightly different value than the parent cell's attributes.  These random mutations allow for natural selection to occur within the simulation, provided it runs for long enough.  The most effective predators will survive the longest, and therefore produce the most offspring, so their desirable attributes proliferate.  The same applies to prey cells that can escape most easily.  As the simulation runs, it outputs the average attributes of all of each type of cell to a text file at regular intervals.  If the simulation is run for a long period of time, these values can be evaluated, and one can see if natural selection occurred or not, on average.

More Blacksmithing

I spent another 4 days blacksmithing, and came up with this:

I mostly made up the piece as I went along.  The entire thing can be taken apart and put together without any fasteners, and there are close-up pictures after the break:

June 25, 2011

Dual L298HN Motor Driver

I built this motor controller to power the motors for an Arduino-controlled robot I am working on.  It uses 2 L298HN dual full-bridge chips, each of which is capable of powering 2 DC motors at 2A each, with bidirectional control.  You can get up to 3 of the L298HN chips for free from the ST website.  The rest of the parts needed are as follows:

June 23, 2011

GUI Controlled LED Matrix

I recently got an Arduino Uno, and it quickly became my favorite toy.  After learning the basics of how the platform operates, I became interested in interfacing the Arduino with personal computers.  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.  

June 5, 2011

Useless Machines

I built three "Useless Machines" within the last few months, and here are two of them.  I made one for my younger sister to decorate and give to her science teacher, and the other out of leftover parts I had.  The circuits of both have been modified from the standard circuit to include an LED strip.  The LED's are wired through the bumper switch, so they only light up when the box is open and the arm is moving.

April 17, 2011

How to Fit Your PC in a Power Mac G5 Case

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.

April 1, 2011

Bench PSU

This is a bench-top power supply built to power my various electronics projects.  It is built from a PC Power and Cooling Silencer 470 watt PSU.

February 19, 2011

Birch and Mahogany Home Theater PC

This is a home theater PC I built from mostly spare parts.  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.

Build a Birch and Mahogany Home Theater PC

February 13, 2011

Triple Monitors

I recently switched GPUs from an HD3650 to a 9800GTX+, and because I also have an old 8500gt, I now have two nVidia cards.  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).  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.

January 15, 2011

Artillery Game

This is a basic artillery game I wrote in python.  There are still some minor issues I need to fix, but it works and is playable.  It includes wind, movement, and variable-height (but not shape) terrain.