The Ultimate Model Rocket Launchpad

When you’re building advanced rockets as BPS.Space are, an unreliable launchpad is the something you really don’t want to be struggling with. [Joe Barnard] is working on a model rocket that can land vertically under its own power, like the Falcon 9, and has upgraded his launchpad in the process. A lot of thought and hard-earned experience has gone into its design, and the video after the break is a fascinating look the engineering process.

[Joe]’s rockets don’t use guide rods and fins for stabilization in the way most amateur rockets do, but instead have thrust vectoring motor mounts and reaction wheels for active stabilization during launch and flight. The rockets are clamped to the launchpad right up to ignition, and then need to release quickly and reliably. His previous clamps looked very cool, but suffered from high friction forces during release, and the integrated covers prevented easy inspection. These were replaced by much simpler spring-loaded clamp held in place by a small locking bar, which is knocked out by a servo to release the clamp. It also has no static friction, since it moves up and away from the clamping surfaces on the rocket.

The launch pad also features a ATSAMD21 based launch computer named Impulse, which at the most basic level controls the igniter, clamps, buzzer and indicator lights. It also has a number of inputs and outputs to allow for expansion. [Joe] experienced a number of inexplicable failures of rocketry electronics in the past, but believes he has finally tracked down the culprit: Tennessee humidity. He has since started conformal coating all his electronics.

The launchpad itself is made from plywood, so to protect it from the hot exhaust it has in integrated flame trench. This was made from 1 inch steel plumbing components, and directs most of the exhaust out of one side of the platform. It can also be reconfigured to allow a three core rocket like a Falcon Heavy to be launched.

It’s incredible to see how far BPS.Space has come in the past four years, with the engineering complexity and video production quality increasing in leaps and bounds. Earlier this year we covered on of [Joe]’s other projects, a silo-launched rocket named Thoomp.

source https://hackaday.com/2020/09/30/the-ultimate-model-rocket-launchpad/

Weigh Your Car With Paper

Sometimes a problem is more important than its solution. Humans love to solve mysteries and answer questions, but the most rewarding issues are the ones we find ourselves. Take [Surjan Singh], who wanted to see if he could calculate the weight of his Saab 96. Funny enough, he doesn’t have an automobile scale in his garage, so he had to concoct a workaround method. His solution is to multiply the pressure in his tires with their contact patch. Read on before you decide this is an imperfect idea.

He measures his tires with a quality gauge for the highest accuracy and pressurizes them equally. Our favorite part is how he measures the contact patch by sliding a couple of paper pieces from the sides until they stop and then measures the distance between them. He quickly realizes that the treads didn’t contact the floor evenly, so he measures them to get a better idea of the true contact area. Once he is satisfied, he performs his algebra and records the results, then drives to some public scales and has to pay for a weigh. His calculations are close, but he admits this could be an imprecise method due to an n-of-one, and that he didn’t account for the stiffness of the tire walls.

This was a fun thought experiment with real-world verification. If you’re one of those people who treats brainstorming like an Olympic sport, then you may enjoy the gedankenexperiment that is fractals.

source https://hackaday.com/2020/09/30/weigh-your-car-with-paper/

Weigh Your Car With Paper

Sometimes a problem is more important than its solution. Humans love to solve mysteries and answer questions, but the most rewarding issues are the ones we find ourselves. Take [Surjan Singh], who wanted to see if he could calculate the weight of his Saab 96. Funny enough, he doesn’t have an automobile scale in his garage, so he had to concoct a workaround method. His solution is to multiply the pressure in his tires with their contact patch. Read on before you decide this is an imperfect idea.

He measures his tires with a quality gauge for the highest accuracy and pressurizes them equally. Our favorite part is how he measures the contact patch by sliding a couple of paper pieces from the sides until they stop and then measures the distance between them. He quickly realizes that the treads didn’t contact the floor evenly, so he measures them to get a better idea of the true contact area. Once he is satisfied, he performs his algebra and records the results, then drives to some public scales and has to pay for a weigh. His calculations are close, but he admits this could be an imprecise method due to an n-of-one, and that he didn’t account for the stiffness of the tire walls.

This was a fun thought experiment with real-world verification. If you’re one of those people who treats brainstorming like an Olympic sport, then you may enjoy the gedankenexperiment that is fractals.

source https://hackaday.com/2020/09/30/weigh-your-car-with-paper/

Hyper Links and Hyperfunctional Text CAD

Strong opinions exist on both sides about OpenSCAD. The lightweight program takes megabytes of space, not gigabytes, so many people have a copy, even if they’ve never written a shape. Some people adore the text-only modeling language, and some people abhor the minimal function list. [Johnathon ‘Zalo’ Selstad] appreciates the idea but wants to see something more robust, and he wants to see it in your browser. His project CascadeStudio has a GitHub repo and a live link so you can start tinkering in a new window straight away.

We’re going to assume that anyone reading past this point is familiar with this type of modeling.

At the first keystroke, it is evident that CascadeStudio is different from OpenSCAD. For starters, tooltips reveal that formatting is a little different. A cone in OpenSCAD uses the cylinder() function while CascadeStudio insists that Cylinders() are the same diameter at the top and bottom, but a Cone() tapers. You may also notice the capital letters for CascadeStudio. Minor differences of this scale mean that anyone familiar with one may have speedbumps with the other, but not roadblocks.

In our opinion, the biggest boon to CascadeStudio is that you can send someone a URL, and they will get access to a fully-functional copy. You cannot simultaneously edit like a Google document, but it is conceivable to store a 3D model within a QR code, or an RFID tag, possibly without a URL shortener. Each time you refresh the rendered model by pressing F5, the URL updates, so it is possible to create dated savepoints with your browser bookmarks. You can save and load JSON files if you prefer to download your files, and you can export STEP, STL, and OBJ files for your printer.

Please tell us what you think of CascadeStudio below, and if this changed your mind about text-based modeling. We’ve seen this parametric workhorse tackle everyday tasks like container boxes to high-security keys.

source https://hackaday.com/2020/09/30/hyper-links-and-hyperfunctional-text-cad/

New Controllers On Old Nintendos With USB64

The Nintendo 64 made a big splash when it launched in 1996, not least of all for its innovative controller. Featuring a never-before-or-since seen trident design, and with an analog stick smack bang in the center, it changed what gamers expected from consoles from that day forward. Of course, those controllers are now much worse for wear, and technology has moved on somewhat. The latest development from [Ryzee119] aims to rectify this somewhat.

The result of that work is USB64, a tool designed to allow the use of USB controllers on the Nintendo 64. Using a Teensy 4.1, it builds upon earlier work to get the Xbox 360 controller working on the platform. However, the feature set has been greatly expanded, covering almost any use case imaginable. Mempacks are now efficiently emulated, and save files can be backed up to a PC via SD card. Additionally, the GameBoy Transferpak is emulated, meaning data can be transferred between GameBoy ROMs on an SD card and games on the N64. Even the N64 mouse is supported, and can be emulated with a regular USB mouse. Capable of doing all this for all four players, work is ongoing to increase the number of compatible aftermarket controllers for the utmost flexibility. [Ryzee119] also coded up a useful test ROM for the N64, which is invaluable when debugging controller hardware.

Console controllers take a lot of punishment, particularly from serious gamers, so we’re always eager to see projects that allow modern replacements to be used with old hardware. We’ve featured other great projects in this area before, too!

source https://hackaday.com/2020/09/29/new-controllers-on-old-nintendos-with-usb64/

Fiber Optics, But… Wetter?

Fiber optics are a great way to transfer huge quantity of data at lightning speed. Thanks to the property of total internal reflection, which allows light to flow through a glass fiber like fluid through a pipe, they can be used for communications at long distances and form the backbone of modern communication networks. However, water is also able to pull off the total internal reflection party trick, and [Mike Kohn] decided to see if it could be used as a communication medium, too.

The experimental setup consists of an ATTiny85 that receives signals over its serial port, and outputs the received bits by flashing an LED. This LED is attached to a plastic tube filled with water. On the receiving end, another ATTiny85 reads the voltage level of a photodiode placed in the other end of the tube. When the ADC detects voltage over a certain level, it toggles a pin connected to the serial RX pin.

Hooking the setup to a pair of terminals, [Mike] was able to successfully transmit 9600 baud serial data through a tube full of water with just an LED and a small microcontroller. To verify the success, he ran the test again with an air-filled tube instead, which failed. In doing so, he proved that the water was doing the work.

We’ve seen other optical data hacks, too – like this awesome laser ethernet build. Video after the break.

source https://hackaday.com/2020/09/29/fiber-optics-but-wetter/

Eight Motors Can Sure Pump A Lot Of Water

Once upon a time, 3D printing was more of a curiosity than a powerful tool, with many printing trinkets and tchotchkes rather than anything of real use. However, over the years as technology and techniques have progressed, we now see more application-ready builds. This water pump from [Let’s Print] is a great example.

The pump consists of two major pieces – a drive unit, and an impeller. The drive unit consists of a gearbox that combines the power of eight electric motors, driving a single shaft. This is all achieved with striking yellow ABS gears in a black housing. The build video does a great job of explaining how to make the project work with different motors, and how to properly use the bolt adjuster to set the backlash on the gear train. The drive unit is then used to turn a 3D-printed impeller pump which is capable of delivering a great deal of water very quickly.

When fired up, the leaky assembly makes an awful racket and a huge mess, but sure as heck shifts a lot of water while it does so. Watching the water spray off the gears as it leaks through the bearings is a great sight, and it’s clear that the device works well. We’d love to see a cost and performance analysis of this pump versus a commercial offering.

While it’s certainly not the most rugged build, it’s a fun one that nevertheless gets the job done. We’d love to see this running a foam machine or a classic slip and slide. Video after the break.

[Thanks to Keith Olson for the tip!]

source https://hackaday.com/2020/09/29/eight-motors-can-sure-pump-a-lot-of-water/

Push Pedal for Privacy

Many of us in the secret Hackaday lair use gaming hardware at our work desks because it is reliable and performs well. We are not alone, and maybe you are reading this on your coffee break over a 20-button mouse. We wager that [Thiago Ribeiro de Azeredo] has this mindset because he converted some old analog gaming pedals into teleconferencing tools for his home office. Now that he is not racing to the office, he has to take a lot of computer calls, and he must quickly and covertly mute his microphone when his howling son tries to take the stage.

The pedals were gathering dust when he started working from home, but they are unretired for the upgrade. Inside, there is no mystery, just a couple of spring-loaded variable resistors, so he adds an Arduino Nano a couple of 4.7 kΩ resistors to create a voltage divider. The Nano doesn’t have native Human Interface Device (HID) functionality, so a Python script receives the serial port signals and toggles an application bar notification so he can see the microphone status. With two pedals, he can press-to-talk or lock his microphone on and off. We have to wonder, did he write the software during a meeting?

We love the idea of controlling our battle stations with our feet or seeing a bunch of RGB keyboards used as a low-res display.

source https://hackaday.com/2020/09/29/push-pedal-for-privacy/

Linux-Fu: Making AWK a Bit Easier

awk is a kind of Swiss Army knife for text files. However, some of its limitations are often a bit annoying. I’ve used a simple set of functions to make awk a bit better, although I will warn you: it does require GNU extensions to awk. That is, you must use gawk and not other versions. Your system probably maps /usr/bin/awk to something and that something might be gawk. But it could also be mawk or some other flavor. If you use a Debian-based distro, update-alternatives is your friend here. But for the purposes of this post, I’m going to assume you are using gawk.

By the end of the post, you’ll see how to use my awk add-on functions to split up a line into fields even when there is no single character to separate all fields. In addition, you’ll be able to refer to the fields using names you decide. You won’t have to remember that $2 is the time field. You’ll say Fields_fields["time"] instead.

The Problem

awk does a lot of common work for you when you use it to process text files. It reads files a record at a time. Normally, a record is a single line. Then it splits the line on fields using whitespace, or some other choice of field separators. You can write code that manipulates the line or individual fields. This default behavior is great, especially since you can change the end of record character and the field separator. A surprising number of files fit this sort of format.

Until, of course, they don’t. If you have data coming from a data logging instrument or some database, it could be formatted in a variety of ways. Some fields might have structured data with a variety of separators. This isn’t a deal-breaker. Since you can get at the whole line, you can do almost anything you want, but the logic is harder and the whole point to using awk is to make things easier.

For example, suppose you had a file from a data recorder that had an eight-digit serial number, followed by a six-character tag, and then two floating point numbers separated by colons. The pattern might look like

^([0-9]{8})([a-zA-Z0-9]{6})([-+.0-9]+),([-+.0-9]+)$

This would be hard to handle with the conventional field splitting and you’d normally just write code to split everything apart.

If you have regular fields, but don’t know how many, you probably want to set FS or FPAT, instead. We talked about FPAT a little before when we were abusing awk to read hex files. This library is a little different. You can use it to pick apart a line totally. For example, you might have part of the line with a fixed field length and then multiple types of separators. That can be hard to handle with the other methods.

Regular Expressions

Gawking Text BlogviewTo make things easier, I’ll wrap up the gawk match function. That function exists in regular awk, of course, but gawk adds an extension that makes things much easier. Normally, the function performs a regular expression match on a string and tells you where the match starts, if there was a match, and how many characters matched.

With the GNU extensions in gawk, you can provide an extra array argument. That array will get some information about the match. In particular, the zero item of the array will contain the entire match. If the regular expression contains sub-expressions in parenthesis, the array will contain those, numbering by the order of the parenthesis. It will also contain start and length information.

For example, if your regular expression were "^([0-9]+)([a-z]+)$" and your input string is 123abc, the array would look like this:


array[0] - 123abc
array[1] - 123
array[2] - abc
array[0start] - 1
array[0length] - 6
array[1start] - 1
array[1length] - 3
array[2start] - 4
array[2length] - 3

You can even have nested expressions, so "^(([xyz])[0-9]+)([a-z]+)$" with an input of z1x gives array[1]=z1, array[2]=z, and array[3]=x.

Theory vs Practice

In theory, that’s all you need. You can write a regular expression to pick apart a line, parse it, and then access the pieces using the array. In practice, it is much nicer to have everything done so you can use plain names to access the data.

As an example data format, consider a line like this:


11/10/2020 07:00 The Best of Bradbury, 14.95 *****

There is a date in US format, a time in 24-hour format, an item name, a price, and a rating from 1 to 5 stars that may not be present. Writing a regular expression to grab each field is a bit complex, but not very hard. Here is one way to do it:


"^(([01][0-9])/([0-3][0-9])/(2[01][0-9][0-9]))[[:space:]]*(([0-2][0-9]):([0-5][0-9]))[[:space:]]+([^,]+),[[:space:]]*([0-9.]+)[[:space:]]*([*]{1,5})?[[:space:]]*$"

That’s a mouthful, but it works. Note that each item is in parenthesis and some of those are nested. So the date is one field, but the month, day, and year are also fields.

The Library

Once you grab the files on GitHub, you could put the fields_* functions into your code. You need to do some setup in the BEGIN tag. Then you process each line using fields_process. Here’s a small example (with the functions omitted):


BEGIN {
fields_setup("^(([01][0-9])/([0-3][0-9])/(2[01][0-9][0-9]))[[:space:]]*(([0-2][0-9]):([0-5][0-9]))[[:space:]]+([^,]+),     [[:space:]]*([0-9.]+)[[:space:]]*([*]{1,5})?[[:space:]]*$")
fields_setupN(1,"date")
fields_setupN(2,"month")
fields_setupN(3,"day")
fields_setupN(4,"year")
fields_setupN(5,"time")
fields_setupN(6,"hours")
fields_setupN(7,"minutes")
fields_setupN(8,"item")
fields_setupN(9,"price")
fields_setupN(10,"star")

}

{
v=fields_process()

... your code here...

}

In your code you can write something like:


cost=Fields_fields["price"] * 3

Simple, right? The fields_process function returns false if there was no match. You can still access the normal awk fields like $0 or $2 if you want.

Inside

The extra functions rely on two things: the extensions to the gawk match function and awk‘s associative array mechanism. In the past, I’ve added the named keys to the existing match array so you could get data out either way. However, I’ve modified it so that the match array is local because I almost never really want that capability and then you have to filter out the extra fields if you want to dump the entire array.

It is frequently useful to start the regular expression with ^ and end it with $ to anchor the entire string. Just don’t forget that the regular expression needs to handle white space consumption, as the example does. This is often a benefit when you have fields that can contain spaces, but if you wanted spaces to break fields anyway, you are probably better off with the original parsing scheme.

Another trick is to get “the rest of the line” after you parsed off the first fields. You can do that by adding "(.*)$" to the end of the regular expression. Just don’t forget to set up a tag for it using fields_setupN so that you can fetch the value later.

An easy extension to this library would be to make the pattern an array. The processing function could try each pattern in turn until one matches. Then it would return the index of the matching pattern or false if there were no matches. This would let you define multiple types of lines if you had a complex file format. You’d probably want to have different sets of field tags for each one, too.

I have a long history of abusing tools like awk to do things, like build cross assemblers. Even so, I’m probably not the worst offender.

source https://hackaday.com/2020/09/29/linux-fu-making-awk-a-bit-easier/

Linux-Fu: Making AWK a Bit Easier

awk is a kind of Swiss Army knife for text files. However, some of its limitations are often a bit annoying. I’ve used a simple set of functions to make awk a bit better, although I will warn you: it does require GNU extensions to awk. That is, you must use gawk and not other versions. Your system probably maps /usr/bin/awk to something and that something might be gawk. But it could also be mawk or some other flavor. If you use a Debian-based distro, update-alternatives is your friend here. But for the purposes of this post, I’m going to assume you are using gawk.

By the end of the post, you’ll see how to use my awk add-on functions to split up a line into fields even when there is no single character to separate all fields. In addition, you’ll be able to refer to the fields using names you decide. You won’t have to remember that $2 is the time field. You’ll say Fields_fields["time"] instead.

The Problem

awk does a lot of common work for you when you use it to process text files. It reads files a record at a time. Normally, a record is a single line. Then it splits the line on fields using whitespace, or some other choice of field separators. You can write code that manipulates the line or individual fields. This default behavior is great, especially since you can change the end of record character and the field separator. A surprising number of files fit this sort of format.

Until, of course, they don’t. If you have data coming from a data logging instrument or some database, it could be formatted in a variety of ways. Some fields might have structured data with a variety of separators. This isn’t a deal-breaker. Since you can get at the whole line, you can do almost anything you want, but the logic is harder and the whole point to using awk is to make things easier.

For example, suppose you had a file from a data recorder that had an eight-digit serial number, followed by a six-character tag, and then two floating point numbers separated by colons. The pattern might look like

^([0-9]{8})([a-zA-Z0-9]{6})([-+.0-9]+),([-+.0-9]+)$

This would be hard to handle with the conventional field splitting and you’d normally just write code to split everything apart.

If you have regular fields, but don’t know how many, you probably want to set FS or FPAT, instead. We talked about FPAT a little before when we were abusing awk to read hex files. This library is a little different. You can use it to pick apart a line totally. For example, you might have part of the line with a fixed field length and then multiple types of separators. That can be hard to handle with the other methods.

Regular Expressions

Gawking Text BlogviewTo make things easier, I’ll wrap up the gawk match function. That function exists in regular awk, of course, but gawk adds an extension that makes things much easier. Normally, the function performs a regular expression match on a string and tells you where the match starts, if there was a match, and how many characters matched.

With the GNU extensions in gawk, you can provide an extra array argument. That array will get some information about the match. In particular, the zero item of the array will contain the entire match. If the regular expression contains sub-expressions in parenthesis, the array will contain those, numbering by the order of the parenthesis. It will also contain start and length information.

For example, if your regular expression were "^([0-9]+)([a-z]+)$" and your input string is 123abc, the array would look like this:


array[0] - 123abc
array[1] - 123
array[2] - abc
array[0start] - 1
array[0length] - 6
array[1start] - 1
array[1length] - 3
array[2start] - 4
array[2length] - 3

You can even have nested expressions, so "^(([xyz])[0-9]+)([a-z]+)$" with an input of z1x gives array[1]=z1, array[2]=z, and array[3]=x.

Theory vs Practice

In theory, that’s all you need. You can write a regular expression to pick apart a line, parse it, and then access the pieces using the array. In practice, it is much nicer to have everything done so you can use plain names to access the data.

As an example data format, consider a line like this:


11/10/2020 07:00 The Best of Bradbury, 14.95 *****

There is a date in US format, a time in 24-hour format, an item name, a price, and a rating from 1 to 5 stars that may not be present. Writing a regular expression to grab each field is a bit complex, but not very hard. Here is one way to do it:


"^(([01][0-9])/([0-3][0-9])/(2[01][0-9][0-9]))[[:space:]]*(([0-2][0-9]):([0-5][0-9]))[[:space:]]+([^,]+),[[:space:]]*([0-9.]+)[[:space:]]*([*]{1,5})?[[:space:]]*$"

That’s a mouthful, but it works. Note that each item is in parenthesis and some of those are nested. So the date is one field, but the month, day, and year are also fields.

The Library

Once you grab the files on GitHub, you could put the fields_* functions into your code. You need to do some setup in the BEGIN tag. Then you process each line using fields_process. Here’s a small example (with the functions omitted):


BEGIN {
fields_setup("^(([01][0-9])/([0-3][0-9])/(2[01][0-9][0-9]))[[:space:]]*(([0-2][0-9]):([0-5][0-9]))[[:space:]]+([^,]+),     [[:space:]]*([0-9.]+)[[:space:]]*([*]{1,5})?[[:space:]]*$")
fields_setupN(1,"date")
fields_setupN(2,"month")
fields_setupN(3,"day")
fields_setupN(4,"year")
fields_setupN(5,"time")
fields_setupN(6,"hours")
fields_setupN(7,"minutes")
fields_setupN(8,"item")
fields_setupN(9,"price")
fields_setupN(10,"star")

}

{
v=fields_process()

... your code here...

}

In your code you can write something like:


cost=Fields_fields["price"] * 3

Simple, right? The fields_process function returns false if there was no match. You can still access the normal awk fields like $0 or $2 if you want.

Inside

The extra functions rely on two things: the extensions to the gawk match function and awk‘s associative array mechanism. In the past, I’ve added the named keys to the existing match array so you could get data out either way. However, I’ve modified it so that the match array is local because I almost never really want that capability and then you have to filter out the extra fields if you want to dump the entire array.

It is frequently useful to start the regular expression with ^ and end it with $ to anchor the entire string. Just don’t forget that the regular expression needs to handle white space consumption, as the example does. This is often a benefit when you have fields that can contain spaces, but if you wanted spaces to break fields anyway, you are probably better off with the original parsing scheme.

Another trick is to get “the rest of the line” after you parsed off the first fields. You can do that by adding "(.*)$" to the end of the regular expression. Just don’t forget to set up a tag for it using fields_setupN so that you can fetch the value later.

An easy extension to this library would be to make the pattern an array. The processing function could try each pattern in turn until one matches. Then it would return the index of the matching pattern or false if there were no matches. This would let you define multiple types of lines if you had a complex file format. You’d probably want to have different sets of field tags for each one, too.

I have a long history of abusing tools like awk to do things, like build cross assemblers. Even so, I’m probably not the worst offender.

source https://hackaday.com/2020/09/29/linux-fu-making-awk-a-bit-easier/

WiFi Hacking Mr. Coffee

You wake up on a Sunday, roll out of bed, and make your way to the centerpiece of your morning, the magical device that helps you start your day: the coffee machine. You open the companion app, because everything has an app in 2020, and select a large latte with extra froth. As you switch open a browser to check Hackaday, the machine beeps. Then the built-in grinder cranks up to 100, the milk frother begins to whir, and the machine starts spraying water. Frantic, you look at the display for an error code and instead see a message instructing you to send $75 to a bitcoin wallet, lest your $300 machine become a doorstop.

Outlandish though it may seem, this has become quite a real possibility, as [Martin Hron] at the Avast Threat Labs demonstrates. In fact, he could probably make your modern macchiato machine do this without setting foot in your house (so long as it comes with a built-in ESP8266, like his did).

Building on others’ work that identified the simple commands that control the machine over it’s WiFi connection (nothing says “brew me a nice cup o’ joe” like 0x37), [Martin] reverse-engineered the Smarter Coffee companion app to extract and reverse engineer its firmware. He was actually able to find the entire firmware image packaged within the app- relatively uncommon in the world of Over-The-Air (OTA) updates, but convenient in this case. Using Interactive Disassembler (IDA) to sift through the firmware’s inner workings, he identified the functions that handle all basic operations, including displaying images on the screen, controlling the heating elements, and of course, beeping. From there, he modified the stock firmware image to include some malicious commands and ran an OTA update.

The mind-boggling part here is that not only was the firmware transmitted as unencrypted plaintext over unsecured WiFi, but the machine didn’t even require a user to confirm the update with a button press. With one quick reboot, the trap was set. The machine operated normally, while waiting for “Order 66,” causing it to turn all the heating elements on, spool up the built-in grinder, and beep. Constantly.

While a broken coffee machine seems relatively innocuous, there are some pretty significant lapses in hardware/firmware security here that, while avoidable, almost seem unnecessary in the first place. It makes us wonder- why does Mr. Coffee need a smartphone in the first place?

[Thanks, Achilleas and STR-Alorman!]

source https://hackaday.com/2020/09/29/wifi-hacking-mr-coffee/

Bunnie’s Betrusted Makes First Appearance As Mobile, FPGA-Based SoC Development Kit

Recently, [Bunnie Huang] announced his Precursor project: a spiffy-looking case housing a PCB with two FPGAs, a display, battery and integrated keyboard. For those who have seen [bunnie]’s talk at 36C3 last year, the photos may look very familiar, as it is essentially the same hardware as the ‘Betrusted’ project is intended to use. This also explains the name, with this development kit being a ‘precursor’ to the Betrusted product.

In short, it’s a maximally open, verifiable, and trustworthy device. Even the processor is instantiated on an FPGA so you know what’s going on inside the silicon.

Precursor Eightview Jpg Project Main

He has set up a Crowd Supply page for the Precursor project, which provides more details. The board features a Xilinx Spartan 7 (XC7S50) and Lattice iCE40UP5K FPGA, 16 MB SRAM, 128 MB Flash, integrated WiFi (Silicon Labs WF200-based), a physical keyboard and 1100 mAh Lio-Ion battery. The display is a 200 ppi monochrome 336 x 536 px unit, with both the display and keyboard backlit.

At this point [bunnie] is still looking at how much interest there will be for Precursor if a campaign goes live. Regardless of whether one has any interest in the anti-tamper and security features, depending on the price it might be a nice, integrated platform to tinker with.

source https://hackaday.com/2020/09/29/bunnies-betrusted-makes-first-appearance-as-mobile-fpga-based-soc-development-kit/

State of the Art for Nixies Gets a Boost from Dalibor Farny’s Supersize Prototype

Never one to pass up on a challenge, artisanal Nixie tube maker [Dalibor Farný] has been undertaking what he calls “Project H”, an enormous array of 121 Nixie tubes for an unnamed client. What’s so special about that? Did we mention that each Nixie is about the size of a sandwich plate?

Making Huge Nixie Tube Prototype Project H 18 Youtube 21 11Actually, we did, back in May when we first noted Project H in our weekly links roundup. At that time [Dalibor] had only just accepted the project, knowing that it would require inventing everything about these outsized Nixies from scratch. At 150 mm in diameter, these will be the largest Nixies ever made. The design of the tube is evocative of the old iconoscope tubes from early television history, or perhaps the CRT from an old oscilloscope.

Since May, [Dalibor] has done most of the design work and worked out the bugs in a lot of the internal components. But as the video below shows, he still has some way to go. Everything about his normal construction process had to be scaled up, so many steps, like the chemical treatment of the anode cup, are somewhat awkward. He also discovered that mounting holes in the cathodes were not the correct diameter, requiring some clench-worthy manual corrections. The work at the glassblower’s lathe was as nerve wracking as it was fascinating; every step of the build appears fraught with some kind of peril.

Sadly, this prototype failed to come together — a crack developed in the glass face of the tube. But ever the pro, [Dalibor] took it in stride and will learn from this attempt. Given that he’s reduced the art of the Nixie to practice, we’re confident these big tubes will come together eventually.

source https://hackaday.com/2020/09/28/state-of-the-art-for-nixies-gets-a-boost-from-dalibor-farnys-supersize-prototype/

Sliding Screen Has Wheels, Will Travel

For a recent event, [MakerMan] was tasked with creating an interactive display that could move back and forth along an image of the Moscow skyline to highlight different points of interest. The end result is certainly gorgeous, but since this is Hackaday, we were more excited to see all the behind the scenes video of how it was built.

As with many of his projects, this one started with little more than scrap parts. Two metal I-beams were welded together to make a track, and a wheeled cart was fashioned to ride on it. Using a belt and pulley system that’s not unlike a scaled up version of what you might see on a desktop 3D printer, the motor in the cart is able to move the arrangement back and forth with minimal slop.

Slidingscreen Detail
Installing the motor and pulley in the cart.

The cart actually holds all of the electronics in the project, including the power supplies, MA860H motor controller, a pair of endstop switches, and the Arduino that pulls it all together. A drag chain is used to keep the wires tight to the side of the rail without getting tangled up in anything.

[MakerMan] doesn’t explain much of the software side of this one, though we suppose he might only have been contracted to develop the hardware. But towards the end of the video you can see how the cart, now with large touch screen display mounted on top, moves back and forth when the appropriate commands are sent to the Arduino.

We’re not really sure what application such a contraption would have for the average hacker, but that doesn’t mean we can’t be jealous. There’s just something about huge illuminated screens that just speaks to us.

source https://hackaday.com/2020/09/28/sliding-screen-has-wheels-will-travel/

Sliding Screen Has Wheels, Will Travel

For a recent event, [MakerMan] was tasked with creating an interactive display that could move back and forth along an image of the Moscow skyline to highlight different points of interest. The end result is certainly gorgeous, but since this is Hackaday, we were more excited to see all the behind the scenes video of how it was built.

As with many of his projects, this one started with little more than scrap parts. Two metal I-beams were welded together to make a track, and a wheeled cart was fashioned to ride on it. Using a belt and pulley system that’s not unlike a scaled up version of what you might see on a desktop 3D printer, the motor in the cart is able to move the arrangement back and forth with minimal slop.

Slidingscreen Detail
Installing the motor and pulley in the cart.

The cart actually holds all of the electronics in the project, including the power supplies, MA860H motor controller, a pair of endstop switches, and the Arduino that pulls it all together. A drag chain is used to keep the wires tight to the side of the rail without getting tangled up in anything.

[MakerMan] doesn’t explain much of the software side of this one, though we suppose he might only have been contracted to develop the hardware. But towards the end of the video you can see how the cart, now with large touch screen display mounted on top, moves back and forth when the appropriate commands are sent to the Arduino.

We’re not really sure what application such a contraption would have for the average hacker, but that doesn’t mean we can’t be jealous. There’s just something about huge illuminated screens that just speaks to us.

source https://hackaday.com/2020/09/28/sliding-screen-has-wheels-will-travel/

Sliding Screen Has Wheels, Will Travel

For a recent event, [MakerMan] was tasked with creating an interactive display that could move back and forth along an image of the Moscow skyline to highlight different points of interest. The end result is certainly gorgeous, but since this is Hackaday, we were more excited to see all the behind the scenes video of how it was built.

As with many of his projects, this one started with little more than scrap parts. Two metal I-beams were welded together to make a track, and a wheeled cart was fashioned to ride on it. Using a belt and pulley system that’s not unlike a scaled up version of what you might see on a desktop 3D printer, the motor in the cart is able to move the arrangement back and forth with minimal slop.

Slidingscreen Detail
Installing the motor and pulley in the cart.

The cart actually holds all of the electronics in the project, including the power supplies, MA860H motor controller, a pair of endstop switches, and the Arduino that pulls it all together. A drag chain is used to keep the wires tight to the side of the rail without getting tangled up in anything.

[MakerMan] doesn’t explain much of the software side of this one, though we suppose he might only have been contracted to develop the hardware. But towards the end of the video you can see how the cart, now with large touch screen display mounted on top, moves back and forth when the appropriate commands are sent to the Arduino.

We’re not really sure what application such a contraption would have for the average hacker, but that doesn’t mean we can’t be jealous. There’s just something about huge illuminated screens that just speaks to us.

source https://hackaday.com/2020/09/28/sliding-screen-has-wheels-will-travel/

Voice Controlled Sofa Meets Your Every Beverage Need

It’s often taken for grated, but the modern world is full of luxuries. Home automation, grocery delivery, and even access to the Internet are great tools to have at hand, but are trivial to most of us. If these modern wonders are not enough for you, and the lap of luxury is still missing a certain je ne sais quoi, allow us to introduce you to the ultimate convenience: a voice controlled, beer-dispensing sofa with a built-in refrigeration system.

This is a project from [Garage Avenger] and went through a number of iterations before reaching this level of polish. Metal work on the first version didn’t fit together as expected, and there were many attempts at actual refrigeration before settling on repurposing an actual refrigerator. With those things out of the way, he was able to get to the meat of a project. The couch-refrigerator holds 12 beers, and they are on a conveyor belt which automatically places the next beer onto the automated drawer. When commanded (by voice, app, or remote) the sofa opens the drawer so the occupant can grab one easily without having to move more than an arm. Everything, including the voice recognition module, is controlled by an Arduino, as is tradition.

The attention to detail is excellent as well. The remote control contains a built-in bottle opener, for one, there are backlights and a glass cover for the refrigerator, and the drawer is retracted automatically when it senses the beer has been obtained. We couldn’t ask for much more from our own couches, except maybe that they take us where we want to go. But maybe it’s best to keep these two couch use cases separate for now.

source https://hackaday.com/2020/09/28/voice-controlled-sofa-meets-your-every-beverage-need/

It’s Bake for Family Fun Month, so get baking

Bake for Family Fun Month allows you to bake delicious things while spending quality time with your family. It also gives your children the opportunity to learn new skills in the process. Need new baking equipment? Find it on Junk Mail today.

Mom and daughter baking | Junk Mail
Photo Source – www.freepik.com

What is Bake for Family Fun Month?

Baking is a fun activity that has a long
history of bringing family and friends together. Bake for Family Fun Month preserves this ancient
tradition and brings attention to this enjoyable task. The tactile experience
of baking has
numerous benefits for adults and children alike. Not only will you be making
delicious treats to share with each other, but you’ll also be creating
priceless memories of family bonding.

Bake for family fun month | Junk Mail
Photo Source – www.freepik.com

Tips for baking with kids

  • Have fun

Don’t
take baking with
your little ones too seriously. Focus on creating an enjoyable experience and
spending time together as a family. Keep your sense of humour during those
chaotic moments when everything seems to be going off track.

  • Be prepared

If
you’re baking with
little ones, make sure that you read through the recipe and prepare the
ingredients beforehand. Younger children will need an explanation and
demonstration of each step of the process. Choose a short and easy recipe or
split up the process into two sessions to accommodate the short attention spans
of younger children. You could also divide up tasks by giving older children
more complicated instructions while allowing young children to do simple tasks
like stirring.

  • Don’t rush

Set
aside plenty of time to spend together baking as a family. Baking together is sure to take much longer than
if you were in the kitchen alone. If you have limited time, it can become
frustrating to try and complete the activity quickly.

  • Clean up

Teach
your kids to wash their hands before and after baking. Show them how to clean the countertops and
pack away the ingredients that are no longer needed. These steps teach children
good hygiene as well as good kitchen habits.

  • Get the right equipment

Make
sure that you have all the equipment necessary to follow the recipe. Check that
you have the right size baking
pans and measuring utensils before you get started. Put all the equipment
together on the kitchen counter so that you don’t have to disrupt your baking fun by searching
for something that’s missing.

Family baking for fun | Tips for baking with kids | Junk Mail
Photo Source – www.freepik.com

Baking inspiration

Can’t
decide what to bake? Here are some ideas to inspire you:

  • Chocolate
    brownies
  • Heart-shaped
    cookies
  • Cupcakes
  • Fudge
  • Muffins
  • Macaroons
  • Butterfly
    cakes
  • Oat
    crunchies
  • Chocolate
    chip cookies
  • Banana
    bread
  • Scones
Bake cupcakes | Bake for family fun month | Junk Mail
Photo Source – www.pixabay.com

Safety tips for parents when baking with your children

  • Supervise children

Make
sure that your children are supervised in the kitchen. Don’t leave them
unattended even for a short while as accidents can happen quickly.

  • Use the backburners

Place
pots and pans on the backburners so that young children can’t reach them. This
helps to decrease the risk of them grabbing the handle of a pot and burning
themselves.

  • Knives are for adults

Younger
children should be taught never to pick up a sharp knife. If you have older
children baking
with you, teach them to use sharp tools responsibility and make sure that you
supervise them.

  • Check equipment

Make
sure that all your equipment is in good working order and that it is safe to
use. Check that the handles of pots and pans are fastened securely.

  • Ovens are for adults

Make
sure your children know they shouldn’t open the oven. Check that they’re out of
harm’s way when you open and close the oven as the heat can cause them to burn.

  • Pack away electronic devices

Avoid
using your phone unnecessarily when you’re baking in the kitchen. Electronic devices disrupt
the quality time that you’re spending together as a family, but they can also
distract you from potential hazards.

Family baking | Tips for baking with kids | Junk Mail
Photo Source – www.freepik.com

Now that you’re feeling inspired, you can enjoy Bake for Family Fun Month. Find baking equipment and utensils for sale on Junk Mail and enjoy making delicious treats with your loved ones.

A Elegant Modular Enclosure System For The Raspberry Pi 4

[NODE] has been experimenting with Raspberry Pi servers and mini computers for a long time, and knows all too well how the wiring can quickly turn into a rat’s nest. His latest creation is  the Mini Server version 3, a modular enclosure system for the Raspberry Pi 4, is designed to turn it into practical computing box.

The basic enclosure is a 92 mm x 92 mm x 26 mm 3D printed frame with a custom PCB top cover. One of the main goals was to collect all the major connectors on one side and make the micro SD slot easily accessible. To do this [NODE] created a set of custom PCB adaptors to route the USB-C and an HDMI port to the same side as the other USB ports, and move the micro SD slot to the bottom of the enclosure. A low profile adaptor was also designed to connect a mSATA SSD to one of the USB 3 ports, and there is space inside the enclosure for one or two cooling fans. Unlike previous version of the mini server, no hardware modifications are required on the Pi itself.

The only downside that we can see is that it doesn’t allow external access to the GPIO ports, but the entire project is open source specifically to allow people to make their own modifications.

[NODE] is a big fan of turning Raspberry Pis into custom computing devices, ranging from small terminal devices and pocket servers, to complete laptops.

source https://hackaday.com/2020/09/28/a-elegant-modular-enclosure-system-for-the-raspberry-pi-4/

Boot Sector Pong as a Crash Course in Assembly

Have you ever wanted to develop a playable game small enough to fit into a disk’s 512 byte boot sector? How about watching somebody develop a program in assembly for nearly two hours? If you answered yes to either of those questions, or ideally both of them, you’re going to love this project from [Queso Fuego].

Whether you just want to check out the public domain source code or watch along as he literally starts from a blank file and codes every line for your viewing pleasure, chances are good that you’ll pick up a trick or two from this project. For example, he explains how all of the “graphics” in the game are done in 80 x 25 text mode simply by setting the background color of character cells without printing any text to them.

We really like the presentation in the video after the break, which was recorded over the course of multiple days, judging by the changing light levels in the background. As he types out each line of code, he explains what its function is and gives any background information necessary to explain how it will fit into the larger program. If you’ve ever wondered if you had what it takes to program in ASM, watching this video is a great way to decide.

[Queso Fuego] mentions that this project, and his research into this sort of low-level programming, came about due to the social distancing boredom that many of us are feeling. While we’re certainly not advocating for him to kept locked in his home permanently, with projects like this, you’ve got to admit it seems like a win for the rest of us.

[Thanks to Joe for the tip.]

source https://hackaday.com/2020/09/28/boot-sector-pong-as-a-crash-course-in-assembly/

Already Have that Book? Get the ISBN 411 Over IoT

Have you ever been at the bookstore and stumbled across a great book you’ve been looking for, but had a nagging feeling that you already had it sitting at home? Yeah, us too. If only we’d had something like [Kutluhan Aktar]’s ISBN verifier the last time that happened to say for sure whether we already had it.

To use this handy machine, [Kutluhan] enters the International Standard Book Number (ISBN) of the book in question on the 4 x 4 membrane keypad. The Arduino Nano 33 IoT takes that ISBN and checks it against a PHP web database of book entries [Kutluhan] created with the ISBN, title, author, and number of pages. Then it lets [Kutluhan] know whether they already have it by updating the display from a Nokia 5110.

If you want to whip one of these up before your next trip to the bookstore, this project is completely open source down the web database. You might want to figure out some sort of enclosure unless you don’t mind the shy, inquisitive stares of your fellow bookworms.

Stalled out on reading because you don’t know what to read next? Check out our Books You Should Read column and get back to entertaining yourself in the theater of the mind.

Via r/duino

source https://hackaday.com/2020/09/27/already-have-that-book-get-the-isbn-411-over-iot/

Hackaday Links: September 27, 2020

Hardly a week goes by without a headline screaming about some asteroid or another making a close approach to Earth; it’s only by reading the fine print that we remember what an astronomer’s definition of “close” means. Still, 2020 being what it is, it pays to stay on top of these things, and when you do the story can get really interesting. Take asteroid 2020 SO, a tiny near-Earth asteroid that was discovered just last week. In a couple of weeks, 2020 SO will be temporarily captured into Earth orbit and come with 50,000 km near the beginning of December. That’s cool and all, but what’s really interesting about this asteroid is that it may not be a rock at all. NASA scientists have reverse-engineered the complex orbit of the object and found that it was in the vicinity of Earth in late 1966. They think it may be a Centaur booster from the Surveyor 2 moon mission, launched in September 1966 in the runup to Apollo. The object will be close enough for spectral analysis of its. surface; if it’s the booster, the titanium dioxide in the white paint should show up loud and clear.

Lasers are sort of forbidden fruit for geeks — you know you can put an eye out with them, and still, when you get your hands on even a low-power laser pointer, it’s hard to resist the urge to shine it where you shouldn’t. That includes into the night sky, which as cool as it looks could be bad news for pilots, and then for you. Luckily, friend of Hackaday Seb Lee-Delisle has figured out a way for you to blast lasers into the night sky to your heart’s content. The project is called Laser Light City and takes place in Seb’s home base of Brighton int he UK on October 1. The interactive installation will have three tall buildings with three powerful lasers mounted on each; a smartphone app will let participants control the direction, shape, and color of each beam. It sounds like a load of fun, so check it out if you’re in the area.

We got an interesting story from a JR Nelis about a quick hack he came up with to help his wife stay connected. The whole post is worth a read, but the short version of the story is that his wife has dementia and is in assisted living. Her landline phone is her social lifeline, but she can’t be trusted with it, lest she makes inappropriate calls. His solution was to modify her favorite cordless phone by modifying the keypad, turning it into a receive-only phone. It’s a sad but touching story, and it may prove useful to others with loved ones in similar situations.

We pay a lot of attention to the history of the early computer scene, but we tend to concentrate on computers that were popular in North America and the UK. But the Anglo-American computers were far from the only game in town, and there’s a new effort afoot to celebrate one of the less well-known but still important pioneer computers: the Galaksija. Aside from having a cool name, the Yugoslavian Z80 computer has a great story that will be told in documentary form, as part of the crowdsourced Galaksija project. The documentary stars our own Voja Antonic, who was key to the computer’s development. In addition to the film, the project seeks to produce a replica of the Galaksija in kit form. Check out the Crowd Supply page and see if it’s something you’re willing to back.

There’s an interesting new podcast out there: the Pick, Place, Podcast. Hosted by Chris Denney and Melissa Hough, it comes out every other week and is dedicated to the electronic assembly industry. They’ve currently got eight episodes in the can ranging from pick and place assembly to parts purchasing to solder paste printing. If you want to learn a little more about PCB assembly, this could be a real asset. Of course don’t forget to make time for our own Hackaday Podcast, where editors Mike and Elliot get together to discuss the week in hardware hacking.

source https://hackaday.com/2020/09/27/hackaday-links-september-27-2020/

Food Dispenser Shakes And Rattles

[Elite Worm] follows a strict diet that involves regularly mixing dry ingredients in varying proportions. The task grew tedious, and thus automation became a tantalising prospect. Enter the DIY shaking food dispenser.

The machine has a simple touch screen interface, with an Atmega328P running the show behind the scenes. The user can store a series of profiles, which each correspond to a different mixture of four base ingredients. Dealing with dry ingredients like oats, chia, and flax, shaking is often necessary to get things moving. To achieve this, the rig packs a hefty DC motor up top, which turns an eccentric shaft, shaking the whole rig. Each ingredient hopper has a servo-controlled nozzle, so ingredients can be dispensed in turn, with a load cell in the base measuring the weight delivered.

It’s a neat system, though [Elite Worm] notes that the device shakes just a little too much, and suspects it won’t hold up in the long term. We suspect a less violent, higher frequency vibration might be less hard on the components, but we’re sure there’ll be some quality engineering going into the next build. We’ve seen [Elite Worm]’s work here before, too. Video after the break.

source https://hackaday.com/2020/09/27/food-dispenser-shakes-and-rattles/

DIYing a High End Camera Arm

One of the first purchases for anyone looking to shoot video should be a tripod. Key to getting clean and stable shots, they can nevertheless be limiting in their range of motion. Wanting something a little more high-end, but dissatisfied with the high cost of commercial options, [Alexandre Chappel] decided to build his own camera arm.

The build is based around square alumiunium tubing, with the high-tolerance material acting as the arm’s vertical and horizontal rails. 3D printed brackets and adapters are used to bolt everything together, along with several printed components used as drilling guides to help accurately machine the aluminium tubes. Adjustment is built into the carriages that travel along the rails, to help account for any slop in the 3D printed parts. A counterweight system is then installed to ensure the camera doesn’t hit the floor when not in the locked position.

It’s a tidy build, and one that has given [Alexandre] far more flexibility to shoot than his existing tripods. Additionally, adjusting the camera position is much quicker than before. Of course, when you’re building your own rigs, the sky is the limit. Video after the break.

[Thanks to Keith Olson for the tip!]

source https://hackaday.com/2020/09/27/diying-a-high-end-camera-arm/