Dream Bigger, Predict The Future

I’d love to tell you that I’m never wrong, but I’ve been wrong a lot. Remember the Arduino? When it was brand new, I thought it was some silly collection of libraries and a drop-down menu for people who are too lazy to just type out their own #include statements. Needless to say, it launched about a million hacks and brought microcontroller programming into the mainstream. Oops.

Similarly, about fifteen years ago, I saw an educational project out of MIT’s Media Lab. It consisted of a bunch of blocks that had LCD screens on them and would interact with each other when put together. The real hook, though, was that each block had an accelerometer inside, so you could “pour water” out of one block into another, for instance.

At that time, accelerometers were expensive, even in quantities. Even one of these cubes must have cost $100 at the time, much less a whole set. Accelerometers were so expensive that I wouldn’t have thought about incorporating one into a project, much less a dozen, so I ignored them for hacker purposes. Then came the cellphone and economies of scale. Today, even in chip shortage times, they’re readily available for around $2 each, making them useful for exactly this kind of “frivolous” use.

From the Arduino experience, I learned to never underestimate the impact of what seem to me to be “small” conveniences. (And maybe more so, the value of the tremendous common effort from the community.) From the MIT accelerometer story, the moral is that some parts will get drastically cheaper in the future, so you shouldn’t necessarily exclude the cool new sensor from your design repertoire. After all, ten years ago, nobody would have thought that we’d have laser time-of-flight rangefinders for less than a hamburger.

What new components are fantastically useful, or full of potential, that might be cheap enough in the future to make them also worth looking into? Swing by Hackaday tomorrow morning and join in the conversation!

In Search Of The First Comment

Are you writing your code for humans or computers? I wasn’t there, but my guess is that at the dawn of computing, people thought that they were writing for the machines. After all, they were writing in machine language, and whatever bits they flipped into the electronic brain stayed in the electronic brain, unless punched out on paper tape. And the commands made the machine do things, not other people. Code was written strictly for computers.

Modern programming practice, on the other hand, is aimed firmly at people. Variable and function names are chosen to be long and to describe what they contain or do. “Readability” of code is a prized attribute. Indeed, sometimes the fact that it does the right thing at all almost seems to be an afterthought. (I kid!)

Somewhere along this path, there was an important evolutionary step, like the first fish using its flippers to walk on land. Comments were integrated into programming languages, formalizing the notes that coders of old surely wrote by hand in the margins of the paper first-drafts before keying it in. So I went looking for the missing link: the first computer language, and ideally the first program, with comments. I came up empty handed.

Or rather full handed. Every computer language that I could find had comments from the beginning. FORTRAN had comments, marked by a “C” as the first character in a line. APL had comments, marked by the bizarro rune ⍝. Even the custom language written for the Apollo 11 guidance computers had comments — the now-commonplace “#”. I couldn’t find an early programming language without comments.

My guess is that the first language with a comment must have been an assembly language, because I don’t know of any machines with a native comment instruction. (How cool and frivolous would that be?)

Assemblers simply translate mnemonic names to their machine instruction counterparts, but this gives them the important freedom to ignore anything starting with, traditionally, a semicolon. Even though you’re just transferring the contents of register X to the memory location pointed to in register Y, you can write that you’re “storing the height above ground (meters)” in the comments.

The crucial evolutionary step, though, is saving the comments along with the code. Simply ignoring everything that comes after the semicolon and throwing it away doesn’t count. Does anyone know? What was the first code to include comments as part of the code itself, and not simply as marginalia?

Where You Are Influences What You Invent

[Timon] just bought a new PCB holder setup for his desk. It’s one of those spring-loaded jobbies that uses strong magnets to hold it up off of a work surface, and is made of metal so that you can reflow solder with it. It might be a clone of the PCBite, but frankly I’ve seen similar projects everywhere — it’s hard to say who is copying whom these days. And anyway, that’s not the point.

What struck me about the holders was their tops: they’re repurposed 3D printer nozzles. That’s a fantastic idea because they’re non-magnetic, heat tolerant, relatively uniform, and probably dirt cheap in Shenzhen, where the designer of this board almost certainly lives. Maybe he or she even works in a 3D printer factory? Who knows? But the designer almost certainly looked around for something that would fit the bill, and found the nozzles.

Indeed, there’s been a lot of innovation in all things board-holding coming out of China over the last decade. I can remember when the state of the art was a vise-like affair. (I still like my homebrew Stickvise clone for low, square jobs.)

But with cell phone repairs requiring the ability to hold and reflow ever stranger board shapes, there’s been a flourishing of repositionable holders. The pawn-pillar designs are cool, but their utility rests firmly in how strong the magnets are. (I wouldn’t buy the one linked, for instance, without trying it first-hand.) I really like the look of these jobbies, which have springs to maintain tension. (Will the 3D-printed plastic jaws hold up to multiple reflows?) Anyway, it’s no coincidence that the inventors of these devices are in the cellphone-repair capital of the universe.

The old saying is that necessity is the mother of invention. But what if, like with real estate, it’s location, location, location? You dream up solutions to problems around you, using parts that you’ve got on-hand. If that sounds a little fatalistic, consider that you can also change your surroundings, either physical or even virtual. Are you in the middle of the right challenges and opportunities?

Hackers And China

The open source world and Chinese manufacturing have a long relationship. Some fifteen years ago, the big topic was how companies could open-source their hardware designs and not get driven bankrupt by competition from overseas. Companies like Sparkfun, Adafruit, Arduino, Maple Labs, Pololu, and many more demonstrated that this wasn’t impossible after all.

Maybe ten years ago, Chinese firms started picking up interesting hacker projects and producing them. This gave us hits like the AVR transistor tester and the NanoVNA. In the last few years, we’ve seen open-source hardware and software projects that have deliberately targeted Chinese manufacturers, and won. We do the design and coding, they do the manufacturing, sales, and distribution.

But this is something else: the Bangle.js watch takes an essentially mediocre Chinese smartwatch and reflashes the firmware, and sells them as open-source smartwatches to the general public. These pre-hacked watches are being sold on Kickstarter, and although the works stands on the shoulders of previous hacker’s reverse engineering work on the non-open watch hardware, it’s being sold by the prime mover behind the Espruino JavaScript-on-embedded language, which it runs on.

We have a cheap commodity smartwatch, being sold with frankly mediocre firmware, taken over by hackers, re-flashed, re-branded, and sold by the hackers on Kickstarter. As a result of it being (forcibly) opened, there’s a decently sized app store of contributed open-source applications that’ll run on the platform, making it significantly more useful and hacker friendly than it was before.

Will this boost sales? Will China notice the hackers’ work? Will this, and similar projects, end up in yet another new hacker/China relationship? We’re watching.

Meet The Winners Of The Hackaday Prize Round Four: Redefine Robots

The judges’ ballots are in and we’re proud to present the ten winners of the fourth round of the 2021 Hackaday Prize. We love robots, and it’s obvious that you do too!  The number and range of projects submitted this year were overwhelming.

No robotics round is complete without a robot arm, and while a few of them were in the finals, we especially liked CM6, which really pulled out all the stops. This is research-grade robotics on a not-quite-student budget, featuring custom compliant mechanisms so that it can play well with its fleshy companions.

With six degrees of freedom, and six motors, the drivetrain budget can quickly get out of hand on builds like these, so we’re especially happy to see custom, open, brushless-motor driver boards used to reduce the cost of admission. Even if you’re not going to make a 100% faithful CM6 clone, you’ll learn a lot just from going through the build. Oh, and did we mention it has a software stack? Continue reading “Meet The Winners Of The Hackaday Prize Round Four: Redefine Robots”

Get Yer Halloween On!

Halloween is basically built for the hacker. Besides the obvious fabrication of absurd costumes, there’s also the chance to showcase your skills, be they mechanical, audio, or video. It’s also a great time to show off our coolest tricks to inspire the young proto-hackers. If you need inspiration, we’ve got 150 ideas.

[Brankly]’s Candy Dispenser
My personal problem with Halloween, though, is that I always start at the last minute, and my ideas far outreach my time budget. Or because it’s all done in the last minute, a whole bunch of ideas that should “just work” in theory run into the immovable object that is practice. At least that’s what happened with last year’s spooky sound effects — my son and I spent so much time collecting and recording scary audio samples that I ran out of time while still getting the sensitivity on the motion detector set just right, and then the battery died halfway through the night.

But this year will be different, I swear! I’m going to get it done early and test it out, with the luxury of time to debug the inevitable spiders. And you can swear too. Get started now on your Halloween project. Or at least next weekend.

What’s your favorite Halloween Hack?


If you need any more encouragement to fire up your black and orange hacking machine, think of Hackaday.io’s Halloween Hackfest. It runs until Oct 28, and all you have to do to enter is document your Halloween project on IO and press the “Submit” button. The deadline is the 28th, which still gives you a couple of nights to debug whatever didn’t work before the real deal. Prizes are shopping sprees at Digi-Key, and Adafruit is doubling the gift certificate if you use any Adafruit parts in the build.

If you don’t give a pumpkin about stupid ol’ Halloween, that’s cool too. (Grinch!) The 2021 Hackaday Prize has entered the final wildcard round. If your project didn’t fit in any of the previous categories, I’m pretty sure it’ll fit just fine in the anything-goes phase. Go nuts. We’d love to see what you’re working on.

Embrace The New, But Don’t Forget The Old

We were trading stories of our first self-made PCBs in the secret underground Hackaday bunker, and a couple of the boards looked really good for first efforts. Of course there were mistakes and sub-optimal routing, but who among us never connects up the wrong signals or uses a bad footprint? What lead me to have a hacker “kids these days have it so easy” moment was that all of the boards were, of course, professionally fabbed with nice silkscreens. They all looked great.

What a glorious time to be starting down the hardware path! When I made my first PCB, the options were basically laying down tape, pulling out the etch resist pen, or paying a bazillion inflation-adjusted dollars for a rapid prototype board. This meant that the aspiring hacker also had to have a steady hand and be at least casually acquainted with a little chemistry. The ability to just send your files out to a PCB house means that the barrier to stepping up your hardware game from plug-them-together modules is lower than it’s ever been.

But if scratching or etching your own PCB out of copper plate is very hands-on, very DIY, and very low-tech, it’s also very fast in comparison to even the most rushed service. Last weekend, I needed a breakout board for some eight-pin SOIC H-bridge chips for a turtle robot project with my son. Everything was hand-soldered and hot-glued in a Saturday afternoon and evening, so there was no time for a PCB order. A perfect opportunity for the Old Ways™.

We broke out a Sharpie, traced out where the SOIC pins would land, connected up the grounds, brought the signals out to friendly pads, and then covered the rest of the board in islands of copper just in case we’d need any prototyping space later. Of course, some of the ink lines touched each other where they shouldn’t, but before the copper meets the etchant it’s easy enough to scrape the spaces clear with a pin. The results? My boards look like they were chiseled out by a caveman, but they worked. And more importantly, we got it done within the attention span of a second grader without firing up a computer.

So revel in your cheap offshore PCB factories, hackers of today! It’s a miracle that even four-layer boards come back within a week without breaking the bank. But I encourage you all to try it out by hand as well. For large enough packages and one-offs, full DIY absolutely has the speed advantage, but there’s also a certain wabi sabi to the hand-drawn board. Like brush strokes in residual copper.