What do you do whilst your code’s compiling? Pull up Hackaday? Check Elon Musk’s net worth? Research the price of a faster PC? Or do you wonder what’s taking so long, and decide to switch out your build system?

Clamber aboard for some musings on Makefiles, monopolies, and the magic of Ninja. I want to hear what you use to build your software. Should we still be using make in 2021? Jump into the fray in the comments.

## What is a Build Tool Anyway?

Let’s say you’ve written your C++ program, compiled it with g++ or clang++ or your compiler flavor of the week, and reveled in the magic of software. Life is good. Once you’ve built out your program a bit more, adding code from other files and libraries, these g++ commands are starting to get a bit long, as you’re having to link together a lot of different stuff. Also, you’re having to recompile every file every time, even though you might only have made a small change to one of them.

People realised fairly early on that this sucked, and that we can do better. They started to make automated software that could track compilation dependencies, track which bits of code were tweaked since the last build, and combine this knowledge to automatically optimise what gets compiled – ensuring your computer does the minimum amount of work possible.

## Enter: GNU Make

Yet another product of the famous Bell Labs, make was written by [Stuart Feldman] in response to the frustration of a co-worker who wasted a morning debugging an executable that was accidentally not being updated with changes. Make solves the problems I mentioned above – it tracks dependencies between sources and outputs, and runs complex compilation commands for you. For numerous decades, make has remained utterly ubiquitous, and for good reason: Makefiles are incredibly versatile and can be used for everything from web development to low level embedded systems. In fact, we’ve already written in detail about how to use make for development on AVR or ARM micros. Make isn’t limited to code either, you can use it to track dependencies and changes for any files – automated image/audio processing pipelines anyone?

But, well, it turns out writing Makefiles isn’t actually fun. You’re not adding features to your project, you’re just coercing your computer into running code that’s already written. Many people (the author included) try to spend as little of their life on this planet as possible with a Makefile open in their editor, often preferring to “borrow” other’s working templates and be done with it.

The problem is, once projects get bigger, Makefiles grow too. For a while we got along with this – after all, writing a super complex Makefile that no-one else understands does make you feel powerful and smart. But eventually, people came up with an idea: what if we could have some software generate Makefiles for us?

## CMake, Meson, Autotools et al

Yes, there are a sizeable number of projects concerned only with generating config files purely to be fed into other software. Sounds dumb right? But when you remember that people have different computers, it actually makes a lot of sense. Tools like CMake allow you to write one high-level project description, then will automatically generate config files for whatever build platforms you want to use down the line – such as Makefiles or Visual Studio solutions. For this reason, a very large number of open source projects use CMake or similar tools, since you can slot in a build system of your choice for the last step – everyone’s happy.

Except, it’s really quite hard to tell if everyone is happy or not. As we know, when people selflessly spend time writing and maintaining good quality open source software, others are very kind to them online, do not complain, and do not write passive-aggressive blog posts about 27 reasons why they’re never using it again. Just kidding!

What I’m getting at here is that it’s hard to judge popular opinion on software that’s ubiquitous, because regardless of quality, beyond a critical mass there will always be pitchfork mobs and alternatives. Make first appeared in 1976, and still captures the lion’s share of many projects today. The ultimate question: is it still around because it’s good software, or just because of inertia?

Either way, today its biggest competitor – a drop-in replacement – is Ninja.

## Ninja

Ninja was created by [Evan Martin] at Google, when he was working on Chrome. It’s now also used to build Android, and by most developers working on LLVM. Ninja aims to be faster than make at incremental builds: re-compiling after changing only a small part of the codebase. As Evan wrote, reducing iteration time by only a few seconds can make a huge difference to not only the efficiency of the programmer, but also their mood. The initial motivation for the project was that re-building Chrome when all targets were already up to date (a no-op build) took around ten seconds. Using Ninja, it takes under a second.

Ninja makes extensive use of parallelization, and aims to be light and fast. But so does every other build tool that’s ever cropped up – why is Ninja any different? According to Evan, it’s because it didn’t succumb to the temptation of writing a new build tool that did everything — for example replacing both CMake and Make — but instead replaces only Make.

This means that it’s designed to have its input files generated by a higher-level build system (not manually written), so integrates easily with the backend of CMake and others.

In fact, whilst it’s possible to handwrite your own .ninja files, it’s advised against. Ninja’s own documentation states that “In contrast [to Make], Ninja has almost no features; just those necessary to get builds correct. […] Ninja by itself is unlikely to be useful for most projects.”

Above you can see the differences in incremental build times in a medium-sized project. The two Ninja-based systems are clear winners. Note that for building the entire codebase from scratch, Ninja will not be any faster than other tools – there are no shortcuts to crunching 1s and 0s.

In his reflections on the success and failure of Ninja, Evan writes that:

“The irony of this aspect of Ninja’s design is that there is nothing preventing anyone else from doing this. Xcode or Visual Studio’s build systems (for example) could just as well do the same thing: do a bunch of work up front, then snapshot the result for quick reexecution. I think the reason so few succeed at this is that it’s just too tempting to mix the layers.”

It’s undeniable that this approach has been successful, with more and more projects using Ninja over time. Put simply, if you’re already using CMake, I can’t see many reasons why you wouldn’t use Ninja instead of make in 2021. But I want to know what you think.

## Over to you

It’s impossible to write about all the build tools around today. So I want to hear from you. Have you switched from make to Ninja? Do you swear by Autotools, Buck or something else? Will make ever go away? Will there ever be a tool that can eclipse them all? Let me know below.

# Drone Boat Sails Seattle

Thanks to the availability of cheap, powerful autopilot modules, building small autonomous vehicles is now well within the reach of the average maker. [rctestflight] has long been an enthusiast working in this space, and has been attempting long range autonomous missions on the lakes of Washington for some time now. His latest attempt proved to be a great success. (Video, embedded below.)

The build follows on from earlier attempts to do a 13 km mission with an airboat, itself chosen to avoid problems in early testing with seaweed becoming wrapped around propellers. For this attempt, [Daniel] chose to build a custom boat hull out of fiberglass, and combine both underwater propellers and a fan as well. The aim was to provide plenty of thrust, while also aiming for redundancy. As a bonus, the fan swivels with the boat’s rudder, helping provide greater turn authority.

After much tuning of the ArduPilot control system, the aptly-named SS Banana Slug was ready for its long range mission. Despite some early concerns about low battery voltages due to the cold, the boat completed its long 13 km haul across the lake for a total mission length of over three hours. Later efficiency calculations suggests that the boat’s onboard batteries could potentially handle missions over 100 km before running out.

It goes to show that, even with an off-the-shelf autopilot and mapping solution, there’s still a huge amount of engineering that goes into any successful long-range mission, whether land, sea or air.

# Playing Youtube Videos At Incredibly Low Resolution on LEDs

Since the high-definition era, screens with many millions of pixels have become commonplace. Resolutions have soared into the stratosphere, and media has never looked clearer or crisper. However, [gatoninja236] decided to go the other way with this build – an LED matrix capable of playing Youtube videos.

The execution is simple. A Raspberry Pi 3, with the help of a Python script, downloads a Youtube video. It then runs this through OpenCV, which parses the video frames, downconverting them to suit a 64×64 pixel display. Then, it’s a simple matter of clocking out the data to the 64×64 RGB LED matrix attached to the Raspberry Pi’s IO pins, where the video is displayed in all its low-resolution glory.

Is it a particularly useful project? No. That doesn’t mean it’s not without value however; it teaches useful skills in both working with LED displays and video data scraped from the Internet. If you simply must have more pixels, though, this ping pong video wall might be more to your liking. Video after the break.

# Cyberdeck Running On Apple Silicon, Though An A12 Not An M1

[Alta’s Projects] built a two-in-one cyberdeck that not only contains the requisite Raspberry Pi (a zero in this case) but also eschews a dumb LCD and uses an iPad mini 5 for a display.

We need to address the donor case right away. Some likely see this as heresy, and while we love to see vintage equipment lovingly restored, upcycling warms our hearts and keeps mass-produced plastic out of landfills too. The 1991 AST 386SX/20 notebook in question went for $45 on an online auction and likely was never destined for a computer museum. Why is Cupertino’s iOS anywhere near a cyberdeck? If a touch screen is better than an LCD panel, a tablet with a full OS behind it must be even better. You might even see this as the natural outgrowth of tablet cases first gaining keyboards and then trackpads. We weren’t aware that it either was possible without jailbreaking, but [Alta’s Projects] simply used a lighting-to-USB dongle and a mini USB hub to connect the custom split keyboard to the iPad and splurged on an Apple Magic Trackpad for seamless and wireless multi-touch input. The video build (after the break) is light on details, but a quick fun watch with a parts list in the description. It has a charming casual feel that mirrors the refreshingly improvisational approach that [Altair’s Projects] takes to the build. We appreciate the nod to this cyberdeck from [Tinfoil_Haberdashery] who’s split keyboard and offset display immediately sprang to mind for us too. The references to an imagined “dystopian future” excuse the rough finish of some of the Dremel cuts and epoxy assembly. That said, apocalypse or not, the magnets mounted at both ends of the linear slide certainly are a nice touch. That could be a complete project, but [Alta’s Projects] added a Pi with access to I/O ports for future hardware hacks. VNC provides a simple way for the iPad to share the keyboard, trackpad, and display with the Pi when that is powered up. The Pi also provides an opportunity to have an auxiliary eInk display, able to show system information or graphics even when the system is powered down. The other display is a 7-segment style battery charge indicator that counts down from 100%, useful when working untethered as neither the Pi nor the iPad could report the status of the nine 18650 cells. We like that this cyberdeck is easily upgradable with a newer tablet and given that the iPad is connected with a quick release magnetic mount, it can easily be removed for other uses. And, speaking of upcycling, when this iPad dies we fully expect the display to find a new life too. # Supersized Weather Station Uses Antique Analog Meters For most of us, getting weather information is as trivial as unlocking a smartphone or turning on a computer and pointing an app or browser at one’s weather site of choice. This is all well and good, but it lacks a certain panache that old weather stations had with their analog dials and stained wood cases. The weather station that [BuildComics] created marries both this antique aesthetic with modern weather data availability, and then dials it up a notch for this enormous analog weather station build. The weather station uses 16 discrete dials, each modified with a different label for the specific type of data displayed. Some of them needed new glass, and others also needed coils to be modified to be driven with a lower current than they were designed as well, since each would be driven by one of two Arduinos in this project. Each are tied to a microcontroller output via a potentiometer which controls the needle’s position for the wildly different designs of meter. The microcontrollers themselves get weather information via the internet, which allows for about as up-to-date information about the weather as one could gather first-hand. The amount of customization of these old meters is impressive, and what’s even more impressive is the project’s final weight. [BuildComics] reports that it took two people just to lift it onto the wall mount, which is not surprising given the amount of iron in some of these old analog meters. And, although not as common in the real world anymore, these old antique meters have plenty of repurposed uses beyond weather stations as well. # 3D Printed Lenticular Lens Makes 3D Display [Bitluni] has been experimenting with resin printing lenses — in particular, lenticular lenses. You’ve probably seen lenticular lenses before in 3D greeting cards or children’s books. By presenting a slightly different image at different angles, your eyes perceive stereo vision giving the illusion of depth. You can see his results in the video below. Honestly, even if you don’t want to make a display like this yourself, the demonstration of how a lenticular lens works using a laser is worth watching. Sure, you know in theory what’s going on, but seeing it visually exposed is great. The display isn’t going to replace special effects in the next science fiction movie, but it is still pretty cool. A grid of 138 lenses and some software give a fairly credible 3D effect, at least as far as we can tell watching it on 2D YouTube and listening to his excitement upon trying it. The final product fits in a cover that fits over a smartphone which drives the display. We were interested in the use of straight-up resin to make the back surface flat, which is an interesting trick. Last time we looked at lenticular lenses, it was to make things invisible. We’ve also covered how they can make sort of holograms. # Our Curious Relationship With Caffeine If you were to paint a few stereotypes surrounding our community, where would you start? Maybe in apparel habits: the t-shirt from a tech conference, or the ubiquitous hoodie. Or how about leisure pursuits: gaming, or even D&D? There’s one thing I can think of that unites most of us, we have a curious affinity for caffeine. Is it a propensity for working into the dark of the night that’s responsible, or perhaps those of us with ADHD find the alertness helpful, but whatever it is we like our coffee and energy drinks. Rare is the hackerspace without a coffee machine and a fridge full of energy drinks, and I have lost count of the times I have been derided by the coffee cognoscenti among my peers for my being satisfied with a mug of mere instant. Deprived of my usual socialisation over the festive period by the pandemic, and contemplating my last bottle of Club-Mate as I drank it, I took a while to ponder on our relationship with this chemical. Caffeine can be found as a constituent of a variety of plants native to tropical and sub-tropical regions of the Americas, Africa, and Asia, in which it evolved as a chemical defence against pests. We were evidently not considered through their evolution to be pests as some insects or other plants are, because for us it’s a psychoactive stimulant in anything but extreme doses. Thus our ancestors who were first to chew a coffee bean, a kola nut, or a yerba maté leaf set our species off on a love affair with it that will probably last for millennia. ## What Does Caffeine Do To Us? In chemistry terms it’s a methylated xanthine, at its centre a figure-of-eight composed of both a six membered and a five membered ring joined together, each with two nitrogen atoms in their structure.. The exposed carbon atoms on the six membered ring each form a ketone group with an oxygen atom, and two of the nitrogen atoms on the six membered ring and one on the five membered ring each have a methyl group attached. Caffiene’s similarity to the structure of adensosine — a substance that relaxes blood vessels — makes it bind to the adensosine receptors in our brains. Where adenosine is involved in inhibiting the brain’s activity as part of tiredness, the caffeine has the effect of causing alertness. Reading research papers on its effect on the brain (Paywalled paper) makes it appear as though this is just one of a scatter-gun of chemical effects, boosting dopamine production and also increasing electrical activity in the brain. We feel up to anything on caffeine not only because we are more alert, but also because our brains have become more capable while under its influence. In my case I’m aware that my affinity for caffeine has in part the function of self-medicating ADHD. I have the characteristic extreme difficulty in concentration that can play havoc with my ability to get my work done, and having a significant quantity of caffeine in the morning transforms my productivity. It’s likely more than a few readers will share this, it seems the condition gives us a naturally low dopamine level to which the caffeine provides a boost. Were I to ask my doctor I could access a range of stronger medications including members of the amphetamine family of compounds, but for now a few cups of coffee or a Club-Mate when I can get it does the trick. ## A Cup A Day, Or Is That Too Much? As someone who in effect medicates using caffeine I thus have an acute sense of the relative strengths of different concoctions containing it. I know that a cup of instant coffee is less potent than one of brewed coffee, and which energy drinks do more than others. But how much caffeine do they really contain, and how much caffeine is too much caffeine? The last question is easy enough to answer, though it varies from person to person. Over a gram of the stuff is likely to make you feel pretty sick, and ten times that figure is likely to kill you. But few of us will carefully weigh out pure caffeine powder, so it’s better to start at the other end of the scale. There is no standard cup of coffee, but my cup of instant is likely to give me around 50 mg of caffeine and I can expect about twice that from an equivalent cup of a typical brewed coffee. Meanwhile a can of Coca-cola has 34 mg, while its caffeine-enhanced cousins have about 80mg per can, as does the slightly smaller can size of the UK version of Red Bull. Our favourite Club-Mate isn’t quite as strongly caffeinated as other energy drinks at 20mg per 100ml, but its larger 500ml bottle contains 100mg of caffeine. So to do myself harm I would have to drink ten Club-Mates or drink ten cups of strong brewed coffee, but the reality is that even at the most laser-tinged evening at a hacker camp or the trendiest coffee bar I’m not going to manage that. It’s a surprise that a cup of a strong blend of brewed coffee will contain more caffeine than the energy drinks, but evidently it was a triumph of marketing that I believed otherwise. My three, maybe four instant coffees a day barely tip the scales at under 200mg, making me a relative lightweight in the caffeine stakes rather than the serial abuser I worried I might have become. In my investigation of my culture’s most socially acceptable psychoactive addictive chemical I’ve discovered a few things I didn’t know about it, and taken a critical look at how I use it. That I’m addicted to it and that ADHD means I probably couldn’t do my job without it is beyond doubt, but like many in our community I think the benefits outweigh any other concerns. Now my biggest annoyance is that I can no longer stock up on imported energy drinks at my hackerspace due to the pandemic. Coffee bean header image: MarkSweep, Public domain. # High-Altitude Balloon Tracker Does Landing Prediction with Pi Pico [Dave Akerman]’s ongoing high altitude balloon (HAB) work is outstanding, and we’re all enriched by the fact that he documents his work like he does. Recently, [Dave] wrote about his balloon tracker based on the Raspberry Pi Pico, whose capabilities brought a couple interesting features to the table. In a way, HAB trackers have a fairly simple job: read sensors such as GPS and constantly relay that data to someone on the ground so that the balloon’s location can be tracked, and the hardware recovered when it ultimately returns to Earth. There are a lot of different ways to do this tracking, and one thing [Dave] enjoys is getting his hands on a new board and making a HAB tracker out of it. That’s exactly what he has done with the Raspberry Pi Pico. Nothing builds familiarity like actually using a part, and the Pico had some useful things to contribute to a HAB tracker application. For one thing, the Pico has an onboard buck-boost converter that allows it to be powered from a relatively wide voltage range (~1.8 V to 5.5 V), so running it directly from batteries is both possible and desirable from a tracker perspective. But a really useful feature was possible thanks to the large amount of memory on the Pico: dynamic landing prediction. [Dave] does landing prediction prior to launch based on environmental conditions, but it’s always better if the HAB tracker can also calculate its own prediction based on actual observed events and conditions. A typical microcontroller board like an Arduino doesn’t have enough memory to store the required data upon which to do such calculations, but the Pico does so easily. [Dave]’s new board transmits an updated landing site prediction along with all the rest of the telemetry, making the retrieval process much more reliable. Want to see a completely different approach to HAB recovery? Check out a payload guided by steerable parachutes. # Put More Scoot in Yer Scooter We have a scooter hack that is odd for a couple of reasons. First, the vehicle in question is a Doc Green EWA 6000, a German clone of a Xiaomi M365, so Country stereotypes be darned. Second, it is about increasing the performance, and when we think of scooters, we get hung up on scoot. The link between these peculiarities is the speed limiter Germany requires on all scooters, which the Chinese model lacks. Despite the law, [Nikolaj] wanted a higher top speed and Bluetooth connectivity. Wireless unlocks advanced features, like cruise control, which are absent in the stock model. The mainboard is responsible for speed control, but that is merely a component, and you can find third-party replacements. [Nikolaj] found a new part with a German forum member’s help, then recorded his work in English for our sake. The speed boost is nice, but the Bluetooth functionality is a massive improvement by itself. If you live in an area where the law doesn’t allow this sort of thing, think before you upgrade. Aftermarket parts aren’t always drop-in replacements, and in this case, the controller and display needed some finessing to fit, so measure twice and buy once. If tearing into a brand new scooter isn’t for you, consider breathing new life into a retiree, and don’t forget that stopping is the other half of the battle. # Laser Focus Made Easier with IR Filter If you’ve used a diode laser engraver or cutter, you know that focus is critical. You’d think it would be relatively simple to get a sharp focus, but it isn’t that simple. [Makers Mashup] shows in a video how to use an adjustable IR filter to cut out all the light bleed to get a sharp image to make focusing simpler. The filter he shows adjusts from 530nm to 750nm and is made to screw into a 72mm lens, but it works fine with your eyeballs, too. [Makers Mashup] says he’ll eventually make a stand for it so he can look through it with both hands free. The laser isn’t a point source and the focus isn’t a sharp dot. Even so, observing the laser at low power shows a bright spot encircled by slightly less bright spots. It can be difficult to figure out the exact smallest point. We’ve noticed before that using a black target helps and one pair of laser goggles we have cuts out the fringe better than the other pair, so it isn’t surprising that a properly tuned filter would make things easier. A laser that isn’t focused well won’t engrave with maximum resolution and will lose power when cutting. This topic comes up every once in a while. We’ve even seen the focus done, not optically, but with springs. # DIY Furnace Smelts Magnetite Sand Into an Impressive Chef’s Knife Some people order their raw materials from a factory, missing out on 99% of the fun… or suffering, we’re not sure which. To make that call, you need to look in on the process [IllyriaD] used to collect magnetite sand and turn it into a wicked-looking chef’s knife. This began by collecting 150 pounds (!) of magnetic dirt from dry lake beds while hiking using a magnet pickup tool with release lever that he got from Harbor Freight. Several repeated magnetic refining passes separated the black ore from non-metallic sands ready for the furnace that he built by [IllyriaD]. That is used to fire up the raw materials using 150 pounds of charcoal, changing the chemical composition by adding carbon and resulting in a gnarly lump of iron known as a bloom. From there it’s just a matter of beating the iron bloom into submission over at the anvil. [IllyriaD] Details the process of flattening it out to a bar shape, then folding it over. Seven total folds are made for 128 layers, and in the gallery there’s a fantastic image that captures the striation when viewed on end. After being sharpened and polished, you can see where the bevel descends through those layers. It’s delightful to see people working through the old ways and proving you don’t need a factory, as long as your true goal is to explore the process itself. Does this leave you wanting even more? [IllyriaD] left some insight about the process in the comments of the reddit thread. You probably also want to check out the tile-roofed hut built by [PrimitiveTechnology] without any modern tools. # Amazing STARGᐰTE with DHD and Infinity Mirror Wormhole The Stargate Universe franchise has spawned numerous movies, serials, books, comics and games since 1994, and has been a favorite among science fiction fans. Prop makers and hackers often try building their own Stargate replica – the Einstein–Rosen bridge portal that allows almost instantaneous travel between two distant locations. Building an authentic looking prop requires a lot of attention to detail, and [Kristian]’s The Stargate Project is an amazingly well built rendition of the portal. [Kristian]’s Stargate is mostly 3D printed and features a symbol ring, with chevrons that lock and light up when engaged. When the correct address has been dialled in, the wormhole is established, via an infinity mirror effect that uses 122 RGB LEDs. The Dial Home Device (DHD) is a replica of the original pedestal shaped computer, with two concentric sets of 19 buttons and a central activation button. The Stargate ring is assembled from multiple 3D printed in sections, and measures 390 mm across. The seven Chevrons move along 3D printed rack-and-pinion gears, driven by geared micro-motors. The symbol ring is driven by a separate NEMA14 stepper motor. A Raspberry Pi with three piggy backed motor hats controls the various motors and LEDs. A USB sound card and a powered speaker provide audio effects while dialling. Once a worm hole is established, random audio snippets are played. The wormhole is maintained for 38 minutes, after which the Stargate powers down. The Dial Home Device is built around a custom, circular PCB which holds the keypad buttons, LEDs and an ATmega 32u4 micro-controller which connects to the Raspberry Pi via USB. The 39 LEDs are APA102C’s so they only need two GPIO pins. For the keyboard, four banks of nine buttons and another bank of three are connected via a resistive ladder to the analog GPIO’s. This allows all 39 buttons to be connected via five analog inputs and was probably done to simplify PCB track layout. The back lit button key caps were printed in two parts. The translucent bases are covered with the opaque symbol caps. Making a prop like this look like the real deal requires a lot of effort in painting the various parts, and this shows in [Kristian]’s final result, right down to the stone platform on which the Stargate sits. The one improvement we would like to see is a wireless DHD, just like it’s supposed to be. Doing so shouldn’t be too difficult, and losing the USB tether between the Stargate and its DHD would be a great upgrade to this amazing project. Check out the videos after the break, and there are many more on [Kristian]’s project page. And if you are a fan of the franchise, then the amazingly Droolworthy Animatronic Stargate Horus Helmet is an excellent companion project to this Stargate. Thanks for the tip, [Martin Schuster] # Amazing STARGᐰTE with DHD and Infinity Mirror Wormhole The Stargate Universe franchise has spawned numerous movies, serials, books, comics and games since 1994, and has been a favorite among science fiction fans. Prop makers and hackers often try building their own Stargate replica – the Einstein–Rosen bridge portal that allows almost instantaneous travel between two distant locations. Building an authentic looking prop requires a lot of attention to detail, and [Kristian]’s The Stargate Project is an amazingly well built rendition of the portal. [Kristian]’s Stargate is mostly 3D printed and features a symbol ring, with chevrons that lock and light up when engaged. When the correct address has been dialled in, the wormhole is established, via an infinity mirror effect that uses 122 RGB LEDs. The Dial Home Device (DHD) is a replica of the original pedestal shaped computer, with two concentric sets of 19 buttons and a central activation button. The Stargate ring is assembled from multiple 3D printed in sections, and measures 390 mm across. The seven Chevrons move along 3D printed rack-and-pinion gears, driven by geared micro-motors. The symbol ring is driven by a separate NEMA14 stepper motor. A Raspberry Pi with three piggy backed motor hats controls the various motors and LEDs. A USB sound card and a powered speaker provide audio effects while dialling. Once a worm hole is established, random audio snippets are played. The wormhole is maintained for 38 minutes, after which the Stargate powers down. The Dial Home Device is built around a custom, circular PCB which holds the keypad buttons, LEDs and an ATmega 32u4 micro-controller which connects to the Raspberry Pi via USB. The 39 LEDs are APA102C’s so they only need two GPIO pins. For the keyboard, four banks of nine buttons and another bank of three are connected via a resistive ladder to the analog GPIO’s. This allows all 39 buttons to be connected via five analog inputs and was probably done to simplify PCB track layout. The back lit button key caps were printed in two parts. The translucent bases are covered with the opaque symbol caps. Making a prop like this look like the real deal requires a lot of effort in painting the various parts, and this shows in [Kristian]’s final result, right down to the stone platform on which the Stargate sits. The one improvement we would like to see is a wireless DHD, just like it’s supposed to be. Doing so shouldn’t be too difficult, and losing the USB tether between the Stargate and its DHD would be a great upgrade to this amazing project. Check out the videos after the break, and there are many more on [Kristian]’s project page. And if you are a fan of the franchise, then the amazingly Droolworthy Animatronic Stargate Horus Helmet is an excellent companion project to this Stargate. Thanks for the tip, [Martin Schuster] # Credit for Clever Corner Clamp We love this design’s simplicity, but its mundane appearance is deceptive because a lot is going on here. [Bas van Hassel]’s clamp looks like a bench cookie or maybe a compressed hockey puck, but one pie piece-shaped quadrant extends on dovetails to form a right-angle channel, perfect for holding your ninety-degree joint while your glue dries. Opposing disc edges are flat, so your clamp won’t slip. Divots on the top and bumps on the bottom keep your stacks nice and neat when you put them away. All around, we have no trouble believing this designer has spent a lot of hours in the woodshop. As long as your wood pieces are the same thickness, it seems like a practical use of printer filament, but if you have different sizes, you can always pull the dovetail out of its groove. Thanks to the scaling feature built into slicing programs, we expect some precision makers to utilize this in projects like dollhouses and model airplanes. If you have a high-resolution printer, you could make some miniature tools to construct a flea circus set. At that point, you may need to make some smaller clamps. Print orientation for the puck is straightforward as it is a print-in-place design, but sometimes it isn’t always clear, so listen to those who know better and don’t be afraid of gears in your vises. # Peek Into This Synth’s Great Design (And Abandoned Features) [Tommy]’s POLY555 is an analog, 20-note polyphonic synthesizer that makes heavy use of 3D printing and shows off some clever design. The POLY555, as well as [Tommy]’s earlier synth designs, are based around the 555 timer. But one 555 is one oscillator, which means only one note can be played at a time. To make the POLY555 polyphonic, [Tommy] took things to their logical extreme and simply added multiple 555s, expanding the capabilities while keeping the classic 555 synth heritage. The real gem here is [Tommy]’s writeup. In it, he explains the various design choices and improvements that went into the POLY555, not just as an instrument, but as a kit intended to be produced and easy to assemble. Good DFM (Design For Manufacturability) takes time and effort, but pays off big time even for things made in relatively small quantities. Anything that reduces complexity, eliminates steps, or improves reliability is a change worth investigating. For example, the volume wheel is not a thumbwheel pot. It is actually a 3D-printed piece attached to the same potentiometer that the 555s use for tuning; meaning one less part to keep track of in the bill of materials. It’s all a gold mine of tips for anyone looking at making more than just a handful of something, and a peek into the hard work that goes into designing something to be produced. [Tommy] even has a short section dedicated to abandoned or rejected ideas that didn’t make the cut, which is educational in itself. Want more? Good news! This isn’t the first time we’ve been delighted with [Tommy]’s prototyping and design discussions. POLY555’s design files (OpenSCAD for enclosure and parts, and KiCad for schematic and PCB) as well as assembly guide are all available on GitHub, and STL files can be found on Thingiverse. [Tommy] sells partial and complete kits as well, so there’s something for everyone’s comfort level. Watch the POLY555 in action in the video, embedded below. # Peek Into This Synth’s Great Design (And Abandoned Features) [Tommy]’s POLY555 is an analog, 20-note polyphonic synthesizer that makes heavy use of 3D printing and shows off some clever design. The POLY555, as well as [Tommy]’s earlier synth designs, are based around the 555 timer. But one 555 is one oscillator, which means only one note can be played at a time. To make the POLY555 polyphonic, [Tommy] took things to their logical extreme and simply added multiple 555s, expanding the capabilities while keeping the classic 555 synth heritage. The real gem here is [Tommy]’s writeup. In it, he explains the various design choices and improvements that went into the POLY555, not just as an instrument, but as a kit intended to be produced and easy to assemble. Good DFM (Design For Manufacturability) takes time and effort, but pays off big time even for things made in relatively small quantities. Anything that reduces complexity, eliminates steps, or improves reliability is a change worth investigating. For example, the volume wheel is not a thumbwheel pot. It is actually a 3D-printed piece attached to the same potentiometer that the 555s use for tuning; meaning one less part to keep track of in the bill of materials. It’s all a gold mine of tips for anyone looking at making more than just a handful of something, and a peek into the hard work that goes into designing something to be produced. [Tommy] even has a short section dedicated to abandoned or rejected ideas that didn’t make the cut, which is educational in itself. Want more? Good news! This isn’t the first time we’ve been delighted with [Tommy]’s prototyping and design discussions. POLY555’s design files (OpenSCAD for enclosure and parts, and KiCad for schematic and PCB) as well as assembly guide are all available on GitHub, and STL files can be found on Thingiverse. [Tommy] sells partial and complete kits as well, so there’s something for everyone’s comfort level. Watch the POLY555 in action in the video, embedded below. # Full DIY: A UNIX Clone On TTL Making a CPU or indeed a whole computer system from scratch using discrete logic chips is by no means an unusual project, but it’s still one that requires quite a lot of technical ability and understanding of how computers work. Similarly, writing a UNIX-like operating system from scratch is something that’s been done more than once, but which definitely puts the author in an exclusive breed. Creating a CPU and computer system from discrete logic and then writing a UNIX-like OS for it? That’s definitely something new, but here’s [RobotMan2412] with both CPU and operating system to prove it! The GR8CPU as he calls it is an 8-bit design with a 16-bit address space, making it equivalent to a typical mid-to-late 1970s 8-bit chip. He’s on revision 3 of the processor, and even makes the bold suggestion that it might be the most complex breadboard CPU ever made. That’s impressive enough, but to add a UNIX-like operating system makes it special. While he has a real GR8CPU, it appears he’s also written an emulator with access to a disk filesystem, and it’s on this that he shows us the OS running. Don’t expect an all-singing all-dancing desktop OS here, instead it’s a kernel and very basic command line that’s just about able to run a Hello World. The kernel is hand-coded in assembler and is about 5 kB in size. We look forward to seeing more of this project, and hope maybe he’ll one day soon publish the source. As a reminder that this is a perfectly capable platform for the job, here’s the original UNIX running on a vintage DEC PDP7. # Arduino Micro Pushes Animal Crossing’s Buttons Repetitive tasks in video games often find a way of pushing our buttons. [Facelesstech] got tired of mashing “A” while catching shooting stars in Animal Crossing, so he set out to automate his problem away. After briefly considering rigging up a servo to do the work for him, he recalled a previous effort that used an Arduino Teensy to automate a bowling mini-game in Zelda: Breath of the Wild and decided to use a microcontroller to catch stars for him. [Facelesstech] programmed an Arduino Pro Micro to fake controller button presses. It starts with a couple of presses to identify itself to the Switch, before generating an endless stream of button presses that automatically catch every shooting star. Hooking it up is easy—an on-the-go adapter allows the Switch’s USB-C port to connect directly to the Arduino’s Micro-USB port, even supplying power! [Facelesstech] also designed a compact 3D-printed case that packages up the Arduino Pro Micro along with an ISP header for easy updating. The case even lets the Arduino’s power LED shine through so you know that it’s working! If you, too, need to automate video game button-pushing, [Facelesstech] has kindly uploaded the source code and 3D designs for you to try. If you’d prefer something a little more low-tech, perhaps you might try a mechanical button pusher. # Laser Zap That Mosquito When we first heard of [Ildar Rakhmatulin’s] plan to use OpenCV on a Raspberry Pi to detect mosquitos and then zap them with a 1 watt laser, we thought it was sort of humorous. However, the paper points out that 700,000 people die each year from mosquito bites — we didn’t verify that, but according to the article that’s twice the number of people murdered each year. So the little pests are pretty effective assassins. It looks as though the machine has been built, at least in a test configuration. A galvanometer aims the death ray using mirrors, and with the low power and lossy mirrors the mosquitos can only be a small distance from the machine — about a foot. Even so, the paper claims they could neutralize two mosquitos per second. We wonder how many of them survived but were blinded. There were several different detection algorithms in Python but even the best algorithms didn’t track 100% and the actual kill rate of mosquitos was quite low, topping out at 15%. Clearly, this has some work to do, but if you decide to tackle it, the research will be invaluable. There was talk of using a different camera lens to get a larger volume of detection and, of course, a more powerful laser. If the tracking algorithm could be pushed to a smaller controller, the system could be light enough and power efficient enough to fly on a drone. However, we were unclear how you’d protect non-mosquitos from being hit with the laser of death. While a 1-watt laser might not kill you, even a 1 mW laser can produce effects on your eye greater than staring into the bright sun. This could be more human than the last method we saw for exterminating the pests. Of course, as any time traveler will tell you, the best time to stop an assassin is before they are born. # One Ring Light to Fool Them All into Thinking You’re Well-Rested We know you’re beautiful, but maybe that cheap web camera from 2007 doesn’t always project your best image. Although web cameras are starting to come back down from the pandemic price gouging days, you could just build yourself a ring light and go from there, because better light may be all you need to look great. Of course, this isn’t going to be cheaper than just buying a ring light, but if you already have a Circuit Playground and 3D printer lying around, you’re about halfway to owning one that’s much cooler than anything you can buy. The only other major hardware is the RGBW LED ring, the slide pots that adjust the light color, and the clicky little button that exits out of Zoom calls. The business part is made to mount right over the camera, so the only part that has a footprint is the control box. No need to make space for a tripod or another boom. If you’re worried about staring into a bunch of lights, there’s a diffusing ring among the print files. We think this setup looks great, especially since [Southern Fried Science] built a light guide into the enclosure so those LED on the Circuit Playground don’t go to waste. Do you just wish you had a more satisfying way to leave Zoom calls? If there’s a stud near your desk, it doesn’t get much more satisfying than a pull chain. If the only stud around is you, then use a giant mushroom button. Via adafruit # A Soyuz Space Clock Replica If you like the retro look of old Soviet space hardware, then this replica of the model 774H Soyuz digital clock by [David Whitty] might be the perfect accessory for your desk. Forgoing the original stack of ten jam-packed circuit boards, [David] used an Arduino, a GPS receiver, and a handful of other common parts to create a convincing reproduction. He also made some functional changes to make it better suited as an ordinary clock for us earthbound folk. If you want to take on this project yourself, be prepared for some real metalwork. No 3D printing filament was harmed in building this project. It’s based on a pair of heavily modified Hammond cast aluminum enclosures, with over 1 kg of lead ballast added to give it the appropriate heft of the original. The GPS patch antenna is cleverly hidden on the rear interface connector, but a discrete hole for a USB connector gives away the secret that this isn’t an original. The software (free for non-commercial use) and build notes are available on his GitHub repository. We covered [Ken Shirriff]’s fascinating dive into the guts of a real Soyuz digital clock back in January. If old space hardware is your thing, you should definitely check out this teardown by [CuriousMarc] of the 653B, the 1960s-era electro-mechanical predecessor to the 774H. Thanks to [CuriousMarc] for bringing this project to our attention. # A Soyuz Space Clock Replica If you like the retro look of old Soviet space hardware, then this replica of the model 774H Soyuz digital clock by [David Whitty] might be the perfect accessory for your desk. Forgoing the original stack of ten jam-packed circuit boards, [David] used with an Arduino, a GPS receiver, and a handful of other common parts to create a convincing reproduction. He also made some functional changes to make it better suited as an ordinary clock for us earthbound folk. If you want to take on this project yourself, be prepared for some real metalwork. No 3D printing filament was harmed in building this project. It’s based on a pair of heavily modified Hammond cast aluminum enclosures, with over 1 kg of lead ballast added to give it the appropriate heft of the original. The GPS patch antenna is cleverly hidden on the rear interface connector, but a discrete hole for a USB connector gives away the secret that this isn’t an original. The software (free for non-commercial use) and build notes are available on his GitHub repository. We covered [Ken Shirriff]’s fascinating dive into the guts of a real Soyuz digital clock back in January. If old space hardware is your thing, you should definitely check out this teardown by [CuriousMarc] of the 653B, the 1960s-era electro-mechanical predecessor to the 774H. Thanks to [CuriousMarc] for bringing this project to our attention. # Framed PONG is Picture Perfect How cool would it have been if arcade cabinets had acrylic panels all along that let you gaze upon the field of TTL chips within? When [Jürgen Müller] scored the innards of an original 1972 PONG machine, that’s exactly what the plan was: build a suitable cabinet that re-imagines PONG as a sleek and stunning work of art. Instead of trying to cram a CRT in that nice mahogany cabinet, [Jürgen] opted to use an 8″ TFT screen. But get this: [Jürgen] built a Spartan 6 FPGA-based upscaler to adds the scan lines, blur, and afterglow that make it look like the classic PONG experience. [Jürgen] also built an interface board that amplifies the sound, splits the video out into sync and brightness for the upscaler, and provides 5 V to the PONG circuit board. [Jürgen] decided to circumvent the board’s native voltage regulator in the name of keeping things cool. [Jürgen] says the project’s web page is in a preliminary stage right now with more information to come. We sure hope that includes a video of it in action. For now, you can check out the files for the interface PCB, the FPGA board, and a list of the fonts. Should you ever get tired of classic PONG, try playing it in one dimension. Thanks for the tip, [Anonymous]. # What Can A$30 USB Spectrum Analyser Do For Me?

As mildly exotic silicon has become cheaper and the ingenuity of hardware hackers has been unleashed upon it, it’s inevitable that some once-unattainably expensive instruments will appear as cheap modules from China. The LTDZ spectrum analyser on the bench today covers 35 MHz to 4.4 GHz, and has a USB interface and tracking source. It has been available from all the usual outlets for a while now either as a bare PCB or in a metal box about the size of a pack of cards.

We’ve already taken a look at the $50 VNA, and this time it’s the turn of the$30 spectrum analyser, in the form of a little device that I succumbed to while browsing Banggood.

I ordered one, along with an attenuator and RF bridge for SWR measurements, and after the usual wait for postage my anonymous grey package arrived and it was time to give it a look and consider its usefulness. It’s a design derived from one published in Germany’s Funkamateur (“amateur radio”) magazine early in the last decade, and unscrewing the end plate to slide out the board from its extruded enclosure we can see what makes it tick.

# Sea Level: How Do We Measure Global Ocean Levels and Do Rising Oceans Change that Benchmark?

Every summer you go down the shore, but lately you’ve begun to notice that the beach seems narrower each time you visit. Is that the sea level rising, or is the sand just being swept away? Speaking of sea levels, you keep hearing that they rise higher every year — but how exactly is that measured? After all, you can’t exactly use a ruler. As it turns out, there are a number of clever systems in place that can accurately measure the global sea level down to less than an inch and a half.

Not only are waves always rippling across the ocean’s surface, but tides periodically roll in and out, making any single instantaneous measurement of sea level hopelessly inaccurate. Even if you plan to take hundreds or thousands of measurements over the course of weeks or months, taking the individual measurements is still difficult. Pick a nice, stable rock in the surf, mark a line on it, and return every hour for two weeks to hold a tape measure up to it. At best you’ll get within six inches on each reading, no matter what you’ll get wet, and at worst the rock will move and you’ll get a damp notebook full of useless numbers. So let’s take a look at how the pros do it.

## Expensive Rulers

As it turns out, measuring sea level with a ruler isn’t that far off — but professional oceanographers have really nice ones called tide gauges, which live in aptly-named tide houses. The simplest tide gauge is a long tube sitting in the water, anchored in place. The tube has small openings below the water level that allow water to flow in and out. Also referred to as a stilling well, this device averages out small movements and waves, allowing for a much more calm and accurate measurement against a series of graduations inside the tube.

Of course, manually making all these measurements is tedious work, and today there are computerized methods for recording tide levels. Even so, some tide houses had automated recording systems as early as 1830. These systems consisted of a float in the stilling well, which moved a “pen” by way of rope and pulley. Every six minutes, the pen would mark the tide level on paper, much in the way an old seismometer works.

Over the years, the stilling well has evolved into the sounding tube — rather than a float on a rope, the sounding tube sends an audio pulse down the tube and measures the time it takes for the pulse to bounce off the water surface and return to a sensor. Recently, NOAA has developed a new system that uses microwave radar to measure the water level. Microwave sensors don’t need a stilling well- they can be mounted to a structure that sits above the water. This is a massive advantage, because servicing the sensor is much easier if you don’t need to don a wetsuit and air tank. In the coming years, NOAA is planning to transition it’s acoustic measurement stations to this new microwave technology.

So, if you can measure sea level without ever touching the water, from how far away can you measure, exactly?

## Send In The Satellites

As it turns out, you can take measurements from pretty far away — about 830 miles away, to be exact.

In 1992, an Ariane 4 rocket hurdled up from the Guiana Space Center to deliver the TOPEX/Poseidon satellite into orbit. The satellite carried an impressive array of instruments including two radar altimeters, a microwave radiometer, GPS receivers, and a laser retroreflector array. The GPS system was able to pinpoint the satellite’s location to within an inch, and was the first system to demonstrate that GPS satellites could be used to locate another spacecraft rather than only terrestrial targets.

The TOPEX/Poseidon system was groundbreaking for a number of reasons. Not only was it able to measure sea level to an incredible degree of accuracy (1.5 inches), but it was the first mission to map the earth’s tides. It mapped currents across the ocean, and gathered valuable data that improved our understanding of climate change, weather, and even the Earth’s gravitational field.

Although the satellite was shut down in 2006 after malfunctioning, its mission was taken over by Jason-1, which was launched in 2001 to supplement TOPEX/Poseidon’s measurements. Jason-2 followed, and in 2016 the mantle was taken up by Jason-3.

We know that these satellites do a great job of measuring the sea level, but what exactly are they measuring it against?

## So Is Sea Level Zero?

Well yes… and no. It depends on your reference point. If you look on any topographical map, you’ll notice that elevations are reported in height above (or occasionally, below) sea level. Pilots often report altitudes in AMSL, or Above Mean Sea Level. Mean sea level is obtained by time-averaging the still water level (SWL) to remove cyclical effect of daily tides. SWL is simply what can be measured with a tide gauge, the water level with sea motions such as wind waves smoothed out. This works well enough for measuring the elevation of things that aren’t, well, the ocean, but we run into a problem if we try to measure the ocean in terms of itself. This is where we need other references to measure against.

The satellite-based instruments report sea level with respect to the WGS-84 Reference Ellipsoid, defined by the TOPEX/Poseidon Data User’s Handbook as the “the first-order definition of the non-spherical shape of the Earth as an ellipsoid.” This is also the baseline GPS receivers use to convey elevation data. Another helpful reference surface is the geoid — the theoretical shape that the Earth’s ocean would make if it were free from the external influences of the Sun and other celestial bodies, only acted upon by the gravity and rotation of the Earth itself.

## Does Mars Have a “Sea Level”?

This is all well and good for Earth with its vast oceans, but how is elevation measured on Mars (or other planets, for that matter) where there is no sea to reference?

If you want to measure a mountain on Mars, you better bring a barometer and a calculator. Zero elevation is defined as the isobar where the atmospheric pressure is equal to 610.5 Pa (for reference, “sea level” on earth has an atmospheric pressure of 101.5 kPa). Though seemingly selected at random, 610.5 Pa is the triple point of water on the red planet — that is, the pressure at which water can exist in its solid, liquid, and gaseous states simultaneously. From that, and a reference ellipsoid similar to the one we use for the Earth, the elevation of various geographic features is measured by laser altimeters affixed to an orbiting satellite such as the Mars Global Surveyor.

Let’s take a look at the Moon now, where the “atmospheric” pressure is effectively zero (okay, there’s some gas there but the pressure is around $3\times 10^{-10}$ Pa). The Mars method won’t work here, since there’s no atmosphere to speak of. To establish the Moon’s reference ellipsoid, scientists determined its average diameter and set that as the zero. The Lunar Reconnaissance Orbiter then can measure the relative altitude of the lunar surface with respect to that datum.

## Back To The Beach

So, back to our initial quandary — what exactly is causing that receding shoreline you notice year after year? On average, the global sea level rises annually by about 0.14 inches, so while global warming is a very real concern you probably aren’t noticing its effects on the shoreline one year to the next. That leaves coastal erosion — the gradual removal of sand, rocks, and soil by the ocean. It’s a good thing then, if much of the coastline is so unstable, that we have tide houses and satellites to accurately track changes in the global sea level. That rock you tried to measure against is all but guaranteed to move.