Friday, December 16, 2011

Scrap Tools

I was looking at my bench the other day and noticed that my cache of improvised tools has gotten relatively large. There are one or two that I am particularly proud of or find useful on a regular basis and I decided to post them here.

From the top left: 101mm Nexus cable gauge (96mm long), chain holder, nipple holder, an assortment of four spoke pokes, riv-nut setter.

The functions of some of these are self-explanatory: the spoke pokes are used to poke, pry or scrape small parts, the nipple holder is twisted onto the back of a nipple for easier insertion into a deep rim, and the chain holder is used to remove tension from the chain when inserting a chain pin. All of these are easy tools to make out of discarded spokes.

The 101mm cable gauge is a replacement for the quite nice but somewhat expensive tool that Shimano makes for setting the cable length for its internally geared hub systems. It is not easy nor advisable to try to adjust the cable length while it is engaged on the hub, so the tool provides a way to set the center of the cable stop 101mm from the end of the housing. Suffice to say it is a tedious process to try to pull the slack out of a cable, measure 101mm end-to-center with a ruler and set the stop. The segment of spoke has been ground 96mm, which is the length of cable needed between the end of the housing and the inside edge of the stop. Setting the cable length is now just a matter of running the stop up the cable until it hits the gauge and pulling the slack through. It also conveniently doubles as a lever with which to move the cassette joint on the hub via the 2mm port provided.

The riv-nut setter is a handy but infrequently used tool: I've set three riv-nuts in two years. There are actual tools made for this purpose but if you use it slightly over once a year, and the material costs to make it yourself are none, why buy one? I feel my take is also easier to use than the equivalent commercial version.

Since their main use is as a water bottle or fender mounting point riv-nuts are of necessity threaded to take a M5 bolt. Using a longer M5, a nut and some washers gives you a quick and dirty riv-nut setter. The basic idea is to thread the nut onto the M5, grease the washers and put them on, and then thread the riv-nut on. The nut is tightened against the stack of washers, which decouple the nut from the riv-nut and allow it to be compressed without rotating.

The last tool was too big to fit into the group shot, and happens to be the best looking but least creative tool in the bunch:

How exciting! A tent pole and a bit of tube!

The shop does tent pole repairs as well, which is a good source of free small diameter aluminum tubing. I use this one in conjunction with a shop rag to swab out seat tubes after honing. Not exciting at all.

Recently a repair on a suspension fork required replacing the seals because debris had gotten inside the air chamber and prematurely wore out the piston O-ring. To get all the dirt particles and oil out I used the tent pole as a suction straw:

The flag of electrical tape can be used as a wiper to move material to one area, and everything is sucked up using a shop vac. The holes in the pole are slightly countersunk and the whole end deburred using a wire wheel to prevent scratching the shock. The short bit of inner tube acts as a seal between the tent pole and the shopvac hose, bringing the airflow at the tip to a good level. Half of the tip is covered to allow for cleaning the face at the bottom of the shock while ensuring airflow through the side holes.

While this did work beautifully, I am a bit more proud of the pretty good alignment and spacing on the holes I got with just an eyeball and a cordless drill.

"I make this look good."

Thursday, September 1, 2011

PVC Bike Rack

There are several bike nerds in my house (including myself), and everyone rides a bike at least occasionally. We have a space for the bikes, but without a rack it was just a pile of bikes. We noticed some PVC racks at the Marin Century, and figured that it was likely the most cost effective way to have a rack in our backyard.

I bought a drill and a hole saw for this project, but other than that the cost was under $50 for the PVC and fittings. Rather than doing my usual long blog post about it, I wanted to make a really quick and easy one-sheet so that anyone could go out and do this in an afternoon.

Here it is on Google Docs: The first sheet has everything that you'd need to do the project, the second has a bit more information and detail on the assembly and cutting process. I neglected to mention this on the file itself, but the plans are free to use under a CC0 license. I also used "PVC Fittings & Pipe for the hobbyist" by Mintaka in Sketchup to make the plans.

Sunday, August 28, 2011

Appropriating Features

I saw this feature on an Osprey cycling-specific pack at work:

Image from
 Designed to hold a helmet to the pack, it is a plastic plate which can be passed through a vent in the helmet with a loop of elastic to hold everything together. Clever.

I already have a pack that I prefer, so I added my own helmet holder to it using materials that I had lying around in the shop.

My version, attached to a bag.

The plate is an SPD blanking plate, found on many new SPD-compatible shoes. It is attached to the webbing loops on my bag by a short length of shock cord passed through through the existing holes in the plate. Total cost to me: Free + five minutes.

Helmets are held quite securely by my version. However, the webbing is near the bottom of the bag, making the entire assembly quite deep when a helmet is attached. This makes tight aisles at the market slightly trickier, but is otherwise a non-issue. 

The Osprey pack puts the helmet at the top of the bag, much more out of the way. To put my helmet holder in the same position would be inconvenient as the bag is a roll-top dry bag, and the helmet would obstruct opening and closing the bag. It would also require cutting holes in my nice bag, which I am reluctant to do.

Thursday, January 20, 2011

Vintage Headlight Upgrade

The light after grafting in the Boomer.

I found this retro-looking headlight at the SPCA thrift store a long time ago, and put it into my parts bin, figuring that sooner or later I'd get around to improving it. Recently one of my Knog Boomer headlights was acting up; refusing to turn off, on, change modes, stay on the correct was very clearly broken.

The Boomer claims to have a one Watt LED, and in practice the light is pretty bright. You certainly don't want to look into it, but it isn't quite enough to use as a primary source of illumination on country roads. It is best used as a light to make you visible to cars and other cyclists, in conjunction with street lighting or a high powered headlight.

I decided to graft the Boomer into the retro headlight because it is cheap, runs off common batteries, and the stock wide angle reflector in the headlight works well if your goal is visibility. The Boomer is small enough even with batteries that I can fit everything inside the body of the headlight keeping a nice clean look.

The fist step was figuring out why the Boomer was acting up. The light is constructed with two PCBs which are connected by a short segment of flexible flat cable. One PCB carries the LED and battery contacts, the other contains the control circuit and on/mode/off switch. Both are contained in a hard plastic shell that is bonded together at the factory, holding the front PBC in place between two layers in the case, and preventing easy access to the screw that holds the top PCB to the inside of the case.

Both PCBs
PCBs and flat cable out of the case.

I resorted to cutting around the seams with a coarse hacksaw, which generated a fair amount of sharp tiny plastic chunks. The plastic is pretty hard, and a nice fine tooth saw or a Dremel with a cut-off disk would be the best way to go.

Once the PCBs were removed from the case it was easy to see the fault. The ground pad for the flat cable had lifted off the LED PCB and was intermittently causing an open circuit, resetting the light to its first flash pattern. Since the last pattern turns off the light, my chances of being able to turn the thing off was practically nil. (For those of you playing along at home, the pads are +3v, drain for the tiny red LED, power to the large LED, and ground, starting from the pad labeled A.)

Knog Boomer LED PCB
The lifted pad is the lowest on the flat cable.

Normally a lifted pad would be an annoyance to fix, but in this case each pad is connected with a via to a pad on the backside of the board. So really all I have to do is tin the pads, and solder the flat cable or wires to the back of the board. I soldered everything up with some very thin stranded wire to make sure there were no other faults, then set it aside to work on mounting everything into the light.

In most cases I'd just use the battery holder out of whatever I was hacking apart, but this holder is integrated into the case that I destroyed to get the the PCBs. So that's out. My pile of junk yielded a AAA battery holder from an Xmods RC car which has the nice advantage of a clip over the batteries to keep them from working loose under vibration. The disadvantage is that if it was permanently mounted in the light, getting the clip off would require a small flat-head screwdriver or really tiny fingers and tons of dexterity. Since it is pretty poor design to require your users to have either of those to change the batteries, I needed a solution to mount the battery holder securely that would still let me get it in and out of the light easily.

Battery Holder on Platform
Xmods battery holder clipped onto plastic tray.

For this I made a tray out of Shapeways plastic that would hold onto the battery holder with an arm at either end. To constrain the horizontal movement of the holder the tray was formed to the bottom of holder which has several cutouts and other features that effectively lock the two together horizontally but allow the holder to be easily lifted off.

Battery Platform
The plastic tray, note the various raised features on the surface of the tray.

The Shapways plastic has a very low softening point, on the order of 90 C, which makes it very useful when quickly prototyping or producing low-strength parts. In this case I made the tray first by rolling out a sheet of the plastic, cutting a rectangle and forming it to the bottom of the battery holder while the plastic was still warm. From there it was easy to cut arms out of the same sheet, fuse them to the tray and form them over the holder which resulted in a very good fit while still being easy to insert and remove the battery holder. This entirely eliminated the need to measure up the battery holder and accurately fabricate a tray to those measurements, saving a great deal of time and effort.

The tray is mounted on disks of hot glue adhered to the inside of the light. They were first heated slightly and attached to the corners of the tray. The entire assembly was then placed into its final position inside the light and a candle used to heat the exterior of the light, melting the portion of the hot glue in contact with the wall of the light first. There was some slight distortion of the tray corners due to the hot glue conducting heat really well, but not enough to impact the fit of the battery holder.

Battery tray and holder mounted in the light.

The tray and battery holder are mounted off center to make it slightly easier to get the battery holder in and out. Ultimately this wasn't a huge improvement, but the battery location doesn't have a negative impact so I left it as it was.

Once the tray was mounted I had a good idea of the amount of space available for the LED and the circuit boards. There was enough room to stack the switch PCB on the back of the LED PCB and attach both directly to the reflector. This simplified the wiring between the PCBs and places the switch in a convenient place. I chose not to mount the switch on the exterior of the light as there were not any readily available waterproof switches that complimented to look of the light. A future addition would be to add a reed switch or Hall effect sensor so that the light can be toggled without opening the light.

Better than a ribbon cable
Wiring between the two PCBs. (It is well past time for a new tip on my soldering iron. Hence the shrinkage on the insulation and the generally shoddy soldering job.)

Stacked PCBs also have the advantage of keeping the wire runs between them very short, reducing the potential for fatigue. Once the wires were cut and soldered up the PCBs were hot glued together, sandwiching the wires between them. This should prevent any of these pads from working loose. On the LED board heavy solid core leads were added as spacers to protect the LED and provide a connection point for the wires running to the battery holder. Placing them between the PCB and the bulb holder acts as a stress relief, which is important considering the long run to the battery holder.

The stacked PCBs mounted on the reflector, and wired to the battery holder.

Overall I'm pretty happy with how this light turned out. It has a really wide even beam, meaning that traffic from the sides will see me sooner and that I won't cause an oncoming motorist to have a seizure and hit me. The town bike that this light is destined for is out on loan to a friend right now, once it comes back I'll attach it and see how it holds up during operation. I'm confident that it will work fine, or at the very least last longer than the Knog did.

Saturday, January 1, 2011

Quick Xbox controler hack

Recently I found an old Xbox controller in my projects bin. Not having an Xbox, I decided to do something that was last popular five years ago: make it work with USB.

Xbox meets USB
Tinned and ready to go. Xbox controler cable on the left, USB + heat shrink tubing on the right.

For those of you playing at home, the Xbox controller is already a USB device. All you have to do is lop the existing end of the cable off, put the end of a standard USB cord onto it, and you're done! The wires inside of my cord and controller were even color coded correctly, so all I had to do was match colors. There will be one extra wire coming from the controller, ignore it.

Soldered and shrink-tubed, if you were particular about things you could replace the shielding, but I didn't feel the need to.

I installed the XBCD drivers, plugged the controller in and all the functions were recognized. Since then I've been using it to control Orbiter, for which the controller works fine, but my reentry skills seem to leave a lot to be desired. So far all my attempts have been more meteor than space shuttle.