Shmoocon: Delightful Doppler Direction Finding With Software Defined Radio

When it comes to finding what direction a radio signal is coming from, the best and cheapest way to accomplish the task is usually a Yagi and getting dizzy. There are other methods, and at Shmoocon this last weekend, [Michael Ossmann] and [Schuyler St. Leger] demonstrated pseudo-doppler direction finding using cheap, off-the-shelf software defined radio hardware.

The hardware for this build is, of course, the HackRF, but this pseudo-doppler requires antenna switching. That means length-matched antennas, and switching antennas without interrupts or other CPU delays. This required an add-on board for the HackRF dubbed the Opera Cake. This board is effectively an eight-input antenna switcher using the state configurable timer found in the LPC43xx found on the HackRF.

The key technique for pseudo-doppler is basically switching between an array of antennas mounted in a circle. By switching through these antennas very, very quickly — on the order of hundreds of thousands of times per second — you can measure the Doppler shift of a transmitter.

However, teasing out a distinct signal from a bunch of antennas virtually whizzing about isn’t exactly easy. If you look at what the HackRF an Opera Cake receive on a waterfall display, you’ll find a big peak around where you expect, and copies of that signal trailing off, separated by whatever your antenna switching frequency is. This was initially a problem for [Schuyler] and [Ossmann]’s experiments. Spinning the antennas at 20 kHz meant there was only 20 kHz difference in these copies, resulting in a mess that can’t be decoded. The solution was to virtually spin these antennas much faster, resulting in more separation, and a clean signal.

There are significant challenges when it comes to finding the direction of modern radio targets. Internet of Things things sometimes have very short packet duration, modulation interferes with antenna rotation, and packet detection must maintain the phase. That said, is this technique actually able to find the direction of IoT garbage devices? Yes, the demo on stage was simply finding the direction of one of the wireless microphones for the talk. It mostly worked, but the guys have some ideas for the future that would make this technique work a little better. They’re going to try phase demodulation instead of only frequency-based demodulation. They’re also going to try asymmetric antenna arrays and pseudorandom antenna switching. With any luck, this is going to become an easy and cheap way to do pseudo-doppler direction finding, all enabled by a few dollars in hardware and a laser-cut jig to hold a few antennas.

Smooth stepper motor robot arm

Stepper Motor Robot Arm Has Smooth Moves

[Tobias Kuhn] had watched a YouTube video about a robot arm which used servo motors, and wanted to try making one himself. But he found it hard to get slow or smooth movements out of the servos. Even removing the microcontroller and trying to work with the servo’s driver-IC and potentiometer from an Arduino Nano didn’t get him satisfaction.

Then he found the very affordable 28BYJ-48 stepper motor. After some experimenting, he came up with a smooth moving robot arm with four steppers controlled from an Arduino Mega and A4988 stepper motor drivers. Rather than write a bunch of stepper motor code himself, he installed and ran a four-axis fork of grbl on the Arduino, turning it into a stepper motor controller. One minor hitch was that the A4988 motor drivers are for bipolar stepper motors but 28BYJ-48 steppers are unipolar. Luckily he knew of a very simple hack which our [Brian Benchoff] wrote about for turning a unipolar motor into a bipolar motor.

To tell the robot arm what to do, he built a replica arm with potentiometers in place of the stepper motors. As he manipulates the replica, the values of the potentiometers are read by a Raspberry Pi and some custom Python code which sends the appropriate G-code to the Arduino/grbl controlled robot arm. There’s a bit of a lag but when he moves the replica arm, the robot arm does the same move. See it in action in the video below.

Continue reading “Stepper Motor Robot Arm Has Smooth Moves”

Running Programs On Paper

It’s a simple fact that most programs created for the personal computer involve the same methods of interaction, almost regardless of purpose. Word processors, graphics utilities, even games – the vast majority of interaction is performed through a keyboard and mouse. However, sometimes it can be fun to experiment with alternative technologies for users to interact with code – Paper Programs is an exciting way to do just that.

Paper Programs is a combination of a variety of existing technologies to create a way of interacting with code which is highly tangible. The setup consists of a projector, and a webcam which can see the projected area, combined with Javascript programs running in a browser. Programs can be edited in the browser, then printed out with special coloured dots around the page. When the page is placed in the projection area, these dots identify the unique program and are picked up by the webcam, and the server executes the relevant code, projecting back onto the page.

It’s a system that creates a very tactile way of interacting with a program – by moving the page around or placing different pages next to each other, programs can interact in various ways. The system is setup for collaboration as well, allowing users to edit code directly in the browser.

The project reminds us of earlier works on DIY multitouch screens, but with a greater focus on direct engagement with the underlying code. What other unique ways exist to interact with code? Let us know in the comments.

Continue reading “Running Programs On Paper”

Tiny Programming Language In 25 Lines Of Code

There are certain kinds of programs that fascinate certain kinds of software hackers. Maybe you are into number crunching, chess programs, operating systems, or artificial intelligence. However, on any significant machine, most of the time those activities will require some sort of language. Sure, we all have some processor we can write hex code for in our head, but you really want at least an assembler if not something sturdier. Writing languages can be addictive, but jumping right into a big system like gcc and trying to make changes is daunting for anyone. If you want a gentle introduction, check out [mgechev’s] language that resides in 25 lines of Javascript.

The GitHub page bills it as a tiny compiler, although that is a bit misleading and even the README says it is a transpiler. Actually, the code reads a simple language, uses recursive descent parsing to build a tree, and then uses a “compiler” to convert the tree to JavaScript (which can then be executed, of course). It can also just interpret the tree and produce a numerical answer.

Continue reading “Tiny Programming Language In 25 Lines Of Code”

Reverse Engineering The TEC-06 Battery Tester

[Syonyk] read that you could solder a few wires to a TEC-06 battery capacity tester, connect it to a TTL serial adapter, and it would interface with some Windows software via a serial port. You can buy it already enabled for serial, but since he had the non-connected version, he was interested in trying it. Not only did it work, but he took the time to reverse engineer the protocol and made a detailed write up about his findings and how he attacked the problem.

Around here, we never need an excuse to reverse engineer anything. But [Synonyk] mentions that he didn’t like using Windows-only software from China. If he wants it on Linux, or if Windows compatibility breaks with a new version, or if the software has spyware in it, he wants to be able to continue using the device. Of course, he also admits — and we get it — that he just enjoys doing it, too.

Continue reading “Reverse Engineering The TEC-06 Battery Tester”

Shah Selbe: Science In The World’s Wildest Places

When we think of building research hardware, lab coats and pristine workbenches come to mind. Shah Selbe used to do something kind of like that when he was engineering satellite propulsion systems. But after putting twelve of them into space, he ditched the office gig and took his gear to some of the wildest places on earth. He’s an explorer and fellow with the National Geographic Society, and at the Hackaday Superconference he shared his experiences building research hardware that gathers data in incredibly remote places.

Shah makes a really good point about two very different trends in our world over the past several decades. While we’ve had unparalleled technological growth, we’ve also seen horrifying wildlife trends to the point that some scientists believe we’re currently in a sixth mass extinction event. But to know that for sure, and look for ways to prevent and reverse it, we need reliable data. This is a fascinating problem because the world is huge, and we simply can’t monitor everything.

Continue reading “Shah Selbe: Science In The World’s Wildest Places”

Teardown: What’s Inside A Christmas Laser Projector?

In the world of big-box retail, December 26th is a very special day. The Christmas music playing on the overhead speakers switches back to the family friendly Top 40, the store’s decorations get tossed in the compactor, and everything that’s even remotely related to the holiday is put on steep clearance. No more money to be made on the most commercialized of all holidays, so back to business as usual.

It’s in this narrow corridor of time, between the Great Holiday Unloading and the new spring products coming in, that you can find some fantastic deals on Christmas decorations. Not that long ago, this would hardly be exciting news for the readers of Hackaday. But Christmas lights and decorations have really started pushing the envelope in terms of technology: addressable RGB LED strands, Bluetooth controlled effects, and as of the last couple years, friggin’ lasers.

That’s right, you’ve seen them all over the neighborhood, probably took a few stray beams to the eye, you might even own your own. Laser projectors have been one of the most popular Christmas decorations for the last couple of years, and it’s not hard to see why. Just set the projector up in front of your house, and you’re done. No need to get on a ladder and string lights on the roof when you can just blast some directed energy up there instead.

Given how popular they are, I was surprised to see a lone Home Accents Holiday Multi-Color Light Projector on the clearance rack at Home Depot for around $14 a few days after Christmas. This was a 75% price reduction from normal MSRP, and right in that sweet impulse-buy price range. Let’s see what’s hiding inside!

Continue reading “Teardown: What’s Inside A Christmas Laser Projector?”