20db Inline Attenuator Pad for Earphones

A few years ago I was fortunate enough to acquire a pair of Shure E5 in-ear earphones, which I've greatly enjoyed. They're fantastic headphones, and also some of the most sensitive around. Not only do they just need to drive a tiny bit of air between the diaphragm and my eardrum, but they're rated at 122 dB/mW and have an impedance of 110Ω. They've always been a joy to use with my iPod, but plugging in to my laptop has always meant I had to endure an unreasonably high noise floor, and be careful not to turn the volume up beyond a couple of notches, because any higher would certainly induce pain. Because they're effective at blocking out external noise, I usually listen at a low volume, but despite this I found I was experiencing ear fatigue after even short periods of listening. That hiss was terribly wearing.

Just recently I purchased a Presonus FireBox from Charlie—most likely just as part of my audiophile addiction—and indeed it is a great device. The 24bit/96khz DAC is quiet and outside of the noisy electronic environment of my MacBook Pro. The headphone amp in this thing goes to 11, both figuratively and literally. This is a point of safety concern. Of course there is the standard warning about not listening to audio at a loud volume for extended periods of time, but in this case I feared plugging my E5s into the FireBox. Setting the volume to anything above zero was too loud. I was concerned I might accidentally turn the volume to a dangerous level.

So the solution to all of this was not to buy more expensive equipment, but just stick some resistors inline with my headphones. I decided to build an inline attenuator pad to drop the signal down by about 20db. This solves the above mentioned problems elegantly. It requires I turn up the volume a bit to listen which keeps the signal to noise ratio low on the laptop's internal headphone output, and gives me a safety margin on the FireBox.

Construction wasn't too involved, but it was a bit tricky to keep everything within the small dimensions I wanted to maintain. I used SMT resistors to minimize space, and had to scavenge the female 3.5mm jack from an extension cable to find one that was narrow profile.

I got most of the design info I needed about making audio pads from this article. It turns out, they're just simple voltage dividers. I'm confident I didn't actually get the 20db I wanted, but it does indeed drop the signal an appropriate amount. I used 150Ω shunt resistors with 680Ω series resistors.

I am a bit concerned that the solder joints may crack with repeated pluging/unplugging, but I guess I'll only find out from prolonged testing.

This whole problem of over sensitive headphones is usually solved by sticking a passive volume control inline with the headphones. In fact, new Shure headphones ship with one of those in the box. I chose not to go that route here, not only because I didn't want another volume control to fiddle with, but because this way I couldn't accidentally leave it turned up when plugged in to the FireBox.

Overall I'm happy with the result, despite the fact I had to use clear heatshrink to house the pad instead of red. Perhaps i'll upgrade housings later :).

Let me know if you know of a commercial source for headphone fixed attenuators or you built your own.

Darwin ISO-Latin-1 Font

Recently I had run across the megazoomer SIMBL plugin, and found that it could make a Terminal.app fullscreen! Something just wasn't quite right about it though. The white text on the solid black background wanted to look as if I had booted in to single user mode, or started my computer with the verbose boot option on, but no font I could select seemed appropriate. So I began the hunt for the Mac OS X console font to use in Terminal.app in earnest. Eventually I found it, in the form of a C source file. All of the character bitmaps were described in an array in a file called "iso_font.c" in the XNU source. I went on an adventure to find appropriate software to make a font file, and eventually I found a rather dreadful tool called Font Forge, but it worked so I used it. I prepared my font in the BDF ASCII format with liberal application of TextWrangler's grep based find & replace, as well as a Python script to massage it a bit more. After lots of messing with Font Forge and some tweaking of the metadata, I could export a TrueType bitmap representation of the original Mac OS X console font, which I have provided here. The font is free to use, according to comments in the file as well as the original APSL license, so I am providing it here freely as well under the same terms. Enjoy!

Note: The bitmap is 16pt; other sizes are not recommended.

Update: Cory Klingsporn submitted an updated version that fixes issues with accented characters. Thanks Cory! Get the new version below.

Download Darwin ISO-Latin-1 Font (TrueType):



Darwin-ISO-Latin-1.zip.

Algernon for Squeak

This semester in Ralph Johnson's Object Oriented Programming class, CS598rej, Erik and I wrote a cool program for Squeak called Algernon.

Algernon is a keyboard-based launcher that provides lightning quick access to categories, classes, morphs, and global variables in your image. It's inspired by similar tools like Quicksilver and LaunchBar for Mac OS X. We're really proud of it, as it seems to really increase productivity. If you're a Squeak user, I encourage you to check it out.


Class Project Page
Development Home
SqueakMap Page

AVI '08


I'm headed to Advanced Visual Interfaces '08 this summer in Naples, Italy to present the work Josh and I did on VCode + VData regarding video coding tools. I'm really proud, as it's my first first-author!

You can download VCode and get more info about it on the Social website.

Enjoy!

VCode Main Window

Blu-Ray Laser Pointer

I was sitting in the basement of the Siebel Center one day when Matt Sparks mentioned the Blu-Ray Laser Phaser project, made possible by the Sony Blu-Ray replacement drive assembly for the PS3. I impulsively purchased one such module on eBay and set out to build the best possible Blu-Ray Laser Pointer.

Home-built Blu-Ray Laser Pointer

I focused on building a high quality device. I am really happy with the size and quality of the case, and current-limited power supply, as opposed to the simple resistor based design some other designs suggest. I also opted for rechargeable Li-Ion batteries for great performance and size. This necessitated the installation of a charging jack on the back of the pointer as well.

Parts:

  • Sony KES-400a replacement Blu-Ray drive module for PlayStation 3
  • Pomona Electronics Size "B" Die Cast Aluminum Box with Cover, Baked Blue Enamel finish, Model# 2417
    as seen on page 53 of their catalog. All of their other products are great too. Highly Recommended.
  • 650nm 5mw 12X30mm laser module from Aixiz. This company, on the other hand, is as sketchy as you get, but I've always had great services, so, if you need cheap lasers, it works.
  • (2) AAA Li-Ion cells with solder tabs.
  • Protection Circuit Module for Li-Ion cells.

You'll need some other items as well, such as a jack for charging the device, wires, a breadboard PCB, and various components for the power supply. You can pick those out from the schematic below though.

There's lots of great info regarding the Blu-Ray diode on a page at Sam's Laser FAQ. This was the source of the power supply circuit, and information about the amount of current that could be run through the diode. Unfortunately, the construction quality of the power supply isn't the greatest, and I find the case design for the pointer at the bottom rather wasteful. The circuit is, however, of sound design.


(Schematic Credit: Sam's Laser FAQ)

It is only somewhat difficult to fit the power supply on to a suitably small breadboard to fit in the case. I think a smaller package version of the LM317 would be better suited than the TO-220 packaged one I chose.

All parts ready for assembly
Power Supply
Aperture
Operational

More pictures in the

The experience using the Blu-Ray laser pointer is rather interesting. It is clearly extremely bright, and for this reason I must underscore the importance of being extremely careful to avoid eye exposure. However bright it is, sometimes it appears quite dim because the color is very near UV and normally much more deep violet than it appears in the photo above. On paper and bleached targets it does appear very blue, or even white on orange fluorescent surfaces. Occasionally there is even some eye-strain associated with looking at the beam incident on a light colored surface.

In a completely dark room it is even possible to see the beam in air, which is rather interesting, because the dot appears less bright than a cheap 5mw red laser pointer might in a well-lit room. I don't have the appropriate equipment to properly measure light output, but I have chosen not to run it at maximum current in order to prolong diode life. It is plenty bright at it's current level of ~30-40ma.

Soon I hope to label the box with appropriate warnings and specifications for the charging port on the back, but I need to prepare appropriate stencils for painting first. I think it is built such that I can expect many years of service before needing to service it.

I'd love to hear if you're building one or have any questions about mine.

subscribe via RSS