Vector Network Analyzer Uses SoC FPGA

If you are working with AC circuits a vector network analyzer (VNA) is quite handy. As an entry to the InnovateFPGA competition for students, [Evgenii Vostrikov], [Danila Nikiforovskii], and [Daniil Smirnov] created a VNA using a DE10-Nano, high-speed analog to digital and digital to analog converters, and a circulator. Most of the details are in the video below, and on the project’s GitHub page.

The DE10-Nano has a dual-core ARM processor and an Altera FPGA in one package. That allows you to use the CPUs where that makes sense and still leverage the FPGA where you need high performance.

The circulator uses an op-amp to allow the test signal to route to the device under test, while steering any reflected signal back to the device for measurement. The design also uses a lock-in amplifier, something we’ve talked about a few times recently. This allows less expensive converters to generate magnitude and phase information.

Judging by the fan in the video, we suspect the setup gets a little toasty. The GitHub page has a lot of Russian on it, so we aren’t sure how much we could puzzle out since our Russian skills were mostly from watching the Adventures of Moose and Squirrel.

If you are interested in a VNA, they aren’t as expensive as they used to be. Particularly, if you roll your own and already have some things in your junk box.

Continue reading “Vector Network Analyzer Uses SoC FPGA”

Neural Networks… On A Stick!

They probably weren’t inspired by [Jeff Dunham’s] jalapeno on a stick, but Intel have created the Movidius neural compute stick which is in effect a neural network in a USB stick form factor. They don’t rely on the cloud, they require no fan, and you can get one for well under $100. We were interested in [Jeff Johnson’s] use of these sticks with a Pynq-Z1. He also notes that it is a great way to put neural net power on a Raspberry Pi or BeagleBone. He shows us YOLO — an image recognizer — and applies it to an HDMI signal with the processing done on the Movidius. You can see the result in the first video, below.

At first, we thought you might be better off using the Z1’s built-in FPGA to do neural networks. [Jeff] points out that while it is possible, the Z1 has a lower-end device on it, so there isn’t that much FPGA real estate to play with. The stick, then, is a great idea. You can learn more about the device in the second video, below.

Continue reading “Neural Networks… On A Stick!”

Sharpening With Bluetooth

Few things are as frustrating in the kitchen as a dull knife. [Becky] and her chef friend collaborated to build a Bluetooth module to tell you when you are sharpening a knife at the optimum angle. That might sound a little specialized, but the problem boils down to one that is common enough in a lot of situations: how do you tell your exact orientation while in motion? That is, with the knife moving rapidly back and forth over the sharpening stone, how can you measure the angle of the blade reliably?

Looking for a challenge, [Becky’s] first attempt was to just use an accelerometer. It worked, but it wasn’t very precise. Her final answer turned out to be a full inertial measurement unit — the BNO055 — that combines an accelerometer, a magnetometer, and a gyroscope along with enough smarts to fuse the data into actual position data.

Continue reading “Sharpening With Bluetooth”

Real-Time Audio For The PocketBeagle

The BeagleBone has long been a favorite for real-time I/O, and now with the release of the PocketBone — the tiny key fob-sized BeagleBone — there are ever increasing uses for this tiny little programmable real-time Linux module. The Bela Mini, just released, is the latest add-on cape to take advantage of the processing power of the micro-sized PocketBone.

The Bela Mini is a shrinkification of the original Bela, a cape add-on for the BeagleBone. The original breaks out eight analog inputs and eight analog outputs, both sixteen-bits deep. With the addition of powered speaker outputs, the Bela turns the BeagleBone into the perfect tiny audio-Linux-thing, with a special emphasis on Pure Data and other audio wizardry.

The Bela Mini does away with the powered speaker outputs, and instead replaces those ports with stereo audio in and stereo audio out on a three-pin connector. Compared to the original Bela, the Mini loses the eight sixteen-bit analog outputs, but still keeps the analog inputs.

There have been many attempts to add real-time audio to microcontrollers and Linux boards, but few examples have lived up to the hype. Most of the time, this comes down to the choice of microcontroller or module; an ATmega-based Arduino doesn’t have real analog outputs and instead relies on PWMing a digital signal. A Raspberry Pi-based Pure Data box does not have a real-time I/O. This is where the choice of the PocketBone shows its strength. The PocketBone uses the same chip as the BeagleBone, and with that comes the Programmable Real-Time Units (PRUs). This enables the Bela to interface with signals with a dedicated controller in real-time. It’s exactly what you want for audio applications.

Mbed Labs Chock Full Of Arm Goodies

One of the things we like about ARM processors is that there are a variety of options for library support. You can write your own code at the bare metal, of course, but you can also use many different abstraction libraries to make things easier. At the other end of the spectrum, there is Mbed, similar to the sort of libraries that Arduino supplies. Easy to use, although not always the best possible performance. Mbed now has an Mbed Labs site with a lot of extra goodies that go with the Mbed ecosystem, and it has quite a few interesting things.

You’ve always been able to write Mbed code in your browser — some people love that and some hate it and use locally-hosted tools like Platform.io. However, with the Mbed Lab, you can build and most importantly simulate your code in the browser (something we covered last year). There’s also a Javascript interpreter that runs on your chip, a small implementation of TensorFlow for deep learning, and a few other projects on the page.

Continue reading “Mbed Labs Chock Full Of Arm Goodies”

It’s Curtains For Blu Chip

In theory, there is no reason you can’t automate things all over your house. However — unless you live alone — you need to consider that most people won’t accept your kludgy looking circuits on a breadboard hanging everywhere. Lighting has become easy now that there are a lot of commercial options. However, there are still plenty of things that cry for automation. For [jeevanAnga], the curtains were crying out for remote control.

Since cellphones are ubiquitous, it makes sense to use the phone as a controller and BlueTooth Low Energy (BLE) is perfect for this kind of application. But you can’t hang a big ugly mess of wires off the curtain rods. That’s why [jeevanAnga] used a tiny (16.6 x 11.5 mm) BLE board knows as a BluChip.

We didn’t verify it, but [jeevanAnga] claims it is the smallest BLE board available, and it is certainly tiny. You can see the result in the video below.

Continue reading “It’s Curtains For Blu Chip”

Hands On With PocketBeagle

[Ken Shirriff] is no stranger to the pages of Hackaday. His blog posts are always interesting, and the recent one talking about the PocketBeagle is no exception. If you are old enough to remember the days when a Unix workstation set you back tens of thousands of dollars, you won’t be able to help yourself marveling at a Linux computer with 45 I/O pins, 8 analog inputs, 512M of RAM, and a 1 GHz clock, that fits in your pocket and costs $25. What’s more the board’s CPU has two 200 MHz auxiliary CPUs onboard to handle I/O without having to worry about Linux overhead.

These last parts are significant, and although the Beagles have had this feature for years ([Ken] talked about it earlier), the access and communication methods for using these slave processors has become easier. [Ken] shows a small snippet of C code that outputs a 40 MHz square wave no matter what the Linux OS is doing. In this way you can use Linux for the parts of your application that are not that critical, and use the slave processors to handle real time processing.

Continue reading “Hands On With PocketBeagle”