In Praise Of “Simple” Projects

When I start off on a “simple” project, experience shows that it’s got about a 10% chance of actually remaining simple. Sometimes it’s because Plan A never works out the way I think it will, due to either naivety or simply the random blockers that always get in the way and need surmounting. But a decent percentage of the time, it’s because something really cool happens along the way. Indeed, my favorite kind of “simple” projects are those that open up your eyes to a new world of possibilities or experiments that, taken together, are nothing like simple anymore.

Al Williams and I were talking about water rockets on the podcast the other day, and I realized that this was a perfect example of an open-ended simple project. It sounds really easy: you put some water in a soda bottle, pressurize it a bit with air, and then let it go. Water gets pushed down, bottle flies up. Done?

Oh no! The first step into more sophistication is the aerodynamics. But honestly, if you make something vaguely rocket-shaped with fins, it’ll probably work. Then you probably need a parachute release mechanism. And then some data logging? An accelerometer and barometer? A small video camera? That gets you to the level of [ARRO]’s work that spawned our discussion.

But it wasn’t ten minutes into our discussion that Al had already suggested making the pressure vessel with carbon fiber and doctoring the water mix to make it denser. You’d not be surprised that these and other elaborations have been tried out. Or you could go multi-stage, or vector-thrust, or…

In short, water rockets are one of those “simple” projects. You can get one basically working in a weekend day, and then if you’re so inclined, you could spend an entire summer of weekends chasing down the finer points, building larger and larger tubes, and refining payloads. What’s your favorite “simple” project?

Ask Hackaday: What About Imperfect Features?

Throughout the last few years’ time, I’ve been seeing sparks of an eternal discussion here and there. It’s a nuanced one, but if I could summarize, it’s about different feature development strategies we can follow to design things, especially if they’re aimed at a larger market. Specifically – when adding a feature, how complete and perfect should it be?

A while back, I read a Mastodon thread about VLC not implementing backwards per-frame skipping. At the surface level, it’s about an indignant user asking – what’s the deal with VLC not having a “go back a frame” button? A ton of video players have this feature implemented. There’s a forum thread linked, and, reading it could leave you with a good few conflicting emotions. Here’s a recap.

In what appears to be one of multiple threads asking about a ‘previous frame’ button in VLC, there’s an 82-post discussion involving multiple different VLC developers. The users’ argument is that it appears to be clearly technically possible to add a ‘previous frame’ button in practice, and the developers’ argument is that it’s technologically complex to implement in some cases – for certain formats, even impossible to implement! Let’s go into the developers’ stated reasoning in more details, then – here’s what you can find in the thread, to the best of my ability.

Continue reading “Ask Hackaday: What About Imperfect Features?”

Bell Labs Is Leaving The Building

If you ever had the occasion to visit Bell Labs at Murray Hill, New Jersey, or any of the nearby satellite sites, but you didn’t work there, you were probably envious. For one thing, some of the most brilliant people in the world worked there. Plus, there is the weight of history — Bell Labs had a hand in ten Nobel prizes, five Turing awards, 22 IEEE Medals of Honor, and over 20,000 patents, including several that have literally changed the world. They developed, among other things, the transistor, Unix, and a host of other high-tech inventions. Of course, Bell Labs hasn’t been Bell for a while — Nokia now owns it. And Nokia has plans to move the headquarters lab from its historic Murray Hill campus to nearby New Brunswick. (That’s New Jersey, not Canada.)

If your friends aren’t impressed by Nobels, it is worth mentioning the lab has also won five Emmy awards, a Grammy, and an Academy award. Not bad for a bunch of engineers and scientists. Nokia bought Alcatel-Lucent, who had wound up with Bell Labs after the phone company was split up and AT&T spun off Lucent.

Continue reading “Bell Labs Is Leaving The Building”

Hardware Should Lead Software, Right?

Once upon a time, about twenty years ago, there was a Linux-based router, the Linksys WRT54G. Back then, the number of useful devices running embedded Linux was rather small, and this was a standout. Back then, getting a hacker device that wasn’t a full-fledged computer onto a WiFi network was also fairly difficult. This one, relatively inexpensive WiFi router got you both in one box, so it was no surprise that we saw rovers with WRT54Gs as their brains, among other projects.

Long Live the WRT54G

Of course, some people just wanted a better router, and thus the OpenWRT project was born as a minimal Linux system that let you do fancy stuff with the stock router. Years passed, and OpenWRT was ported to newer routers, and features were added. Software grew, and as far as we know, current versions won’t even run on the minuscule RAM of the original hardware that gave it it’s name.

Enter the ironic proposal that OpenWRT – the free software group that developed their code on a long-gone purple box – is developing their own hardware. Normally, we think of the development flow going the other way, right? But there’s a certain logic here as well. The software stack is now tried-and-true. They’ve got brand recognition, at least within the Hackaday universe. And in comparison, developing some known-good hardware to work with it is relatively easy.

We’re hardware hobbyists, and for us it’s often the case that the software is the hard part. It’s also the part that can make or break the user experience, so getting it right is crucial. On our hacker scale, we often choose a microcontroller to work with a codebase or tools that we want to use, because it’s easier to move some wires around on a PCB than it is to re-jigger a software house of cards. So maybe OpenWRT’s router proposal isn’t backwards after all? How many other examples of hardware designed to fit into existing software ecosystems can you think of?

USB-C PD: New Technology Done Right

There is a tendency as we get older, to retreat into an instinctive suspicion of anything new or associated with young people. All of us will know older people who have fallen down this rabbit hole, and certainly anything to do with technological advancement is often high on their list of ills which beset society. There’s a Douglas Adams passage which sums it up nicely:

“I’ve come up with a set of rules that describe our reactions to technologies:
1. Anything that is in the world when you’re born is normal and ordinary and is just a natural part of the way the world works.
2. Anything that’s invented between when you’re fifteen and thirty-five is new and exciting and revolutionary and you can probably get a career in it.
3. Anything invented after you’re thirty-five is against the natural order of things.”

Here at Hackaday we’re just like anybody else, in that we all get older. Our lives are devoted to an insatiable appetite for new technology, but are we susceptible to the same trap, and could we see something as against the antural order of things simply because we don’t like it? It’s something that has been on my mind in some way since I wrote a piece back in 2020 railing at the ridiculous overuse of new technologies to limit the lifespan and repairability of new cars and then a manifesto for how the industry might fix it, am I railing against it simply because I can’t fix it with a screwdriver in the way I could my 1960 Triumph Herald? I don’t think so, and to demonstrate why I’d like to talk about another piece of complex new technology that has got everything right.

In 2017 I lamented the lack of a universal low voltage DC power socket that was useful, but reading the piece here in 2024 it’s very obvious that in the years since my quest has been solved. USB Power Delivery was a standard back then, but hadn’t made the jump to the ubiquity the USB-C-based power plug and socket enjoys today. Most laptops still had proprietary barrel jack connectors, and there were still plenty of phones with micro-USB sockets. In the years since it’s become the go-to power standard, and there are a huge number of modules and devices to supply and receive it at pretty high power.

At first sight though, it might seem as though USB-PD is simply putting a piece of unnecessary technology in the way of what should be a simple DC connector. Each and every USB-PD connection requires some kind of chip to manage it, to negotiate the connection, and to transform voltage. Isn’t that the same as the cars, using extra technology merely for the sake of complexity? On the face of it you might think so, but the beauty lies in it being a universally accepted standard. If car manufacturers needed the same functionalty you’d have modules doing similar things in a Toyota, a Ford, or a Renault, but they would all be proprietary and they’d be eye-wateringly expensive to replace. Meanwhile USB-PD modules have to work with each other, so they have become a universal component available for not a huge cost. I have several bags of assorted modules in a box of parts here, and no doubt you do too. The significant complexity of the USB-PD endpoint doesn’t matter any more, because should it break then replacing it is an easy and cheap process.

This is not to say that USB-PD is without its problems though, the plethora of different cable standards is its Achilies’ heel. But if you’re every accused of a knee-jerk reaction to a bad piece of new technology simply because it’s new, point them to it as perhaps the perfect example of the responsible use of new technology.

It’s The Simple Things

I love minimal hacks. Limitations are sometimes the spark for our greatest creativity, and seeing someone do something truly marvelous with the simplest of technological ingredients never fails to put a smile on my face.

This week, it was the super-simple 1D Fireworks project by [Daniel Westhof]. Nothing more than an ESP8266 and a long RGB LED strip went into this effect on the hardware side, and indeed the code isn’t all that tricky either. But what it does is a very nice simulation of the physics that define the movement of a flare rocket and then all of the stars that explode out of it. And that makes it look so good.

Hackaday’s [Kristina Panos] is apparently also a fan of the single dimension, because she picked out some of my personal favorite uses of an LED strip, including Twang, to which we’ll admit we’re addicted, or any of the PONG versions.

But I’ve seen other games, including a button-mashing racer and various roller-coaster simulations. All with the same, essentially, two-part BOM. (OK, if you don’t count the buttons/accelerometer, or power supply.) Or this demo of sorting routines, or the Velocicoaster. And I think there’s more out there.

How much creativity can you pack into an LED strip? This sounds like we need to make a new contest…

New Year’s Resolutions

As we stand here looking at the brand-new year ahead, we find ourselves taking stock, and maybe thinking how we can all be better people in the next year. More exercise, being nicer to your neighbors, consuming more or less of this or that, depending on whether it’s healthy or un. Those are the standard fare. But what’s your hacker new year’s resolution?

Mine, this year, is to branch out into a new microcontroller family, to learn a new toolchain, and maybe to finally dip my toes into Bluetooth Low Energy. Although that last one is admittedly a stretch.

But the former is great resolution material, if you allow me. New programming tooling is always a little unpleasant to set up, but there’s also payoff at the end of the ordeal. It’s a lot like picking up a new exercise – it makes you stronger. Or course, it helps to have an application in mind, the equivalent of that suit you want to be able to fit into at the end of the diet. I’ve got one. I’ve also been out of programming in straight C for a year or so, and I’m faced with a new HAL, so there’s bound to be enough of a challenge to make it worthwhile.

Honestly, I’m looking forward to getting started, but with the usual mix of optimism, over-optimism, and mild dread. It’s the perfect setup for a resolution! What’s yours?

(And yes, the art is from another story, but setting up a good backup regime isn’t a bad resolution either.)