Negatron Blog

Adventures in creating and destroying sounds
RSS icon Home icon
  • Replacing a blown tweeter in a Behringer B215A Powered Speaker

    Posted on December 7th, 2010 Bob 41 comments
    Introducing the Behringer B215A

    Introducing the Behringer Eurolive B215A PA

    I picked up a Behringer B215A Powered Speaker and it served me well for just under a year. I somehow blew the tweeter during a Xome performance! Imagine that!

    By the time I thought about it again and went to dig out the warranty information, the one-year warranty period had expired. Pretty typical thing for me to do. So I figured that I’d crack ‘er open and see what going on in there.

    Screws on the back of the B215A with some notes

    Screws on the back of the B215A with some notes

    Opening up the cabinet was easy enough except some of the screws holding the thing together were recessed so far down in the back of the cabinet that my trusty screwdriver would not reach. Actually, most of the screws were that way. I went to the hardware store and picked up an extra long Philips screwdriver — a 20 inch long one to be exact. I measured things up and you would need at least a 9 inch long shaft on the screwdriver to get these screws out. Most of the screws were the same but there were two that were shorter than the others and the screws used for the handles were different.

    The speaker cabinet is open

    The speaker cabinet is open

    So, after all the screws were out, the front and the back of the speaker came right apart. If you are doing this yourself, be extra careful as both the front and the back are big and heavy and could fall over. Prop up one side on a wall, chair, table, etc. You don’t want one side falling over and yanking too hard on the wires.

    When I got to the point where I could  reach inside the speaker, I marked a + and – on the respective connectors with a Sharpie for both the compression driver (tweeter)  and the woofer. I also marked each of the wires themselves as “woofer” and “tweeter” so I wouldn’t get those mixed up.  Then I removed the quick disconnects on each set of speaker terminals. Now the cabinet is in two pieces!

    Original Behringer compression driver mounted on the horn

    Original Behringer compression driver mounted on the horn

    The compression driver on these speakers screw right in to the back of the horn. Simple enough to remove, right? I twisted and turned it but it would not budge. I expended all my vast muscular energy on it and could not get it to twist off. I noticed that the diameter of the compression driver was about the same as an oil filter on a car. A quick measure told me it was 3.5″ in diameter.  So I went and picked up a cheap oil filter wrench. The oil filter wrench worked flawlessly. The magnet in the compression driver did attract the metal on the wrench a bit though. A couple of light taps and some twisting and the driver was off!

    I got the compression driver off with an oil filter wrench

    I got the compression driver off with an oil filter wrench

    Behringer uses some sort of loc-tite material on the threads to secure everything in place making it difficult to remove.

    I did a little research online and found that the threaded opening on the Behringer compression driver is actually a pretty standard size — 1 3/8″ in diameter with 18 TPI (threads per inch). For a replacement, I wound up going with a Selenium D220TI (8 ohm) available at Parts Express. It cost me $45.84. There was another one available in the $30 – $40 range but I decided to go wit the D220TI  because of the rated power handling. Supposedly the original Behringer HF compression drivers replacements run in the $70 – $80 range. The few places that I found online indicated that they are “special order” items and it would take a while to get them to me. The specs on the Selenium are better, it was around half the price and I could get it in a few days so the decision was pretty much a no-brainer. There was also another consideration in the decision process… the Selenium has a titanium diaphragm and the original Behringer 34T30D8 has an aluminum diaphragm according to the markings on the driver.

    Original Behringer 34T30D8 Compression Driver

    Original Behringer 34T30D8 Compression Driver

    Now, when I purchased this speaker, I was under the impression that it had a titanium diaphragm driver… the box it came in says it has a titanium diaphragm driver… Behringer’s Web site says it has an aluminum diaphragm driver and some retail Web sites say it has a titanium, others say it has an aluminum.

    Original box the Behringer Eurolive B215A came in

    Original box the Behringer Eurolive B215A came in

    I feel that there’s something weird going on so I’m probably going to write a nice letter to Behringer to see what they have to say… but I digress…!

    Selenium D220Ti Titanium Horn Driver (8 Ohm)

    Selenium D220Ti Titanium Horn Driver (8 Ohm)

    So, I popped in the new Selenium driver, reconnected the wires and put everything back together. The Selenium is a lot bigger and heavier that the Behringer counterpart but it screws on to the back of the horn and fits inside the cabinet just fine. The oil filter wrench won’t strap around the new driver — it was just way too big. I just screwed it in as tight as I could by hand.

    As for the sound, I have only done a brief test bit it sounds excellent. I hope that the new Selenium driver will hold up to the abuse I sometimes put it through.

    By the way, the Behringer B212A supposedly uses the same setup except the woofer is a 12″ as opposed to the 15″ in the B215A. You should be able to replace the stock Behringer compression driver with a new one like I did.

    Here are some extra photos:

    The amplifier side of the Behringer B215A

    The amplifier side of the Behringer B215A

    The big ol' 15 inch woofer

    The speaker side of the Behringer B215A

    The 15 inch woofer

    The big ol' 15 inch Behringer woofer

    The original Behringer compression driver is out

    The stock Behringer compression driver

    The new Selenium D220Ti ready to go in

    The new Selenium D220Ti ready to go

    The new Selenium D220Ti is in and ready to go

    The new Selenium D220Ti is installed

  • CAPTCHA alternative using random photos in PHP

    Posted on August 1st, 2010 Bob No comments


    I administer a music related forum and registrations from ‘bots’ were getting a little out of hand. On the forum’s registration page, I was using a CAPTCHA scheme that I made a very long time ago. Today I was reading up on how easily OCR technology can crack CAPTCHAs found on forms all over the Web. I realized that perhaps that this was one reason why I was getting so many spammy registrations. I thought that my CAPTCHA may need some updating so I came up with an entirely new scheme.

    The basic idea is to present the user with a group of images of items with random numbers superimposed over each of the images.


    The user has to enter the number that corresponds to one of the randomly chosen images to authenticate. Hopefully, a machine will not be able to discern a ‘boat’ from a ‘dog’.

    It turned out to be relatively simple to implement. First, I grabbed a bunch of images of ‘things’… a bird, a dog, an umbrella, a banana, a car, a cat, etc. from around the Web. I wrote a PHP class that generates a composite image from 9 smaller ones and derives a 3 digit code and the name of the thing in the photo.

    So, here’s the code I came up with:

    // Written by Bob Scott
    class confirmationImage {
    	// Class constructor
    	function confirmationImage() {
    		$this->photoDir = './things/'; // with trailing slash - directory where the images are stored
    		$this->textAngle = 25;
    		$this->textPosX = 56;
    		$this->textPosY = 96;
    		$this->textFontSize = 20;
    		$this->randFont = './fnt/arialbi.ttf'; // True Type font to use
    		$this->writeDir = $_SERVER['DOCUMENT_ROOT'] . '/cImages'; // directory must be readable, writable and executable by web server user
    		$this->writeURL = '/cImages';
    	function makeImage() {
    		$randomNumbers = array();
    		// Get all available photos
    		if ($handle = opendir($this->photoDir)) {
    		   while (false !== ($file = readdir($handle))) {
    		       if ($file != "." && $file != ".." && !strstr($file,'php')) {
    		           $photos[] = $this->photoDir . $file;
    		// Randomize photos
    		// Get the first 9 random images.
    		// Create a 3 digit number for each of the images
    		// also derive the name of the image from the file name
    		for ($i = 1 ; $i <= 9 ; $i++) {
    			$im[$i] = @imagecreatefrompng($photos[$i]);
    			$fontColor[$i] = imagecolorallocate($im[$i], rand(188,255), rand(188,255), rand(188,255));
    			$fontColorB[$i] = imagecolorallocate($im[$i], rand(0,120), rand(0,120), rand(0,120));
    			$rNum = rand(100,999);
    			// never have duplicate random numbers
    			while (!in_array($rNum, $randomNumbers)) {
    				$randomNumbers[$i] = $rNum;
    				$rNum = rand(100,999);
    			// get photo name from file name
    			$photoNames[$i] = strtoupper(str_replace('.png', '', str_replace($this->photoDir, '', $photos[$i])));
    			// put numbers on each photo
    			imagettftext($im[$i], $this->textFontSize, $this->textAngle, $this->textPosX-1, $this->textPosY-1, $fontColor[$i], $this->randFont, $randomNumbers[$i]);
    			imagettftext($im[$i], $this->textFontSize, $this->textAngle, $this->textPosX+1, $this->textPosY+1, $fontColor[$i], $this->randFont, $randomNumbers[$i]);
    			imagettftext($im[$i], $this->textFontSize, $this->textAngle, $this->textPosX-2, $this->textPosY-2, $fontColor[$i], $this->randFont, $randomNumbers[$i]);
    			imagettftext($im[$i], $this->textFontSize, $this->textAngle, $this->textPosX+2, $this->textPosY+2, $fontColor[$i], $this->randFont, $randomNumbers[$i]);
    			imagettftext($im[$i], $this->textFontSize, $this->textAngle, $this->textPosX, $this->textPosY, $fontColorB[$i], $this->randFont, $randomNumbers[$i]);
    		// Make final composite image
    		$imf = imagecreatetruecolor(300, 300);
    		$cc = 1;
    		for ($x = 0 ; $x < 300 ; $x += 100) {
    			for ($y = 0 ; $y < 300 ; $y += 100) {
    				imagecopy ($imf, $im[$cc], $x, $y, 0, 0, 100, 100);
    		// What number / photo combination shall we use??
    		$crn = rand(1,9);
    		$this->photo_name = $photoNames[$crn];
    		$this->photo_number = $randomNumbers[$crn];
    		$ffn = uniqid('cpt_') . '.png';
    		$fFile = $this->writeDir . '/' . $ffn;
    		$this->fURL = $this->writeURL . '/' . $ffn;
    		imagepng ($imf, $fFile);
    		for ($i = 1 ; $i <= 9 ; $i++) {
    		return TRUE;

    To access this class, just do something like this in your PHP script that generates your registration page:

    // make confirmation string
    $cm = new confirmationImage;
    $code = $cm->photo_number;
    $confirm_image = '<img src="' . $cm->fURL . '" alt="" />';
    $picName = $cm->photo_name;

    You will want to store the value of the variable $code on the backend… either in a cookie variable, a session variable or even a database for later access. You will the want to display $confirm_image and $picName to the user. The user’s input must match $code when error checking your registration page.

    When setting up everything, make a directory that is readable, writable and executable by the Web server user toy hold the confirmation images. On *nix machines, a simple

    chmod 777 cImages

    should suffice. I made the individual images all PNG format and resized them to 100×100 pixels. Name the individual files with the name of the object in the photo. For example, the photo of the bird is ‘bird.png’. I purposely choose photos of items that have one word in their name… though ‘rubber ducky’ was awfully tempting. Also, your PHP installation must have GD with PNG support built in or this will not work.

    Here’s a directory listing of the images I wound up choosing:

    $ ls -1

    A few thoughts while building this. I realize that users that are visually impaired will not be able to use this CAPTCHA scheme. If you decide to implement something like this for your Web site, please take note of this important fact. I really tried to make all the items in the photos as simple as possible in hopes that non-native English speakers will still be able to use the scheme with a super basic understanding of English.  My forum is in English anyways.

    Also, the directory with the confirmation images will fill up over time. You might want to run a cron job that cleans those up from time to time:

    # remove stale confirmation images
    0 20 * * * /usr/bin/find /usr/local/apache/htdocs/cImages -type f -mmin +360 -exec rm -rf {} \; >/dev/null 2>&1

    This sort of CAPTCHA alternative has possibly been done before but this is my take on it. Let me know what you think!

  • Installing a New Battery in a Yamaha DX7

    Posted on September 26th, 2009 Bob 36 comments

    I recently had the chance to replace the battery in a Yamaha DX7 Synthesizer. The manual for the DX7 states that the battery should last for 3 to 5 years and it was well past that time. I first thought that I could just run down to Walgreens and pick up a “button” style battery and pop it in but after poking around on the Web, I found out that the DX7 uses a special kind of CR2032 battery with solder leads mounted on it. I found a suitable battery through Mouser (part number 614-CR2032FH-MFR). To replace the battery you basically have to take the whole synth apart, but Yamaha tries to make the procedure as painless as possible.

    I found some very helpful instructions through Dave Benson’s DX7 Page (also archived here) for replacing the battery. These instructions were spot-on!

    There were a couple of things I noticed while disassembling the synth.

    1. The connector labeled C6 on the main board is not connected to anything.
    2. The main board was a little difficult to remove from the chassis after all screws and connectors were out. There are two tabs that are used to mount keyboard. You have to angle the main board between these tabs and the back of the chassis to lift the board out. Be careful when doing this!
    3. To remove the old battery, I used a solder sucker to get rid of most of the old solder which makes it easier for the old battery to pry up and out.
    4. The battery evidently had been replaced before. There was a service sticker from some repair shop on the back of the unit. The trace between the battery’s positive lead and the next component (which is a diode) had been severed. I had to solder in a short jumper over the trace to fix it.

    Overall, replacing the battery was not a difficult task but somewhat time consuming. Have fun!

    You can click on the images below to get a larger image:

    Yamaha DX7 open with keyboard in place

    Yamaha DX7 open with keyboard in place

    Yamaha DX7 close-up of connector C6

    Yamaha DX7 close-up of connector C6

    Yamaha DX7 open with keyboard removed

    Yamaha DX7 open with keyboard removed

    Yamaha DX7 main board

    Yamaha DX7 main board

    Yamaha DX7 solder side of main board near battery

    Yamaha DX7 solder side of main board near battery

  • Circuit bending a Mix Me DJ

    Posted on February 20th, 2009 Bob 5 comments

    1209_audibledisease_mixmedjThe “Mix Me DJ” was another great find! It was not that difficult to bend and the results were great. I basically added a pitch control which can be toggled between being controlled by a knob or by a theremin-like photo eye (a CdS photocell). Also added 1/4 inch jacks for input and output and gave it a nifty paint job making the plain old boring scratch wheel into a super-satanic-scratch wheel! I also added a volume control as this thing was just way too loud and there was no way to control that.

    When the internal clock speed goes too fast, the circuit really starts glitching and making all sorts of mean noises. When first playing around with the device, I was sort of avoiding the sounds generated by the pop-out keyboard but as it turned out, the little keyboard produced some of the sickest sounds!

    There were two fake knobs above the scratch wheel on either side. I cut off the tops of the faux knobs with a hack saw just leaving a ring to mount the real pots into. Nice.

    Probably the hardest thing about modifying this beast was putting everything back in it’s place after the bends were made. If you want to bend one of these, it might be a good idea to jot down some notes on where all the screws, springs, etc. go. You might want to put sets of screws and stuff in their own baggie or envelope or something.

    Watch this neat video:

    Here is a very large image with the bends annotated on the image.


  • How neat are on-board pots?

    Posted on February 14th, 2009 Bob 1 comment

    onboardpots_508I build a lot of pedals. Probably my least favorite thing to do when assembling pedals is wiring potentiometers. I found a great way to cut down wire cutting, stripping and soldering time greatly by just using the right angle PCB mounted pots as opposed to ones with solder lugs. Of course, I’ve had to reconfigure PCBs to accept the new-fangled pots but the pay-off is well worth it!

    onboardpots_513To make mounting easier when using the PCB mounted pots, I got a small cardboard box and made a cut-out in it a little smaller than the circuit board. Then I taped on strips of cardboard right on the edges of where the circuit board will actually fit in… the height of the cardboard strips keep the pots pretty close to a right angle when soldering everything down.

    Since the pots are usually a bit mis-aligned when you start soldering, I typically solder one of the legs in place with just a small amount of solder while holding the pot in place with my fingers. I make sure that the pot’s leg is flush with the pads on the PCB and everything is close to being centered and straight. After the solder cools in a second or two, I remove my fingers. Now technically this would be considered a “bad” solder connection because I might have moved my hand while the solder was cooling. Not to worry. That’s why you need to use a minimal amount of solder here. Just enough to “tack” the pot to the PCB. I then go to the unsoldered leg on the opposite side and “properly” solder each of the legs… and then the last one with the presumably “bad” solder connection. Now all three of the legs should be soldered on there properly!

    Sometimes, the back of the pots hang over part of the circuit board with pads and traces. Just to make sure nothing shorts out on the back of those pots, I usually squeeze a bit of hot glue between the back of the pot and the PCB just to be safe. Just a little dab will do ya!

    onboardpots_342I also recently reconfigured a pedal to take PCB mounted pots with straight (i.e. not right angle) connectors. I’m still working on a more streamlined way to solder these, but so far it’s been pretty smooth sailing!

    The only thing left to tend to is to make sure that your enclosure has holes that match up almost exactly with the pots. Make sure to measure, double-check and measure again! I usually make the holes in the enclosure a little bit bigger than normal (but not too big, you don’t want the holes to be exposed under knobs!). It’s super nice not having to wire a bunch of pots!

  • Circuit Bending a Talk ‘N Learn Alphabet

    Posted on February 11th, 2009 Bob 1 comment

    talknlearnalphabet_frontI picked up a Talk ‘N Learn Alphabet at my local rubbish store. After opening it up and prodding around for a bit, I found 2 really good bends. I also added a 1/4 inch output jack to plug directly into other effects, an amp, etc.

    One of the bends is a pitch control. I used a 250k pot with a 470k resistor inline. I also decided to put an inline switch to defeat the bend if the user so chooses. The second bend really glitches and distorts the output sound. This was obtained with a 1M pot with a 220k resistor inline. I also added a DPDT switch which gives the user the ability to route the output to a 1/4 inch jack as opposed to the internal speaker. I had to put a 10 ohm resistor across the output jack leads to dampen the otherwise hot output.

    These two bends alone are worth hours of fun. The vocal sounds sound as if there is a high pitched voice and a lower voice layered on top of each other. With the knob nearest the speaker, you can make the voices really sputter and cough. In “music” mode, the bends make the “songs” just pump out what sounds like random notes.

    Yeah! here’s a video of the Talk ‘N Learn Alphabet in action:

    And here is a BIG photo of the guts with the bends explained:

    Have fun!!

  • Replacing a non-operational motor on a Tascam Portastudio 424 MKII

    Posted on February 10th, 2009 Bob 38 comments

    tascam_portastudio_424_mkiiI was fortunate enough to pick up a used Tascam Portastudio 424 MKII about 4 years ago on Craigslist. It worked flawlessly when I first got it. Recorded many a Xome tracks on the beast and eventually set it up so that the output of the 4-track was plugged into the soundcard on my computer. It was so handy having this setup to try out new gear and record that the Tascam almost never was powered down.

    I decided to check out some old 4-track tapes recently and noticed that when I pressed play, rewind or any of the other tape transport buttons that the appropriate light would come on for a few seconds, some clicking was heard but it pooped-out.

    I decided to open her up and poke around a bit. I noticed that the motor underneath the cassette tape bracket seemed like it wasn’t moving when perhaps it should. After taking out the bracket and looking at the motor, I did a quick Google search on the part number printed on the motor’s label (which proved not as fruitful as I thought it might be). But I finally found a place in Indiana called Studio Sound Electronics that carries the exact replacement. I found from the information on their site that it was a 12-volt Mabuchi motor. I placed 12-volts on the motor and yup, no movement.

    I decided to order a replacement from Studio Sound Electronics. The motor was $9.95
    And shipping to California was just under $5. I must say that Studio Sound Electronics’ service is wonderful. The motor arrived just a few days later.

    I popped in the new motor, soldered the 4 wires into place and put everything back together. Bam! Works like new again!

    Here are some hints if you’re looking to do this repair yourself:

    ** There are about 15 screws on the bottom of the unit that need to be removed including one that is on the little “ledge” on the back of the 4-track.

    tascam_openhood** After carefully opening up the unit, you have to disconnect 5 connectors – 4 from the big circuit board and one two-position connector from behind the transformer. Since they are all different positions and there are slots so you don’t put them in backwards, it’s not really necessary to mark them or anything like that.

    tascam002z** Remove the connector from the back of the cassette tape bracket.

    ** Remove the entire bracket assembly with the screws on the top of the bracket.

    ** Remove two screws on each side of the bracket to access the bottom bracket that holds the motor. One on each side is screwed through a plastic clip thing. tascam002You might want to put these away carefully so that you get the plastic clips on the correct sides when you put it back together.

    ** Move the motor’s belt over to the side and remove the 3 flat-headed screws that mount the motor. Gently pull off the belt guide.

    ** Once the motor is free, cut the 4 wires connected to the motor. You may want to memo where each of the wires go. The wires go as follows: A: blue, B: yellow, +: red, -: black.

    tascam_motorback** Strip each of the wires (about 3mm will do) and solder the wires on to the new motor.

    ** Putting the 4-track back together is the reverse of taking it apart. Just make sure you have all your electrical connectors connected!

    tascam_motor** The motor in the Tascam 4-track is a Mabuchi Motor EG-530KD-2B. It’s a 12VDC 1600/3200 RPM CCW (counter clock-wise rotation) motor. It’s available from Studio Sound Electronics at

  • What? Another new blog?

    Posted on February 9th, 2009 admin No comments

    Go figure… everything’s all changed-up all over again. Call me ADD? Well… I wanted to enter the blogosphere to share with other some stuff I’m in to. Actually, I started this blog just so I could use the word “blogosphere”.