I can delay the simplest tasks with endless questions…

Cheap fencing boards, after Carmen hit them with the sander.

So, last night I didn’t actually get any woodworking done. Carmen actually did more than I did: she took the orbital sander to some (very rough) and cheap fence material that I’m going to use for the slats on the shelving and cleaned them up. They looked much nicer after this process. At just about $1.75 apiece, they are actually kind of nice cheap material for this kind of project. I think I need six of them to complete the two shelves for my garden potting bench, which means I actually am one short. I’ll have to go back and get a few more (having extras will probably mean I can do a couple more projects).

A frame ready for glue and screws. But I’m not ready…

But I had left the scene on the right atop my rolling utility table. I had cut and trimmed the 2x4s for the top and bottom frames, and test fitted them with some of my 36″ clamps holding them roughly in place. I laid my smaller carpenter’s square inside, and the angles seemed pretty square. Measuring opposite diagonals showed a difference of about 1/8″. That isn’t so great, but neither is it especially worrying. It is, after all just going to be a potting bench, it will hardly matter at all. But it got me thinking about the tolerances, and just how much a deflection from right angles such a difference makes. So, instead of making more sawdust or boring holes, I started doing math.

My table is nominally 33″ x 24″ in size. If all the angles were perfect, you could use the Pythagorean theorem to figure out what the diagonal should be, and you come up with the value of something like 40.8″ But what if the measured diagonal isn’t 40.8″? How much of an angular difference of (say) 0.1″ make?

For that, I had to dust off the Law of Cosines. This is the generalization of the Pythagorean theorem. It is usually written as $$ c^2 = a^2 + b^2 – 2 * a b \cos{C}$$. Let’s say that my diagonal is actually just 40.7″ instead of 40.8″. Using that equation we can solve for the angle C, and if you have your handy scientific calculator around, you can find that the angle would be about 89.69°. (This is actually remarkably close to the accuracy of the cross cut sled that I made a week ago, but which I didn’t use at all on this project. Pure coincidence.)

It’s mocking me.

So, after doing this little bit of math, I thought I’d go back out to the workshop and get something done. So I went out, and stared at this corner for a while. You see, I have a couple of options here, having to do with how I could fasten these corners together. I’m not at the stage where mortising, tenons, dowels or even lap joints are on the table. I was basically trying to decide between two very simple options:

  • I could simply pre-drill and sink two 2 1/2″ deck screws in through the face board and into the end grain of the side rail. Or…
  • I could use my pocket hole jig, and put two Kreg screws in from the side frame and into the face frame.
    • For bonus points, do I want to put the Kreg screws in from the outside of the frame, or from the inside.

(I will of course use glue as well. I have my bottle of Tightbond II ready.)

This simple question actually seemed to have a few dimensions to it, which of course left me ponding thoughtfully like Hamlet, asking “to screw into end grain, or not to screw into end grain. That is the question.”

Frankly, none of this really matters for this project. Either technique is likely to work. It’s not like my potting benchis going to hold back flood waters or hold up a roof. Indeed, the way these frames are oriented, the loads will almost certainly be unchallenging.

But it got me thinking: what principles could guide this choice?

The obvious thing to think about is the strength of the joint. So, which is stronger: a glued/screwed butt joint, or one which is glued and screwed with Kreg screws?

I did a little bit of online research, and the answer is… well… in an hour or so, unresolved to my satisfaction.

The obvious argument against the butt joint is that you are screwing into the end grain of the piece, whereas with the pocket screws, you are screwing into the side grain. Indeed, most people would say that screwing into end grain is a big no no. Wood is not isotropic, and forcing a screw into the end grain is like forcing a wedge in between the wood fibers and likely to induce a split. Thus, if you are screwing into end grain, you should always predrill so that the screw generates less force in a direction perpendicular to the screwing direction. I found this excellent explanation that I found helpful and encourage you to read.

If you read and understand this, then you understand a bit of why the engineering of pocket screws are the way they are: they allow you to not screw into the end grain. By starting in the side and burying themselves into the face, they allow most of the screw to be buried in the cross grain, where the holding power is much better and where pre-drilling is not only unnecessary, but is in fact undesirable: screws hold better in cross grain without a pilot hole.

Further scrounging revealed this page on whether the pockets should go on the inside or outside of the frame. The simple answer is perhaps the obvious one: you want the screw to be heading into the biggest part of the board, which means that you should start from the outside. It is also usually easier to clamp the piece together that way. But… well… that can be cosmetically less desirable. Of course depending on the size of your project, it may be difficult or even impossible to drive the screw in from the inside.

In other words, it’s all trade offs.

So, in the end I didn’t even make one hole in my project. I spent all the time thinking. But in a way that’s great. I want to gain more experience wood working, but since I’m relying on self-teaching, I have to spend time thinking and watching and pondering the possibilities.

Tonight, it’s likely I’ll put the frames together with pocket screws, but I can do so with a bit more confidence and understanding. And that is good.

I’ve also spent some time pondering how I am going to lay out the slats on the top, but I’ll save that for next time.

Monday night sawdust creation…

I got home from work today, and decided that the best way to lower my stress level was to go into the garage and make something. I didn’t really have a project in mind. I’ve been pondering making a drill press table and have been thinking about a couple of design options, some of which I mocked up over the weekend in Fusion 360. The inspiration was this really simple base that I found in one of my many sessions of binge YouTube watching:

By modeling this in Fusion 360, I could easily use parametric design to adjust the top size and angle, as well as the height of the shelf, and it would calculate all the odd lengths to reproduce it. But this still has a couple of things in my head that I needed to think about, and I didn’t feel like thinking that hard.

I could have probably started on this simpler design for a drill press stand:

But I don’t need two drill press stands. I was also thinking about making a stand for my combination belt/disk sander, but I wanted to think about that some more too.

This was a stool. The garden table will be bigger, and have a lower shelf, but has all the same joints.

So, I settled on a project that I told Carmen I’d do: a simple little potting stand for use on our (freshly weeded) backyard. We guessed at the dimensions, which were a top at about 36″ high, and about 33″x24″. I had enough 2×4 stock on hand to build the two frames and the legs. The goal is not to make anything fancy: it will consist of a top frame and a bottom frame, covered in some cheap fence boards for the top. In fact, it’s almost exactly the same design as the simple garden stool that I did a few days ago, except that instead of just having a top frame, it has a shelf frame as well. I also decided that I’d spend a little time ripping the sides off the 2x4s, taking 1/4″ off each so that the final stock is a little straighter and has nice crisp edges. I also think that using Kreg pocket screws to build the top is probably a waste: I plan to just use butt joints and deck screws and glue.

Bailey inspects the garden stool after Carmen painted it. I think he approves.

Anyway, there are still some details about the assembly that I have to work through, but I spent an hour cutting all the parts to length and ripping the sides, and then some more time cleaning off my assembly table and doing other small bits of tidying.

I think the frames will be glued and screwed together, but that I’ll attach the legs with carriage bolts so that if we ever want to disassemble the table, I could just remove the bolts and stack everything down into a small space.

I was too lazy to take any pictures tonight, and besides, there isn’t anything actually exciting: I just have a pile of lengths of wood on my desk. Tomorrow I’ll glue and assemble the frames, and then cut the slats for the top and the bottom shelf, and it will begin to resemble a bench.

The good thing is that I feel kind of relaxed now. It was a peaceful time in the shop.

Catch you all later.

Update on tool caddy, with a few lessons learned on designing and order of operations

Got home from work after seven last night, so didn’t have a ton of time in the workshop. I was also impatient to actually get the parts for my tool caddy actually glued up, so I worked rather more quickly than I should have. I taped the edges, spread some glue, rolled up the sides into shape, checked for square (still hardly perfect) and then shot some pin nails in the side. I then also routed a shallow dado in the bottom for the center divider to fit in, cut it to size, and then later glued and tacked it in. I then spread glue along the bottom and sides of the center divider, centered it in and shot some additional pin nails to hold it in place.

Here is my original, standing along side its inspiration. It’s not a slavish copy: the center divider is slightly taller, the slot a bit narrower (the ends match the 1″ Forstner bit that I had) and I haven’t gotten in the dividers. I’m also debating whether I really want to add the little side areas. I do find them convenient to hold a pencil and my box cutters, but I’m not sure they are essential.

So, what are my lessons learned thus far?

This is the first time that I’ve worked with 1/4″ plywood and pin nails, and it shows. My ability to drive a 1″ pin nail at right angles to a face and into the narrow edge of 1/4″ plywood without having it drift out the sides is… well… it happened a fair amount. I actually wanted to use shorter nails which would help, but my local Home Depot didn’t seem to have many 23 gauge pin nails in stock. The rule that I learned is slow down and be careful, but even then, it seems like had a few wander out the face.

In fact, slowing down in general seems to be a good rule. I wanted to bat this thing out, but I frankly would do a better job and would learn more if I just sat back and really thought about the project and developed a plan. I have to balance this out with my natural (and helpful) desire to just finish things so I can go on to the next thing. And I still must recognize that some of that will simply come with more experience.

But mostly I think that adopting a better, more careful plan on exactly how to construct the project would be helpful. As an example, my order of construction on this project would be roughly:

  • Cut sides, middle and bottom. I did this on the table saw, so they were all ripped to the same width.
  • Cross cut the pieces to length using my cross cut sled.
  • Assemble the shell with pin nails and glue.
  • Slot the center of the bottom with a 1/4″ router bit set to make a shallow dado, and then glue and attach the bottom.
  • Apply glue to the center and slide it into place, pinning in place with some pin nails.
  • Measure and cut some dividers, apply glue and hold in place with pin nails. (yet to be done.)

It’s not a bad plan, really and mostly worked. I rushed some steps so some of them aren’t done brilliantly, so a couple of the glue joints are probably weak (mostly from lack of clamping pressure). But the real mistake was building the project from the outside in, instead of the inside out. Were I to try this project again (and I might), I would likely do it from the inside out. This would mean an order of operation which would be closer to:

  • Cut the pieces again. But instead of relying on butt joints, consider using shallow dadoes, not just for additional gluing area/strength, but to register parts together during assembly.
  • Begin with the bottom and the middle divider. Route the dado in the bottom to hold the divider, as well as possibly shallow slots for the cross dividers. Attaching the dividers to the center will be easy before the entire things become wrapped in the sides.
  • I noticed that the interior dividers in the original are actually made out of 1/2″, not 1/4″ plywood. The heavier material could be used structurally to ensure the middle is set at right angles and is sturdy.
  • After the center is fit, then construct the outer case. You could even apply either end first, glue clamp and dry, and then apply the sides. This gives you additional opportunity to double check for square.
  • You could also consider adding additional reinforcing dadoes in the faces, although to do so in 1/4″ plywood would likely require measuring and care to a degree which I would apparently consider challenging.

Maybe the details of my “new plan” aren’t right. Maybe they are excessively fussy. After all, I am just building a tool caddy, it doesn’t have to be a model of jointing perfection to be useful. But I am trying to use projects like this to build skills and train my mind and hands to work more consistently and carefully, and I find the kind of problem solving that I’m exercising here to be helpful (and pleasurable).

It’s likely that I’ll just cut some dividers out of 1/2″ plywood (easier to tack in place) and glue them in, rub some boiled linseed oil on the whole thing, and call it done. But I think I’ve learned some lessons, and whatever my next project is, I’ll try to carry some of the lessons forward.

Other simple lessons:

  • I did take some time to measure the accuracy of my cross cut sled. It’s about 0.27 degrees off, making cuts which lean a little to the left. 0.27 degrees doesn’t sound like much, but in an 8″ wide board that’s the better part of a full mm, which is pretty easy to see and pretty obvious when you lay a square against it. I used that sled here to cut my sides, and while the overall thing went together fairly well, it’s still not to my satisfaction. I think that version #2 of my cross cut sled is likely a project I’ll try sooner, rather than later.
  • I didn’t take enough care to get the slot for the center divider actually centered in the base. If I were to do it again I’d take more care, and were I to add matching dadoes for the two ends, I’d likely choose an order of operation where I first slotted the piece, then cut them to size to make sure the dadoes all lined up precisely.
  • More clamps. I also think some 1-2-3 blocks would likely help me get things lined up properly.

Anyway, that’s enough for now. I’m likely to spend some time in the shop this weekend, if it doesn’t get too hot. Yesterday, temperatures reached about 85, which I don’t find comfortable. I had Carmen open up the shop doors, which helped a bit, and it was probably only 80 when I did the bulk of the work, but if I can do some work on Saturday morning, I’ll probably find it more comfortable.

Hope you all are having a good day.

Building a tool caddy…

A few weeks ago I was at a garage sale, and picked up a few old tools for just a few bucks. One of the things I got was a little tool caddy for $1. It basically is a box with a central handle, constructed from 1/4″ plywood and divided into a number of compartments.

In the weeks since, I’ve found it to be remarkably handy. I can load it with tools like hammers, wrenches, tape measures, rulers, my coping saw, my box cutter, and whatever, and then move them all from my workbench to my desk to my floor.

As it happens, I had a quarter of a sheet of 1/4″ plywood lying around and I thought it might be fun to make another one, basically copying the same design. I thought that this one might be good to hold various painting supplies, like brushes, cans of spray paint, masking tape and the like, but the general design is sufficiently versatile that I thought it might be useful regardless.

And, I’m trying to build skills and familiarity with using my tools.

So, last night I ripped most of the pieces, used my (imperfect) cross cut sled to cut them to size, and duct taped the basic design together, copying (not slavishly) most of the dimensions from my garage sale find. Sadly, I don’t have a picture of the original, but here’s the basic layout of the existing one.

Held together (just temporarily) with duct tape…

Tonight, with a little bit of luck, I hope to get the sides glued and pin nailed together, and then cut the bottom to fit. I may route a 1/4″ slot to allow the middle divider slip in. Then, with any luck tomorrow I’ll measure and fit some dividers, and finish up with some finishing.

This isn’t really amazing woodworking I know, but it is a baby step along the way of gaining some basic competency. I could definitely use practice in just the basics of measuring, cutting, and assembling boxes. It is also a project that I can easily complete in small chunks of 30 minutes, which means I can get them done during the week.

Stay tuned for a final update later this week.

My first real table saw jig: a cross cut sled

After yesterday’s success in building a little garden stool, I wanted to get back into the garage to do a little more woodworking. Sadly, today was the last day of my “staycation”, and I still had quite a few chores. I spent part of the afternoon breaking out the pressure washer to clean the mold and lichen off our sidewalk leading to our front door, and that took a fair amount of time (although it looks quite a bit better).

So, it was after seven before I got into the workshop. And I decided that I wanted to finish a jig that I had started awhile ago: a simple little cross cut jig for my table saw. I had cut most of the pieces for it days ago, but it had been sitting in a pile on my assembly table, mocking me.

I was chickening out. The thing about a cross cut sled like this is that you want it to be really accurately set at 90 degrees, so that you can make great repeatable cuts without any fear. And because I’m still a novice, I didn’t have any confidence that I could lay such a thing out.

But, I decided to dive in.

Glue. Screws. Double checking with my framing square and my machinist square.

And, here it is.

Finished!

Okay, but how square was it?

Well, holding a square against the real fence and the blade, it looks pretty square. Unless I look really hard. Then I can see that there might be the tiniest gap at the back of the blade when I hold the square to the right of the slot, and a tiny gap at the close end when I hold it to the left.

My guess is the error is something on the order of half a degree or so. This is okay for most of what I normally do, but it isn’t great for the most critical work. I can quantify the error more carefully (and probably will sometime soon) by using the 5 cut test. I’ll have to prep some 8″ or 10″ pieces of material to make the test. When I do, I’ll report back here.

I’m also thinking about adding a piece of polycarbonate across the top to provide a little extra safety. I am trying to decide if I should bore some holes to mount it, or just fasten it with some mounting tape.

I’ll ponder the various sources of error more carefully over the next few days. But for most pedestrian uses, I suspect it will be entirely adequate, at least for a while.

Anyway, tomorrow I’m back to work in a new role at Pixar which will likely take up more of my time and energy. I’m excited by the new opportunity, but want to try to make sure that I continue to make headway on some of these “outside” tasks. My goal is to try to continue to get some hours in on projects like this mostly by jettisoning more passive and useless activities like watching television. Wish me luck!

How to turn pulling weeds into a wood working project…

Okay, after all the drought-ending rain we’ve been having, our yard has turned into a lush jungle of various kinds of weeds. Part of it is just grass which has sprouted above the black landscape cloth in the mulch, but other areas were more or less unimproved since we finished our retaining wall project last year. After a couple of days of actually doing vacation stuff during my vacation, I decided that doing chores was probably something I should get to. So, Carmen and I set to work.

First on my agenda was to weed-whack the worst corner of the back yard, while Carmen set to work on pulling some of the weeds. This plays to both of our strengths: I like to do big things, preferably with power tools, and she is more fastidious and careful in making things look nice. I also don’t mind wading into piles of buggy weeds where a tick or two have been known to hide.

Anyway, after a half and hour or forty minutes, I had gotten the worst of this corner roughly chopped and tilled (sorry, no “before” pictures):

Where once there was a lush patch of thistle and weeds, now, there is mostly dirt…

I then went to check on with Carmen. She had been making some good headway, but wished aloud that she had a low stool that she could sit on while pulling weeds. I empathized with her: I don’t like crawling around on my knees either, and bending over while standing isn’t all that much fun for my lower back.

But then I thought “Hey, I have tools, and some scrap lumber. I could make a nice, sturdy little stool that we could use for this purpose.” And not only that, I could then stop working on the weeding and spend time in the garage using power tools instead!

So, that’s what I did. I spent a little more than an hour cutting up pieces of 2x4s and attaching them with some 2.5″ Deck Screws that I had lying around, and then topped it with some other scrap boards I had lying around. I decided not to glue anything (who has time) but did spend some time pre-drilling and countersinking screws to hold all the pieces together. I didn’t draw up a plan, but I had been thinking about how to make a potting bench, and most of the elements here are the same, just smaller. I just cut six pieces of 2x4s 16″ long and 2 pieces 20″ long. This made the top about 19″x20 when I assembled the frame, and the top is about 16.5″ tall, which was about right to enable us to work at our feet while sitting. Carmen used my newly completed router table to smooth over all the top slats with a 1/4″ roundover, and I eyeballed all the hole locations and screws, trying to get the edges even and the spaces relatively uniform. It’s better than it needs to be.

Here’s the completed (but not yet finished) bench in place in our flower bed.

I haven’t figured out how we should finish bench yet. Carmen I think is fine with just spray painting it. I am tempted just to rub a couple of coats of linseed oil on it and let it be that way. Anyone have any suggestions?

It’s good and strong. I’m a big (okay, I’m fat) guy, and sometimes stuff like this creaks ominously when I sit on it. This seems really, really stable. I have no fear if I chose to jump up and down on it.

And, I managed to spend two hours in the shop woodworking instead of doing more lawnwork! And Carmen even thanked me for it. Double score!

My Dust Collection “Cart”

I have been trying to do a bit more wood working in my garage, with the net result that a fine layer of sawdust is settling everywhere. I had started to use my aging Ridgid WD12000 4.5HP 12 gallon wet-dry vac attached to my table saw and my newly finished router table. But just using a vacuum on the outlet port isn’t optimal. The fine dust that these machine tools produce can easily clog vacuum filters. The obvious upgrade is to add a dust separator into the “system”. I did some research on the costs and benefits of using them. While there were some designs for a completely DIY designs, and many expensive “off the shelf” systems you could purchase, I settled on using a cheap, available cyclone based extractor called the Dust Stopper which I could get for about $40 from Home Depot. It is a little plastic “cap” that you can place on top of one of the ubiquitous 5 gallon buckets you can get from the big box stores. Air is sucked in the side, and swirls around, eventually settling into the bucket. The wet-dry vacuum pulls air from the center of the vortex, where it is much less dusty. This results in less dust in the vacuum, which prolongs the life of the filters and the vacuum.

Here is a picture of what the system looks like, from Home Depot’s product page.

Can you spot the problem?

But there is a problem. As you tug the vacuum hose around, cleaning up or attaching it to one tool or another, it is just downright cumbersome. It’s easy to knock over the bucket, since it doesn’t have wheels. And even if you had a separate dolly for the 5 gallon bucket to sit atop, you’d be maneuvering two different items on rollers which were attached together with a stiff but flexible hose. Not fun.

The obvious solution would be to build some kind of cart to hold both items together. Youtuber Steve Ramsey was an early inspiration to me in my quest for woodworking competency, and he details both the problem and his (rather nice) simple solution.

But there were still some problems with his cart. He replaced his old, large shop vac with a smaller unit, but the footprint of the cart is still essentially 2x the footprint of the vacuum alone. My old WD12000 has a lot larger footprint, and would have a correspondingly larger cart. I liked his idea, and wondered if I could do better.

The obvious idea would be to mount them vertically, rather than horizontally. I found a number of very nice designs, some of which were very complicated and included all sorts of storage space and things like hose reels. I’d love to have such a cool cart, but I didn’t want this to be a project in itself. After all, my shop vac is quite old, and could easily give up the ghost any day. I’d hate to invest all that time and effort, only to have to rebuild the cart for a new vacuum.

So, I was looking for a simple solution when I stumbed upon this neat idea from John Builds It on YouTube.

It uses a feature of these Ridgid shop vacs. They wheel around on four feet, each of which are topped by a cylinder that you can use to store the various wands and accessories. John basically used them to hold vertical legs, which then bolted into a platform with a hole cut in the top that the dust extraction bucket could sit in. The entire system rides on the original vacuum, which means that it has no more footprint than the original.

My own version…

Watch John’s video for details of his (much better) build than mine. But here are some details from my own simpler build.

I did some quick measurements. It is about 24″ from the top of the feet to the top of my vacuum cleaner, and I thought it was about 12″ from the bottom of the bucket to the “lip” that will hold it in place. Because I didn’t measure all that carefully, I decided that I needed 4 pieces of 1.5″ schedule 40 PVC, which I said needed to be 38″ long. I also picked up 4 flat endcaps, and four 2″ to 1.5″ reducers similar to the ones specified by John. The idea was that the reducers would fit on the outside of the feet, and then the pipe would fit inside the reducer and rise up above the vacuum, ending in a cap which you then bolt to the platform which was cut from some scraps of 3/4″ plywood I had around. As John explains in his video, you can’t use 2″ PVC for the risers (which might have been a better fit) because the body of the vacuum tapers out slightly, and the verticals won’t be straight. But I discovered when I did a dry fit that the 1 1/2″ Schedule 40 PVC actually was a loose fit inside the cylinders that cap each foot, and was a better fit overall than the reducer was to the outside. I ended up returning the reducers, and just resting the pip inside the foot.

I cut a 19″ square piece of 3/4″ on my table saw, and marked four in the corners of a 14″ square (the measured spacing on the bottom of the vacuum) centered in the top, and bored it for some 1/4″ bolts. I then used my drill press to cut 1/4″ holes in the center of each of the black end caps. I then made a homebrew compass out of a scrap of wood, and marked the circle centered in the middle of the top. A little math showed that the radius was about 5 5/8″, for a diameter of 11.25″. I drew the circle, drilled a starter hole, and then cut out the center with my jig saw. I also rounded the corners, and then used my new router table to smooth over all the edges. I then bolted the endcaps to the top with some 1/4×20 screws that were about 1.5″ long, and held in pace with some stop nuts.

And that’s about it. PVC posts in the foot, caps hold the top of each post, and the bucket drops in. The only unforeseen issue (and additional expense) came when I realized that unlike John’s setup, I had built mine a little too high, so the 36″ section of hose that came with the Dust Stopper wasn’t long enough to reach. I ended up getting a new 7″ section (which is too long, but it’s what was available) and we were done. Actual time spent doing the work (as opposed to going to Home Depot Twice) was about an hour, and I’m slow.

I haven’t fixed the base of the risers into the feet yet. Friction holds them in reasonably well, but I will probably get a small self tapping screw to fasten them more permanently, or maybe just wrap the ends with tape to increase the friction a bit more. But it’s totally workable, and is easy to move around the workshop.

I’m pleased. I’ll be using it for the first time “in anger” tonight when I cut some pieces for a potting bench for my wife.

A rolling stand for my Harbor Freight Router Table

I’ve slowly been trying to do some woodworking projects. I have very little skill and experience. In the past, I had (barely) enough skill to put together some simple Dobsonian telescopes out of plywood, using mostly a handheld router and a jigsaw, but they weren’t actually very accurately made (especially compared to the tolerances the optics were made, which measured in millionths of an inch).

While I had a hand held router (a big, rather heavy one) I didn’t have it set up for use as a router table. A few weeks ago, I took a 20% off coupon and bought a new little 1 3/4 HP router with a “table” for around $80. It is frankly not that great: a little hard to adjust the bit height, but I’ve only done a few test cuts with it. I thought that I’d like to have a stand to put it on so it would be at a convenient height. On top of my bench, it would be too high, and on the floor, well, let’s just say as I’m getting older getting up and down off the floor in my garage isn’t the most fun in the universe.

So, I thought I’d build a stand for it so that the top of the bench would match the 36″ height of my (very successful) rolling bench that I built a couple of months ago. I didn’t bother drawing any complicated plans at first. My idea was to basically cut 8 pieces of 2x4s to a 20″ length, and then rip cut the curved edges off each leg so they would be 1 1/2″ x 3″. I’d then join two of them into an L shaped bracket in each corner with glue and screws, cut rails to stretch between them and then fasten them together using a pair of Kreg pocket screws at each end.

This is a little bit of a skill building exercise, since I have relatively little experience with my new little DeWalt table saw. The ripped 2x4s weren’t as flat as they would have been if I had a proper jointer and thickness planer, but they did come out more square than they would have otherwise. About halfway through the build, I had a problem I couldn’t visualize, so I ended up making a model of the bench in Fusion 360. I didn’t do the complete model (it lacks the bottom shelf and a couple of braces) but it did show the overall dimensions and helped me clarify some of my thinking.

The basics of the rolling table as modeled and rendered in Fusion 360.

I knew I wanted to have some rollers on the bottom (optimizing my space around moving stuff seems like a good strategy) and I was going to use up some 1/2″ plywood for the top. I also wanted to cut a shelf to go in the inside. On my rolling table, I made part of the lip just the 3/4″ edge so I could clamp things to the edge of the bench, but since this will basically be a dedicated stand for the router, I just decided to leave the 3″ thick top frame around all edges. Originally, my plan was to cut the top oversize and trim it to exact dimensions with a flush trim bit, but in the end I decided to just leave the 3/8″ overhang around all four sides because it seems nice, and doesn’t harm anything.

Anyway, this morning I finished the construction. I still need to get the hardware to bolt the table down to the top, but here’s what it looks like:

A few finishing touches (or is it touches of finish?) needed, but it’s good to go as soon as I bolt down the router table.

Here are some general thoughts from the build…

  • It’s pretty square, but not absolutely right. I tried to use my small machinist square and my large carpenter’s square on every joint, and it’s close. Much closer than probably any carpentry I’ve ever done, and given that I’m using construction grade lumber, perhaps that is as good as I could hope for.
  • The dimensions were a bit hard to wrap my head around. I ended up using 3/4″ plywood for the top, so it’s was going to be 1/4″ taller than my other bench, but in the end it turned out more like 1/2″. Similarly, when notching the shelf out for the bottom, it turned out to be slightly off in a couple of areas, making for a loose joint on one side and a tighter joint on the other. Frown. Oh well. In the end, it was tight enough that I didn’t even bother screwing it in place.
  • I broke a bit off while drilling a countersink hole. The tool steel crappy countersink/drill combos I bought at Harbor Freight are single fluted and made from tool steel, and generate a lot of heat while drilling. I wasn’t paying attention, and snapped one.
  • I wasn’t paying attention with two Kreg Screws and over tightened them, which drove them out the back. I need a lighter touch on the impact driver.
  • Don’t balance your can of boiled linseed oil on top of what you are working on. I dumped a bunch of it on myself when I knocked it over, and that’s why the front in the picture looks unfinished: I had to clean up a mess and tossed my sweatshirt into the wash with a lot of soap.
  • The only joint I did which wasn’t close to flat was one of the bottom ones underneath a caster. A few seconds with the belt sander flattened it.
  • I think design wise if i did it again, I’d raise the bottom rails up about 3″. This makes the shelf higher, and easier to get to, and the extra space makes it easier to roll over stuff on the floor. It would also avoid an odd routing problem with the Kreg screws intersecting the area where I’d bolt the casters in place.
  • Having my assembly table was a god send. It made so much of the work more accurate and more relaxing.
  • I need at least 2 more 36″ bar clamps.

Still, I had a lot of fun, and it looks great. The frame is way over engineered. The rollers are only rated for 110lbs each, but I’d trust the frame to hold well over 600 lbs or more. I only bought 2 2x4s to add to 2 more that I had, and used scrap plywood that has been in my garage for over a decade, so the total cost in materials was under $20, most of which were the casters.

Carmen wants me to design and build a potting table for our back patio, which will probably be our next project. Stay tuned for more woodworking.

Template Program that uses a DS3231 RTC to wake up an Arduino

So, my idea is to use a cheap but reasonably accurate RTC chip module based upon the DS3231 chip to periodically wake a sleeping Arduino. I tried getting it working yesterday, but had little luck. I don’t know whether it was Bailey’s insistence on being petted or simple sleep deprivation, but it eluded me yesterday. Today, I decided to go about it more methodically, and with the help of my trust Rigol DS1102E oscilloscope, I made sure that the module was generating a proper pulse stream, and eventually stumbled on the right order of operations to get this working.

For the purposes of this demonstration, I’ve programmed ALARM_2 to trigger every minute (it fires when the seconds are 00) and then programmed ALARM_1 when the trigger matches 30. This means that the interrupt fires to wake up the Arduino every 30 seconds. When it wakes at the moment, it doesn’t do anything particularly interesting: it just prints the time and temperature (which doesn’t seem right, so I’ll have to dig into why).

Anyway, the code isn’t particularly complex, but there were a few details to work through, and it might be useful in the future. It will require a tiny bit of extra work to (say) trigger every 5 minutes. You basically will have to use the setAlarm function to set the alarm to go off at a particular point in the future, and when that alarm is triggered, then tell it to trigger again 5 minutes in the future. I don’t foresee any trouble.

Anyway, here is the code:

#include <LowPower.h>
#include <DS3232RTC.h>        // https://github.com/JChristensen/DS3232RTC
#include <Streaming.h>        // http://arduiniana.org/libraries/streaming/
#include <Wire.h>

/*  _   _               
 * | |_(_)_ __  ___ _ _ 
 * |  _| | '  \/ -_) '_|
 *  \__|_|_|_|_\___|_|  
 *                      
 * Some simple code to test the idea of using a DS3231 module's "alarm"
 * functions to periodically wake up an Arduino which is in POWER_DOWN
 * mode so that it will do something interesting.   This is really just
 * a skeleton now, but will serve as an outline for a more advanced sensor
 * sketch.
 *
 * Written by mvandewettering@gmail.com
 */

const int wakeupPin = 2 ;

volatile int woken = 0 ;

void
wakeUp()
{
    woken = 1 ;
}

void
setup()
{
    pinMode(wakeupPin, INPUT_PULLUP) ;
    pinMode(LED_BUILTIN, OUTPUT) ;

    Serial.begin(115200) ;
    delay(50) ;
    Serial.println(F("WAKING UP...")) ;

    Serial.println(F("I2C set to 400K")) ;
    Wire.setClock(400000) ;

    setSyncProvider(RTC.get);   // the function to get the time from the RTC
    if(timeStatus() != timeSet)
        Serial.println("Unable to sync with the RTC");
    else
        Serial.println("RTC has set the system time");

    Serial.print("::: INITIAL TIME ") ;
    printDateTime(RTC.get()+7UL*3600UL) ;
    Serial.println() ;
    delay(50) ;

    // initialize the alarms to known values, 
    // clear the alarm flags, clear the alarm interrupt flags
    // ALARM_1 will trigger at 30 seconds into each minute
    // ALARM_2 will trigger every minute, at 0 seconds.
    RTC.setAlarm(ALM1_MATCH_SECONDS, 30, 0, 0, 0);
    RTC.setAlarm(ALM2_EVERY_MINUTE, 0, 0, 0, 0);

    
    // clear both alarm flags
    RTC.alarm(ALARM_1); RTC.alarm(ALARM_2);

    // We are going to output the alarm by going low onto the 
    // SQW output, which should be wired to wakeupPin
    RTC.squareWave(SQWAVE_NONE);

    // Both alarms should generate an interrupt
    RTC.alarmInterrupt(ALARM_1, true);
    RTC.alarmInterrupt(ALARM_2, true);
}

void
loop()
{
    // The INT/SQW pin from the DS3231 is wired to the wakeup pin, and
    // will go low when the alarm is triggered.  We are going to trigger
    // on the falling edge of that pulse.
    attachInterrupt(digitalPinToInterrupt(wakeupPin), wakeUp, FALLING) ;

    // Go into powerdown mode, waiting to be woken up by INT pin...
    LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF) ;

    // For now, let's just ignore transitions on this pin...
    detachInterrupt(digitalPinToInterrupt(wakeupPin)) ;

    // We have to clear the alarm condition to make the pin go back to
    // the high state.   I'm clearing both of them, because we are 
    // triggering every 30 seconds (in this example)
    RTC.alarm(ALARM_1) ; RTC.alarm(ALARM_2) ; 

    // Now, we can do whatever we want to do.  For now, we just get 
    // the current time and the temperature (which doesn't appear to 
    // work, and will be what I'm investigating next)

    printDateTime(RTC.get()+7UL*3600UL) ;
    Serial.print(" ") ;
    Serial.println(RTC.temperature()) ;
    delay(50) ; // allow serial to drain, otherwise we'll go to sleep
		// before the buffer empties.
    
}

void 
printDateTime(time_t t)
{
    Serial << ((day(t)<10) ? "0" : "") << _DEC(day(t)) << ' ';
    Serial << monthShortStr(month(t)) << ' ' << _DEC(year(t)) << ' ';
    Serial << ((hour(t)<10) ? "0" : "") << _DEC(hour(t)) << ':';
    Serial << ((minute(t)<10) ? "0" : "") << _DEC(minute(t)) << ':';
    Serial << ((second(t)<10) ? "0" : "") << _DEC(second(t));
}

If it turns into something more interesting, you all will be the first to know.

Baby steps with the DS3231…

Last night, I did a small amount of work on two projects.

I applied some Wood Bondo to a couple of bad defects in my garden bench project. I hadn’t used it in a while, and forgot what a pleasure it was. Sanding should be finished up shortly and I’ll definitely have it painted and finished this weekend.

The other thing I worked on was trying to prototype the main control loop of my IoT sensor project. Since I got the basic radio hookup done last night, I thought I would work on a slightly different issue.

My recent musing have been concentrating around reducing the power consumption of these boards. The way that is normally achieved is by putting the processor to sleep, effectively telling it to halt the main processor for a predefined amount of time. Then, either in response to a timer event or an external interrupt, the processor can wake up, read all its sensors, and log it to a local SD card or transmit the measurement wirelessly before going back to sleep.

Some microcontrollers have elaborate timing modules that can run while the main processor, but that is not the case for the Arduino. It just has a single “watchdog” timer that can serve to wake the processor back up, and it is relatively inflexible: it can only be set for a small set of intervals, the maximum length of which is eight seconds. It’s also not particularly accurate, since it is clocked by an RC based internal oscillator that operates at 128Khz. You definitely can try track time this way, but it seems a bit complicated and a little messy

As it happens, I have a fair number of DS3231 clock modules lying around. The specifications have an accuracy of ±2ppm from 0°C to +40°C , which translates to an accuracy of about one minute per year. I could live with that.

The DS3231 also includes an alarm module. This enables you to program two alarm registers with times that will trigger the alarm when matched. There are two registers (ALARM_1 and ALARM_2) and you can query whether either has been triggered, or you can configure the the chip to toggle the SQW output pin low when the alarm goes off. I found this primer to be pretty helpful. What was not helpful was that my cat Bailey kept on jumping into my lap while I was trying to concentrate, so while I managed to get the basic “polling” based code to work, I couldn’t quite wrap my head around getting the sleep mode and interrupt stuff to work. I think that tonight I’ll pull out my oscilloscope to ensure that the proper signals are being generated by the board, and then at least narrow my confusion to where I can hopefully eliminate it.

In the mean time, I’ve been spending some of my spare time reading all the tons of useful information on The Cave Pearl Project website, including this awesome collection showing how build their Pro Mini Data Logger. The accompanying video play list shows lots of tiny bits of cleverness in how they prep the various boards and attach them together in a clever way to build a nifty little datalogger for less than $10 in parts. Well worth your time to watch.

Brain Fail: How to waste several hours trying to get an NRF24L01+ working on an Arduino…

I must admit to a certain amount of jealousy about people who demonstrate an ability to start and finish large projects. Granted: I have a full time job and that job is not tinkering with my little home projects. But when I see someone construct a complex prototype of electronics, a large piece of woodworking, or simply the ability to regularly author content on Youtube or their blog, I feel like a bit of a slacker.

It’s not that I don’t actually get things done. I do. I just always feel like my progress proceeds at a slower pace than I would like, or even seems reasonable.

Anyway…

I’ve been thinking more in the line of creating some very small, very battery stingy IoT sensors for… well… just because really. This is an extension of the tinkering I did with my prototype solar setup, as well as some work to logging data to a microSD card that was inspired by thecavepearlproject.org. I also liked some of the ideas present in Jeremy Cook’s “Standard Nano” setup.

So… in my head I have a nebulous goal to create a new little project to explore building some prototype IoT modules that have the following characteristics:

  • Cheap. It’s not hard to build capable modules without any regard to budget. I would like the price of each module to be around $5.
  • Re-usable. Much like Cook’s “Standard Nano”, I want to be able to have a basic core around which I could create a variety of sensors.
  • Low power. I want the the modules to be able to be powered by batteries, and they should for a time measured in months. Making a unit which is solar powered is possible, but probably interacts with the “cheap” requirement, and there may be situations where solar power is inconvenient.
  • Wireless. The Cave Pearl Project has many sensors which record data to an SD card, but I’d like to have it sending live data back to a server where I can interact with the nodes in real (or at least near real) time.

I’m not the first person to think of this kind of thing, and the path seems pretty obvious from a hardware perspective.

  • Arduino Pro Mini 3.3V 8Mhz costs about $2.45, and can easily be adapted to lower power consumption by disconnecting the power LED and (perhaps) doing the same for the power regulator.
  • NRF24L01+ Wireless Transceiver Module costs about $1.25 each.
  • Sensors. Some are likely to be free, or every nearly so. You can do temperature lookups with cheap components or even none at all. Sensors that detect light, voltage, current, or things like reed switches are often very inexpensive.
  • Batteries.
  • Containers. (I like to use small lunch style boxes from Dollar Tree).

I think that we’ll be a bit above $5, but certainly less than $10 per unit.

So, I thought I’d do a proof of concept. Using the Arduino Pro Mini for the final sensors makes sense, but it’s easier to prototype with breadboards and a couple of spare Unos that I have lying around. I dusted them off.

You have to be a bit careful using the NRF24L01+ boards with 5V. While the inputs are 5V tolerant, you have to be sure to just pass 3.3V to the module. Every reference I found on this module makes sure to mention this. And this is where I got into trouble.

You see, I had some cute little adapter boards lying around to make it easier to hook these up to 5V Arduinos. They bust all the pins out into a straightforward layout that is more clearly labelled, and include the decoupling capacitors that make the modules run more stably. I had them on hand, so I thought I’d give them a whirl.

So, I hooked them up, loaded up the the “scanner” example sketches that came with the RF24 library I chose, and…

It printed out data, but it was essentially all zeros.

Double checked the wiring. Triple checked. Still nothing.

Came back the next day. Was it a bad module? Swapped it out. Still the same. Swapped out the Arduino. Nope, still the same.

Damnit, what was it? Should I get out the scope? Was I an idiot who just didn’t wire things properly? Was the library just crap? I mean, it didn’t appear to actually try to ensure that the SPI bus was communicating properly. You can just disconnect power to it (or not power up the module at all) and it would all be the same…

I had something in the neighborhood of three or four hours into it. I was thinking about the plan for the next day’s testing as I prepared for bed. I was just lying down and pulling in the covers, and it hit me… I stood up, walked downstairs, made a small change, and fired up the module and it worked perfectly.

The problem was stupid. You see, I was using the adapter boards. They have a 3.3V regulator on board. Of course, you need a bit of headroom above 3.3V to have it generate that voltage. After all the dire warnings from my reading about being careful to hook up the modules to 3.3V, I had passed 3.3V into the VCC pin on that module. That feeds into the regulator, but without sufficient headroom to hold 3.3V to power the module.

I moved the VCC of the adapter module to 5V, and it fired right up.

Dumb dumb dumb dumb dumb. And hours wasted.

Anyway, I got it working, and then did a scan for a half hour or so to figure out what channels are likely to be free for use. It was pretty apparent that most of the 2.4Ghz activity in my house is concentrated down at the bottom edge of the band even scanning by eye, but I summed up all the carrier detects that it logged during that time, and with a little Python/matplotlib magic:

Any channel up above 85 or so should be smooth sailing.

Oh well, that took me longer than I would like, but I have it working. Next step will be to get one of these NRF24L01+ modules working on a Raspberry Pi. My idea is that all sensors should send information to the Pi, and the Pi will inject it as messages to my MQTT broker for further processing. Then, I can process events with Node Red.

Stay tuned, and hope that I’m not so dumb at every step of the way.



Making a Knob…

So, I’m trying to get a little more adept at wood working, and one of the things that I’m doing as a “skills building” exercise is to design and fabricate some new jigs and accessories for my table and miter saw. One of the things that I thought would be cool would be to design and 3D print some plastic knobs that I could use.

I had some idea as to what the kind of knob I wanted to make would look like, and from time to time I’ve been trying to gain some experience designing objects using Fusion 360. The basic ideas that I had was to make a knob a little under 2″ in diameter, with a sort of six lobed shape, an inch thick and threaded with a 1/4×20 thread.

I am still pretty new to Fusion 360, but I was able to model it in an hour or so after a couple of false starts. And I printed one, which I then threaded onto a 1/4×20 bolt that I had lying on my workbench.

Bailey was impressed.

A couple of issues made it less than 100% successful.

First of all, the threads are quite tight. I could not screw the bolt into the knob by hand, I needed to use a screw driver. I thought I had a 1/4×20 tap lying around somewhere, but I haven’t been able to find it. I suspect that if I ran the tap through the threads, it would loosen it up significantly. Being tight can either be a flaw or feature. For a jig that you tighten by hand where the knob acts as a nut for a carriage bolt that you loosen and tighten often, you might want it to be a little bit looser. But if you use this to hold a machine bolt that you thread into a threaded insert, the tightness is probably a feature. I’ll have to print a few once I refine the model and do some testing in different modes.

The second is that I was trying to figure out a way to print an attractive knob without using supports. If I printed it with the small end against the bed (as conceived above) then the flange would need a support. I could slowly increase the size so that the overhang could be printed in one pass, but that seemed kind of odd.

The other way is to print it the other way around, with the big face against the bed. The problem here is that I wanted a recess to hide a washer and the head of a bolt if I decided to use the knob as a big thumbscrew. That recess would seem to require a support, but I thought it might be fun to try a technique I had seen before, which was to create a sacrificial “bridge” to hold the inner hole, which I could then remove with a quick bit of Xacto work.

So that’s what I did. I created a 0.25mm thick disk that covered the tapped hole. Since I was printing with a 0.2mm layer height, that layer should just be a single layer thick.

It worked! Well, not perfectly. I haven’t got the best settings for bridging using PETG in my slicer, so that layer was a little droopy and didn’t stick together very well. I’m thinking that I should increase speed and fan while bridging, and I might get a better result.

I could have just cut this stuff off with an Xacto, but I decided to just hit it with a 1/4″ drill in my drill press. This was actually a bit of a mistake because I didn’t hold the knob in a vice. Once the bit hit the plastic, it dug in quickly and tore it out of my hand. I probably should have used a small conical countersink instead.

I was also thinking that if I wanted make a looser version of the knob, one simple way might be to scale just the X and Y in the slicer by a small amount, say 3% or so. I’ll try that when I get an hour or so to try, and that probably won’t happen until I experiment to get better bridging settings.

I noticed a couple of other tiny issues with the model which I will probably refine. Perhaps another round tonight, but I have other projects to work on, so it might not happen until later in the week.

If you are exceptionally bold you can try downloading the STL file and printing one of your own. Drop me a comment if you like it.

Arduino Mini, using Micro Amounts of Current…

Last night, the weather was pretty rainy. I woke up a couple of times during the night (once, when my little cat friend Bailey decided to check my breathing and started head butting me around 4 AM) and heard a lot of rain falling on the roof. When I woke up, it was fairly wet outside. I made myself a cup of tea and settled into check messages and email…

And the power went out.

Sigh. I could have used my phone and the cell service, but instead, I just spent a few minutes thinking.

Like about my battery backed up temperature/pressure sensor I had running in the garage, which is battery backed up. And since it sends its data to the MQTT server at io.adafruit.com, it should wo…

Oh, except of course my network is down.

It got me thinking that perhaps logging data to a local SD card isn’t actually the worst idea. Maybe once a day or so, it could wake up and send all the backlogged data to the server, but continue to log data locally.

And while I could use a microcontroller like the ESP8266, those things take a lot of current. Maybe it was time to look into something else that could be efficiently powered down and then only power up the remote peripherals (like a radio) when needed. And instead of using any kind of fancy charging circuit, maybe I could make something that is just powered from either Alkaline batteries with a run time of maybe a year.

As it happens, last night I found a couple of Arduino Minis and a USB/serial connector, so it seemed to me that using one of those would be pretty reasonable. But I was pondering a couple of issues: just what is the standby current of an Arduino Mini when in deep sleep mode? How much current does the ubiquitous power LED consume?

So, during a break I dug around and found information about power consumption by the Arduino Mini.

The breakdown seems to be that if I use a 3.3V 8Mhz Arduino Mini which is unmodified, I could expect about a 4.74mA current running flat out, and about 0.9mA while sleeping. Most of the sleep current is actually the Power LED, which draws about 0.84mA. It isn’t had to get rid of that (just cut a trace and/or destroy the LED with some snips) and then you are down to just 0.054mA during sleep. Very nice.

You can further reduce the sleep current by getting rid of the voltage regular, which may or may not be feasible depending on the use case. I was curious about what voltage I could use as input if I got rid of the regulator, and it appears that the ATmega328P is good from about 2.7V to 5.5V, which is a very broad range. You can simply feed that into the VCC. Sleep current is down to around 4.5?A in power down mode. Really, really good.

But it might be worthwhile use a better regulator. The Microchip MCP1700 has a quiescent current down in the 1.6uA range, which might be worth looking into. There is a lot of information about the efficiency of these regulators on the page linked above. I’ll have to look into it some more.

I should note that some of my thinking about this today was probably nudged by the following video @JeremySCook


I thought there were a couple of cute ideas in here. He used the Arduino Nano instead of the Micro but the form factors are pretty similar. I liked his way of soldering down DIP switches to provide some inputs, and using some shrink wrap to make a nice tight little package. He also pointed out these cute little battery holders with built in power switches that I hadn’t seen before. But I was a bit concerned about the use of the Nano. The USB interface chip draws about 15mA, and the Nano is nominally a 5V chip, so I thought that supplying just 6v to such a system would result in very short life, as the CR2032 batteries are pretty low capacity already, and 6v is not really enough headroom above what the voltage regular needs to provide 6v. Still, definitely some good ideas.

I also think it’s probably a good idea to read some of the “low power” tagged items on JeeLabs, as well as some information like this on the Arduino forums.

Anyway, more to think about.

3D Printed Gadgets for Woodworking…

I’ve been slowly working toward getting a reasonably equipped garage for woodworking, and have been watching a metric ton of Youtube content made by woodworkers. Today, I ran across this nice list of things that you can 3D print to help out with various tasks, the most immediately useful being some knobs I can print for 1/4×20″ bolts. Shared with all of you, and archived for myself.

https://www.instructables.com/id/3D-Printed-Gadgets-for-Woodworking/

Brent’s Sharpening Pages…

My experimenting with plane sharpening has (like so many other things) caused me to research stuff on the Internet. I’ve been working on grinding the back on my older plane using sandpaper cemented down to a flat piece of glass. It’s still not quite there after about a solid 30 minutes of work, and it’s pretty clear to me that the grit is breaking down and not cutting as fast as when it was new. So, toward that end I started to consider the possibility of investing in some sort of grinding stone. But, I don’t know anything about them, so I started reading. That’s when I ran across this page, with tons of information and designs for jigs that can be used to help make sharpening quick and repeatable. I haven’t absorbed it (or even read it all), but I’m stashing this link for future reading.

Brent’s Sharpening Pages