J. Peterson's Writing About Electronics, Reviews, 3D Modeling, etc.

Author Archives: jp

Some Boots for the Lelo Self-Balancing Triangle

One of the cool things modern tech has made straightforward is the ability for gadgets to balance themselves. Spinning reaction wheels allow a device to change its position and hold it in place, even if it’s balancing on a point. Last century, this would have been a major (and expensive!) engineering challenge. Today inexpensive nano-tech gyroscopes, direct-drive motors and microcontrollers have reduced automatic balancing to an engineering class project.

I’d love to learn more about this and build such a device. Check out this YouTube channel for a whole variety of homemade balancing devices. In the mean time, you can buy a fun demo from Nikolatoy: The Lelo self-balancing triangle. This is a commercial version of an open-source project that apparently is very popular in China (YouTuber RemRC’s version is here).

One of the clever tricks Nikolatoy used to reduce the cost of their triangle was to make the frame out of the circuit boards. Unfortunately, the edges of the boards have poor traction, and it’s difficult for the triangle to balance itself without getting stuck slipping back and forth.

I solved this by creating a set of “boots” to put around the edge of the boards, giving the triangle a lot more grip.

This dramatically improves the ability of triangle to function (see the video below). I’ve posted the STLs if you want to print your own, using a soft, flexible material such as TPU. Or, (shameless plug!) you can simply buy a set of them from me on Shapeways (remember to order two of them). [Sadly, as of July 2024, Shapeways.com has gone out of business. You can find other venders by googling “TPU 3D printing services”]

After Ten Years, a New Computer

Four decades of personal computer purchases

Forty years ago, Moore’s Law was on a tear when it came to personal computing. Every year or two, CPU clock speeds doubled, RAM prices fell by half, and the compute power your OS and applications expected increased accordingly. You really had to buy a new machine every 2-3 years, or else your computer was hopelessly slow and out of date.

This slowed down by the late 2000s. The CPU chips had made the jump from 32 to 64 bits wide, and the clock speeds the processing chips ran at leveled off at around 3 – 4GHz or so. You could comfortably use the same computer for several years before replacing it. This is why the PC sales rate is a fraction of what it was 20 years ago.

My approach for buying my previous two computers was to get a top-end Macintosh and run Windows on it (I’ll explain the OS choice later). The fit, finish and performance of Apple hardware was excellent, and the selection process was very straightforward. When he returned to Apple, Steve Jobs paired the Mac product line down to simple groupings of computers making it easy to choose the right one. The rate of obsolescence had slowed down to almost a decade between replacements (though I may procrastinate on this longer than most). Read on for some history and how I selected a new machine…

read more »

Mac Software Lives Again

Back in the mid/late 1980s I wrote a couple of cool (to me at least) Macintosh Applications.

Macintosh Pico

This is an image processing language demo based Gerard Holzmann’s book Beyond Photography – The Digital Darkroom. The app lets you interactively type expressions in Holzmann’s language and see the results in another window.

Wallpaper for the Mind

This app creates chaotic patterns based on a formula published in Scientific American‘s Computer Recreations column. You can vary the formula’s parameters and instantly see the effects on the pattern, as well as zoom and pan around the results.

These were both implemented as fun demos. Neither app had much in the way of commercial potential, so I gave them away for free. Both were originally written to run on 68K Macintoshes running System 7, typical of the late-80s. Read on to learn about their new lease on life.

read more »

The Return of Attic

2011 Mac Mini

Many years ago, I repurposed an ageing Dell tower PC into a household server named “Attic.” After the fire, we had to move out of the house for a while, and it no longer made sense to keep it. So I kept the hard drives, and junked the aging PC hardware. The original machine ran Linux (Debian), simply because I find it a slightly more useful way to configure as a remotely accessed device than a Mac or PC. But to quote @jwz: “Linux is free only if your time is worth nothing“. Nearly two decades later, that’s still true.

I still missed having the server though. I found another leftover computer, this time a 2011 Mac Mini my son used in middle school, and set it up again as a household sever.

The installation is the easy part, everything else is messy. It’s Linux: meaning it’s nobody’s job to make sure everything works. Or rather, it’s everybody’s job to make sure anything works. The good news is all the nerds use Linux and post about it, so help is usually just a few searches away. Click “read more” for a running brain dump of what I’ve discovered so far while getting it on the air.

read more »

The Fit Testing Block

largesteel
Fantasy version of the fit testing set, milled to the micron in stainless steel

How Accurate is Your 3D Print?
I Tested Several Services to Find Out

Update September 2024: Several of the entries in this post referred to services (e.g., Shapeways) that are no longer in business, or 3D printing tech that is now obsolete. I’ve archived these old reviews elsewhere, but removed them from this post for brevity. Even though Shapeways is no longer around, I left the story about their process variations as a useful story of what can happen even with a particular process at a specific vendor. This post has been updated with reviews of several contemporary services.


Decades ago, if you wanted to create your own printed circuit board, you had to make it yourself. This was quite involved – you bought a copper plated blank board, created the circuit patterns on it with resist (tape, rub-on patterns, or Sharpie), then dunked it in noxious chemicals to etch the unmarked copper away. It was also up to you to drill the holes. Then you tracked down problems because too much (or not enough) copper was dissolved, opening or shorting your circuits. It was messy, tedious and frustrating.

Here in the future, all those problems are solved. You design the board in a CAD program, then the Internet whisks the design to a far-off fabrication house. A few weeks later your boards arrive, perfectly manufactured with solder masks, silk-screen markings, plated through holes – things you’ll never get making them at home. 

I do some amount of 3D printing, but I have no desire to own a 3D printer. Running your own 3D printer still feels like those early days of homemade circuit boards. The tedious details of bed leveling and heating, getting the model to stick in place, support sprues, filament moisture content, speed settings all have to be carefully looked after to get good results. I prefer the modern circuit board model for 3D prints – send the model off to a factory with equipment and materials you’ll never afford, and get your polished results back in the mail.

When I started ordering 3D prints, I had a basic question: when designing two parts that fit together, how much space do you need to leave between them to fit properly? To research this, I designed a set of fit-testing sets and printed them with various processes to see what sort of tolerances are necessary. So far I’ve tried nine different prints, and (unlike circuit boards) the results vary considerably.

The fit testing sets consist of two parts, a pair of pegs, each with round and square ends. One peg has 5mm ends, the other is 10mm. The other component is a block with a range of holes of different sizes to test fit each peg. Printing these and testing which hole each peg fits in helps to determine how much extra margin your design needs to have parts fit together well. For example, if the peg fits comfortably in the +0.2mm hole, that means you’d better leave a 0.2mm gap in your design for the parts to work smoothly.

The first blocks I made ranged from -9.85 to 10.15 (in increments of 0.05mm) for the large holes, and -4.875 to 5.125 (with 0.025mm steps) for the small ones. I quickly discovered this wasn’t enough range for coarser printing processes, so I created additional blocks with wider ranges of 9.7 to 10.3 (9.75 to 10.25) and 0 to 0.6 (0 to 0.5). These doubled the increment steps of the previous blocks, from 0.05 / 0.025 mm to 0.1 / 0.05.

The last block works well for the coarsest printing technologies, and is the best place to start for basic FDM (fused deposition modelling) printers. The rendering above also shows some quarter-step peg sets I modeled for even more precise tests, but you won’t need those anywhere outside of a Swiss watch factory.

Over the past few years I’ve printed blocks and pegs with a number of different services, to get a feel for the accuracy and tolerances of each. Read on for a review of what I discovered.

read more »

Design Lesson Learned: Model the Environment

On a recent trip I picked up a art-glass marble for my wife. She liked it so much she bought a nice lighted display stand for it. The stand wasn’t designed to display that particular marble though, so it didn’t work too well.

This was a problem easily solved with a bit of 3D printing. I figured it’d be trivial to make an adapter ring for the marble to sit securely on. However, when I examined the stand, I discovered the LEDs were flush with the base, and likely to get in the way. The marble needed to be held up above them. Before starting on the adapter, I did a simple model of the stand, so I could check everything cleared.

With the stand and LEDs modeled, I could verify my design properly fit. The project worked great, and fit perfectly with the first print. Success.

The next CAD project I did was a stand for a screwdriver set I purchased. I carefully measured the handle and the various blades, but (perhaps over-confident) didn’t bother to model them.

It wasn’t until I got the print back I discovered a major ergonomic fail: You can’t easily reach the handle because the blades are in the way! Had I taken the time to actually model the blades and handle, I would have visualized this immediately, and chosen another layout.

Moral – it’s a good idea to model the whole environment, not just the piece you’re printing.

A Clip for the Apple Pencil

Render of the Apple Pencil clip

The original Apple Pencil, in addition to its phenomenally bad charging method, has no means to keep it with the iPad. The nice leather Sena case we keep the iPad in doesn’t have a loop for the pencil. I solved the problem by coming up with a clip that’s easily tucked into the case when it’s closed.

This was a quick project, created in less than an hour of CAD work. The first print back from Shapeways had a couple of problems. I made the inner radius of the clip match the pen, thinking it would shrink enough from the spec dimensions to fit securely. Nope, it fit perfectly – and slid right off. The second issue was the original spike was only about 1.5mm thick; turns out that’s pretty bendy in Shapeway’s nylon. For the second revision, I made the clip diameter a full millimeter less than the pencil and it clips on securely now. Making the spike about 3mm across is rigid enough to stay in place.

Ironically, Sena now sells the case with a loop to store the pencil. But it’s still fun to solve the problem in less than an hour of design time. The STL is up on Thingiverse if you want to print one.

How to Make Apple’s Mac Pro Holes

Apple’s recently introduced Mac Pro features a distinctive pattern of holes on the front grill. I’m not likely to own one anytime soon (prices for a well configured machine approach a new car), but that pattern is very appealing, and re-creating it is a fun exercise.

The best clue about the pattern comes from this page pitching the product. About halfway down, by the heading “More air than metal” is a short video clip showing how the hemispherical holes are milled to create the pattern.

Let’s start with a screen grab of the holes from the front. The holes are laid out with their centers equally spaced apart and the tops of the lower circles fall on the same line as the bottom of the circles above them. So the circles are spaced 2r apart vertically, where r is the radius of the circle.

The horizontal spacing is a bit more work. The angles of the equilateral triangle formed by the centers are 180°/3 = 60° (or π/3 as they say in the ‘hood). If you draw a vertical line from the center of the top circle to the line connecting the centers of the bottom circles, that line (as you see above) is 2r long. With a bit of trig, you can find half the horizontal spacing x by using the right triangle formed by that line, x and the side of the equilateral triangle. The angle from the vertical center line to the equilateral triangle edge is half of π/3, π/6. So,

\[x=2r\tan \frac{\pi }{6}\]

and 2x is the horizontal spacing of the circles.

The hemispherical holes are milled into both sides of the plate, but the holes on the other side are offset so the hole centers on one side fall exactly in the middle of the triangle formed by the hole centers on the other side:

You already know the horizontal offset for the centers from one side to the other is x, but how far up do you go to hit the center of that triangle? Let’s call that h.

You’ll use the same tan(π/6) trick we used above, this time using the triangle formed by x and h. Like the triangle used to find x, the angle here is also π/6. So:

\[h=x\tan \frac{\pi }{6}\]

Let’s clean this up a bit:

\[h=x\tan \frac{\pi }{6}=2r\tan \frac{\pi }{6}\tan \frac{\pi }{6}\]
\[\tan \frac{\pi }{6}=\frac{1}{\sqrt{3}}\] so…
\[h=2r\frac{1}{\sqrt{3}}\frac{1}{\sqrt{3}}=\frac{2r}{3}\]

There’s still the issue of how thick the plate is, relative to the size of the holes. I took screen grabs of the film clip and compared them by counting pixels:

Examining the images, the thickness was about 101, with the diameter (2r) of the holes coming in at 176. Now, these numbers aren’t at all precise, because of the perspective introduced by whatever animation software was used. But I can’t help but notice the following coincidence:

\[ \frac{101}{176}=0.573\approx \tan \frac{\pi }{6}=\frac{1}{\sqrt{3}}=0.577\]

Yeah. The ratio of the plate thickness to the hole diameter is just like the ratio of the hole horizontal spacing to the hole diameter. So let’s turn this around, and summarize by saying for a plate of any thickness t, use:

\[r=\frac{t\sqrt{3}}{2}\]
\[x=2r\tan \frac{\pi }{6}=\frac{2r}{\sqrt{3}}=t\]
\[h=\frac{2r}{3}\]

Where r is the radius (half the diameter) of the spheres and 2x is the horizontal spacing of the sphere centers on a given row. For the next row, the centers are offset by x horizontally from the centers of the previous row. The rows are spaced 2r apart vertically, from sphere center to center. The same grid of spheres carved into the back side is displaced by x horizontally, and h vertically from the spheres in the front. The centers of the front spheres are on the front surface of the plate, the back spheres on the back.

So to CAD this up, all you need to do is start with a rectangular block of thickness t, and use the formulas above to place the centers of the spheres (with diameter 2r) on the front and back of the block.

If you just want to quickly print or look at the result in 3D, I’ve posted some sample STL files on Thingiverse.

Delete – A Design History of Computer Vaporware

Even if “history is written by the victors”, that doesn’t mean the losers don’t have interesting stories to tell. Delete – a Design History of Computer Vaporware is the story of various computer systems that either never saw the light of day, or saw relatively little of it. This is one of the most unique computer history books I’ve run across.

The book introduces the concept of vaporware – systems promised but never delivered. It starts off with the grandfather of all computer vaporware, Babbage’s difference engine. Conceived in the early 1800s as a way to accurately print mathematical tables, Babbage kept tweaking and improving the design, instead of finishing it. The device became a moving engineering target that was never hit, with only a small section actually fabricated in his lifetime. Undaunted, Babbage went on to conceive the Analytical Engine, a full programmable computer made of shafts and gears. It was never fabricated.

From there the book moves on to the evolution of computers post WWII. The book covers the developments in Europe, in particular several early computer projects in Scandinavia I’d never heard of before. As the early mainframes transitioned to minicomputers in the 60s and 70s, the book covers machines like Honeywell’s “kitchen computer”. Featured in the 1969 Neiman-Marcus Christmas catalog as an absurd home accessory, the vaporware product nevertheless generated a welcome shot of publicity for both Honeywell and the retailer.

The IBM “Yellow Bird” and “Aquarius” prototypes.

Some of Atkinson’s best revelations surround the development of the personal computer in the 1970s and ‘80s. In the 70s, IBM created a bright yellow plastic PC prototype called the “Yellow Bird” and another colorful red machine, the Aquarius. These were designed in response to the success of early computers by Apple and Atari. They were much more charming than the bland white IBM PC of 1981, and featured (then) exotic technologies such as bubble memory for mass storage. Alas, neither made it out of IBM’s labs.

The book reviews the influence of Xerox PARC’s research in the 1970s. Their creation of the Alto prototype with bitmapped displays displaying overlapping windows is well known. Atkinson, however, also reveals the “Notetaker”, another Alan Kay design for a luggable computer with a keyboard fastening over the display screen on the top. This design was successfully commercialized by other companies, including Osborn, Kaypro and Compaq. From there, the book moves through PCs to pen computing in the 1990s, the precursor to today’s touchscreen phones and tablets.

Atkinson’s primary focus for much of the book is industrial design; what the devices looked and felt like. Often, the work of the same designer reverberated across multiple product concepts, even if it only rarely made it to store shelves. The book is beautifully illustrated, filled color photographs of ingenious computer designs. I did find a few minor quibbles with his history (Berkeley Unix fans won’t appreciate Sun co-founder William Joy described as a “fellow Stanford graduate”), but on the whole, he sheds welcome light on a fascinating swath of the history of computer design.

Published in 2013, Delete isn’t a new book. However, the evolution of physical computer design seems to have plateaued since then anyway. Phones – everybody’s primary computer these days – have devolved into featureless glass slabs. And one of my favorite computer designs, the Macbook Air, is over a decade old now. The vaporware covered in Delete had significant influence on today’s computer products, even if they never made it to the store shelves themselves.

The Three Piece Burr Puzzle

Somewhere around middle-school, I came across a diagram of the classic three-piece burr puzzle.

It looked fun, so I endeavored to make one. Unfortunately, the materials available to me then (a scrap of plywood and a janky power scroll saw) didn’t produce very good results. It worked, but was crude and wobbly. Spray painting it black didn’t help.

A couple years ago, I revisited the project, this time with 3D printing.

Printed at Shapeways in dyed plastic, it works great. It’s kind of pricey though, running just over $90 for the three solid pieces. Similar puzzles retail for less than $5. I tried making hollow versions to lower the price, but it reduced it less than 20%, and required annoying holes to drain the trapped material.

Yes, I could just have bought one. But there’s something fun about precisely realizing something you envisioned decades ago.

Update Feb 2022

I recently printed the burr puzzle in bronze/gold/nickel plated steel from Shapeways. I shrunk the puzzle to half size to keep the cost reasonable, but did not adjust the model to account for the difference in the material tolerance. It took a fair amount of filing on the interior slots to get the pieces to fit properly.