← Back to Kevin's newslettersPublished: 2019 Aug 6

Hi friends!

Long time no chat! I fell into the classic “I’ll send an update when I’m done” trap, but I’ve just come to my senses and decided to publish works-in-progress:

Sound-dampening enclosure

I built an enclosure for a desktop CNC mill, which reduces the sound level from “deafened by shopvac” to “the guy across the street is vacuuming”:

CNC enclosure

The design is a box-within-a-box, with both boxes made from ¾" OSB and 2x framing, copious weather-stripping around the doors, and serious grab latches.

In hindsight, the box-within-a-box was probably too complex, so if I did it again I’d just go for thicker walls. I.e., use a single wall made of three glued-together ¾" OSB sheets rather than two ¾" walls separated by an air gap.

If you’re in the market for dampened sound, I highly recommend this book on home recording studio design, which is written by someone who actually understands construction and acoustics. (Spoiler alert: Don’t bother with egg crates.)

Mechanical keyboards

First, let me be clear that I’m not one of those nerds obsessed with custom mechanical keyboards. However, they are a great domain in which to explore novel materials and push my design-for-manufacturing and electrical engineering skills.

On the industrial design side, I’ve been toying with forms in bamboo:

keyboard

and plan to explore cork (any of y'all have experience molding/forming it?) and slip-cast ceramics next. At some point, I may manufacture a small run of standalone numberpads for the, uh, hipster accountant market?

On the electrical side, I’m graduating from “baby’s first Arduino” 8-bit chips to more capable STM32 ARM microprocessors:

PCB

Turns out one can make a USB keyboard with very few components: The STM32F0x2 series can be clocked from the USB connection (no crystal) and has enough I/O pins to wire up key switches individually (no diode matrix).

Compared to when I made a cell phone in 2015, things are way more accessible now. In particular: great YouTube videos on CAD / CAM, on cheap + easy product photography, and on how to use the open source PCB design software KiCAD.

Beyond just accessible knowledge, one can now also order assembled PCBs in small quantities quite inexpensively. The numberpad PCB above cost $41 for 5 assembled copies, including parts and shipping (!!!) from SeeedStudio.

Computer Vision

I’ve been exploring the feasibility of using computer vision to estimate physical geometry Basically, given an image/video containing known references (e.g., lines milled into a CNC spoilboard), how precisely can we infer unknown geometry (e.g., the position and size of a block of wood hastily clamped to the machine bed, into which we’d like to cut dovetails).

This outta be a much easier problem than photogrammetry (see Frank Howarth’s fruit digitization), but I haven’t been able to find much in the way of prior art.

(And yes, I did explore Apple’s ARKit, but tolerances seem to be on the order of a few cm, while I’m looking for something closer to 0.2mm.)

I suspect the real challenge isn’t in the computer vision bit, but rather in designing the user interface and concepts to support the end-to-end camera <-> CAD/CAM <-> CNC workflow.

I’ve been pairing on this with a friend, and since we’re both computer vision amateurs (we don’t even know Python!) we’ve had fun giving ourselves permission to liberally Google, copy-paste, and otherwise smash global variables together until things work. We’ve gotten surprisingly far in just a few cool-looking video chats:

Computer vision pairing

Please let me know if you want to pair on this sometime — especially if you know about tracking user-specified geometry and integrating measurements across video frames.

Misc.

There are a least a dozen blog posts to be written about the above projects — if you want to know more about anything, please let me know and I’ll write that post first =)

Other cool things off the top of my head since the last newsletter:

Until next time!

Kevin