DMX-512 add on for EasyLase USB

Today I had a great time going to Maker Faire in San Mateo. It really is inspirational for one's own projects to see other neat work being done.

I'm currently busy working on a couple of things, but I realize it has been a while since I've posted updates on anything I've done. Back in September of last year I put together a DMX-512 level converter breakout board for my EasyLase USB.

I'd previously ported and debugged the DMX portion of the driver for the board just using TTL level loopback adapters. I also went on to build the Wonderwall project using the DMX output of the EasyLase, but the level shifter and RS-485 transceivers were all on a solderless breadboard. That needed to be corrected. :)

I'm rather proud of the size of the board--especially being made of all through-hole components. It neatly plugs in to the existing headers, and I think it looks right at home where it has been mounted on the board. All the schematics to build one for yourself are available on the Müller Elektronik website. Enjoy!

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

subscribe via RSS