Introduction: Patterned Plywood Bookcase Speakers

About: I post updates on twitter and instagram: @amandaghassaei

I made these funky plywood bookshelf speakers for my little sister who's headed off to college next year. My goals for this design were to build something that looks cool, gets reasonably loud, and has some decent bass response in a relative small package. In the next steps I'll show some of the software tools I used to spec out my parts and design a matching enclosure to my speaker cones. This project was also great practice for me in the woodshop - I used a technique to get the diamond patterns in the outer panels of the speaker enclosure that involves a lot of cutting and gluing.


Note that most of this Amazon stuff can be found at your local hardware store - I'd recommend looking there first.

(1x) Dayton Audio DTA-2 Class D Digital Audio Amplifier Module 2x15W Parts Express 300-385 - when I got this board it said it was a "Class T" amp, but it sounds like they are essentially the same thing.

(2x) Dayton Audio TCP115-4 4" Treated Paper Cone Midbass Woofer 4 Ohm Parts Express 295-415

(2x) Dayton Audio TD20F-4 3/4" Soft Dome Neodymium Tweeter 4 Ohm Parts Express 275-020

(1x) Port Tube 1 3/8" ID Adjustable Parts Express 260-388

(2x) 0.8mH air core inductor Parts Express 257-044

(2x) 0.45 mH air core inductor Parts Express 257-034

(2x) 5.6 Ohm 10W resistor Parts Express 004-5.6

(2x) 4.7 uF polypropylene capacitor Parts Express 027-422

(2x) 3.3 uF polypropylene capacitor Parts Express 027-420

(1x) 12V 2000mA Switching Power Supply US and EU 2.1mm plug Parts Express

(1x) 2.1mm x 5.5mm panel mount jack Digikey 486-3380-ND

(1x) 2.1mm x 5.5mm plug Digikey CP3-1000-ND - optional if you wire power to board directly

(1x) 3.5mm Stereo Gold Plated Snap-In Jack Parts Express 090-281 (would have liked a jack that grounds the L/R channels when nothing is connected like this: Digikey CP1-3515-ND - but this digikey part is a pain to install on such a thick panel)

(1x) 3" x 3" piece of metal shim - I cut out some small pieces of this to help mount the snap in jack

(1x) 3.5mm stereo plug Digikey CP-3502-ND - this is optional if you're ok removing the jack from the amplifier board and soldering wires in

(2x pair) banana jack binding post (Digikey J151-ND + Digikey J152-ND) - some fancier options at Parts Express

(1x) fancy knob - totally optional, I ended up turning my own knob out of brass. I also like Newark for knobs, just make sure it mounts on a 6.35mm shaft.

(8x) rubber cabinet feet Parts Express 260-7706

(1x) Acousta-Stuf Polyfill 1 lb. Bag Speaker Cabinet Sound Damping Material Parts Express 260-317 - only a small amount of the poly fill needed - you might be able to find a smaller quantity at a sewing store.

(2x) 30" x 30" sheet of 3/4" baltic birch plywood - it's very important to use baltic birch ply for this project, this type of ply is made from birch veneer all the way through and is free of voids, which will give a nice final result. I had plenty of leftover using two 30"x30" sheets of 3/4" ply. I used the indoor-use ply, which is cheaper than exterior-grade.

(1x) 24" x 24" sheet of 1/8" plywood (for supporting mounting on front and back panels and making washers, there is plenty of leftover)

(24x screws) #6 0.75" pan head for mounting drivers, feet, and port mounts Parts Express 081-435

(1x) 8ft speaker wire 16 gauge Amazon and 2x pair banana plugs Amazon (or 6ft banana cable, and extra 20 gauge stranded wire for soldering electronics)

Other materials:

Titebond wood glue Amazon

Starbond medium or other CA superglue Amazon

Super 77 spray on adhesive Amazon

epoxy - for mounting metal shim to enclosure for snap in jack Amazon

electrical tape or heat shrink tubing - for protecting solder joints

lead free solder - I use lead free solder for everything now and you should too!

copper clad perf board Amazon - for wiring up crossovers

Minwax clear polyurethane finish Amazon

Matte black spray paint (optional) - used to color the inside of the port elbow joints so they would not be visible from the outside.

steel wool pads 000 or 0000 or a high grit sandpaper for final finishing


soldering iron

drill press, drill index, forstner bit set

hand router - I used a shopbot, but a hand router setup should also work for cutting the bigger holes

small foam brushes (for applying glue / finish)

table saw

orbital sander and sand paper - 120, 180, 240, 320 grit pads Amazon

I used a 3D printer to make a custom elbow connector to fit the long port in my enclosure. Other options would be to get a flexible tube or use a standard plumbing joint

I used a laser cutter to cut some pieces of 1/8" ply to help with mounting - this is totally optional if you have a drill, bandsaw, and a belt sander, but helped speed some steps up

18"-24" clamps (at least 4, preferably 8)

scrap wood - for test cuts and jigs

Step 1: Speaker Design

This is the first time I've ever designed a speaker, and I learned a ton in the process. Here are some references I used for the technical parts of my speaker design:

Speaker Basics

Figuring out the Proper Speaker Enclosure Size

How To Design Your Own Speakers

How to model enclosures with WinISD

WinISD – a step by step tutorial for beginners

How To Design A DIY Crossover Using Free Software

DIY Loudspeaker Design - lots of build logs here

Voight Speakers

Folded horn speaker

For this design, I wanted to make a versatile set of bookcase speakers, each consisting of a woofer and a tweeter. These will be powered speakers, meaning they have a built-in amplifier and can be connected directly to a line input. The interface to the amp should be simple and exposed on the front of one of the speakers. Not worrying too much about portability with these - they will be plugged into the wall.

Getting a bit more into the technical specs - I want to keep these speakers relatively small and inexpensive. I'm getting parts primarily from Parts Express for this build as they seem to be a one stop shop for these types of projects.

First I picked out an amp. The main requirement for this was that it should be a Class D amp - this will draw less power and generate less heat. I liked the idea of getting an integrated bluetooth module, but I wanted to use a bluetooth 4/5 board (over an older protocol), and there weren't any options ~$20 on parts express.

2x15W amp Parts Express 300-385 - no bluetooth, but I liked that this has a separate volume knob with integrated power switch. I will have to attach my own panel mount connectors for line in and power.

Amp Alternatives:

Bluetooth 4.2 + 2x30W amp Parts Express 320-641 - this seems like a good option, but it's new and has no reviews yet. I don't love the idea of a remote, as they are easily lost and I'd need to have an IR receiver on the front of the enclosure.

Bluetooth 2.1 + 2x15W amp Parts Express 325-100 - older Bluetooth protocol

Bluetooth 4.0 + 2x50W amp Parts Express 325-105 - looks great but a bit too expensive for this build

Next I picked out my drivers. The drivers will need to be able to handle the 15W from my amp, and should be relatively small in size, and not too expensive - remember, you have to buy 2X of everything.

I looked at woofers between 4-5" and tried to keep the price at around $10 each. Originally, I wanted to get an 8 Ohm speaker, as these will run more efficiently with my amp than a 4 Ohm - but in the end I used the 4 Ohm version after realizing I could save money on my crossover design (see below). In the end, I actually wish I'd used the 8 Ohm because it gets slightly better response into the lower frequencies - but I was a bit too late into the process before I realized this.

Dayton Audio TCP115-4 4" Treated Paper Cone Midbass Woofer 4 Ohm Parts Express 295-415 - these woofers had great reviews, have a range of 55 to 5,000 Hz, and were on sale for only $10 each.

The woofers I've picked max out at about 5kHz, so I needed some tweeters to cover the high frequencies. I wanted my tweeters to have some overlap with the woofers, and go all the way up to 20kHz.

Dayton Audio TD20F-4 3/4" Soft Dome Neodymium Tweeter 4 Ohm Parts Express 275-020 - these tweeters have a range of 3k - 20kHz with a compact design. They're also currently on sale for $8 each.

Since I'm using a smaller woofer, I want to try to extend the bass with a ported enclosure design. I really love the folded horn designs that a lot of DIY builds are using, but it takes up a lot of space and I feel like I would want to really optimize the shape of the horn to do it right - I'll save that idea for later. The Voight design is super elegant, but again, not compact enough for this build. Instead, I'm going with a simple rectangular box design with a single port in each speaker.

Next I thought about the size and shape of my speaker housing. Since the tweeters are sealed they do not interact with the cavity of the speaker, so when designing the box I only considered the woofer. I uploaded the Thiele-Small parameters of my woofer into WinISD and followed the process shown in this blog post.

I played around with the parameters a bit (box volume, tuning frequency, and port diameter) and settled on the parameters shown in the images above. I've attached my project file as well (.wpr). I liked these settings because I get a really flat response of my woofer down to about 57Hz, the velocity of the air in the port stays below 20 (not sure what the units are?), and the cone excursion stays below Xmax for the bulk of the audible range. Unfortunately the port length is longer than I would have liked, so I'll have to make an elbow to fit it inside the box. I could have made the port diameter smaller to shorten the length of the port for a given tuning frequency, but then the design is susceptible to port noise caused by a high air velocity in the port (aka "chuffing").

The final design gave me a target box volume of 0.09 ft^3. I calculated the dimensions of the box using this speaker box volume calculator. I roughly calculated the size of the driver in the enclosure as 0.012 ft^3 and tacked on an extra 0.08 ft ^3 for the electronics, polyfill, and internal bracing. These are rough estimates, but since this is my first speaker build I don't want to get too bogged down in the details.

You can find a parametric Fusion360 CAD model of my design here.

Finally I designed the crossover network - this is a bit of circuitry that separates the low and high frequencies of the amplified signals and sends it to the appropriate driver. This is a really important component of a speaker design, because if we were to send low frequencies to the tweeter, we risk breaking it. I used VituixCAD and referred to the v2.0 manual to design a custom crossover that would work with my drivers, following this tutorial. I've attached a screenshot of my final design and the project file (.vxp). I used two 2nd order filters for my design. The trick is to try to get the values of the components (esp the inductors) down to reduce cost - there are a number of solutions to a given crossover problem, so there is plenty of wiggle room. I found that switching my woofer driver from the 8 ohm version to the 4 ohm version helped me reduce the cost of my components - though I wish I'd spent some time experimenting with a first order design. Another thing to note here is that I'm using a resistor to decrease the sensitivity of my tweeter - I threw that component after the high pass filter so that it does not see the full power of the amplifier. The tweeter only receives about 10-20% of the total power coming out of the amp - this let me get away with using a resistor rated for < 15W.

Step 2: Plywood Patterned Panels

For the panels of the speaker housing, I wanted to try this patterned plywood technique:

I've been doing something similar to make endgrain cutting boards, so I thought this would be a nice extension of the techniques I've already been learning. You shouldn't use plywood to make a cutting board as it contains lots of nasty glues and is too porous/soft, but it produces amazing patterns for these (non-food related) applications.

Alternatively, I think it could also be interesting to explore this technique of bringing out curved, banded patterns from ply with a cnc router (also seen in this bubble cabinet):

I followed Michael Alm's process pretty closely, here are my notes:

The final dimensions I was aiming for for the larger panels was ~ 11.25" x 5.25" x 0.5", but due to all the cutting and sanding, you'll want to overshoot this a bit to be safe.

The width of the first cuts corresponds to the thickness of the panels, I'm aiming for 0.5", so I cut the first strips at 9/16" to give myself some wiggle room during the glueups/sanding. Each of the strips is 30" long at this stage.

Between each glueup I sanded down the front and back sides of the board to remove excess glue with 120 grit - I wasn't too concerned about getting the board super flat til the end. I was lucky to have access to a drum sander, which sped up the process quite a bit (don't put the workpiece through the planer, the glues in the plywood will dull the blades quickly).

I cut the strips for the pattern 0.75" wide after each glueup, this makes the diamonds 1.5" wide.

For the second (chevron) glueup, I was careful to keep the strips in the same order that they were cut from the board. This helped increase the continuity of the pattern from piece to piece.

For the third (diamond) glueup, I arranged the strips so that they matched (as much as possible) with their neighbors. I also tried hide any blemishes in the ply on the back side of the panel. I found that by offsetting the diamond pattern slightly you can also achieve a spiral look (see last image above), but I saved this board for another project.

I glued up four panels in total, each consisting of 15 strips (this will set the final height of the speaker design). This ended up being about 11 5/8" for my design.

Step 3: Speaker Housing

I wanted to learn how to do miter joints for this project, so I mitered the side panels together to make the box, then I glued the front and back panels to the housing and inset them slightly. Because this is a relatively small, closed box, it's not necessary to reinforce the miter joints with splines.

Here are my notes about the process:

I sanded down all my boards til they are flat and free of glue. This left me with a final thickness of just under 1/2".

For the front and back panels, I cut four 8 x 15 block panels - where a "block" is one tiny square of plywood in my glueup. This ended up being about 6 1/8" x 11 5/8". I tried to use the nicest sections of my glueup (with the least blemishes in the internal ply layers) for my front panels.

For the sides I cut four 4 x 15 block panels (4 5/8" x 11 5/8").

For the top and bottom I cut four 4 x 8 block panels (4 5/8" x 6 1/8").

For all these boards, I was careful to cut them in a way that the diamond pattern would be continuous from one panel to the next. This requires a bit of planning (see images above).

I cut a rabbet on the long edges of the sides and top and bottom boards so that the front and back panels will seat inside slightly. I went with a depth of about 0.25" and cut this rabbet in three passes on the table saw. I set my fence so that I could pass the board between the fence and the blade for this cut. I set the height of the blade to ~0.3". It's great to use a flat-topped blade for this operation, but I don't think it's strictly necessary.

I set the table saw to cut a 45 degree miter and used a miter guide to cut miters into the top, bottom, and side panels. Since the front and back panels will be trimmed to fit the final dimensions of the sides, it's not important what the final dimensions of the panels come out to, just that the pairs of panels are identical in length. I used a stop block clamped to my sled to make these cuts consistent. Be sure to do a test cut of your miter joints to ensure squareness. I applied blue painters tape to the boards before making the cut to help prevent tearout. If you can, use a high tooth count blade for these cuts as well.

I used blue painters table to connect the panels along the miters, applied woodglue, checked squareness, lined up the diamond pattern around the sides, and lightly clamped the miter joints. I let this dry overnight.

Both the front and back panels should be slightly oversize at this point. I cut a complementary rabbet along the border of the back panel and sized it to seat in my glueup. Before gluing it to the miter joints, I cut the holes and recesses for the banana plugs and power jack (only put a power jack hole on one of the back panels). I glued this to the back of the housing, clamped lightly and let this sit overnight.

Step 4: Front Panels

I was very concerned about tear out while cutting the holes in the front panels. So I actually glued up a piece of basswood veneer on the front of each of my front panels and did all my cuts with the veneer attached. I removed this veneer on the drum sander later. In the end I don't think this was necessary because the ply machined very nicely - but I would at least cover the front surface with blue tape for these cuts.

I also glued up a 1/8" plywood backer on the front panels to help support the hardware that will be mounted on them - it has the added effect of supporting these cuts on the back side too.

I ended up making the large cuts for the speaker drivers on a shopbot, though these cuts could be done with a hand router. Unfortunately I had some trouble with the collet I was working with - my tool came loose twice and ended up cutting too deeply into the panels in two places. Luckily none of this is visible in the final design, but I had to reenforce these places with some laser cut 1/8" ply.

The exact dimensions of my cuts can be found in the CAD file. I had the speaker drivers handy while I was cutting these to ensure a tight fit.

One of the front panels will also need a volume knob and a 3.5mm audio input jack. I cleared out an area on the back of the board, behind the 3.5mm jack so that I could glue in a few pieces of brass shim to snap the 3.5mm jack into. I was worried that the glued up ply would not be structural enough to support this if I cut it to a very thin wall. In then end the front surface of the jack is flush with the enclosure housing.

Step 5: Electronics

Next I soldered the components on the perf board according to the schematics. The capacitors have no polarization and no indication of direction, but I oriented the text in the same orientation to make the crossover boards as similar as possible. I drilled out holes in the perf board so I could use the same 16 gauge speaker wire for connecting these boards - though a 20 gauge wire would have been easier to work with - you can also use the larger gauge wire included with the amplifier.

Note - one thing I would have changed about this design is the layout of the inductors. The layout pictured above can cause them to interfere with each other. Here's some info about a better design. Thanks to instrucables user jdaun for the comment.

I didn't use the capacitors or ferrite cores included with the amplifier board since I'm using a crossover for this design.

I tested the crossovers by running sine waves of various frequencies into them and measuring the output on an oscilloscope. You should see that the circuit to the tweeter acts as a high pass filter and the circuit to the woofer acts as a low pass filter. I labeled the wires "wooffer" and "tweeter" so that I wouldn't be confused later.

I am convinced that the components I used in these crossovers are way overrated for the specs of these drivers - though the parts I'm seeing on Digikey aren't much cheaper. If anyone has suggestions, I'd love to hear them.

I assembled a 6ft cable with banana plugs on both ends following this video. You can unscrew the tip of the plug to help make mounting the cable easier.

Step 6: Final Glueup and Finishing

I cleaned up the inside surfaces of the box with a damp rag and applied blue tape to the inside of all the holes before glueing up the front panels. This will help keep dust out of the enclosure during finishing.

Finally I glued up the front panels to the rest of the housing. Be sure the the panel with the extra holes go to the housing with the power hole.

I sanded down the front and back panels so they were flush with the rest of the housing. I chamfered the edges slightly by hand using 120 grit. Using the orbital sander I brought the grit down from 120 to 180, 240, and 360.

I cleaned up any dust left on the outside of the housing and finished with 2 coats of polyurethane, sanding with fine steel wool between each coat.

I sprayed the inside of the 3d printed port tube elbow joints black so that the white filament would not be visible from the outside before installing them in the speaker housing. I cut the flanged port tube to length so it would fit inside the elbow joint. The final port length is approximately the ~12 inches I aimed for in the initial design.

Finally I installed all the connectors, rubber feet, and wired up the final electronics. I mounted the electronics using some plywood washers I laser cut from the 1/8" ply.

I used the spray adhesive to mount a bit of the polyfill on the inside on the enclosure.

I predrilled the holes for mounting the speaker drivers and hand screwed the drivers in place. I steadied my hand (with my other hand) during this final assembly to prevent the screw driver from slipping and accidentally hitting the speaker cones.

Step 7: Knob

I machined a custom knob from brass for this project. I didn't want to use a set screw to mount the knob, since it would have been visible from the outside. So I ended up cutting off the D-shaped receiver from the plastic knob that was included with the amplifier, and epoxied this inside the brass knob. This way the knob presses onto the potentiometer shaft and transfers torque when turned.

Step 8: Final Notes

In the end I was really happy with the final sound of these speakers. I didn't have any measuring equipment to test the final frequency response, but by ear they sounded pretty flat down to about 55Hz - which is what I'd spec'ed in the design process. I could hear some frequencies down at 50Hz, though they were significantly attenuated.

One of the main things I would have changed about the design was to make the speakers deeper and narrower to better accommodate the components inside. In this design I barely had enough room to route the port behind the woofer, and I had to make the bend in the port a funky shape to dodge the electronics that were mounted inside.

One of the main things I've learned in this build - DIY speakers are generally more about the learning process and customizing the look/sound of a design, and not so much about saving money. Even though I used 4x ~$10 drivers in this design, the total cost of the electronics was up around $120. That said, there are a number of things you could do to save money on a speaker build, including:

Use full range drivers rather than dedicated woofers/tweeters - while full range drivers won't cover the ends of the audio spectrum as well as a dedicated tweeter/woofer setup, you can avoid using a passover with full range drivers which will significantly reduce the cost. I was surprised that I ended up spending as much on crossover components as I did on my drivers - maybe I could have spent more time optimizing the crossover, but it was very expensive at about $20-$25 each. I think as a next project I'd like to take this approach and focus more effort on the design of the enclosure to help boost the bass response of the driver.

Find a cheap crossover on clearance and match your speakers to it - another thing I wish I'd thought of from the onset was to start by looking for a clearance crossover on Parts Express (like this 4kHz 2 way crossover for $3) and match the rest of my setup to fit the the crossover (maybe even just modifying one or two components on the existing passover). By the time I found this part I was already too far through the build to go back.

Use a first order crossover - it would have been interesting to experiment with a first order crossover, which has less components (and is therefore less expensive) than the second order design I used. I didn't have time to get into this, but maybe I will try next time.

Use an external amp - about $45 of my parts were an amp, a power supply for the amp, and connectors for the amp. I wanted this to be a self-contained speaker system with a built in amp - but it did drive the price up quite a bit.