Is It On Yet? Sensing the World Around Us, Starting with Light

Arduino 101 is getting an LED to flash. From there you have a world of options for control, from MOSFETs to relays, solenoids and motors, all kinds of outputs. Here, we’re going to take a quick look at some inputs. While working on a recent project, I realized the variety of options in sensing something as simple as whether a light is on or off. This is a fundamental task for any system that reacts to the world; maybe a sensor that detects when the washer has finished and sends a text message, or an automated chicken coop that opens and closes with the sun, or a beam break that notifies when a sister has entered your sacred space. These are some of the tools you might use to sense light around you.

Continue reading “Is It On Yet? Sensing the World Around Us, Starting with Light”


Every month, semiconductor manufacturers across the globe retire old devices. A product that has been superseded, isn’t selling well, or maybe whose application has declined, is removed from the catalogue and ceases to be manufactured. Usually these moments pass unnoticed, just one old device among many. Who is going to remark upon the demise of a chip for a VGA card for example, or a long-ago-left-behind Flash memory chip?

One has come to our attention that is pretty unremarkable, but that could concern some of our readers. NXP have stopped manufacturing the LPC810M021FN8. What on earth is an LPC810M021FN8, you ask, the answer being that it appears to have been the last microcontroller with an ARM core available in a DIP package. Even that in itself is hardly earth-shattering, for if you really must use an ARM core rather than any of the myriad 8, 16, or 32 bit microcontrollers still available you can always get a DIP breakout board for a small surface mount chip.

This turn of events comes as a reminder that, while breadboard-friendly and popular among a section of our community, DIP packages are now particularly old-school. Other once-popular devices such as the LPC1114 have also long-since ceased to be available in this format, and we have to wonder how long we will be able to take advantage of DIP packages for some of the other microcontroller families.

A few years ago this news might have come as something of a disaster, but it now has more of a sense of the passing of a bygone era. It’s normal to use microcontroller dev boards in a larger DIP format for prototyping, so maybe getting used to a bit of surface-mount soldering on a break-out board will be only for the truly hard-core when the last DIP package has been retired. Other than that of course, the 555 is still available in a DIP8, and you can make anything with one of them!

If you didn’t have a chance to take the 810 for a test drive, the usual suppliers still list it in stock, Adafruit have a starter pack for it, and it will no doubt be possible to find it in small quantities for years to come.

[Thanks Tod E. Kurt for the tip]

Customize All the Fan Covers You Never Knew You Needed

Do you need a fancy fan cover with precisely specified attributes, but have no desire to design one from scratch? If you answered yes (or no) then [mightynozzle] has the answer. The Customizable Fan Grill Cover is a parametric design in OpenSCAD that allows adjusting the frame style, size, and grill pattern for any fan cover one may possibly need. [mightynozzle] also went the extra mile to provide a large number of pre-made STL files for a variety of designs in a wide range of sizes, so those who don’t want to fuss with customizing can simply download and print.

Normally Thingiverse would allow customizing this model’s attributes with their built-in Customizer, but the functionality and availability of that feature is spotty. Luckily it’s always an option to download the source and do the customizing directly in OpenSCAD. For those who may be intrigued but are not sure where to start, here’s a reminder that we covered how to make a thing with OpenSCAD that demonstrates the whole process.

Mechanisms: the Spring

Most people probably don’t think about springs until one kinks up or snaps, but most of the world’s springs are pretty crucial. The ones that aren’t go by the name Slinky.

We all use and encounter dozens of different types of springs every day without realizing it. Look inside the world of springs and you’ll find hundreds of variations on the theme of bounce. The principle of the spring is simple enough that it can be extended to almost any shape and size that can be imagined and machined. Because it can take so many forms, the spring as a mechanism has thousands of applications. Look under your car, take apart a retractable pen, open up a stapler, an oven door, or a safety pin, and you’ll find a spring or two. Continue reading “Mechanisms: the Spring”

Printed It: Custom Enclosure Generator

You’ve written your firmware code, etched your own PCB, and now it’s time to put that awesome new project of yours into an enclosure. Unfortunately, all you have is a generic Radio Shack project box that you picked up when they were clearing out their inventory. If you put your project in that, it’ll have all the style and grace of a kid wearing hand-me-down clothes. Your project deserves a tailor-made enclosure, but the prices and lead time on custom plastic enclosures are prohibitive for one-off projects.

In Ye Olde Olden Days, the next step might have been to start bending some sheet metal. But it’s the 21st century, and we’ve got mechanization on our side. The “Ultimate Box Maker” by [Heartman] is a fully parametric OpenSCAD design which allows you to generate professional looking enclosures by simply providing your desired dimensions and selecting from a few optional features. In a couple of hours, you’ll have a custom one-of-a-kind enclosure for your project for a few cents worth of filament.

That’s the idea, at least. For this edition of “Printed It”, I’ll be taking a look at the “Ultimate Box Maker” by generating and printing a basic enclosure. As somebody whose Radio Shack was out of enclosures by the time I got there and who doesn’t want to slice his hand open folding sheet metal, I’m very interested in seeing how well this design works.


So in theory, this design is supposed to work with the Thingiverse Customizer, which is basically just a web front-end for OpenSCAD. You get nice little sliders and dialog boxes, and once you have all your information entered, it will render you a custom STL to download. It’s arguably one of the best ideas MakerBot has come up with in regards to how Thingiverse works. Unfortunately, at the time of this writing, Customizer doesn’t seem to work anymore and just gives an error about missing Sigh.

In that case, we’ll need to download the .scad file from the “Thing Files” tab and open it up in OpenSCAD locally. All the configuration values are up at the top of the file and clearly labeled, which makes this fairly easy.

Obviously, you’re going to want to adjust the overall box dimension variables at the minimum. But there are also a whole set of options for PCB standoffs (position, diameter, screw size, etc), as well as options related to the built-in vents.

Making use of the OpenSCAD import(); function, you can bring in an STL of an existing PCB and see exactly how it will look in the rendered case. As a demonstration, I’ll be making a small enclosure for the Pi Zero, so I’ve imported an STL of it and used that to align the PCB standoffs. But even if you don’t import an STL to use as a guide, there’s a helpful “ghost PCB” that floats around inside the case while your editing the file in OpenSCAD.

Exporting the STL

Once you’ve edited the variables to your liking, you’ll want to scroll a little farther down in the code to find a section that looks like the following:

/* [STL element to export] */
//Coque haut - Top shell
TShell = 0;// [0:No, 1:Yes]
//Coque bas- Bottom shell
BShell = 1;// [0:No, 1:Yes]
//Panneau avant - Front panel
FPanL = 0;// [0:No, 1:Yes]
//Panneau arrière - Back panel
BPanL = 0;// [0:No, 1:Yes]

These options selectively turn on and off the different parts of the model for when it comes time to export the STL. If you don’t turn the other parts off before export, you’ll just get a useless “assembled” STL.

Unfortunately, the script is not smart enough to reposition the objects for STL export; so you’ll have to manually flip over the top piece in your slicer, for example. Another annoyance I found is that, even if you turn off the bottom of the case (BShell), the PCB feet still remain. You need to go back up to the script configuration settings and turn them off manually, look for the option called “PCBFeet”.

Having worked with OpenSCAD for a while I know why [Heartman] wouldn’t have included rotating the parts on export: it’s a whole lot of code to implement something that the end user can do with a click in their slicer. But making sure the PCB standoffs aren’t rendering when the user is just trying to get the top or side panel is a fairly big omission and would really only take a single conditional statement to fix.

Finally, there is some early support for generating customized front and rear panels, including functions to generate openings and labels. But personally, I would suggest just taking the blank panel generated by the OpenSCAD script and importing it into a 3D CAD program your comfortable with. The panel generation code just isn’t ready for prime-time, in my opinion.


The design that [Heartman] has come up with for the case is really quite clever, and shouldn’t pose a problem printing. There are no overhangs so support is unnecessary, though you may want to turn off the vents if your printer has issues with stringing, as the thin openings can get clogged up. I printed my case at 0.2 mm layers and 15% infill, though larger cases could probably get away with 0.3 mm layer height for the sake of speed.

The design is forgiving in terms of tolerances, and no cleanup was needed after printing to get the parts together. The fit on the front and rear panels is perfect; loose enough that they don’t need to be sanded to git in the channels but tight enough that they don’t rattle around once the lid is screwed down. Incidentally, you must screw the lid down, as the two pieces don’t actually have any interlocking components. A potential improvement to the design would be a way to make the lid snap-fit.

Final Thoughts

Overall, I think the enclosures generated by the “Ultimate Box Maker” OpenSCAD script are fantastic. They look extremely professional, are very sturdy, and print easily. This is definitely a design I’ll be adding to my regular bag of tricks going forward.

I especially like that this is a printable design that clearly addresses a valid need. One-off projects need one-off enclosures, and 3D printing is perfect for that. While we’ve previously covered printed tools that deserve a spot on your bench, the argument could always be made that you’d be better off buying the “real thing”. But I believe this project offers a solution which is actually superior to traditional methods in a number of ways.

Thingiverse’s Customizer dropping the ball on this one is especially annoying, as [Heartman] went through the trouble of making sure his design worked with it — there’s some special syntax Thingiverse has you add to OpenSCAD to make their front-end work. Having a web-based tool to generate custom enclosures would be extremely handy, and I wonder if somebody in the community might just take up the challenge of restoring the service MakerBot seems not to maintain?

Chopper And Chopper-Stabilised Amplifiers, What Are They All About Then?

One of my first jobs as a freshly minted graduate engineer involved the maintenance of a set of analogue chart recorders. They were museum pieces by the early 1990s: a motorized roll of graph paper across which a pen would traverse in proportion to the voltage on the input terminals. Inside was a simple servo, with a differential amplifier comparing the feedback via a potentiometer from the mechanism with the amplified input.

The recorders dated from the early 1960s, and internally their electronics were from the germanium transistor era: many Mullard OC-series devices, black-painted glass tubes with a red dot, and, unexpectedly, a large electromagnet connected to the 50 Hz AC supply with a reed switch through its middle, something completely new to an overconfident youngster who thought she knew everything.

What I’d stumbled upon was a chopper amplifier, a slightly ungainly and long superseded solution to the problem of DC amplification from the days before ubiquitous integrated circuit op-amps. We have become so used to DC amplifiers that just work, that we have forgotten that there was a time when such devices were an impossibility. The close matching of properties between devices on the same wafer allowed integrated circuit op-amps to achieve stable DC amplification in a way that the best attempts at the same circuits with discrete transistors had failed, but before they happened some desperate measures were called for. Continue reading “Chopper And Chopper-Stabilised Amplifiers, What Are They All About Then?”

Skull Cane Proves Bondo Isn’t Just for Dents

[Eric Strebel] is quickly becoming a favorite here at Hackaday. He’s got a fantastic knack for turning everyday objects into something awesome, and he’s kind of enough to document his builds for the viewing pleasure of hackers and makers everywhere. It also doesn’t hurt that his voice and narration style gives us a real Bob Ross vibe.

The latest “Happy Accident” out of his workshop is a neat light-up cane made from a ceramic skull found at a local store. But while the finished cane itself might not be terribly exciting, the construction methods demonstrated by [Eric] are well worth the price of admission. Rather than using Bondo like the filler we’re all accustomed to, he shows how it can be used to rapidly build free-form structures and components.

After building up layers of Bondo, he uses a cheese grater to smooth out the rough surface and a hobby knife to clean up the edges. According to [Eric], one of the benefits of working with Bondo like this is that it’s very easy to shape and manipulate before it fully hardens; allowing you to really make things up as you go.

[Eric] also shares a little secret about how he makes his gray Bondo: he mixes some of the toner from a laser printer cartridge into it. This allows you to very cheaply augment the color of the filler, and is definitely something to file away for future reference.

If the video below leaves you hungry for more [Eric Strebel], check out his fantastic series on working with foam core, which should lead you right down the rabbit hole to his DIY foam core spray painting booth.

Continue reading “Skull Cane Proves Bondo Isn’t Just for Dents”