This project all started with a clock. More precisely, a Word Clock controlled by an Arduino. While soldering and troubleshooting, I decided on the housing of the clock to be within a group of hexagon shelves. While building the shelves, I thought a lot about how they would mount to the wall and I decided on the large herringbone panel. A few extra details and weeks later, I finally finished this beautiful piece. It all wasn't planned from the beginning, but I seem to do some of my best work over time while I let ideas evolve. In this Instructable I'll walk you through the steps I took, share some tips, and hopefully inspire some of you to make this awesome thing!
Lumber - the types can be substituted, the quantities cannot.
- (1) half sheet of 3/4" plywood (Maple plywood)
- (1) half sheet of 1/4" plywood or MDF for backs of hexagons
- (1) 4' x 8' sheet of 7/16" OSB
- (9) 1" x 4" x 8' Whitewood boards
- (2) 1" x 4" x 6' select Pine boards
- (2) 1" x 4" x 8' select Pine boards
- (2) 1" x 4" x 8' Douglas Fir Boards
- 4" x 24" of 1/2" thick hardwood for disc lights (Walnut)
- Hardwood for edging of plywood (~41 in. lengths per hexagon, Walnut, 1/2" to 1" thick)
- 4" x 6" of 1/4" this hardwood for clock dial panel (Walnut)
Miscellaneous Hardware Store supplies
- Wipe on Poly (water-based)
- Pre-Stain Conditioner
- Minwax Stain - I used Dark Walnut, True Black, Red Mahogany, Espresso, Classic Grey, and Golden Pecan
- Wood glue (Titebond II)
- (2) Liquid Nails tubes
- (6) #8 x 3/4" flat head wood screws - brass
- (50 qty.) #10 x 2" flat head wood screws
- (50 qty.) #8 x 1 1/4" flat head wood screws
- 18ga. x 1" brad nails
- 1 1/4" pocket hole screws
- (18) 8mm wide angle warm white led's
- (6) 100 ohm resistors
- (1) 12 volt - 2 Amp power supply
- (1 each) 25ft. spool - black and red wire (22-16 awg, stranded or solid)
- (1) 2.1mm barrel jack
- (50 qty) male and female crimping terminal quick connectors
- Solder and soldering iron
- Arduino UNO
- DS1307 Real Time Clock
- LM2596 DC-DC Buck Converter
- Perf board
- Hook-up wire (a pack of 50 should suffice)
- (3) 74hc595 shift registers + (3) 16 pin IC sockets
- (3) ULN2803A Darlington Transistor Arrays + (3) 18 pin IC sockets
- (2) 10K Ohm Rotary Potentiometers
- (1) RFP3060LE N-Channel MOSFET
- (2) 0.1uF ceramic capacitors
- (1) 10k Ohm resistor
Tools - I won't list the tools used because there are countless ways to get the same job done. On this project, I used a bunch of tools available to me that seemed appropriate for each particular task that I will explain throughout the Instructable, but if you don't have that tool, don't worry... You can still do this. I made great stuff for years with only a drill and a circular saw. It could be done here as well. Just be safe.
Right here, you can download a Sketchup model of the whole shebang.
Step 1: Prepare the Plywood Strips
First, we've got to break the maple plywood down. I ripped the 3/4" Maple plywood into strips 5 1/2" wide on the table saw. I chose this width somewhat arbitrarily. Yours could be deeper or shallower, but for a uniform look, it's important that this is done all at once while the fence is set. I wanted the widest interior diameter of my hexagons to be 11 3/4" (because of the clock face I designed and I want all the hexagons to be the same size). Determining the length of the six hexagon sides is easy with a scientific calculator and a little trig: Half the widest interior diameter of the hexagon, then add twice the quotient of the plywood thickness and √3. Remember: 3/4" plywood is actually 23/32" (0.718"), because... stupid. More on the geometry of hexagons later. So, (11.75 in. / 2) + 2*(0.718/√3)) = 6.703". Six sides in a hexagon (6 x 6.703") is 40.22", so we need our strips of plywood to be at least this long. Home Depot crosscut my sheet in half, so my strips were around 48".
Next, cut the walnut edging to the same length as your plywood strips. Here's a Tip I picked up somewhere...when edging a bunch of shelves, cut your hardwood a little wider than twice the desired edging depth and then "mind the kerf" (add the blade thickness). This way, you glue two shelves at once with the edging in the middle. When the glue dries, rip it right down the center on the table saw. Two shelves for the clamps of one. You might notice that the strips have rabbets on one edge during the glue up. I got ahead of myself and it made the clamping more difficult than usual.
Now, with a router, rabbet the edge opposite the walnut. I used a 3/8" rabbeting bit at a depth of 1/4". You could skip this step, but I made backings for my hexagons that fit into the rabbets. In case the shape of the backings didn't exactly match the shape of the hexagons, the rabbets hide those mistakes. It definitely helped. Then, with a chamfer bit in my router, I cut small chamfers on both sides of the walnut edging. That is also optional, but I like how it looks.
Step 2: Cut the Hexagon Body Sections
On the table saw sled, I set a stop block 6.7" from the blade and crosscut each strip into 6 pieces. At this point, I labeled each piece with a group number AND a number designating the piece's order within that group. I wanted the grain pattern to flow around the hexagon, so keeping everything in order is important.
Before cutting miters, I put strips of blue painter's tape on what will be the inside face of the hexagons this will help with cleaning up glue later on.
I made a miter jig/sled for my table saw. The sled allowed me to cut the miters at 60° while keeping my blade at 90°. Also, the jig reduces tearout of the thin plywood veneer because the surface has zero-clearance support while passing the blade.
Step 3: Glue Up the Hexagons
Line up the sections with their outside-faces oriented up, making sure they are in the correct order. Press sections together gently, but firmly, and place a strip of painter's tape over the joints. Flip the whole assembly over, so the open joint is facing up. Squeeze a line of glue into each joint, spread the glue around with a brush, and then roll the assembly into the closed hexagon shape. I used a nylon strap band clamp to hold the last joint tightly closed while securing it with painter's tape. After the tape is applied to the last joint, the strap can be removed and you can move on to the next assembly.
A little sanding may be required later to remove unseen glue squeeze-out, but the tape definitely helps reduce that task.
I sanded the faces up to 220 grit and then applied 3 thin coats of Minwax Wipe-On Poly.
Step 4: Cut Hexagon Backing Panels on the Table Saw
Here, I'll explain how I cut hexagons on the table saw in 5 easy steps using a miter gauge and a 60° wedged stop block. In order to determine how large to cut the hexagon, we'll first need to look a little at its geometry. As I said earlier, the largest inside diameter needed to be 11.75". We'll call this 2R (see diagram). We want to know the width of 2r by using some trigonometry. The relationship between r and R is: r = Rcos30° = R√3 / 2 = 0.866R. So, 2r = 11.75(0.866) = 10.392". Add 1/2" to this if you made rabbets in the hexagon bodies.
So, start by ripping your panel to a width of 10.89" (10 57/64"). The length of the panel must be at least 2R, or 12.57" in this case. It's best to round down a little bit to ensure the panel will fit in the rabbets.
Step 1) Set your miter gauge to 30° and clamp a spacer block onto the table saw fence. *DO NOT attempt this without the spacer block* Without the block, the panel will get trapped between the fence and blade, it will then bind and kick back at you. Position the fence at a distance from the blade at which the cut will pass through the center of your panel and then lock the fence down. Get as close as possible, but as long as your panel is long enough, accuracy doesn't matter here. Make the cut.
Step 2) Flip the panel over and position the adjacent corner at the spacer block again. The cut will now perfectly intersect the center of the panel. Make the cut.
Step 3) Now you will need to clamp the 60° wedged stop block to your miter gauge at a distance of 2r from the blade. Use the panel itself as a spacer and then clamp the block. The table saw fence is no longer needed.
Step 4) Position your panel so that either of the 2 newly cut edges rests against the wedged stop block. Make the cut.
Step 5) Flip the panel over so the other edge rests against the wedged stop block. Make the cut.
Repeat for all of the shelves.
I learned this method from a print out written by D. Snyder in 2011. Thank you D. Snyder.
Step 5: Make the Hardwood LED Housings
I had some scrap Walnut and wanted to make puck shaped housings for groups of 3 LEDs.
I milled the walnut down into 6 pieces roughly 4" x 4" x 1/2". I found the center and with a compass I marked a circle with a radius of 1 1/2". This will be the cut line for the pucks. I then marked a circle with a 3/4" radius. The led holes will all be on this inner circle. To find drilling locations, I anchored the compass (still at 3/4" radius) on a point at which the inner circle intersects one of the diagonal lines I made to find the center and I marked an arc that intersects two points of the circle. Use a punch to mark those two points. Also punch the point at which the diagonal line intersects the other side of the circle.
With a countersink bit, drill out all three of those points to a depth of about 3/8". A drill press helps here because the depth stop will make all of the holes look uniform. With a small drill bit, drill through the center of the countersinks so you know the drilling locations on the back side. Now, through the back side, drill 5/16" holes all the way through. Keep in mind - These bit widths are for my particular 8mm LEDs. Then, with a step bit, I enlarged these holes to 3/8" at a depth of about 5/16". With a 2" forstner bit, bore a hole to a depth of about 1/8" to make room for the electronics. Drill a 1/8" hole through the center for the mounting screw and you're done with the drill press.
Over at the bandsaw, I used a circle cutting jig set up to cut along the 1 1/2" radius outside circle.
I chamfered the edges with a trim router, sanded to 220 grit, and applied 3 coats of Wipe On Poly.
Step 6: Wire Up the LEDs
I had a 10ft. nylon braided USB cable which stopped working with my phone because the port is super picky. We all know how that goes. I like the look of the cable, so I repurposed it.
Make sure to tightly bind the braiding with tape so that it won't come apart when it's cut. Inside the USB cable there are 4 wires. Any of these wires are usable leads as long as you are consistent with which color is used for power and ground. Two wires in my cable were slightly thicker gauge than the others, red and blue, so I used these for power and ground, respectively.
I am using 8mm wide-angle warm white LEDs. I needed to know which resistor value to use with a group of three LEDs and I didn't have their datasheet. I am using a 12v power suppy. White LEDs generally have a voltage drop of ~3.3Vf at 25mA. Using Ohm's law: 12-(3(3.3)) / .025 = 85Ω. I had plenty of 100Ω resistors on hand and decided to play it safe with these.
Solder the LEDs together in series with the resistor inside the housing. Remember, LEDs are forward biased, so mark either the anode or cathode of all of them before trimming the leads and keep them oriented appropriately.
Drill a hole in the side of the hardwood housing the size of your cable. Drill at a place in which the hole will penetrate the recessed cavity on the underside of the housing.
Step 7: Make the Herringbone Wall Panel
To fit all the hexagons on the wall panel as designed, it was going to have to be around 6ft wide and really heavy. To remedy the size and weight problem, I decided to make the panel modular so it could break down into smaller and lighter pieces. Referring to the diagrams above, I wrote three formulas for determining the board lengths and/or the panel widths needed for a modular assembly.
Math: For my boards, I used 1" x 4" Whitewood. The nominal width is actually 3.5" because... stupid. I decided somewhat arbitrarily on two thinner panels sandwiching a wider panel in the middle. The thinner panels are 18" wide. By doing the math on diagram 1, my boards should be 14.47" long. Now, knowing the length of my boards, I can determine the width of the middle panel by using the formula on diagram 2. So, 3(14.47")+3.5" /√2= 33.17".
Cut two panels of 7/16" OSB at 18" wide by 36" long. Cut another panel 33.17" wide by 36" long. Stain or paint these panels black so any space between the boards won't be noticeable.
Stain: I wanted as much diversity of tones in the boards as possible, so I used quite a few stains listed in the Intro. Pine is really hard to stain, and usually results in what is called "grain reversal". That is, the dark and light parts of the grain on unfinished pine will have the reverse characteristics once stained. That's just unavoidable, so it is necessary to use a Pre-Stain Conditioner on pine to minimize this effect. I stained some of the boards before cutting and others I stained after. I used one stain on some and others I layered coats of different stains. Find what you like and be creative here.
Cut: Using whichever cutting method you prefer, cut all your boards into 14.47" pieces. If you're using 8' long boards there will be off-cuts. Keep these as they will come in handy for some of the small pieces needed on the top and bottom edges of the panels.
Arrange: Using a carpenter's square or two, arrange the boards onto the panel maintaining a 45° angle from the edges. Make sure one corner of each board lies precisely on the edge of the panel so that the panels link up perfectly. Because I used oil-based stains on the boards and panels, I didn't trust regular PVA wood glue. Instead, I used Liquid Nails. Squeeze a few lines onto the underside of the boards and rock them into place to create a tack. Then from the underside, I used 1" long brad nails so the boards wouldn't slip out of alignment as I worked on the rest.
Clean Up Edges: I trimmed off the over-hanging boards on the non-mating edges first with a jig saw. So that the saw's sole wouldn't scratch the boards, I did this with the panels face down. Then, I flipped the panels face up and flush-trimmed the remainder of the boards with a router.
Step 8: Frame the Panel
The panel now needs framing, for aesthetics as well as strength, but it must be done in a way that can be disassembled.
Structural Frame: On the backside of the panel assembly, I cut and then screwed in 5 strips of .718" thick pine. Two strips on the sides of the panel assembly were 36" long by ~2" wide. After these were screwed into place, I measured for the individual lengths for the three long strips (in case they varied slightly due to unknown variables) and crept up on the fit for each. For the top two long strips, I cut a 45° bevel on the bottom edge to mount the panel onto the wall with a french cleat. I used a small plane to soften the edge of the cleat so the edge won't split. I counter-sunk and screwed these strips to the panel. I then drilled pocket holes to connect the long strips to the short ones as well as pocket holes all around the assembly to connect the aesthetic frame around the panel.
Aesthetic Frame: For this frame, I used select pine. I ripped all the boards to 2 1/2" wide and longer than needed. With a router, I chamfered what will be the outside edges of all the boards. At the miter saw, I cut a 45° miter on one end of each board, clamped them in place, and then crept up on the other end's miter by taking each board back and forth to the miter saw. There are easier ways, but I was afraid of over-cutting and then having to go back to the hardware store. Once the miters were tight, I used a long ratcheting strap to keep it all together and then screwed the boards into place with pocket hole screws through the structural frame.
Unscrew the aesthetic frame boards from the assembly and stain with Minwax Espresso. I did this after connecting to the assembly because if anything went wrong with aligning the frame miters I didn't want to waste the time and stain.
Next, cut strips of Douglas Fir 5/8" x 3/4". Sand some of the stain off of the frame boards and glue these strips in place. Once the glue dries, use a router and a cove bit to cut a profile into the Douglas Fir. Tip: Use a scrap piece of wood the same thickness as the wood you are routing as a support to keep the router upright on the work piece. I routed the Douglas Fir after gluing, instead of before, because clamping a flat piece is easier than a profile.
I used a Japanese pull-saw to cut miters on the Douglas Fir that match the connected frame boards perfectly. 3 coats of Wipe On Poly. The frame is done.
Step 9: Attach Hexagons to the Panel
Remove the aesthetic frame so it doesn't get damaged. It won't be needed until final assembly.
Arrange the hexagons however you like. Any errors in the angles of your hexagons will be compounded from one side to the other, so make small adjustments as you go to keep it all looking level. If it looks level, it is level. Carefully mark the profile of the hexagons onto the panel with a thin pencil. Make marks 1 1/2" from the centers on the tops and bottoms of the hexagon profiles. The bodies of the hexagons (excluding rabbets) are 7/16" thick, so make marks on the panel about 7/32" in from the profile line and make a punch. Drill through the panel at these punch marks. Countersink and screw #10x 2" screws from the underside until the screw points slightly protrude the panel. Line up the corresponding hexagon to the profile line and press down onto the screw points to make marks in the edge. Drill pilot holes into the hexagon body to accept the screws.
Attach the hardwood LED housings onto the interior top side of the hexagons by drilling a pilot hole and then driving a #8x 3/4" brass wood screw. Brass is pretty soft, so it's best to drive the screws in by hand. Mark a point on the hexagon backing panels where the cable should pass through. Drill a hole in the backings and the panel at the same time if you can. You'll have to line up the hexagon, press down on the backing while you lift the body out, then drill the hole through both. Accuracy for this is not all that important.
At this point, I moved everything piece by piece to the final assembly location.
Step 10: The Word Clock
I left this step until near the end because the Word Clock isn't required for this project. Some people might make everything except the clock. There are many word clock builds on Instructables and they all contributed to my design considerations in one way or another. I don't think I should go through everything about this word clock because this Instructable is already long enough and others have made great Instructables that you can reference. Instead, I will focus mostly on what I added to the projects that influenced my build.
I was inspired heavily by RBK's clock you can see here. Like RBK, I used 74hc595 shift registers as well as ULN2803a Darlington Transistor Arrays. In my design, I added dimming functionality of the clock as well as dimming of the shelf lights controlled by two knobs located beneath the clock. The dimming is created by pulse width modulation controlled by the Arduino UNO. I'll explain in this step how I made it happen.
Hardware: To adjust the brightness of the clock, we need to connect an analogOutPin to pin 13 of the 74hc595. For more information on how a shift register works, please read this tutorial on Adafruit here. Pin 13 on the 74hc595 is a switch that, when connected to ground, enables all outputs to be on. If pin 13 is connected to 5 volts, all outputs go off. I used this pin to adjust the brightness of all clock LEDs by connecting pin 13 to an analogOutPin on the Arduino and used PWM to control the duty cycle of the LEDs. (Code in next section)
To adjust the brightness of the shelf LEDs I used a MOSFET (RFP30N06LE) to handle the 12v current. The MOSFET uses the 5v PWM current from an analogOutPin on the Arduino to switch on and off the 12v from the power supply to the LEDs. See the diagram in this step's pictures for a breadboard diagram of the whole circuit.
The Code: I used the arduino sketch from RBK's clock build, but I added a few modifications to the code. The first modification added to the code is defining the analogIn/Out pins at the start of the sketch. To the code, I added:
const int analogInPin=0; //Analog input pin from Clock potentiometer// const int analogOutPin=11; //Analog output pin to 74HC595 pin 13 output enable// const int analogInPin2=1; //Analog input pin from Lamps potentiometer// const int analogOutPin2=6; //Analog output pin to MOSFET gate pin// int sensorValue=0; //value read from the potentiometer// int outputValue=0; //value output to the PWM (analog out)//
Then, in void setup(), initialize the analogOutPins from the Arduino as outputs:
pinMode(analogOutPin, OUTPUT); pinMode(analogOutPin2, OUTPUT);
Then, in void loop(), the analog read value from the potentiometers (0-1023 range) needs to be converted to analog write value (0-255 range) to control duty cycle of the LEDs. This has to be done for both analogInPin / analogOutPin and analogInPin2 / analogOutPin2:
// read the analog in value from Clock potentiometer: sensorValue = analogRead(analogInPin); // map it to the range of the analog out: outputValue = map(sensorValue, 0, 1023, 0, 255); // change the analog out value: analogWrite(analogOutPin, outputValue); // read the analog in value from Lamps potentiometer: sensorValue = analogRead(analogInPin2); // map it to the range of the analog out: outputValue = map(sensorValue, 0, 1023, 0, 255); // change the analog out value: analogWrite(analogOutPin2, outputValue); // wait 2 milliseconds before the next loop for the analog-to-digital // converter to settle after the last reading delay(2);
That's it. Add these lines to any word clock code and you can dim the clock as well as any other LEDs in your build.
Knob Panel: The plywood was too thick for the potentiometers to be mounted well. Instead of boring out a little area from the inside, I decided to make a thin panel out of scrap walnut. I started by marking out how large it would be and marked the area out. I drilled holes in the corners of this area so I could use my scroll saw to remove most of the waste. With a straight edge and router with a bottom-bearing flush trim bit, I made the hole nice and even. With a rabbeting bit, I made the recessed area about 1/4" deep. I manually sanded the corners on the walnut until it fit snug and then made all the holes for the knobs and a 2.1mm barrel jack (I later decided to run power through the back of the wall panel.
Documents: I added a few files for the clock face. One is an Adobe Illustrator file and the other is a .dxf. I used a Silhouette Cameo to cut the vinyl from these files.
Step 11: Enjoy!
Connect all the circuits and you're done!
I learned a lot while making this project. I want to thank a few people real quick. The people whose gifts are in or on this piece: Justin Ditch, Courtney (Kung Pao), Dave (Catfish) and my Mom. Also, to those people who listened to my ideas and pretended to believe me every time I said "It's almost done": David LaDesma, Ian Supak, Randi, Alex, Devon, Pierce, Beef, Jacob, Cliff. Thank you guys.
I hope you enjoyed reading and that it inspired you to make this or something similar.
Stay tuned for more from me here or Instagram.