Browsing posts in: CAD

First assembled PCB…

I’ve ordered quite a few PCB boards, but this is the first time I’ve paid for assembly as well. Documented here so that I remember the steps. Instructions here.

  1. Do the PCB design. Duh.
  2. Find components in the JLCPCB component catalog. Extended ones require a flat $3 fee.
  3. Annotate the schematic components by adding a column named LCSC and putting the LCSC number in that column.
  4. Create the BOM from Tools->Generate BOM. This will fail if you have any spaces in your filenames as the xslt processor they use has issues, but it will create a .XML file in your design directory.
  5. Go to d:\data\electronics\bom where you will find msxsl.exe. It will work correctly. Modify a batch file to use that file and generate the output CSV file.
  6. Edit the output file. You will need to edit it to remove parts and columns you don’t need. I imported it into excel and then saved as a .xsls file.
  7. In the PCB editor, choose File->Fabrication outputs->Footprint position. Format = csv, units = mm, files = one file per side, footprint selection = with INSERT attribute set. This will generate a front and back file.
  8. Edit the output file so it has the following headers: “Designator,Val,Package,Mid X,Mid Y,Rotation,Layer”
  9. Generate gerbers as usual.
  10. Go into the jpcpcb quote too. Upload the gerbers.
  11. Choose “assembly”
  12. Upload the BOM and placement files, and look at the rendering. Carefully validate the rotation of active components; there are apparently two standards. If you need to modify the placement, go edit the output from step 7 and edit the rotation column.

An ESP-32 Remote Control–Update and Version 1.0 case

About 3 months ago, I wrote a post about an ESP-32 based remote control I’m building. Conceptually, what it does it allow you to press a button and hit a specific web endpoint.

Since the introduction, I wrote some code and got a prototype kindof working – the touch inputs on the ESP32 work fine, the deep sleep works okay, but I ran into a few problems.

First, the ESP32 can run on 3.0 volts but only kindof, and if you use two AAs their voltage drops pretty quickly to the point where the ESP stops working. Which means I needed a better power source, which means lithium based. I looked at primary (non-rechargeable) lithiums but they are also 3 volts (IIRC), I looked at lithium-ion, but 4.7 v is a really inconvenient voltage for ESPs; you need a regulator to get down there. Plus the 10850 cells are a bit big. Then I settled on LiFePo4 batteries, which very conveniently have a nominal voltage of 3.3 volts and are the same diameter (but shorter) than a AA, so they work well for packaging.

I bought a little battery monitoring board to protect the battery, but I’ve decided to skip it for this version. So, I think I’m set for batteries.

The second issues came up during my deep sleep testing. The ESP32 can get down to 10 uA in deep sleep, which looks great, *and* it supports “wait on touch” where it will turn on based on a touch input, which is also great. But…

The devkit boards that I have don’t support using it that way; even with the power led removed I think I was seeing about over 10mA when the ESP was in deep sleep. Not good enough. Some people have hacked their boards to remove some of the components, but traces are tiny and the board is dense, and I gave up after a few tries. I could use a module programmer like this which pulls the dev kit components onto the programmer and leaves just the raw board, but the problem there is I need a mounting solution that lets me program the same module every time.

What I really need is the dip part of the devkit board without any of the power supply or usb stuff and an adapter to hook that to the module programmer.

Since I haven’t figured that out, I went with the best deep sleep approach that I know, a rocker switch. I’m thinking that will get the power use all the way down to 0 uA.

The case

I have some plans for the version 2.0 case, but those require a fair amount of prework and new tools, and it’s nice enough that I could really use the remote *now*, so I went with with the easy approach – a laser cut box.

For touch points, I wanted some screw together pieces or screw studs, which I finally discovered were commonly known as “chicago screws”.

Chicago Screws - "Flat Beveled" Design - Solid Brass (10-pack ...

I wanted them in brass so that I can solder to them. The ones I got are 1/4” (6mm, actually) in length, which would be fine for my “real remote” design, but meant that I need to use 1/4” plywood for the face.

I did the design in Fusion 360. This design was not one of my better moments. I did the face in 1/4” but the sides on 1/8” so they would be thinner, but it turned out that I don’t have any 1/8” plywood left; what I have is 1/10”, so I had to redo the design. Then I measured the size of the studs very accurately with my calipers and then entered the shaft length (0.235”) instead of the shaft diameter (0.165”). And the power switch was too close to the corner so the top and side wouldn’t fit. Then I cut the top piece out of a piece of 1/8” scrap, so it was too big.

More trips back and forth than I had hoped, but it’s only computer and laser time plus a bit of wood, so it wasn’t that bad. Here’s the result:

IMG_9719

Which is honestly pretty nice. The labels are engraved into the wood, and all it is missing is the power LED. The current plan is to glue the sides to the front and leave the back removable for access, but it’s not clear to me how that is going to work yet.

Video here:


Next up will be wiring up the front panel, assembling most of the box, and then hooking in the ESP and battery.


French Cleat Electronics Workbench…

IMG_9709

I’m not known for the cleanliness of my workspaces; my office desk is a mess right now, my garage workbench is a mess, as are my other workbenches.

But my electronics one is messy enough to be problematic, and the root problem is that there’s just too much stuff one the workbench; power supply, oscilloscope, toolbox, solder station, hot air rework station all take up a lot of space, and the work surface doesn’t have lot of depth, so I end up with a small clear workspace even without clutter.

A while back I was looking at my Rigol scope, and thought that I might have more room if I could mount it on the wall. And that obliquely led me to the current project.

FH18MAY_586_00_006-french-cleat-tool-wall-featured

I’ve been watching some woodworking on YouTube, and that led me to a series on french cleat walls. They are pretty popular for woodworking shops as they keep all of their tools handy. Looking at my garage space – where I do some woodworking-adjacent projects – I don’t have a lot of wall room for one of these, and most of projects I do occur elsewhere, so I wanted to keep my tools in their boxes. Not a great solution there.

But that triggered a thought about my electronics space; I don’t move my tools around and I could use the organization.

So I went looking in my garage and found that I had some leftover 12mm baltic birch plywood from another project, and I acquired some 2×3 pine for the cleats.

Making the cleat wall is pretty simple; you just cut your cleats wood at a 45 degree angle and then attach it to the plywood using a regular spacing. If you want details, here’s a video I did of the process:



I took the wall down to my workbench and attached it to the wall. Then it was time to start figuring out how to attach items to the wall; this is generally some sort of shelf or box with the mounting tabs that hook onto the cleat. First up was the oscilloscope, partly because it was big and partly because it was straightforward to design.

Oscilloscope Shelf

It’s simple enough that I could have just created a mock-up in cardboard and then used that to create the actual version, but I wanted to play a little, so I did a full CAD design. It was a pretty quick design in Fusion 360 and I’d show you a nice rendered version, but somehow it didn’t get saved along the way. Here’s what the side panel of the shelf looks like; the hole in the end is for the power cord at one end and the cooling fan at the other, and the left part hangs off the cleat:

Pro tip: The 1x stock you buy may not be exactly 3/4” thick; mine was 11/16” instead. So measure it first; for this shelf I had do sand down the back edge of the cleat.

image

The bottom shelf is just that, a rectangular piece of wood between the end pieces.

As a material I used some 1/4” baltic birch (probably 6mm actually), and I decided to use my Shaper Origin to make the shelf. It is held together with wood glue and some very thin wire pins shot in witn my pin nailer. Here’s the video if you want the details:

The result is nice and pretty, though I didn’t sweat trying to get things perfect; it’s not furniture:

IMG_9714

IMG_9715

Because of the way the cleats are designed, gravity pulls the mounting cleat both against the wall cleat and the wall plywood, and the back of the shelf presses against the second cleat. It’s surprisingly secure and yet very easy to move around.

About the time I was finishing this, I said to myself, “Self, that was fun and you made a lot of sawdust, but there’s nothing in that design that you couldn’t have done much quicker and easier with your laser cutter, so at this point I switched tools.

XBox 360 Power supply box

When I added a heated bed to my 3D printer, I bought an XBox 360 power supply to power it, and I found that they are wonderful for powering 12V loads; the ones I have provide up to 16 amps of power. So I bought a second one from Goodwill for $4.95 and have used it when I need a hefty supply for testing (like my WS2811 expander which I stress test with 3 50-watt 12v light bulbs). Cheap, compact, and lots of cheap power – what’s not to like.

Well, I don’t like that it’s cluttering up my workbench, so I’m going to build a box for it.

Here’s the CAD design, the laser-cut parts, and the final result. It’s cut out of 0.10” (2.5mm?) plywood that is strong and easy to cut on the laser (mine’s a GlowForge) and then glued together with wood glue.

image

IMG_9707

IMG_9711

I measured the power supply with my calipers and it ended up just on the tight side; the power supply slides in but barely. The big cutout for the close end is because there are air holes there.

The other end of the cable currently just has a set of speaker terminals that accept banana plugs and the enable wires soldered together so it’s always on. Sometimes in the future, that cables going to terminate in a power-supply box with an on off switch.

The xbox power supply hangs up high. And now I need a place to plug it in as the cord isn’t long enough to reach to the outlet under the workbench.

Power strip box

Another simple box, with the dimensions defined by the size of the power strip that I wanted to use. The design is quite simple with a bit of an assembly caveat; the box has both a top and a bottom so you have to assemble it around the power strip.

image

IMG_9713

Resistor decade box

I built the decade box a few years ago based on this instructable. I do a fair bit of work with LEDs and I often find myself wanting to pick an LED value based either on measured current or brightness. I used to do that with a potentiometer, but it’s much easier to use a decade box.

The design here just has two end hangers; one end is attached using the output posts for the decade box, and the other one is just hot-glued on.

IMG_9708

IMG_9710

You might notice there are some smoke marks on the wood; if I wanted nice I would have masked them off but that was more work than I wanted for this.

Wire hanger

Just one more design for the first wave; I knew I would have wires running across the board and wanted a way to support them:

IMG_9712

A simple three-piece design hold up a power cord. It’s tilted because of the weight of the cord is heavier on one side; I’ll probably do a version with a single hanger in the middle. Or I might cut some one-piece hangers out of 1/4” plywood.

Video tour

If you would prefer a video tour of the completed items, you can find it here:


Power supply hanger

Model 1627A Right

When looking at some of the small Chinese power supplies that are out there, I got a line on a nice surplus BK Precision 1627A on Ebay for $55 and ended up buying that instead. I have an older 4 voltage power supply (+12V, –12V, 5V, and adjustable) that I’ve used quite a bit, but it’s pretty rare that I need multiple voltages these days, I already have the hefty 12V, and I’m going to be adding some dedicated 5V supplies as well. I haven’t used +/- power supplies in a long time, so I think the old supply is going to get packed away for now.

To do a hanger for this looked a bit more challenging than my previous hangers because this is bigger and it weighs 16 pounds. I did the design and cut it out of 1/4” plywood:

IMG_9716

The frames here are about 10” x 7” in size. They are cut out of 1/4” (probably 6mm, actually) and glued together.

Pro tip: Go back and look at the picture of the power supply picture above. If you look closely on the side and the talk, you will see some screws sticking out. If you measure precisely and cut to that precise measurement, the pretty holder you create will *not* fit over those screws, and you’ll need to remove the screws – and maybe the equipment feet – to get the frames to fit over the item (the power supply in this case).

Not only did I do that, but the first time I put the hanger on I had it on the wrong side, so I had to repeat it. But I did get to the final result:

IMG_9717

Futures

One of my goals was to get my Fluke multimeter off my desk and up in the air, but there are some issues, the biggest one being that the digits are in shadow if the meter is vertical against the wall. I’ve had some designs that put it at the same angle the stand in the base does, some designs that let you modify the angle, and another idea that I might just add some white LEDs to the side so it could be vertical.

There will be a power supply station close at hand; I think it’s going to support 12V from the xbox supply, 5V both on banana plugs and on multiple USB plugs, and I might integrate one of the cheap chinese boost/buck supplies to give options.

Finally, there’s the right side of the bench, which has my soldering iron base and my cheap chinese hot-air rework station. I may end up with a cleat wall on that side I can get them up as well.




Skiing penguins build log retrospective

My skiing penguins project has been up and animating for a few weeks, and I thought I’d write down the process for others so that they can learn from what I did. And also so I can remember what I did and why. There are some other blog posts that talk about some of the specifics for the sequence controller I built.

First off, there’s a video here that shows the final result.

The my initial idea was to do something with LEDs and single frame animation; see some of the animations that were done at ZooLights at Pt. Defiance many years ago was what got me into this hobby. I had a big garage roof that was unutilized, and after some discussion with my wife we decided that skiing penguins was a good place to start.

CAD

 I started looking around for online penguin designs to use as a starting point and found a couple. Then I started up Fusion 360 and created a new project.

I design (and sell) LED ornament kits, so I’m used to doing these designs. Here’s a video that shows the technique that I use to space the LEDs out evenly along an outline; that is what I used for all of the penguins. Here’s a in-process look at one of the designs:

image

and a final one:

image

The final designs were too big to cut in my laser cutter (glowforge), so I had to break them into two pieces. The puzzle-piece line gives me two individual pieces to cut that can easily be put together again.

The animation has 15 frames, which meant 29 individual pieces to cut.

Cutting

I figured out what sizes of plexiglass I needed and bought the plexiglass from my local TAP plastics; it was about $90 worth. I didn’t want to spend a lot of time splitting pieces on my table saw, so I defeated the door interlock on my Glowforge for the larger pieces:

IMG_9644

You really shouldn’t do this if you don’t have laser safety glasses designed for your particular laser’s frequency. In this case, I wore my normal safety glasses and closed off as much of the opening as possible; I now have a nice set of dedicated laser safety glasses. Don’t do this unless you understand the risks.

Here’s all the cut pieces stacked up:

IMG_9647

This is a penguin prototype:

IMG_9651

This was actually constructed earlier; it was used to determine size, and we decided to go about 25% larger. Thankfully, Fusion made this fairly easy to do.

Here’s the first production frame:

IMG_9654

You can see the glue residue along the joining line. At the left and right sides there are short connectors that overlap the joint and provide much needed stiffening; they are on both sides. The squares with holes are spacers; the penguins will mount to wood supports and the spacers hold the wood away from the wiring that will be on the back. Zoom in to see the fine details.

Here’s the pile of penguins all glued together and ready for LEDs.

IMG_9656

First light on the first frame:

IMG_9659

Green was planned for the body outline rather than the white in the prototype but I didn’t have enough green LEDs at the time. The LEDs are brightness matched to look similar to human eyesight though the blues look too bright to the camera. Only 13 more to go!

Here’s what the penguin looks like with the leds off:

IMG_9660

Sorry about the messy and distracting background. For each section of LEDs, there are two sets of bare copper; one that is connected to 12V and one that is connected to ground. Leds are grouped based on their voltages; green and blue run in groups of 2 while reds run in groups of 4. At this point I realized that my ski poles had 9 leds which means that I had two groups of 4 and one individual LED, which was a pain. Each group has the appropriate resistor to set brightness. There are 70-odd LEDs in this frame, so figure something near to 200 solder joints.

Here’s a picture of the workbench mess:

IMG_9662

That’s not that bad except there is more mess here:

IMG_9663

and here:

IMG_9664

To waterproof all the wiring, I took the penguins outside and hit them very heavily with clear acrylic spray. I’ll know how well that worked when I take them down:

IMG_9665

Here’s a view of them drying. They have waterproof power connectors attached and have frame numbers marked on them.

And then they were each mounted on short pieces of 2×3 wood which would have been painted if I had time; maybe I’ll do that when I pull them down after they have dried out. You can see the wiring quite well in this shot, and we can see that it’s frame “J”, or the 10th frame.

IMG_9670

The next step was to build the wiring harness. I did a diagram of the expected layout in Visio:

image

From that, I went out into my driveway, took a couple of tape measures, and laid out what I needed. The controller was planned to be under the roof where “K” is, so I would run wire to that point and then leave an extra 10’. I unfortunately don’t have any pictures of this process; I was racing the weather.

Basically, I would start at “A” in the diagram, leave a couple of feet of slack cable, run it up to D, across the top, and then down to K and leave 10’ at that end. Each cable gets an adhesive label with the circuit letter at each end, and those will later be covered with clear packing tape to waterproof them. Continue the process with each cable all the way through K. The cable is 22-gauge alarm cable; I have used twinlead in the past and I have to say that this cable was a huge upgrade in terms of ease of use, and at $31 for 500’ is was pretty cheap. I did calculations on the voltage drop and decided that it wasn’t too bad (about 7% IIRC).

Once I had all the cables, they got bunded together with wire ties at every branching location and then additional wire ties to make the harness easy to handle. I got it all done just as the rain came down for real, and headed inside. Each penguin location got the other half of the waterproof connector soldered on and then covered in heatshrink tubuing, and the controller ends got stripped to be connected to the controller. Here’s the final roof harness:

 IMG_9671

The penguins got installed on the roof with various arrangements of wood to support them and were plugged into the harness. I then spent a day or two figuring out how to do the penguins in front of the house; they are supported on 1/2” metal EMT tubing. I also created a separate harness for those penguins (one in the air, one crashed in the tree, and then a small one where the one in the tree lost his poles and skis) using the same process.

I finished building the controller:

IMG_9672

Nearest to us is the ESP32 controller board that runs the animation software, and behind it are two custom 8-channel MOSFET switching boards. Attached to the back MOSFET board is a series of LEDs used for debugging.

The ESP runs custom software that drives the ESP32’s 16-channel PWM hardware. The ESP32 is ridiculously full-featured for the price. One of my goals for the project was to *not* have to pull the controllers out of their installed location to update the animation, so I created a really rudimentary web-based IDE and an animation language:

image

This is the current active view from the ESP running the penguins as I sit here and write. The left textbox shows the code and the right one shows errors if there are any. I wrote the animation outline and programmed it in, and then took my laptop to the garage and we’d watch the animation and I’d tweak it as necessary, it took us about 10 minutes to get what we wanted, and I would have spent more than that on a single iteration of “unplug the controller, take it downstairs, plug it in, modify the software, compile it, upload a new version, take it outside, plug it back in, and see if it worked”. That worked very well.

I’m calling the language “Dim”, because it’s good at dimming things and not very smart. In the code “DI” means drive a specific channel to a specific brightness over a specific cycle count (each cycle is about 10mS, so it runs at 100 Hz), and D lets you specify more than one operation to occur at once during the following “A” (animate) command. The language does have for loops but is desperately in need of functions/methods for this usage; I have those in a newer version.

Here’s a bit of code running on a second instance of the controller that flashes 5 of the ornaments I make in a random pattern:

channel=2
FOR count 1:100
   D(50, channel, 0)
   channel=R(1:6)
   DI(30, channel, 1)
ENDFOR  
      

That took about 5 minutes to write.

Finally, here’s a daytime tour of the installation which shows the penguins mounted on the roof and in front of the garage and the controller board with terminal strips.



Sequence Controller Part 2–Board design and MOSFET testing…

Having chosen MOSFETs, I went off to do some board design. I’m hoping this will be a very simple design; it needs to provide power to the ESP, connect ESP outputs to the driving MOSFETs, and provide connections for the loads to the MOSFETs.

Here’s the schematic:

image

On the right we have all of the LOAD outputs; we’re using N-channel MOSFETS to switch to ground, so there are 8 outputs plus a ground. Somewhat conveniently – assuming I’ve read the data sheets right – there are 8 PWM outputs on the right side and 8 on the left.

In my WS2811 extender I put both positive and negative terminals for the load on the board, but in this case I don’t have room so only the ground connections show up.

The other two 9-pin connectors – ExtOut1 and ExtIn1 – are for a feature that I’m hoping will be very cool, but it will be oh-so-easier to explain when I have boards in hand.

One question I already had was whether the ESP could put out enough current to switch the MOSFETs quickly enough. The time spent switching is time the MOSFETs spend in their linear region, and the Rds is much higher during that period. The SOT-32 package doesn’t give much opportunity for heat dissipation.

I didn’t have any protoboards to mount the MOSFET on, but I did have some WS2812 LED boards that I made. Two of the solder pads matched and I used a short wire to hook on the third one.

IMG_9584

That’s wired up to the ESP.

IMG_9582

The ESP running very simple code that ramps up to full brightness and then back down.

I then needed a test load. I don’t actually have a good 2-3 amp 5V test load, so this was my first test:

IMG_9581

That’s 5 of my ornament kits stacked on top of each other. At full brightness they are pulling just over an amp, which is my design point (more would be better). I let it ran on that for a few hours, and the MOSFET was maybe a little warmer than ambient, but barely. I threw on my 12V light bulb testing rig, and got 1.5 amps, and it was also fine with that. Two of those bulbs in parallel would unfortunately be 4 times the power which is more than the MOSFET is rated for, so I’ll need a different load to finish my testing.

I am a little concerned that the ESP may have issues driving more than 1 channel as there could easily be 8 (or 16) channels trying to change all at once. The ESP has 16 independent PWM channels and I’m thinking that if I desync the frequencies slightly (say, 500 Hz, 501 Hz, etc.), the transition points for the PWM will generally not be at the same time.

Anyway, I considered that enough of a test to do the board design. I had to do a custom component and footprint for the ESP because I couldn’t find one that matched my 30-pin DEVKIT board.

One of these times I’m going to remember to do a video of the layout process, but I usually enjoy it so much that I don’t remember.

image

The MOSFETS live at the bottom to minimize the length of the traces that carry the most current, and to put them all near the bottom. The high-current traces are 1mm wide; I could likely go to 1.5 or even 2mm but that seems like a bit of overkill for the currents I expect. The driving traces from the ESP are 0.5mm because I want to get charge into and out of the gates as quickly as possible.

There is a bit of creativity on the left side; the pins on the 9-pin connector are quite a bit offset from the ones on the ESP, so I took pin 12 and 13 and ran them up to the two top pins to make the rest easy to layout.

The board is meant to be an “undershield”; I plan on putting female headers in the 15 pin connectors of this board and those will mate with the male headers that are already on the board. The power and load connectors should probably use right-angle headers.

I spun a small order of these boards for testing.






Candle lantern design thoughts…

I’ve been spending some time doing a design in Fusion 360 for a laser-cuttable lantern, and I’ve discovered a few things. I’m recording them here to help others and to remind myself when I come back to this in a few months/years.

I started with a simple outline drawing of a tree that I wanted to use as the inset for the side panels:

Alder

I need to get that into Fusion in a way that works. Here’s what I came up with

From 2d to 3d

There are a couple of different approaches to doing this. If you have something that is simple, I recommend the “trace it yourself method”. In this, you insert the picture into Fusion as a Canvas (Insert->Attached Canvas), and then draw an outline in a sketch using it as a guide. I used splines and did a reindeer and rabbit outline pretty quickly, and then nice part is that manipulating the splines after that is simple and quick.

That was going to be a ton of work with the branches and I was both lazy and worried that it would be too complex to work well. So I took the alternate approach:

  1. Load the image into Inkscape and save it as an SVG.
  2. Use SVGtostl.com, upload the svg, and specify how thick you want it to be. You will be able to change this later though it’s a pain, so try to get close.
  3. In Fusion, in a new design, choose Insert->Insert Mesh, and choose the file.
  4. Switch from model mode to mesh mode.
  5. In the browser tree, right-click on the mesh and choose “properties”. My trees end up with 13000 facets, which is about 3 times as many facets as I wanted.
  6. Use the modify->remesh and modify->reduce options to get down the count that you want. You will probably have to experiment a bit to get it to work right. Start with Remesh, and preserve sharp edges and boundaries. You now have a mesh.
  7. Switch from mesh mode to patch mode
  8. Select the mesh in the browser
  9. Modify->mesh to brep. This is changing from the mesh representation – which you can’t really modify in Fusion – to the brep representation, which you can. This may take a while. At this point, you have both a mesh and brep version of the object in the tree. Delete the mesh version as it’s just taking up memory.
  10. If you look at the brep version, it has a ton of faces on it. This will slow things down, so it’s nice to clean up the faces. Modify->merge, choose “select chain”, and then click on one of the front faces. That should select all the faces.
  11. Click “ok. That’s going to sit and spit for quite a while, but eventually it should finish and you should just see one common face. Or maybe Fusion will hang and you’ll have to restart it.
  12. Convert the resulting body to a component, and save it.

Using the resulting design

The resulting design is very complex and will likely kill Fusion. It tried to use it to create panels for all four sides of the lantern, and that was a full failure; it would take a full 30 seconds to render.

What I ended up instead was doing the full design in Fusion without the complex branches. It looks something like this:

image

I designed one side of the lantern and then used pattern on path to duplicate it around 4 sides to make sure everything worked, and then used it to cut the top and bottom for the tab holes.

Then, I took the original side that I designed, converted it to a component, and did the compositing of the side and the branches in a design that only had those parts. That worked well from a performance standpoint and since all four sides are identical, I can just cut the single one four times.

To get this to work I had to move the components so they were okay left/right, use align to move the frame so the front is coplanar to the front of the branches, and then extrude a couple tools to cut off the branches where they were too wide for the frame.

image

Cutting on 2.7mm plywood (was supposed to be 3mm….) took about 5 minutes for each side, and a couple of minutes for the top and bottom.

Here’s a totally uncleaned/unsanded version. It would also look nicer if I taped the wood to protect it:

image



Cat bed elevation device

We have a couple of heated for out cat to hang out in, which she really likes. One of them lives in the living room near the windows, but unfortunately if she is in the bed she can’t see out the windows.

What was needed was a way to elevate her so that she could see out. Which seemed like a perfect opportunity for some CAD and CNC.

The design

I fired up Fusion 360 and started playing around. I started with the basic dimensions; the top would be 18” square (the bed is really pretty big) and it needed to be 11 inches tall. Then it was off to build the basic model.

In the past, I’ve used “through tabs” which are easy to do but not aesthetically pleasing. In this design, none of the tabs go all the way through, which makes it a lot nicer looking.

After a couple of hours I had the basic design:

image

The bottom cutouts on the ends are so that there are four discrete legs for support, and the holes are to make it look a little more interesting. I played around with another slot farther up, but decided not to for reasons that will later become apparent. Note that there are no visible tabs.

Here’s the inside of one of the ends:

image

This shows the cutouts that I will make for the end; there is the outline and slot that go all the way through, the recessed pockets for the tabs from the sides, and then the tabs that will go into the pockets cut into the top.

There are “dogbones” cut at the corners; these are needed so that the rectangular corner of the tab has someplace to go. This is using the new “minimal dogbone” add-in for Fusion 360, which is a great improvement over the previous version.

Material

I went to my lumberyard (Dunn Lumber) and procured a sheet of 12mm baltic birch plywood for $30. It comes in an exceedingly inconvenient 5’x5’ size, which means that I cannot fit it in the back of my pickup. I can, however, tie it to the top of my outback.

Cutting

I trimmed the 5×5 sheet into a 2×5 sheet for this project and a 3×5 sheet for later projects, and then set up my workspace. It’s a melamine shelf with some thin sacrificial sheets of 1/8” MDF on top and then the actual wood clamped on top.

Shaper suggests that you use double-sided tape to hold the wood down, which is a really good idea that I keep forgetting to do. I added the domino tape so the shaper can figure out where it is, and started cutting.

It takes multiple passes to go through 12mm stock, and after a few options I settled on 5mm, 10mm (the depth of the pockets), and 12.3 mm to cut through.

Here’s a shot partway through the cutting:

IMG_9366

I took that picture because the Shaper crashed in the middle of the cut. It luckily remembers the layout so you can keep cutting when you startup, but you sometimes lose tracking before it finishes retracting the bit so there are small mistakes in the cuts.

I had about 8 crashes while cutting the parts for this. Unlike previous projects – where it would crash only while cutting and in reproducible situations – these crashes seemed to be much more random. I’m working with Shaper on it but haven’t figured anything out yet; in this case it cut flawlessly for about 45 minutes before any issues showed up, so I suspect it’s heat related.

Anyway, eventually the last part was cut, and I could fit the pieces together. One of the joys of the CAD-based approach is that if you don’t make mistakes, things just fit together. I used my soft-blow hammer and ended up with this:

IMG_9371

Definitely looks like a stool. You can still see a lot of fuzz that needs to be cleaned up and an overall sanding is in order.

It was at this point I realized that I messed and hid the nice surface of the plywood up instead of down, which means the display faces have a number of patches that should have been on the inside.

Sigh. Well, my cat won’t mind.

I spent a lot of time sanding and de-fuzzing the project, and it seemed like things were okay.

Identification

As you can see, it’s definitely a stool, but it’s not a definitely a cat stool. It needed something so that our cat would know that it was her.

After spending approximately 20 hours looking at cat drawings online, I came across a set that were very minimalist, and I picked four, two for the ends and one for each side.

Those got cleaned up an image editor and then engraved into the wood with my GlowForge. That took about 45 minutes.

Assembly

The sides were glued together, assembled temporarily into the top for alignment, and clamped until they were dry. Then this was repeated to glue the sides to the top.

Finishing

I wanted something a little more golden than the natural color, so I wanted a bit of stain. I decided to kill two birds with one stone and get a polyurethane with stain.

Bad idea. Maybe a good idea if you are spraying the finish, but applying by hand every slight difference in thickness shows up as a difference in color, and if you get any runs they look pretty bad.

Lesson learned for later. After the first coat dried, everything got sanded with steel wool to knock down the raised grain, and a second coat finished it off.

IMG_9377IMG_9376

And an action photo:

IMG_9378

As I have not obtained a model release from the cat I am contractually unable to show photos of her in the bed.

Shaper project is here.


Easy PCB stencil creation and alignment

I have a product that I’ve just started selling; it’s a LED globe/Soldering challenge kit that looks like this:

It has a PCB that looks like this:

image

For my first run, I needed to make 10 kits, and each of them has 12 of these boards, so that’s 120 boards.

I’ve been hand-soldering the prototypes, but it takes quite a while and my eyes aren’t as good as they used to be. I just built a reflow oven based on the controleo3 kit so that I can reflow in cases like this.

Which means I need a stencil. I could easily just order one up, but that means I’m going to have to align this tiny stencil with the board 120 times. Doesn’t sound like fun…

What we need is a way to apply solder paste to a set of boards in one shop and make it repeatable. In the woodworking world, that would call for building a “jig”, or perhaps a “fixture”. Which is what this post is all about; we’re going to use a laser cutter to make all of this oh so much easier.

Teaser photo

Here’s a teaser photo of what we’re going to build:

IMG_9248


Get your board outline and paste mask in SVG format

Since I’m doing my design in Kicad, this was really easy; just go into your design, click the plot button (like you would to create Gerbers), choose the F.Paste and Edge.Cuts layers, and set the plot format to SVG. That’s it.

Well, actually, you should probably modify your paste cutouts to be a bit smaller than they are by default; see this excellent reference for how to do it in Kicad.

If you are using a different package for your design, search online for how to make stencils from it; it will tell you how to export.

Create a combined image in Inkscape

The export give us two separate files; one has solder pads, and the other has the board outline. The first step is to combine them together.

Open both images in Inkscape. Change the color of the edges to blue and the color of the pads to red. We do this so we can control which ones get cut and which ones don’t in the laser cutter.

You do have access to a laser cutter, right? Because if you don’t you’re wasting your time.

Anyway, that gives us two instances of Inkskape:

imageimage

We now need to combine those two together in another image.

Create a new document in Inkscape with File->New. Go to the pads Inkscape version, do a Select All, then a copy. Switch to the new document, choose edit->paste in place.

Repeat the operation with the edge cut Inkscape version.

If your are of true character and have a pure heart, you will get the following:

image

Edit->Select All, then Object->Group. That puts this all together into a single object.

Save the document away with a catchy name like “Combined”. We now have the image for a single board.

Duplication

We now need to create an array of objects; in my case, it’s going to be an array of 4 wide and 3 high. We’ll start with the four:

  • Select the single object.
  • Paste it three time. Line them up approximately. It doesn’t matter like this.
  • Bring up the align and distribute menu. You will never find the icon to do this, so try CTRL-SHIFT-A. Hover around until you find a icon that says “align top edges”, and pick it.
  • Distribute the empty space using “make horizontal gaps between objects equal”.
  • Mine looked like this:

    image

    Those are way too close together for me. Undo the distribute, move one of the edge ones out, and redo the distribution.

    image

    That’s better. The actual spacing is up to you. Group them together and save.

    We’ll do the same thing for the rows; create two copies, align the left edges, and then distribute:

    image


    Save. Looks like we’re done, right? Not quite, there’s one more thing to add:

    Indexing

    This will work fine, but we would have to hand-align the stencil with the boards, and that’s going to be a bit of a pain to do. What I want is a way to make it repeatable.

    The secret is pins. Pins, I say!

    A trip to my local hardware store yielded two 5mm shelf support pins. They are likely longer than I need and I might cut them in half for my usage. They look like this:

    image

    We are going to use them for alignment, which means we’ll need some 5mm holes.

    Flip back to inkscape, and draw a circle. Pick the selection tool, and up under me menu bar, you’ll see the width and the height. Set both to 5mm:

    image

    Set the fill color to full green, set the stroke color to black, flip over to the stroke style, and set the width to 0.1mm. It should look like this:

    image

    Put this one to the upper left of your objects, copy it, and put the second object to the upper right. It should look something like this:

    image

    Note that it doesn’t look that great. That’s okay, we will fix that now.

    Draw a rectangle from one corner of your objects to a point spaced away; this will be the pin location. Something like this:

    image

    Then drag the circle so that it is at the corner:

    image

    I call this “using a gauge block”. Move the rectangle to the other corner and use it to align the other pin as well, and then delete the rectangle. They don’t have to be symmetrical for the technique to work, but I like things to be regular.

    I ended up with this:

    image

    Why so many items and so many colors? We will use them in the cutting process.

    The jig that we created will be a sandwich of different materials; from bottom to top they are:

  • On the bottom will be a piece with only the peg holes cut into it; we will use the black circle outline for those cuts.
  • Next up we will have a piece with the peg holes and the edge cuts, so we will cut both black and blue.
  • Finally, for the top, we will cut the actual stencil; it will have the circles cut for alignment and the solder pads.
  • There’s a bit more complexity than that; I’ll talk about it when I get to the actual cutting.

    Materials…

    The goal of making the fixture is to make laying down the solder paste easy, so the materials need to be chosen carefully.

    My PCB house says that they material they use is 1.6mm thick. I don’t trust material thicknesses, so let’s check:

    IMG_9234

    That’s pretty close, just a 0.04 mm thicker than I expected.

    For the main parts of the fixture, I needed something that was fairly rigid, fairly cheap, and the right thickness. I thought about hardboard but decided to go with what is called “chipboard”; I’m not sure why it is called chipboard because it’s just very compressed cardboard, the kind you find at the back of tablets of paper.

    After looking it locally in vain, I ended up heading to Amazon, where I came across this:

    Grafix Medium Weight Chipboard Sheets, 12-Inch by 12-Inch, Natural, 25-Pack

    Grafix Medium Weight Chipboard Sheets, 12-Inch by 12-Inch, Natural, 25-Pack

    25 sheets was more than I needed by about 24 sheets, but it laser cuts well and is decent for prototypes.

    The thickness isn’t listed in the specification, but that was one of the questions asked, so I looked at the answers and found that is was:

  • 1/16th of an inch at most
  • .057” (1.45mm) (from the manufacturer)
  • Almost exactly 1.5mm per board, determined by measuring a stack
  • 2 mm
  • It’s nice to have some many helpful answers. I could probably make most of those work, so I ordered it. It showed up, and what did I find?

    IMG_9233

    So, the correct answer was “none of the above”. It is notably a full 0.1mm thinner than what the manufacturer says. I’m not sure that just means there is more variance than the manufacturer says or they are just going thinner. Luckily, I can work with that thickness

    For the actual stencil, there were a few choices. You can cut them out of Kapton or out of Mylar. I went looking for Kapton in the common stencil thicknesses of 3 or 5 mil and didn’t find anything that looked good and cheap. So, looking at Mylar led me to Amazon, where I found 4 mil mylar, also in a package of 25.

    What is the mylar thickness?

    IMG_9237

    A quick bit of conversion shows me that the sheet is just over 3.8 mils thick, which is fine.

    Materials in hand, I headed out to my workroom where the glowforge lives to do some cutting.

    Some cutting remarks

    First up was cutting the mylar. The Glowforge has a significant bit of airflow to pull fumes out, and 4 mil mylar would blow right off the crumb tray, so I used ceramic magnets to hold it in place.

    One of the problems with mylar is that when you heat it up it tends to shrink. Since the holes I want to cut are rectangles, the laser head needs to stop at each corner, and at least on the Glowforge, it doesn’t do anything to the beam, so you will get a lot of power right at the corner. Maybe we could break the rectangles into two cuts and carefully manipulate the laser power, but I’m not that confident it would work. If you want to cut it normally, I would recommend trying low speed and very low power.

    Luckily, there’s another option. We can do a raster engrave of the squares and just ablate away all of the material in the middle. This avoids the “stuck in the corner” issue, and since the power level is fairly low and the start and stop is done by turning the laser on and off, there should be fewer issues.

    The right way to do this is to put a piece of paper under the mylar and figuring out what power and speed settings cut through the mylar cleanly but barely touches the paper. I grabbed some settings from the Glowforge Forums and used those.

    For the mylar, we are engraving the red paste mask part of the design and the green circles. The blue board outlines are disabled

    IMG_9228

    This is the first row being engraved. You can see that there is a little sloppiness in the outlines, but in general they are pretty much all the right size. Here’s the final sheet:

    IMG_9229

    The stencils look like what I expected and the 5mm holes look appropriate as well. Maybe this will work after all…

    Next up was cutting the top piece of chipboard with the board outlines. The board outlines are turned on in cut mode, the circles are switched to cut mode, and the paste mask is turned off.

    IMG_9231

    I previously did a proof of concept on this step, so I knew it was going to work. Nice clean cuts.

    And finally, the base cardboard piece. All it has is the circles, so it looks like the above picture with just the circles.

    Assembly

    Sandwich time!

    We start with the base.

    IMG_9239

    And then add in the 5mm pins. This posed a bit of a problem; the pins have a nice chamfer on the end so they didn’t stick into the cardboard very well. I solved this by cutting one of the pins in half with a dremel and an abrasive wheel. I should also note that at 4.96mm, they are just slightly undersized.

    IMG_9240

    So, it turns out that the 5mm holes aren’t quite 5mm in size; they are just a bit smaller so I need to force them in a bit. A friction fit is good, but a forced fit is less good. This is exactly the sort of stuff you learn if you do test cuts. Well, perhaps version #2…

    Adding in the board layer, which aligns quite well with the bottom layer. And the boards fit with just a little bit of movement, which is just about perfect. They are proud (above the surface) by about 0.3mm, which I determined by math. That will probably be okay, but if I want/need it to be closer, I can easily shim it out with some mylar, which at 4 mil is almost exactly 0.1mm thick.

    IMG_9241

    The moment of truth. Adding on the mylar layer. The mylar holes are also too small, perhaps more too small than the cardboard.

    IMG_9242

    What sort of result did we get? It mostly looks pretty good. There is a tiny bit of bowing in the mylar, which I think is due to the “too small holes” part, but it’s probably good enough right now. The alignment is offset a bit but it’s certainly usable:

    image

    Revision #2

    The nice part about building a jig this way is that the materials are cheap and doing another set of cuts doesn’t take much time, so it’s easy to do another revision.

    My first goal was to fix the circles so that they better matched the pins. Since I set them to 5mm explicitly, I figured I’d need to make them a little bit bigger. So, I opened up the design in Inkscape, selected the circles, and what did I find?

    4.95mm

    Huh? I honestly set them to 5mm, but now they are smaller.

    A bit of experimentation revealed what was going on. I am used to working in Visio where the dimensions are inherent properties of the object, so a circle that is 5mm in size is always 5mm in size.

    Inkscape is different. When you way that a circle is 5mm in size, you are setting the outside diameter, and that includes the line width. So, if you set the size of the circle and then change the line width to be thinner, your circle will no longer be 5mm in size. More like 4.95mm.

    Discovering this made me happy, as it meant that the bad fit was from something I understood, not something I did not understand.

    That was a really quick fix, and I cut the new pieces and put the sandwich together. This worked much better; everything went together much easier, and the alignment was better:

    IMG_9245

    Looking closely at the entire stencil, the errors look pretty random. It’s by no means as nice as the commercial stencils I’ve had cut, but it seems serviceable enough.

    I did want to deal with the spacing issue so I could get the board thickness a little closer to the fixture thickness. It turns out that 4 mil is almost exactly 0.1mm, so I cut a spacer as part of the previous revision. Here’s a crappy picture of my first attempt (the stencils are really hard to take pictures of):

    IMG_9246

    That is what happens when you try to cut mylar with high power; the beams stays on at the corners and totally blows it out. I *thought* this would still be usable, but all that melted mylar globs up and is way thicker than 4 mil.

    I cut a second version as part of the revision, using the lowest power that would work.

    IMG_9247

    That is definitely much better, but when I grabbed my micrometer and measured it, it turns out that the mylar melts a bit where it’s cut and the edges are about 0.2mm thick. Since I was hoping for something like 0.3mm total, just using this spacer should be sufficient.

    First pass with solder paste:

    IMG_9248

    And the resulting boards. It was mostly good enough; needed a bit of touch-up for a couple.

    IMG_9249

    LEDs and decoupling capacitor added:

    IMG_9250

    Into the oven:

    IMG_9253

    And all done:

    IMG_9254

    The reflow worked well; 11/12 were fine at the start, and I replace one LED to fix the others.

    IMG_9256

    Round 2

    Round 2 was more of a production run. I changed my technique so that after putting the paste on, I would peel the stencil up and then separate the layers to let the boards fall out the bottom. This worked pretty well. I did 9 rounds plus 4, or 112 boards total, which used up most of my LEDs. Two rounds in the oven, and I had 111 functional boards.

    I really need to build a new test rig; the current one only tests 3 at a time and it’s a pain to load them.

    Summary

    I’m quite pleased with the way that the jib turned out; I pretty much works exactly the way I had hoped, and I can apply paste and populate a set of boards in about 10 minutes.



    Bespoke bicycle Holder

    My nice bicycle currently hangs on two old shelf standards that are screwed into the wall, with some foam on them to protect the frame.

    IMG_9219

    It works, but the foam has seen better days and if we got a quake, it could easily shake off the ends.

    It’s time to build something a bit nicer, so I dug out some leftover hardwood plywood I have (maple, I think) and spent a little time with Fusion 360, and came up with the following design:

    image

    This is a render in oak. The holes are 16” apart so they can screw directly to the studs, and the hangers are a bit closer together so it’s easier to hang the bike with batteries on it. The arms that hold the bike have two hefty tenons that stick all the way through the back piece.

    Off to the garage to use the Shaper Origin…

    Cutting

    The cutting mostly went pretty well, but it took longer than I expected and I worked past a point of being too tired and therefore had a couple of issues. I’m using a piece of maple plywood that I had lying around that is unfortunately not very wide, so I had to put some auxiliary pieces off to the side with shaper tape on them so that it could figure out where it was. This mostly worked, until I got to the last cut on the last piece, and partway through I bumped my setup and that piece – which was partly clamped but not correctly clamped – moved.

    That is *bad*; the shaper throws up a big banner that says “the markers have moved and you are SOL”, or words to that effect. I tried a cut after that, and they were right, so I finished cutting through with an abrasive disk on my dremel and cleaned up with a little sanding drum.

    A little sanding, and it was time for gluing and clamping. The nice part of the holes and tabs approach is that there is a ton of surface area, so lots of material for the glue to grab onto. It’s probably strong enough with the glue because of the way the geometry works; the arms that hold the bike can only pull straight out, and even that is difficult. So, no fasteners required, but a lot of clamps.

    IMG_9217

    Give it 4 hours for the glue to set, and we are left with this. The dark coloration looks like a burn but is really just the plywood.

    IMG_9218

    Overall, it came out mostly okay; in some places the fit isn’t as tight as I’d like – which I attribute to some wiggling because of how I did the cutting – but it’s more than functional.

    Four 3” screws to mount it – yes, that’s overkill, but it’s so easy with an impact driver…

    IMG_9221

    and we’re done. I’m hoping the sunscreen shelf will help remind me to use it before I leave. I used some short pieces of the foam from the old holder to pad the new one.

    IMG_9222


    Draft: Compound miter saw table…

    I have a decent DeWalt compound meter saw next to my garage; it lives next to my table saw on a stand like this:

    Image result for dewalt dwx723

    The stand is nice a rigid and easy to take places, which is nice. It does have a few issues:

    • The legs stick out towards the car that is parked next to it, taking up space.
    • There’s no good place to stack stock; it will fall off of the rail.
    • The lack of support between the saw table and the extensions is annoying.
    • The table is about 1” higher than my table saw, which means you have to move the saw table to do even a small cut on the table saw.
    • It lives right where a small outfeed table would be nice.

    I’ve been playing with some ideas on how I might build something in my second shaper origin project, and here’s what I have so far.

    image

    It’s drawn to use 18mm baltic birch plywood. The drawing is pretty rough; no connection tabs, no holes, just a bunch of rectangular solids so far.


    Pages:12