Tuesday, April 05, 2011

I've been away from my usual experiments for quite a while. But I have still been busy. For the whole summer and most of the fall, I decided to do repairs and organization on my workshop. So here's some of the stuff I did:

Shop Roof Repair
A couple of years ago the roof of my shop build got a small leak in it. At the time I didn't do anything about it so it kept getting worse until there was quite a bit of wood rot and water damage to the both the roof and to the floor boards. I started looking into what would be required to re-shingle the roof and I discovered that they had built the roof wrong from the beginning. Basically the roof didn't have enough slope and so water would pool on the virtually flat surface, which is what lead to the water damage to begin with. So rather than just re-shinle the roof and probably have to deal with the same probelm again later, I re-framed the entire roof. I first drew up the design in Sketchup, and I added a couple of new feature such as cross-rafter supports and under-eave vents. With the help of a friend I tore the old roof down to the top-plate of the building. I then built a new frame and put on new shingles. I researched how to do all this using several books on building sheds that I checked out from the library.

I made a huge mistake in doing this in the middle of summer, but in the end I got it done despite the opressive Texas heat. The week or two after I got it finished we had an almost biblical rain storm that lasted for several days, and the roof stood up to the pummeling without a leak. The shop is now a much better place to work without the nasty rotting roof and the fresh air that comes in through the new vents.

Other Shop Repairs
Since the roof turned out so well I thought I'd make a few more improvements. The floor had sustained some damage from all the water coming in through the leaky roof so I replaced a floor board that had rotted out. I also rebuilt part of the door frame that had rotted out by machining down a 2x4 to the exact dimensions of the rotted area.

The floor of the shop is wood that had been painted with some epoxy floor paint (like the stuff you'd paint a garage floor with), so I put a fresh coat of paint on the floor. I had also just had the exterior of my house painted, so I used the leftover paint to paint the outside of the shop so it matched the house.

Parts Database
I have a pretty extensive inventory of electronic parts, so extensive in fact that I often lost track of what parts I had. On several occasions I had purchased the same part several times, not realizing that I already owned what I needed. So I set out to create a parts database to prevent that from happening again.

I decided on going with a web-based approach for two reasons: 1) This application would be an excuse to learn some web technology that I just haven't bothered to learn in the past, 2) a decent web page seemed like the perfect solution for an application that needed search functionality and data storage, and 3) it would be nice to be able to host this web page such that it would be accessible to me anywhere in the world.

I didn't want to start from scratch if I didn't have to so I did a little research and found a simple parts database that had been created for a Circuit Cellar article. The database was written in PHP and used MySQL for the database portion. This site wasn't a perfect fit, so I heavily modified it to have a hierarchical category system using XML to specify the hierarchy, I added several fields like a URL field for links to datasheets, I added a login and password system so that no one could mess up my data if I hosted it on the open internet, and lastly I added browser detection so that I could serve up a special mobile-friendly version of the site if someone was viewing the page from a smartphone or similar device. Now it's easy to search, add new parts, and grab datasheet info for existing parts.

In addition to the database I organized my physical parts so that they are MUCH easier to find. Previously many of my parts had just been in bags and boxes in no discernible order. I got some small parts cabinets (like the kind usually used to hold screws and other small mechanical parts), and organized everything by type and value. So now I've got a cabinet for capacitors, resistors, ICs, sensors, connectors, etc. Now I can find an individual part in seconds instead of the tens of minutes it would take me before.

There's still a few things I need to do like rust-proof and sharpen some of my woodworking tools, but my shop is in a much more usable condition. Now back to my tinkerings...