Hackaday Links Column Banner

Hackaday Links: August 16, 2020

Potentially bad news for those of us who prefer not to be assimilated into the Google hive mind: Mozilla seems to be on the rocks. Citing revenue problems, the maker of Firefox and other popular tools will be trimming 250 employees, about a quarter of its workforce, and shuttering its office in Taipei. CEO Mitchell Baker specifically mentioned that “development tools, internal tooling, and platform feature development” in the Firefox team would see reduced investment. Like a lot of companies do these days, she managed to blame COVID-19 for the company’s woes. That seems a little specious to us, but whatever the reason for the downturn in revenue, here’s hoping that Mozilla can keep Firefox alive.

Speaking of our evil overlords, looks like it another one of those “oopsies” moment for Google when it “accidentally” activated some of its smart speakers to listen into household events without the wake word. In this case, a user reported getting a text about a smoke alarm going off in their home. The alarm was not a surprise, since the user was cooking at the time, but the notification was, since they didn’t opt into that particular service. Google’s response was that an update pushed to the speaker accidentally activated that feature, a situation that they say has since been rectified. To be clear, this is an interesting feature and one of the more compelling use cases we’ve seen for a smart speaker, but it’s something we’d certainly want to sign off on before it’s activated. Yes, accidents happen, but these kinds of accidents seem to happen to Google an awful lot lately.

We’ve probably all had the experience over the last few months of being in public when the urge to cough hits. Masked or not, you struggle to fight back the tickle, lest someone hear you and think you’re infected. But now it’s possible for a computer to cough-shame you, thanks to a deep learning cough locater. The model was trained against recordings of people coughing and is coupled to an acoustic camera, which identifies the cougher with a bounding box and a contour image of the cough which looks for all the world like a virtual cloud of microbes. It’s genuinely interesting technology, sort of the public health version of ShotSpotter, but we doubt it’ll be of much practical use in public; if you want to find someone who has just coughed, someone acting like this will likely already be on the case.

Modern jet fighter technology is advancing rapidly, so much so that the forces they can apply during extreme maneuvers can quickly be lethal to pilots. Given that humans aren’t likely to evolve the ability to resist turning into a puddle of goo under high g-forces anytime soon, fighters of the future will likely incorporate AI of some sort. To prepare for that eventuality, the Defense Advanced Research Projects Agency (DARPA) is running some AI fighter competitions this week that really look interesting. Dubbed Alpha Dogfight Trials, the challenge starts with simulated dogfights between AI systems. The winner of those rounds will go up against a human pilot in the final match, which will be streamed live with commentary and multi-screen coverage. You need to register to get in on the action, and time is limited.

And finally, let these three words roll around in your head for a minute: robotic chameleon tongue. It’s actually nowhere near as disturbing as it sounds, since at its heart the “Snatcher” is actually just a beefed-up tape measure. Designed for remote retrieval tasks, the Snatcher can shoots it steel proboscis out almost a meter in just 600 milliseconds. Its designers envision uses for it on drones, but we can see it potentially being deployed on satellites too. It shouldn’t be too hard to build something like this at home, either.

Building A Gimballed Motorcycle Helmet Camera From Scratch

[Nixie Guy] has hit all of important design elements in a single motorcycle helmet-cam project which packs in so much that the build log spans three posts. These cameras need to stand up to the elements and also to being pelted by insects at 80 MPH. They need to attach securely to the helmet without interfering with vision or movement of the head. And you should be able to adjust where they are pointing. The balance of features and cost available in consumer cameras make this list hard to satisfy — but with skills like these the bootstrapped camera came out great!

Where can you get a small, high quality camera? The drone industry has been iterating on this problem for a decade now and that’s where the guts of this creation come from. That produced an interesting issue, the board of the CADDX Turtle V2 camera gets really hot when in use and needs to have air flowing over it. So he threw a custom-milled heat sink into the side of the SLA resin printed housing to keep things somewhat cool.

Since the mill was already warmed up, why not do some mold making? Having already been working on a project to use a casting process for soft PCB membranes, this was the perfect technique to keep the buttons and the SD card slots weather tight on the helmet cam. A little pouch battery inside provides power, and the charging port on the back is a nice little magnet job.

Everything came together incredibly well. [Nixie Guy] does lament the color of the resin case, but that could be easily fixed by reprinting with colored resin.

While you’re bolting stuff onto your helmet, maybe some excessive bling is in order?

Continue reading “Building A Gimballed Motorcycle Helmet Camera From Scratch”

E-Ink Moon Phase Viewer Keeps Interest From Waning

It’s a shame that so many cool things happen in the night sky, but we can’t see them because of clouds or light pollution. If you missed seeing the comet NEOWISE or this summer’s Perseid meteor showers, there’s not a lot to be done but look at other people’s pictures. But if it’s the Moon and its phases you keep missing out on, that information can be acquired and visualized fairly easily.

This project includes a bunch of firsts for [Jacob Tarr], like designing a custom PCB and utilizing a three-color E-ink screen to show the Moon in its current phase along with the date and time.

[Jacob]’s moon phase viewer runs on an ItsyBitsy M4 Express, which holds data pulled from NASA ahead of time to save battery. Every morning, the board dishes out the daily info on a schedule kept by a real-time clock module.

We particularly like the minimalist case design, especially the little shelf that holds the lithium-ion cell. This is just the beginning, and [Jacob] plans to add more detail for anyone who wants one for themselves.

If you want something more Moon-shaped, here’s a printed version that gets brighter in time with the real thing. Or you could just make a giant light-up full moon like Hackaday super alumnus [Caleb Kraft].

Write In PipelineC For FPGAs

The best thing about field-programmable gate arrays (FPGAs), when you have a massively parallel application, is that everything runs in parallel. The worst thing about FPGAs, when you need a lot of stuff to happen in sequence, is that everything runs in parallel. If you have a multi-step computation, for example, you need to break it up into chunks, figure out the timing between them, and make sure that each chunk clears before it is fed new data. This is pipelining, and taking care of all the low-level details yourself is one of the things that can sometimes make FPGA a four-letter word beginning with “F”.

[Julian Kemmerer]’s PipelineC is a C-like language that compiles down into VHDL so that you can use it in an FPGA, and it does the pipelining for you. He has examples of how you’d use it to construct a simple state machine, and after you’ve written a few hundred state machines the long way, you’ll know why this is a good idea.

PipelineC isn’t the only high level synthesis language out there, but it sits in an interesting place. It doesn’t take care of memory or define interfaces. It just takes care of pipelining. We haven’t tried it out yet, but it looks like it would be interesting for moderately complex projects, where the mechanics of pipeline signalling is a hassle, but you don’t require the deluxe treatment. Check it out, and if you like it, let us (and [Julian], natch) know.

If you want to dive head-first into pipelining, give [Al Williams]’ two-part mini-series a look.

Pipeline graphic CC BY-SA 3.0 by CBurnett

Give A Man A Phish, And You Entertain Him For A Day

With millions of phishing attempts happening daily, we’ve probably all had our fair share of coming across one. For the trained or naturally suspicious eye, it’s usually easy to spot them — maybe get a good chuckle out of the ridiculously bad ones along the way — and simply ignore them. Unfortunately, they wouldn’t exist if they weren’t successful enough in the big picture, so it might be a good idea to inform the targeted service about the attempt, in hopes they will notify users to act with caution. And then there’s [Christian Haschek], who decided to have some fun and trying to render the phished data useless by simply flooding it with garbage.

After his wife received a text message from “their bank”, [Christian] took a closer look at the URL it was pointing to, and found your typical copy of the real login form at a slightly misspelled address. As the usual goal is to steal the victim’s credentials, he simply wrote a shell script that sends random generated account numbers and PINs for all eternity via cURL, potentially lowering any value the attackers could get from their attempt.

As the form fields limit the input length of the account number and PIN, he eventually wondered if the server side will do the same, or whether it would crash if longer data is sent to it. Sadly, he’ll never know, because after he modified the script, the site itself returned a 404 and had disappeared.

In the quest against phishing attacks, this should count as a success, but as [Christian] seemed to enjoy himself, he yearned for more and decided to take a look at a similar attempt he saw mentioned earlier on Reddit. Despite targeting the same bank, the server-side implementation was more sophisticated, hinting at a different attack, and he definitely got his money worth this time — but we don’t want to give it all away here.

Rest assured, [Christian Haschek] continues the good fight, whether by annoying attackers as he did with ZIP-bombing random WordPress login attempts or battling child pornography with a Raspberry Pi cluster. Well, unless he’s busy hunting down an unidentified device hooked up in his own network.

(Banner image by Tumisu)

Draw On Your Lawn With This Autonomous Mower And RTK-GPS

The rise of open source hardware has seen a wide variety of laborious tasks become successfully automated, saving us humans a great deal of hassle.  Suffice to say, some chores are easier to automate than others. Take the classic case of a harmless autonomous vacuum cleaner that can be pretty dumb, bumping around the place to detect the perimeter as it traverses the room blindly with a pre-programmed sweeping pattern.

Now in principle, this idea could be extended to mowing your lawn. But would you really want a high speed rotating blade running rampant as it aimlessly ventures outside the perimeter of your lawn? The Sunray update to the Ardumower autonomous lawn mower project has solved this problem without invoking the need to lay down an actual perimeter wire. As standard consumer grade GPS is simply not accurate enough, so the solution involves implementing your very own RTK-GPS hardware and an accompanying base station, introducing centimeter-level accuracy to your mowing jobs.

RTK-GPS, also known as Carrier Phase Enhanced GPS, improves the accuracy of standard GPS by measuring the error in the signal using a reference receiver whose position is known accurately. This information is then relayed to the Ardumower board over a radio link, so that it could tweak its position accordingly. Do you need the ability to carve emojis into your lawn? No. But you could have it anyway. If that’s not enough to kick off the autonomous lawnmower revolution, we don’t know what is.

Continue reading “Draw On Your Lawn With This Autonomous Mower And RTK-GPS”

The Mask Launcher; Like An Airbag For Your Face

One of the most effective ways to slow the spread of pathogens like the novel coronavirus is to have individuals wear facemasks that cover the nose and mouth. They’re cheap, and highly effective at trapping potentially infectious aerosols that spread disease. Unfortunately, wearing masks has become a contentious issue, with many choosing to go without. [Allen Pan] was frustrated by this, and set out to make a launcher to quite literally shoot masks directly onto faces.

To fire the masks, Allan built a pneumatic system that gets its power from a compact CO2 canister. This is hooked up to a solenoid, which is fired by the trigger. The high-pressure CO2 then goes through a split to four separate barrels cleverly made out of brake line ([Allen] says it’s faster to get parts from the automotive supply than the home store these days). Each barrel fires a bola weight attached to one of the strings of the mask, in much the same way a net launcher works. The mask is then flung towards the face of the target, and the weights wrap around the back of the neck, tangling and ideally sticking together thanks to neodymium magnets.

Amazingly, the mask worked first time, wrapping effectively around a dummy head and covering the nose and mouth. Follow-up shots were less successful, however, but that didn’t deter [Allen] from trying the device on himself at point-blank range. Despite the risk to teeth and flesh, the launcher again fires a successful shot.

While it’s obviously never meant to be used in the real world, the mask launcher was a fun way to experiment with pneumatics and a funny way to start the conversation about effective public health measures. We’ve featured similar projects before, too. Video after the break.

Continue reading “The Mask Launcher; Like An Airbag For Your Face”