A homemade dynamo taillight

A couple of years ago Mark Vande Kamp showed me a taillight that he was making. It looked neat on his workbench and then I sort of forgot about it. A few months ago we were out on a ride and I saw it in action and was amazed at the light’s brightness. It is much brighter than any battery powered taillight that I’ve seen.

He needed to build another so we ordered some LEDs together and I made one too. I’m so impressed with the results that I plan on making them for all of my bikes. This is the prototype.

I used a Cateye fender mount reflector as the body of my light. I only have one of these reflectors, if anyone has a source please let me know. The LEDs are drilled into the reflector lens (Mark bought a 5mm drill bit for this purpose).

I tried really hard to take photos of this in operation and you can see all of my attempts in the gallery for this project. Here is the best of them:

The upper tail light is a Vistalite Nebula. It has 5 LEDs and uses 2 AA batteries and is one of the brighter LED battery based tail lights available. This is a recent model (purchased within the last year) and is much brighter than the ones that they made a few years ago. You can see that the lower tail light, my homemade one, is much brighter. It is bright enough that I don’t like riding behind it and I’ve had comments from other cyclists on rides that basically said the same thing.

I don’t have a way to draw a schematic, but I think that this one is pretty easy to explain.LEDs have a positive and a negative side. In the taillight all of the negatives are wired together and all of the positives are wired together (in parallel). Each LED is designed for 40ma and there are 10 LEDs wired in parallel, so they are consuming 400ma total. The dynamo puts out 500ma total, so I’m over powering them a bit. There is a diode wired in the reverse direction of the LEDs to handlereverse current from the dynamo. You could make an even brighter taillight but wiring another 10 LEDs in parallel, but this one is already very very bright.

The LEDshave a voltage drop of 2V. 2V, 500ma is 1w (2 * .5 = 1).TheLEDs are only driven on half of the AC wave generated by the hub, so it is more like1/2 a watt. You could run these LEDs off of a battery at a 50% duty cycle like this, but with 2 AA batteries you’d only get a lifespan of about 10 hours. Thatexplains why the taillight is so bright.

The taillight is wired in series with the headlight. This is important and beneficial. It requires that the hub generate a little more power, but lets me usea 3w bulb up front.

I explained the schematic,let me explain how I wired it.There are 3 rows of LEDs and 4 rows of wire. The bottom row is wired to the negative pin on the bottom row of LEDs. The second from bottom row of wire is connected to the positive side of the the bottom row of LEDs and the positive side of the middle row of LEDs. The third row up is wired to the negative side of the middle row of LEDs and the top row of LEDs. The last piece of wire connects the positive side of the two LEDs. One of the black jumper wires connect the each of the positives together and the other connects each of the negatives together. The wires going to the dynamo are connected with one on a positive bus and one on the negative. Dynamos generate AC and LEDs are DC devices,so there is a diode wired in the reverse direction of the LEDs to handle current flowing in the other direction.

Note that my soldering is really messy. I mis-wired things the first time and had to desolder everything and start over. I’d also recommend covered everything in epoxy or tool dip to protect it from vibrations. When I build a second light I’ll update the gallery with photos of a nicely soldered one.

Someday I’d like to figure out how to build a standlight for this design. That will add complexity and the current design is really simple and very effective. If you have basic soldering skills and have a dynamo hub then I’d recommend building one. The parts are cheap (the reflector was in my parts cabinet, the LEDs cost 75 cents each, and the diode was about 50 cents). I guarantee that you’ll be surprised at the brightness.

The porteur rack is installed and went on it's first farmer's market run today

The rackwas installed on my Kogswell last night and went on it’s first voyage today. It is working wonderfully. The porteur rack installs and removes very easily and the attachment between the racks is secure and rattle free. I brought back about 10-15 pounds of groceries with no issues.

I put a lot of new photos in the rack gallery showing the interface between the racks and some of the other details.

I did run into one minor problems. One is that the cable routing that I had for my barend shifters didn’t work when I mounted to porteur rack. I’ll figure out something else later, in the meantime I setup downtube shifters. The barends are still installed but not hooked up to anything.

Anyway, it is a great setup and I think it really completes this bike. I hope to get many great years out of it.

Two bike projects wrapping up at the same time

It’s been a good day for me. I got email this morning from the guy building my new bike frame that my frame is almost done and he had uploaded new photos. This is going to be a great bike, I can’t wait to get it. It is built for a Rohloff hub, has a low trail fork geometry for good handling with a handlebar bag, and clearances for huge tires (45-622 knobbies, so small “29er” tires).

new frame, almost done

This evening I got home from work and had an email from Alistair Spence saying that my new porteur rack is done and the flux is soaking off at his house. This rack uses a really cool design that we both worked on, it converts from a handlebar bag rack to a porteur rack with only two bolts. I got to spend a lot of time with Alistair as he built the rack, brazed a few of the joints, and learned a lot in the process. Expect some of my own rack projects to show up on this blog soon, a torch and other supplies are on my to-buy list.

I’ve never bought a custom rack or custom frame so it’s very cool to me that bothhad their brazing workfinish up on the same day.

More photos:

alex

My new favorite outdoor fabric

Kent Peterson has raved about the Marmot Driclime shirt a few times. I’ve looked for it, but somehow every retailer seems to be out of stock when I’m ready to actually buy one. On one of my quests for the Driclime I found a neat softshell jacket from Ibex at Second Ascent(probably my favorite outdoor gear retailer). The Ibex jacket was made from this neat fabric called Climawool that has merino wool against the skin and a tight woven nylon against the wind. It seemed ideal — keep the wind off, add some insulation, and I could probably ride through anything from 30F to 50F.

The Ibex jacket that Second Ascent sold didn’t fit me (L was too large, M was too small), but I happened to check the Ibex website when I got home and foudn the Ibex Breakaway. With any other company you’d assume that if one jacket didn’t fit you then another wouldn’t as well, but I know from past experience that Ibex sizing is all over the map. The Breakaway jacket was even better than the one that I found at Second Ascent because it only had the Climawool on the front. The back is a heavy regular merino wool, all the better for breathing.

I ordered one and it showed up in mid-November. It fit perfectly. This jacket is sold for XC skiing, but is perfect for cycling. There is a large pocket in the back with a zipper and a small one in front over the left breast. The back of the jacket is cut longer to work well when leaning over on your bike.

I’ve probably worn this jacket every day since getting it and it has done everything that I wanted. The front really does an effective job at keeping the wind off. The whole thing is just the right warmth to be comfortable from about 30F to about 50F with a thin wool t-shirt (longsleeve or short) underneath. Even in a light to moderate rain (about all that we get in Seattle) the fabric keeps me warm and dry enough. The breast pocket is the perfect size for my MP3 player (for listening on the bus) and the back pocket is big enough for my keys, cell phone, and a snack.

While shopping for Christmas presents at Second Ascent I found some used Ibex pants made out of the same material. They are also sold for XC skiing under the name Ibex Guide Lite. I’ve been wanting new Seattle winter pants for a while and really wanting something that didn’t look so much like tights and these are perfect. The cut is tight enough that they don’t get stuck in my chain, but loose enough that I can wear them into a store without looking like a cyclist (they just look like black sweat pants).

This Climawool stuff has really changed what I carry for commuting. My winter commute pannier used to have all of this:

  • short sleeve wool jersey
  • long sleeve wool jersey
  • bike shorts
  • bike tights
  • rain pants
  • rain jacket
  • and sometimes a windbreaker vest

I’d layer and unlayer as necessary. I was never really comfortable.

Now I’m just carrying:

  • long sleeve wool t-shirt
  • bike shorts
  • Ibex Guide pants
  • IbexBreakaway jacket

Ibex stopped making the Breakaway,but they replaced it with the Dash Hybrid. If it is the same jacket,and it looks like it might be, then it is a winner. It’s even on sale as I write this. No, I don’t work for Ibex. I never even cared for their products that much before writing this. But this Climawool stuff is great.

Bulk CD Ripping — Part Two: FLAC images to MP3 files

Part one of this series showed how I ripped a large pile of CDs into FLAC image files. The FLAC image files are playable, but most of our hardware wants MP3 files and I’d prefer one file per track instead of one file per album. The FLAC image files also have crummy tags from CDDB so there will be a lot of typos in artist names and track titles.

A friend and I started tackling this problem a few years ago and wrote a pair of Python scripts called tag.py and transcode.py that converted FLAC images intoMP3s. When we wrote these scripts FLAC images were a sort of new concept and we came up with our own unique way of tagging them that no one else used. Tag.py read an EAC-generated CUEsheet (including CDDB tags) and enter them into the FLAC image. We could (painfully)hand edit the tags in the FLAC image after this step. Transcode.py read the FLAC image, including the tags embedded by tag.py and generated MP3s (or any other format that we wanted, including per-track FLAC files).

The process worked, but it was clumsy. We also still relied on CDDB tags for our music and then a lot of hand editting to fix them.

Since writing those scripts a CDDB replacement called MusicBrainz has become mature. MusicBrainz is a much stricter tag database where all entries are reviewed and there are tight relationships between artists, releases (albums) and tracks. This tight relationship means that each artist only has one name, you won’t have problems with one CD being tagged “The Beatles” while another is tagged “Beatles” and a third is tagged “Beatles, The”.

We talked about our old scripts and came up with a better system:

  • tag.py would find the CD in the MusicBrainz database and get the MusicBrainz ID for it. This is a unique ID that identifies that album.
  • tag.py would embed the MusicBrainzID into the FLAC image.
  • transcode.py would read the MusicBrainzID, get the track metadata from MusicBrainz, and encode our MP3s.

Once you’ve run tag.py you can regenerate MP3s (or any other type of music file) just by rerunning transcode.py. This future proofs our music.

I rewrote tag.py to have a small GUI. When opening a FLAC file tag.py first computes the DiscId (a mostly-unique identifier used to find the disc in the MusicBrainz database) and sends this to MusicBrainz. If the DiscId isn’t found then it searches based on the artist and title that we already have in the FLAC image from CDDB. The GUI lets you see each of these matches and pick the right one. If you don’t find the right one then you can search on your own and get the MusicBrainzID and paste that into the GUI. Once you’ve found the right tags for this album you hit save and it writes the ID out the FLAC.

Note that my day job is writing server software, not GUIs, and it shows in the ugliness of this tool. Also,even though this has a few buttons along the bottom it is really designed to be keyboard driven. A lot of output is written to the console that you started the tool from. Consider it a half-GUI/half command line tool.

You start the tagger by running tag.py and passing it some filename globs. For instance “tag.py *.flac” will have it work on all of the FLAC files in the current directory.

The screen is divided into three sections. The top section shows you the important data from the FLAC image (filename,CDDB artist/title, DiscId, embedded MusicBrainz ID and number of tracks). The fields used for a MusicBrainz search will show up in red. The second section show you the results for a current MusicBrainz query. You can enter a new MusicBrainz ID if you find something better on their search page. The last section has buttons that map to some of the key presses and a status bar that tells you what it is doing.

Here are the keys that matter:

  • Control-N and Control-P — Go to the next and previous FLAC file
  • Alt-N and Alt-P — Go to the next and previous hit from a MusicBrainz search
  • Alt-S — Save the current MusicBrainz ID to the current FLAC
  • Alt-L — Reload MusicBrainz matches (this searches by MusicBrainz ID, Disc ID, and CDDB artist and title)
  • Control-Shift-N — Find the first FLAC without a MusicBrainzID
  • Alt-Q — quit

With this tool I can find the right tags for our FLAC images from MusicBrainz at a rate of about 100 CDs every 20 minutes. This includes entering releases into MusicBrainz for CDs that we own, but which they don’t have in their database.

Once tag.py has been run on a bunch of FLAC files you just run transcode.py and walk away. This will transcode each of your FLAC images into seperate MP3 files and put them in the right directory. The exact method for doing this is controlled by the file transcode.cfg. Here is my version of the file:

[GeneralConfig]
Flac: d:/util/bin/flac.exe
Metaflac: d:/util/bin/metaflac.exe
Encoders: mp3
[mp3]
Directory: f:/music-rerip/mp3/New/$P/$T
Filename: %D%n-$t.mp3
FilenameVA: %D%n-$t($p).mp3
Command: d:/util/bin/lame.exe –alt-preset standard –id3v2-only –tt %t –ta %P–tl %T –ty %Y –tn %n –tg Rock %f %F
CommandVA: d:/util/bin/lame.exe –alt-preset standard –id3v2-only –tt %t –ta %p –tl %T –ty %Y –tn %n –tg Rock %f %F

This tells transcode.py that we are going to use one encoder and that it will make mp3 files. The files will go into d:musicmp3new and then be listed under performer and release title. If the album is a compilation (coming from multiple artists) then the second command listed is used to encode them, otherwise the first one is. If we wanted two different qualities of MP3 (high for home use,crappy for portable device use) you could just make another config that looks like this:

[GeneralConfig]
Flac: d:/util/bin/flac.exe
Metaflac: d:/util/bin/metaflac.exe
Encoders: mp3,mp3crappy
[mp3]
Directory: f:/music-rerip/mp3/New/$P/$T
Filename: %D%n-$t.mp3
FilenameVA: %D%n-$t($p).mp3
Command: d:/util/bin/lame.exe –alt-preset standard –id3v2-only –tt %t –ta %P–tl %T –ty %Y –tn %n –tg Rock %f %F
CommandVA: d:/util/bin/lame.exe –alt-preset standard –id3v2-only –tt %t –ta %p –tl %T –ty %Y –tn %n –tg Rock %f %F
[mp3crappy]
Directory: f:/music-rerip/mp3crappy/New/$P/$T
Filename: %D%n-$t.mp3
FilenameVA: %D%n-$t($p).mp3
Command: d:/util/bin/lame.exe –alt-preset 96 –id3v2-only –tt %t –ta %P–tl %T –ty %Y –tn %n –tg Rock %f %F
CommandVA: d:/util/bin/lame.exe –alt-preset 96 –id3v2-only –tt %t –ta %p –tl %T –ty %Y –tn %n –tg Rock %f %F

All of these scripts are at http://www.phred.org/~alex/transcode. Note that they are likely to change a lot in the next couple of weeks. Here is whatyou’ll find there today:

  • MusicBrainzHelper.py — A helper class for Python tomake it easier to work with MusicBrainz
  • FlacHelper.py — A helperclass for Python to make it easier to work with FLAC files.
  • tag.py — The GUI tool show above for adding the DISC_MUSICBRAINZ_ID tag to FLAC images.
  • transcode.py — The command line tool to convert FLAC images to MP3 or other files
  • cache-tags.py — This will cache the tags for each FLAC image if you want to run transcode.py while disconnected from the internet.
  • TODO — Known bugs

alex

Bulk CD Ripping — Part One: CDs to FLAC Images

This is going to be a multipart blog series on ripping CDs. I’ll start be describing the goals that lead me to this solution:

  • Use a hardware changer to rip the CDs so that I don’t need to sit there and feed the computer each disk one at a time.
  • Use ripping software which detects and corrects for errors during ripping caused by scratches or fingerprints on the CDs.
  • Rip to a lossless format so that the files can be converted to any audio format at any point in the future.
  • Each ripped disk should be represented by a single file (instead of a file per track) so that an exact copy of the CD can be burned in the future if that need arises.
  • Use the most reliable tagging (metadata) database available so that the CDs end up with consistent and accuate titles.

Part one talks about the first four bullet points. Part two will expand on the last bullet point.

I had some vacation time to burn and rather than doing something useful like going on a long bike ride, remodeling the downstairs bathroom, or even reading a few novels I decided to rerip all of our music. Since I’m a software developer and not a CD changer I decided to buy new hardware and then write software to make it all work.

I ordered a Sony VGP-XL1B2 Media Changerfrom Amazon. This is a 200 disk CD/DVD changer designed for Windows Media Center machines. Itconnects to your computer via firewire (1394). The changer isn’t supposed to work under Windows XP and I didn’t want to use Media Center for ripping, but I figured that I could make it work anyway. What really convinced me was this blog post from Matt Goyerwhich described the interface that the changer’s driver must provide to Windows.

I ordered the changer and it arrived the next day (thanks to Amazon Prime’s $3.99 overnight shipping). When I plugged it into a Windows XP SP2 machine I was surprised to see it work without needing to install any drivers. A service called the Removable Storage Manager (RSM) detected it and seemed to start doing something with the CDs. I wasted about two hours playing with RSM before deciding that it was overly complicated for what I needed. So I decided to write my own tool to control the changer.

Using information from Matt Goyer’s blog post and MSDN I was able to write a small program called MediaChanger(the zip in that directory contains source and a debug binary). MediaChanger supports the following commands:

  • MediaChanger mount — This mounts the disk in slot into the drive.
  • MediaChanger unmount — This puts the currently mounted disk back to the slot that it came from.
  • MediaChanger drivestatus — Reports if the drive is empty or full and where the disk came from.
  • MediaChanger next — Unmounts the current disk and mounts the next one.

This provides enough changer support for a shell script to mount each disk one by one and do something with them. That provided the basis for ripping all of our disks.

Now the problem was automating my preferred ripper, Exact Audio Copy (EAC). EAC is the best audio ripper for CDs if you care about getting perfect rips with no errors. It is not always fast, but it always does a good job. It also supports ripping to a format called WAV+CUE which is a WAV file with all of the music and a text file called a CUEsheet that has the table of contents from the disk. We need WAV+CUE support to create FLAC images.

Sadly EAC is not designed to be scripted, which makes using it with my MediaChanger program a little difficult. A couple of friends pointed me to a script called REACT. REACT is written in a scripting language called AutoIt and adds features to EAC by watching dialog boxes and using menu items as a human would. This is a really ugly way to script something, but it is also the only option available for EAC. I modified REACT to add the following features:

  • When finished ripping a diskswitch to the next one and start ripping (this is turned on by pressing Alt-F5). This is built on top of REACT’s existing feature of ripping an image by pressing F10.
  • When EAC finds multiple hits for a CD in CDDB use the first one.
  • If there is no CDDB information for a CD then title the CD after the slot that it came from.

I’m using REACT to generate FLAC images from the WAV+CUE ripped by EAC. This produces a single FLAC file which contains all of the data from the CD. In part two of this series I’ll explainhow Itag and convert my FLAC images into MP3 files.

With these changes REACT was ready for bulk CD ripping from the changer. I loaded up the changer with a drawer full of CDs from our CD cabinet and let it run. The drive in the changer is not very fast at audio extraction, so it takes about 24 hours for it to rip 200 CDs. This is a little longer than I hoped for it, but at least I don’t have to sit there while it runs.

Cycling to the Post Office

This morning I took all of our Christmas gifts by bicycle to the post office. There was no way to carry a 18×18x21″ box on my rear rack, so I used the trailer. Hiding underneath the huge boxI had two more boxes of a more normal size (16×16x6 and 4×4x4):

I love biking to the post office. It is always a little challenge to see how to best carry boxes on a bike. Once at the post office I can use my bike trailer as a cart and roll it up front. This is very helpful if I have multiple large packages that would require multiple trips from the car. Finally it’s a great excuse to get out on the bike for a short ride.

For smaller loads baskets work well too:

Yellowstone Trip Report

In September Christine and I spent about 10 days in Montana visiting Yellowstone and going to a friend’s wedding. It was our first trip to trip to Yellowstone and hopefully it won’t be our last.We arrived at the Park first thing Monday morning and jumped right in. On our first day we took drove from the West Yellowstone Entrance up to Mammoth then across the north end of the park to the Northwest park entrance near Cooke City.

The first day was a surprise to us. A couple of miles into the park we saw a lot of wildlife right next to the road. I was ready for wildlife but didn’t realize how much thermal activity the park had. We saw steam from a thermal feature going across the road and originally wondered what was on fire. It turned out to be this lovely lake which was fed by a hotspring:

We did a lot of short hikes that day. We had a lot of fun walking around the Artists Pots, Norris Basinand Mammoth Hot Springs(links go to photo galleries). We finished the day with a 4 mile hike along the Yellowstone Grand Canyon where we had some really views from the top of the canyon and nice closeup views of a Bison giving itself a dust bath:

That night we stayed in a cabin just outside the park near Cooke City. Christine named the cabin “the hobbit hut” due to it’s low ceiling and small size. It was a nice place to stay and inexpensive, but the we were less impressed with the overpriced food in Cooke City.

Silver Gate Cabins

We started our second day in Yellowstone by trying to spot some wildlife. We were along the Lamar River Valley which is known as one of the best areas for seeing wildlife, specifically wolves, in the park. I thought we’d find a good spot and eat breakfast and watch for animals.

It was freezing.

We spent about half an hour with a large group trying to find wolves with no luck. They were probably staying warm in bed! We did see a bald eagle and some pronghorn deer. I found it just as interesting to watch the watchers:

Wildlife watchers on a cold morning in the Lamar River Valley

We ended up eating breakfast in the picnic area near the previous days hike. It was very nice to have some hot coffee and oatmeal and watch the nearby animals and scenery. We spent the rest of the morning driving down the east side of the park along Lake Yellowstone. In the afternoon we did a 6 mile hike along DeLacy Creek hoping to see some river otters (Christine’s favorite wild animal). We didn’t find any otters, but we had a great hike and there were nice views of Yellowstone Lake. We had to take a fast pace on our way out to make sure that we made our dinner reservation at Old Faithful Inn.

On our third day we spent the morning wandering through the Geyser Basin just outside of the Old Faithful Inn. It was really cool to see geysers large and small close up. Even when they aren’t spewing water they look really cool. The most amazing thermal feature was the Morning Glory Pool (below). All of the pools were really pretty, the colors created by the bacteria that grows in their hot water is just stunning.

Morning Glory Pool

In the afternoon drove back over to Yellowstone Lake for our next night’s stay. On our way to Yellowstone Lake we made another attempt to find some river otters by searching along the Yellowstone River near Otter Creek. We were just about to give up when Christine looked across the river and saw a lone wolf running down the hill to the water. We were only about 100′ away and had a great view of it approaching the river and then following the river until it went out of view. There was no one else there, just us and the wolf. It was breathtaking, cool enough that I didn’t even think about taking any photos until it was really too late.

On our fourth morning we woke up to an inch of snow on the ground and reports of more. We decided to cut the trip a day early to make sure that we didn’t have any weather related issues on our way back to Missoula. On our way out of the park we had to drive through about half of it again and had some nice final views of wildlife and scenery. The highlight of the day was checking out the views over Yellowstone’s Grand Canyon and then seeing an Elk near the side of the road.

Yellowstone Grand Canyon

When we left on our trip I wondered if 4 days would be too much. On our way out it didn’t feel like enough. I can’t wait to return for more hiking and exploring.

Hacking Amplifiers

Side note: A number of friends have commented that my blogging completely stopped a couple of months ago. I’ve been busy with a new role at work and haven’t had as much online time recently. I have a lot to blog about, but less time to do it in. Expect a few entries rapid fire style over the next few days.

I’ve been wanting to make it easier to use the speakers in our kitchen and outside and at the same time reduce our power consumption for doing so. I had been using a single amplifier for either set of speakers and manually switching between speakers depending on which pair I wanted to use. Turning them on involved using the “second room” mode of our receiver even though I always had it playing the same sound as what was going on in the living room. This made it more complicated than necessary.

Getting away from manually switching speaker wires meant getting another amplifier. I had another use for this one, so getting a single amplifier that could handle 4 channels (stereo in the kitchen, stereo in the backyard) was the best solution. Commercial 4+ channel amplifiers are expensive, even when purchased used. However I did find a small kit made by a company called 41hz which promissed to drive 4 channels at about 50W each (way more than enough for background music speakers). The kit uses a Tripath chip, and I know from prior experience with the Teac A700LP amplifier that they sound very good and are efficient (so they use less power and run cooler). The kit also had a small number of parts which seemed good considering how long it had been since I soldered anything. At about $75 shipped for the kit, plus a transformer, case, and some connectors it was much cheaper than buying a commercial amplifier. So I ordered the kit and it showed up at my door a few days later. I also ordered a temperature controlled soldering iron, a cheap case, a transformer, and all of the connectors that I thought I’d need. At this point the total cost was at about $200… a little scary since I didn’t have anything that worked,but still cheaper than commercial amplifiers.

I spent a quite Saturday building it. It went together quite quickly,the most painful parts were surface mount soldering 16 diodes and winding 8 toroids by hand. By the end of the day I had this:

AMP9 board

Iwas happily surprised when it worked brilliantlythe first time that Ipowered it up.I used an old power supply from a long dead set of computer speakersfor testing because my transformer had not yet arrived. It sounded great with my simple basement test.

About a week later the transformer showed up and I got the whole thing installed into it’s case. I forgot to account for connector sizes and the size of the transformer when laying out the case and it turned into a very tight fit, but it did all fit. I also changed from using banana plugs for speaker connectors to Neutrik Speakon jacks, leaving me with some extra “ventilation” holes in the case. Overall I could have done a much better job of laying out the components in the case. The next one will look prettier and luckily no one sees this one because it lives in the basement.

Here is what it all looked like when assembled and connected to a single set of speakers:

and on the inside:

As you can see the toriodal transformer takes up the vast majority of the space. The board is hidden under the wires on the foreground. The heatsink was salvaged from an old Pentium MMX processor. That case is 10″ wide, 6″ deep, and 4″ high so the whole thing is pretty compact. Since it is living in the basement I put the switches, connectors, and volumepotentiometerson the same side, making it easier to setup and adjust.

When finally assembled I measured the power consumption at 7 watts when there is no input signal. That is a massive change from 80W on the old amplifier that I was using. That’ll save us about $5/mo in power bills.

While building all of this stuff I remembered reading that the $100 3-channel Teac A700LP amplifier that we use for the bathroom speakers is actually a 4 channel amplifier with only 3 channels connected. I decided to explore the insides and found that there are two 2-channel circuit boards for amplifiers and a mainboard that connects them to the chassis and input/output connectors. The mainboard was very well labelled and this made it easy add the 4th channel. I just needed to add an output and wire it all up. I didn’t even need an input because I wanted to use 2 inputs on this amplifier for 4 channels (two L outputs and 2 R outputs). I just tapped off of the existing L channel input. A couple of cheap parts and a 30 minutes with a soldering iron and I had this:

I just made a couple of modifications to the case to expose the new potentiometer for the 4th channel and the speaker outputs for the 4th channel. This time I was much more careful with my drilling and the end results look pretty good:

The power supplyin the Teac A700LP is a little underbuiltand wouldbe taxed if I ran all fourchannels at full power.For backgroundmusic use this isn’t much of a concern, it is rarely going to be used at anything other than low loads.

So there we have it.A few evenings of soldering and hacking and I got 2 4-channel 50W amplifiers for just over $300 total (including the $100 that I paid last year for the A700LP). They power the speakers in our bathroom, kitchen, upstairs deck, and backyard. The soldering projects were fun enough that I’m now considering making a small amplifier for work built around the 41hz AMP6 kit.

What to do with all that crap…

I have lots of bags. Too many bags.

I noticed a few months ago that there is a lot of open airspace above the basement stairwell. I realized that I could stick my not very often used bags up here. The problem is that my arms aren’t ten feet long, so I couldn’t reach any hooks mounted up by the ceiling.

This weekend I made it work, despite my human length limbs. A couple of pulleys and cleats from the hardware store, a little scrap lumber and rope, and it all went together.The (teenage, probably daughter of the store owner) clerk at the hardware store said: “I love rope cleats. I wish I had a use for cleats. They are so perfect”. I agree, pulleys and cleats rule.

At the end of each pulley is a hook with a few links of chain. The chain goes around the hang loops or handles on the on bags and backto the hook. Once connected the bags are pulled back up to the ceiling. I fit a few backpacks, three saddle bags, a handlebar bag, my camping hammock, and more panniers then one person really should own (4 or 5 pairs) up there.

More photos:

I hope someone else finds this to be a useful idea. I learned a couple of things:

  • The pulley will tell you what size rope to use. Using thinner rope means it’ll jam.
  • My Little Giantclone ladder works great in stairwells.
  • The little caribiner keychains sold at hardware store checkouts that say “Not for climbing use” work great as the hooks on the ends of the ropes.
  • I need to find my knot tying handbook.

alex