Calibrating A VNA The Proper Way

Those of us who have bought cheap TinyVNA devices for our RF experimentation will be used to the calibration procedure involving short-circuit, 50 Ω, and open terminations, followed by a direct connection between ports. We do this with a kit of parts supplied with the device, and it makes it ready for our measurements. What we may not fully appreciate at the level of owning such a basic instrument though, is that the calibration process for much higher-quality instruments requires parts made to a much higher specification than the cheap ones from our TinyVNA. Building a set of these high-quality parts is a path that [James Wilson] has taken, and in doing so he presents a fascinating discussion of VNA calibration and the construction of standard RF transmission line components.

We particularly like the way that after constructing his short, load and open circuit terminations using high-quality SMA sockets, he put a custom brass fitting 3D printed by Shapeways on the end of each to make them easier to handle while preserving their RF integrity. If we’d bought a set of terminations looking like these ones as commercial products we would be happy with their quality, but the real test lay in their performance. Thanks to a friend he was able to get them tested on instruments with much heftier price tags, and found them to be not far short of the simulation and certainly acceptable within his 3 GHz range.

Curious about VNAs at the affordable end of the spectrum? We took a look at the TinyVNA, which while it is something of a toy is still good enough for lower frequency measurements.

Finally An Inexpensive Route To Digital Radio Listening

An inexorable trend over the last decade or more has been the exodus of AM radio stations from the low frequency and HF broadcast bands. The bandwidth and thus audio quality at these frequencies puts them at a disadvantage against FM and internet streamed services, and the long-distance advantage of HF has been reduced by easy online access to overseas content. The world has largely moved on from these early-20th-century technologies, leaving them ever more a niche service.

Happily for medium- and long-wave enthusiasts there is a solution to their decline, in the form of DRM, or Digital Radio Mondiale, a digital scheme that delivers cleaner audio and a range of other services in the same space as a standard-sized AM channel. DRM receivers are somewhat rare and usually not cheap though, so news of an Android app DRM receiver from Starwaves is very interesting indeed.

DRM uses a licensed encoding scheme from the Fraunhofer Institute, and this product follows on from a line of hardware DRM receivers that Starwave have developed using their technology. It uses the Android device as a front-end for any of a number of SDR receivers, including the popular RTL-SDR series. It supports the VHF variant of DRM, though we’re guessing that since the best chance of finding a DRM channel for experimentation is on HF that an RTL-SDR with the HF modification will be required. We think it’s an interesting development because the growth of DRM is a chicken-and-egg situation where there must be enough receivers in the wild for broadcasters to consider it viable.

Leap Motion Controls Hands With No Glove

It isn’t uncommon to see a robot hand-controlled with a glove to mimic a user’s motion. [All Parts Combined] has a different method. Using a Leap Motion controller, he can record hand motions with no glove and then play them back to the robot hand at will. You can see the project in the video, below.

The project seems straightforward enough, but apparently, the Leap documentation isn’t the best. Since he worked it out, though, you might find the code useful.

An 8266 runs everything, although you could probably get by with less. The Leap provides more data than the hand has servos, so there was a bit of algorithm development.

We picked up a few tips about building flexible fingers using heated vinyl tubing. Never know when that’s going to come in handy — no pun intended. The cardboard construction isn’t going to be pretty, but a glove cover works well. You could probably 3D print something, too.

The Unity app will drive the hand live or can playback one of the five recorded routines. You can see how the record and playback work on the video.

This reminded us of another robot hand project, this one 3D printed. We’ve seen more traditional robot arms moving with a Leap before, too. Continue reading “Leap Motion Controls Hands With No Glove”

MIT’s Hair-Brushing Robot Untangles Difficult Robotics Problem

Whether you care to admit it or not, hair is important to self-image, and not being able to deal with it yourself feels like a real loss of independence. To help people with limited mobility, researchers at MIT CSAIL have created a hair-brushing robot that combines a camera with force feedback and closed-loop control to adjust to any hair type from straight to curly on the fly. They achieved this by examining hair as double helices of soft fibers and developed a mathematical model to untangle them much like a human would — by working from the bottom up.

It may look like a hairbrush strapped to a robot arm, but there’s more to it than that. Before it ever starts brushing, the robot’s camera takes a picture that gets cropped down to a rectangle of pure hair data. This image is converted to grayscale, and then the program analyzes the x/y image gradients. The straighter the hair, the more edges it has in the x-direction, whereas curly hair is more evenly distributed. Finally, the program computes the ratio of straightness to curliness, and uses this number to set the pain threshold.

The brush is equipped with sensors that measure the forces being exerted on the hair and scalp as it’s being brushed, and compares this input to a baseline established by a human who used it to brush their own hair. We think it would be awesome if the robot could grasp the section of hair first so the person can’t feel the pull against their scalp, and start by brushing out the ends before brushing from the scalp down, but we admit that would be asking a lot. Maybe they could get it to respond to exclamations like ‘ow’ and ‘ouch’. Human trials are still in the works. For now, watch it gently brush out various wigs after the break.

Even though we have wavy hair that tangles quite easily, we would probably let this robot brush our hair. But this haircut robot? We’re not that brave.

Continue reading “MIT’s Hair-Brushing Robot Untangles Difficult Robotics Problem”

Using CanoPy To Visualize The CAN Bus

As cars have become more sophisticated electronically, understanding the CAN bus that forms the backbone of automotive digital systems has become more and more important for hacking cars. Inexpensive microcontroller CAN interfaces have made obtaining the raw CAN bus traffic trivial, but interpreting that traffic can be pretty challenging. In order to more easily visualize CAN traffic, [TJ Bruno] has developed CanoPy, a Python tool for visualizing CAN messages in real time.

A basic PC CAN interface simply dumps the bus’s message traffic into the terminal, while more sophisticated tools organize messages by the address of their intended recipients. Both of these approaches digitally lift the hood and let you examine what your car is thinking, but the wall-of-numbers approach makes finding the patterns that hold the keys to reverse engineering difficult. Automatically plotting the data with CanoPy makes finding correlations much easier, after which the text-based tools can be used to focus in on a few specific addresses.

Continue reading “Using CanoPy To Visualize The CAN Bus”

Reinventing The Wheel

You’ve got a perfectly working software library to do just exactly what you want. Why aren’t you using it? Some of you are already yelling something about NIH syndrome or reinventing the wheel — I hear you. But at least sometimes, there’s a good enough reason to reinvent the wheel: let’s say you want to learn something.

Mike and I were talking about a cool hack on the podcast: a library that makes a floppy drive work with an Arduino, and even builds out a minimalistic DOS for it. The one thing that [David Hansel] didn’t do by himself was write the FAT library; he used the ever-popular FatFS by [Elm-ChaN]. Mike casually noted that he’s always wanted to write his own FAT library from scratch, just to learn how it works at the fundamental level, and I didn’t even bat an eyelash. Heck, if I had the time, I’d want to do that too!

Look around on Hackaday, and you’ll see tons of hacks where people reinvent the wheel. In this superb soundbar hack, [Michal] spends a while working on the IR protocol by hand until succumbing to the call of IRMP, a library that has it all done for you. But if you read his writeup, he’s not sad; he learned something about IR protocols. This I2C paper tape reader is nothing if not a reinvention of the I2C wheel, but isn’t that the best way to learn?

Yes it is. Think back to the last class you took. The teacher or professor certainly explained something to you in reasonable detail — that’s the job after all. And then you got some homework to do by yourself, and you did it, even though you were probably just going over the same stuff that the prof and countless others have gone through. But by doing it yourself, even though it was “reinventing the wheel”, you learned the material. And I’d wager that you wouldn’t have learned it without.

Of course, when the chips are down and the deadline is breathing hot down your neck, that might be the right time to just include that tried-and-true library. But if you really want to learn something yourself, you have every right to reinvent the wheel.

Automate Your Poultry With CoopCommand

A fresh egg taken from beneath a slumbering hen is something to which the taste of a supermarket equivalent rarely compares. The satisfaction of having a contented flock does come at a price though, in the form of constant monitoring and husbandry of your poultry’s well-being. It’s a problem that [hms-11] has tried to address with CoopCommand, a system to automate the monitoring of and environment within a chicken coop. It controls a light to counteract for shorter winter days, warms their water when it’s cold, has a fan for cooling and ventilation on hot days, and a camera to keep any eye on them.

At its heart is an ATmega328 controlling the coop functions, and an ESP32 camera board for network connectivity and visual monitoring. An alphanumeric LCD and a set or buttons provide the interface, and all is fitted on a custom PCB in a smart 3D-printed housing. Meanwhile all the files can be found in a GitHub repository.

A machine cannot replace human care and attention when it comes to good animal husbandry, as there’s always an essential need for the poultry owner to attend to the needs of their charges. But a system like this one can make an important contribution to their welfare, with a consequent increase in their laying ability.