Feb 25 2010

amp attenuator

What is that? It’s what I call the Amp Can. It goes between my guitar amp’s output and the speaker to cut the signal’s volume. Why? Because tube amps sound better loud, but that means that, well, it has to be loud. Stick the Amp Can in there and you get all the benefits of cranking the amp without the hearing loss! How does it work?

It’s really pretty simple. It’s just an in jack, 4 resistors (big 20w resistors), and an out jack. This web site has a little more info on the specifics. I built the bridged-T resistive circuit since it is supposed to be better. Resistive designs are not as good as fancier designs because they tend to affect the tone a bit, especially at higher levels of attenuation, but I was only doing a little bit of volume cutting, so it’s not noticeable. You could also build one that’s adjustable, but I can’t buy the parts for that at RadioShack, so I went with a fixed one. It cuts the volume by 6 dB.

Now if only I had a lid for the can…


Feb 22 2010

how to avoid scams on Craigslist

I’ve been trying to get rid of all my unnecessary belongings recently so that I have less to worry about when I move and I’ve come across a lot of people trying to cheat me out of some money, so I thought I’d post a little information on the obvious signs someone isn’t interested in what you’re selling.

  • Probably the first sign is really bad English. That’s not always going to be true, but if they ask things like, “Can you tell me the presently condion?” chances are they are scammers.
  • If they refer to what you are selling as “the item.” Most real people will refer to whatever it is you’re listing by name (not always, but be wary).
  • The next sign is if they tell you they want to buy it for someone out of the country or they are currently out of the country and want you to ship it to them. At least half of the offers I received were from people who wanted to surprise a family member overseas with a nice gift. Uh huh. Sure.
  • Actually, just avoid shipping in general. There was another guy who wanted me to ship it to him, and it seemed legit enough that I even went so far as to have him send me a check, but it looked very fake and was for a good $800 more than I asked for. He, of course, said I should just deposit him and send him a check for the leftover amount as if he had accidentally sent me that much more.
  • If you send them a reply and their response is from a different email address or has a completely different name, there’s a good chance it’s not a real person interested in your sale.
  • If they offer you more than you’re asking for, it’s a scam. This one should be fairly obvious, but just in case it isn’t, think about it for a second. Are you really going to offer someone more money than they are asking for? I don’t think so. Neither is anyone else.
  • If they refer to you as “my friend” all the time, avoid them. Okay, so this one might not always apply, but some scammer did that to me and it was annoying enough that even if he was a real person I wouldn’t have sold it to him.

That’s not an exhaustive list by any means, but it should cover the basics. Trust your instincts. You’re not obligated to sell to anyone just because you emailed them a couple of times.


Feb 12 2010

BYOC Large Beaver custom guitar pedal

Finally finished my Big Muff clone. It’s based on the schematic from the BYOC Large Beaver, which is in turn based on the original Big Muff pedal used by Hendrix, The Rolling Stones, The Smashing Pumpkins, and numerous others. At least, mine is based on the original. They also provide schematics for later versions, but I chose to go with what I thought would sound best. And boy does it sound gooooood.

It took me all week to get it working. With both my previous BYOC builds, like the OD2 I built a while back, I used a PCB and enclosure from BYOC. This time, I decided to lay it out on perfboard and make my own enclosure. It was very aggravating, but also very satisfying once it worked. The biggest problem I had was that several of my connections were wrong when I made the layout, so I put it together wrong. Luckily, BYOC has a helpful community of pedal builders that can look things over for me and tell me I’m an idiot.

I salvaged the enclosure from an old printer selector box I had lying around. I have no idea why I had it lying around, but there it was… It’s a very sturdy box, which also means that it’s a big pain to drill holes in, but at least it’s not going to break.

front view

I’ve changed that knob to something else. Originally, there was to be a selector knob there, but I ended up going a different route and put the original selector knob back.

back view

I decided to keep the printer ports on instead of having big holes. This way I can confuse people, too.

gut shot

That big thing in the back right corner is the original selector switch used with the printer ports. Every single pin on the ports had to be connected to it, so it’s a little intense. Those white wires are the places I messed up the layout and had to redo a couple connections. It’s not quite as neat this way, but it works, so whatever. On the right, you can see a smaller daughterboard that I’m using in place of the selector knob. It works just like the jumpers on the back of a hard drive. The jumpers specify what the EQ curve is going to look like. The three stock options, as you can see on the board, are mid scoop, flat, and mid boost. The fourth stock option is bypass, which is useful for when you are running a bass through the pedal and don’t want to loose so much bass. However, my jumpers provide a fifth option, though I’m not exactly sure what the EQ curve would look like. Somewhere between flat and mid boost, I guess. UPDATE: Turns out that if I add in a fourth jumper, I should theoretically be able to have both the bypass and the tone circuit active at the same time, meaning I would be able to have the un-EQed signal and the EQed signal coming out at the same time. Could be interesting for bass when I want more low end.

The only things left are to stick in a battery holder in case I ever need to use a battery and to put velcro on the bottom so it stays on my pedalboard.

I also put a true bypass switch in my wah pedal (finally), but I don’t think I’m going to bother posting pictures because it’s basically just the original pedal with a different switch. Not very exciting. Projects still left: Billm mods for my Blues Jr. (when I finally get the kit) and improving my doorbell alert system with a real opto-isolator.


Feb 2 2010

upcoming projects

I’ve got a couple projects on my plate that I will post some updates about soon (probably later this week). First, I realized that I had a lot of the parts needed to make a BYOC Large Beaver, which is a clone of the famous Big Muff pedal. Rather than order a BYOC PCB, I decided to build this one myself on some perfboard. This will be my first project on perfboard, so there is going to be lots of planning involved. Good thing I just won a Maker’s Notebook! I did have to order a couple extra parts, though, so I also ordered a couple real opto-isolators to replace my homemade one. I will update that project with the new parts when I figure out how to use them. I also picked up a small mic from Radio Shack, so I’d like to start experimenting with that. Finally, IĀ ordered one of the Billm mod kits for my Fender Blues Jr. amp, so I will try to post that project, too.


Jan 28 2010

we don’t need the iPad, but it will probably sell anyway

There’s been a lot of hype about Apple’s latest gadget, and, especially on the technology blogs (here’s lookin’ at you, Gizmodo), a lot of posts about how it’s going to change everything. I will concede that it will change one thing: bringing tablet computers to the masses. Beyond that, it is probably the most limited-use piece of technology I can think of. It has a 1 GHz processor, no better than, say, the Nexus One. It’s probably got a better video card, but in the end, it can’t really do much of anything the Nexus One can’t do. Or the iPhone, for that matter. It’s basically just a big smartphone, though they are putting iWork on it (does anyone actually use iWork?). The problem with that is that you can’t stick it in your pocket, so it’s not nearly as useful as a smartphone. Ok, but it can have 3G, so maybe it’s more like a netbook, you say. Except the iPad is more expensive, can’t multitask, and can’t access Flash. It’s slightly more portable than a netbook, but considerably less useful. Hell, it’s not even as useful as an average Windows tablet because those run actual Windows, so you can do whatever you want instead of being locked in to whatever Apple deems appropriate for it. I’m sure the iPad is a fine piece of hardware, but the software makes it utterly impractical for anything. It’s time people had a reality check and realized that.

In case you couldn’t tell, I’m in a bit of an anti-Apple mood right now (not that my points are any less valid) because my iPod decided to die on me after only two years or so. The battery was completely fine a week ago, then, one day, it just decided to completely run out. Generally speaking, batteries are supposed to gradually lose their charging ability, so I’m not sure exactly what went wrong (maybe they program it to stop working after two years). I don’t have the money to get it fixed or get a new one, so I decided to put my music on my phone instead. That meant using new software. New software is fine, except that iTunes does such a horrible job of tagging everything that it was an enormous task just fixing the mess it made. Using Media Monkey (which, by the way, is awesome), I discovered a good number of my tunes had no tags at all and most (if not all) of the songs have duplicate album art within the file, which is probably why some people (myself and a friend included) see random album art on their iPod on songs that show the correct art in iTunes. Unfortunately, Media Monkey doesn’t work on my Mac, so I guess I’ll be managing my library on my desktop from now on.


Jan 19 2010

doorbell alert with Arduino


My brother and sister-in-law were generous enough to get me an Arduino kit for Christmas. It took me some time to think up a good starting project, but, while I was waiting for a package, it occurred to me that it would be nice to be able to hang out in the basement playing guitar and not have to worry about missing the doorbell when the UPS guy rings. It’s nearly impossible to hear the bell from the basement and I have missed more than one signature-required package just because I couldn’t hear it. While there isn’t an extra doorbell chime in the basement, I do have a computer down there, so I thought this would be a great opportunity to test out my Arduino skills.

Materials (as seen above):

  • Arduino (any version should do)
  • LED (any LED, but have the specs handy)
  • Photoresistor
  • Some resistors
  • Diode (I used a 1N4001; just make sure yours can handle your doorbell’s voltage)
  • A foam earplug
  • Electrical tape (black is probably best)
  • Something to put the circuit on (PCB, breadboard, protoshield, whatever)

(As a bonus, most of the materials, except a resistor, can be found in the Advanced Arduino Starter Kit I got)

The idea behind this project is to have an extender for the current doorbell system. While it would be fairly simple to replace the doorbell altogether (just wire a button to the Arduino), I wouldn’t to add on to the current system without interrupting it. For that, I had to do a little research. Doorbell circuits, as it turns out, use alternating current (AC) coming from the house, at least here in the US, which would be problematic with the Arduino. Whereas direct current (DC) sends a constant signal, AC alternates between positive and negative voltage. Remember sine waves from math class? That’s what AC looks like. If you try to hook that to an Arduino pin, it will read the signal as constantly switching between on and off many times a second. With DC, the Arduino only sees “on” when there is voltage and “off” when there isn’t, so it is much more convenient. It’s fairly simple to convert AC to DC using a diode, but it doesn’t eliminate the on/off problem, at least not the way I did it. A diode only allows positive current to flow, so when you run AC through it, it chops off the bottom half of the sine wave (it’s known as a half-wave rectifier). Unfortunately, that still leaves a bunch of humps on top that the Arduino will read the same as if you hadn’t done anything to the AC signal. You can use a couple more diodes to create a full-wave rectifier, which, while not perfect, would be good enough for our purposes; however, we only really need a half-wave rectifier for the circuit I created. It’s entirely possible to achieve the same results using a full-wave rectifier and a voltage divider, but I think my solution is a little simpler. You can read more about rectifiers on Wikipedia if you want to go that route.

After asking around on the Arduino forums, someone suggested I try an opto-isolator instead. That sounds pretty complicated, but an opto-isolator is really nothing more than an LED and a photoresistor in one package (they make up the “opto” part of the name, short for “optical”). When the LED lights, it triggers the photoresistor. The idea behind an opto-isolator is that you can have two separate circuits interact with one another without interfering with one another (hence “isolator”). In our case, we don’t want to take too much current from the doorbell circuit or it won’t ring very well. We also don’t want to overload the Arduino and we don’t want to have to deal with AC any more than we have to. Unfortunately, an opto-isolator isn’t something I have lying around and RadioShack doesn’t seem to sell them, so I thought I’d test my knowledge and build one myself. Like I said, it’s really nothing more than an LED and a photoresistor, both of which I do have, so I just need something to put them in. I decided to use a foam earplug, which turned out to be more of a pain than I had hoped, but it does a good job of blocking out external light. You’ll probably want to cut a little off the end to shorten it, but it will need to fit both the LED and the photoresistor (not the leads, just the main part). After that, stand it up and squish it down, like this:

We want to poke a big enough hole in the middle to fit our components in. I first tried an awl, but the hole kept closing up when the earplug puffed up, so I needed something bigger. I decided to use the end of a pen, though you could probably use a piece of tubing or a straw. You’ll need to hammer it to push it all the way through, so make sure whatever you use is sturdy.

Clear the gunk out of the hole and wait for the earplug to puff up again. Now that you’ve got a hole, start by shoving the LED into it. It’s kind of a pain to get it in there, but it should go most of the way in. Leave some room on the other side for the photoresistor.

You’re now going to shove the photoresistor into the other side of the earplug. It’s an even bigger pain than the LED was, but you want it to be right up against the LED so that the LED’s light output is the only thing effecting the photoresistor. When you’re done, you should have this goofy looking contraption:
Spider plug!
Just to make sure no extra light gets in anywhere, wrap it with the electrical tape so that it looks even more ghetto.
You should probably just buy a real one.
Is it elegant? Hell no! But it does exactly what I want it to do. What we’re going to do with our DIY opto-isolator is attach the LED side to the doorbell circuit and the photoresistor side to the Arduino. When someone pushes the doorbell, the LED will light. The Arduino, through the photoresistor, will detect the change and send a signal to the computer. You might remember earlier that I said we would be just fine with a half-wave rectifier. If you’ve read through Getting Started With Arduino, then you might remember reading about pulse width modulation (PWM). Using PWM, you can change the brightness of an LED by changing how fast on and off signals are sent to it. The same thing applies to our little circuit. While we are still sending only half of the AC sine wave, the signal switches so fast that the LED appears to remain lit (it may actually stay lit, for all I know, but you’ll want to look that up), so neither we nor the photoresistor can tell the difference. That means that when the photoresistor triggers the Arduino, the Arduino is only seeing one consistent on signal. Pretty neat, huh?

Before we hook anything up, you’ll need to see how much voltage your doorbell’s transformer is putting out. Take the cover off your doorbell’s chime and notice what a simple circuit it is. If you have a simple chime bell like I do, it is nothing more than an electromagnet and some rods. When you send current, it creates a magnet that slams the rod into a piece of metal, creating one chime sound (ding!). When you let go of the button, there is no electricity to create a magnet, so the rod goes back to it’s normal position, overshooting a bit on its way and smacking the other metal plate (dong!). For more on that, read this article. Anyway, the important thing here is to figure out what each of the terminals are connected to. On my chime, there are 3 terminals: front, transformer, and rear. Front is connected to the doorbell (front of the house), transformer connects back to the transformer, and rear would connect to a second doorbell if I had one. Set your multimeter to measure AC voltage and put the positive poker thing on the terminal connected to the doorbell and the negative poker on the terminal connected to the transformer. Have someone push (and hold) the doorbell while you look at your multimeter. My doorbell puts out around 10v, but yours might be different. Use the voltage you get to figure out the size resistor you will need for your LED. Look at your LED’s specifications and see what voltage and current it is rated for. Mine was a Vishay LED that could take a maximum of 3v and somewhere around 30 mA. I decided to play it safe and go with 2.5v and 20 mA. Using Ohm’s Law (voltage = current x resistance), I discovered I needed a 375 ohm resistor, which, as it just so happens, doesn’t exist. You want to play it safe and go higher rather than lower, so the next closest value is a 470 ohm resistor. Using a higher value than necessary will make the LED glow dimmer, but it really makes no difference for my circuit, so 470 is just fine.

Now, how are we actually going to hook it up? The LED needs to be hooked up a specific way or it will break. The longer lead of the LED is the positive lead and will connect to the doorbell side of the chime. Well, not directly. Since the purpose of the resistor is to limit current before it hits the LED, we want to connect the resistor to the terminal and the LED to the resistor. The other side of the LED will connect to the transformer terminal of the chime circuit. But remember that we still haven’t converted the voltage to DC yet, so we will need to add one more thing to our circuit: the diode. Connect the diode before the resistor; that is, it should connect to the terminal, the resistor to the diode, and the LED to the resistor. Like the LED, the diode also needs to be connected a certain way (the resistor does not). On one end of the diode, you should see a colored band (silver on mine) that runs around the body of the diode. That end should connect to the resistor. Think of it like an arrow with the point being the band; current will flow only toward the point and not in the other direction, so we want to point the arrow in the direction we want current to flow.

Now we get to connect it all to the Arduino. You’ll need to use a breadboard or a protoshield for this part (you can use it for the other part, too). Connect one end of the photoresistor to +5v on the Arduino and the other end to a spot on the breadboard. Connect a 10k resistor from ground to the same row on the breadboard, then connect a jumper wire from that row to analog pin 0 on the Arduino. The resistor keeps the Arduino from getting a bunch of wonky signals that would throw of its readings. That’s it! The completed circuit will look something like this (the two loose wires will connect to the doorbell circuit):
Yup, still kinda ugly.
Here’s a schematic of the same circuit:
Not nearly as ugly as the real thing.
Time to program the Arduino. The code is pretty simple; all you need to do is tell the Arduino which pin the photoresistor is connected to and tell it what to do when the photoresistor reacts to the LED (i.e. when the doorbell rings). I decided to have it print a little message (“ding dong!”) over the serial port. The important part of the code is here:

if ((lightLevel >= 500) && (oldLevel < 500)) {
Serial.println("ding dong!"); }

In English, that says that if the photoresistor detects light, print the message to the serial port (and if you watch the serial monitor, you will see the message). I wrote some test code to determine the light levels read by the photoresistor when the LED was on and off. It read about 0 when the LED was off and above 600 (usually closer to 700) when it was on. Since there is plenty of wiggle room in between those extremes, I decided to give myself a little space and use 500 as the sweet spot. The code says that if it reads a value greater than or equal to 500 from the photoresistor AND the value taken before the current reading was less than 500, then it should print the message. That little trick means that it will only print the message the first time the button is pressed instead of printing it over and over again when the button is held down (when the button is held, both values will be above 500). It also means that when the button is released (current value less than 500, old value greater than 500) or not being pressed (both below 500), it won't print the message. You can download the code here. Upload it to your Arduino. You may want to test it with a simple button setup like those illustrated in Getting Started With Arduino before you hook it up to the doorbell. Here's what my final doorbell test looked like:
Probably not the safest way to do it.
It works! If your doorbell is as crappy as mine, you may find that it doesn't always work perfectly. You may need to play with the light level threshold (in the "if" statement) to match your opto-isolator setup or change the delay time. The delay is in there mostly as a debounce precaution, but you may find that you need more or less for your doorbell.

Improvements, had I the money and skill to implement them:

  • Shrink it down and make it permanent. If I were going to keep this installed, I would probably use a Nano and solder everything onto a PCB so it would fit in the chime housing
  • Make it wireless. It isn't that useful if you have to be sitting next to it with a USB cable to use it. Adding an XBee unit or using a bluetooth Arduino would make it much more practical.
  • Add useful alerts. No one wants to sit there with the serial monitor open all day. Having a Growl plugin to notify you when the doorbell rings would be ideal.

If you can think of any other improvements, feel free to share. You could also, as stated earlier, simply replace the whole doorbell circuit with an Arduino. You could hook up a camera or have it send Twitter alerts (or both). I leave the rest up to you.


Nov 2 2009

Google Voice updates (again)

Google has been kind enough to fix another of my gripes about their Voice service, or at least get to a nice middle point. Although you still can’t use your current phone number for the full Google Voice package, you can have Google Voice handle all your voicemails. It’s a lot more useful to have all your voicemails in one place with transcripts, though you can’t set up forwarding, screening, or record your calls. Still, it does mean that you still get to use all your free mobile-to-mobile minutes and you don’t have to worry about lag time because of calls running through Google’s servers, so it’s a nice halfway point. To really be useful, though, you’ll want to make sure you’ve got a plan with plenty of text messages so that you can actually see on your phone when you have a new voicemail. You may also want to change your voicemail entry in your contact list so that it calls your Google Voice number instead of your regular voicemail as Google’s service doesn’t actually take its place (in the sense that your provider’s service still exists, but none of your voicemails will go to it).

The downside is that it isn’t quite as convenient to get a text message telling you about voicemail as it is to just have your voicemail icon light up, but you do get a transcript out of it and you can listen to it online, so… decide for yourself, I guess.


Oct 8 2009

please enter date of birth

Does anyone else ever wonder why, when asked to fill in your date of birth to make sure you are old enough to view a web site, they always give you the current year as an option? Are they expecting lots of half-year-old babies to be interested in their product, despite their inability to speak or read?


Oct 7 2009

Google Voice updates pricing

So I see on Gizmodo that Google Voice has finally managed to give us free calling to Alaska and Hawaii, eliminating one of my gripes about it. Hooray! Now let’s just hope they’re still hard at work on the other problems…


Sep 19 2009

copyright penalties

It just occurred to me that you could go to the store a steal a CD and probably end up with a less severe punishment than if you downloaded those same songs illegally. Um… what?