Hardware For Deep Neural Networks

In case you didn’t make it to the ISCA (International Society for Computers and their Applications) session this year, you might be interested in a presentation by [Joel Emer] an MIT  professor and scientist for NVIDIA. Along with another MIT professor and two PhD students ([Vivienne Sze], [Yu-Hsin  Chen], and [Tien-Ju Yang]), [Emer’s] presentation covers hardware architectures for deep neural networks.

The presentation covers the background on deep neural networks and basic theory. Then it progresses to deep learning specifics. One interesting graph shows how neural networks are getting better at identifying objects in images every year and as of 2015 can do a better job than a human over a set of test images. However, the real key is using hardware to accelerate the performance of networks.

Hardware acceleration is important for several reasons. For one, many applications have lots of data associated. Also, training can involve many iterations which can take a long time.

Continue reading “Hardware For Deep Neural Networks”

Language Parsing With ANTLR

There are many projects that call out for a custom language parser. If you need something standard, you can probably lift the code from someplace on the Internet. If you need something custom, you might consider reading [Federico Tomassetti’s] tutorial on using ANTLR to build a complete parser-based system. [Frederico] also expanded on this material for his book, but there’s still plenty to pick up from the eight blog posts.

His language, Sandy, is complex enough to be a good example, but not too complex to understand. In addition to the posts, you can find the code on GitHub.

Continue reading “Language Parsing With ANTLR”

Raspberry Pi AI Plays Piano

[Zack] watched a video of [Dan Tepfer] using a computer with a MIDI keyboard to do some automatic fills when playing. He decided he wanted to do better and set out to create an AI that would learn–in real time–how to insert style-appropriate tunes in the gap between the human performance.

If you want the code, you can find it on GitHub. However, the really interesting part is the log of his experiences, successes, and failures. If you want to see the result, check out the video below where he riffs for about 30 seconds and the AI starts taking over for the melody when the performer stops.

Continue reading “Raspberry Pi AI Plays Piano”

19 RTL-SDR Dongles Reviewed

Blogger [radioforeveryone] set out to look at 19 different RTL-SDR dongles for use in receiving ADS-B (that’s the system where airplanes determine their position and broadcast it). Not all of the 19 worked, but you can read the detailed review of the 14 that did.

Granted, you might not want to pick up ADS-B, but the relative performance of these inexpensive devices is still interesting. The tests used Raspberry PI 3s and a consistent antenna and preamp system. Since ADS-B is frequently sent, the tests were at least 20 hours in length. The only caveat: the tests were only done two at a time, so it is not fair to directly compare total results across days.

Continue reading “19 RTL-SDR Dongles Reviewed”

The (Robot) Body Electric

If you deal with electronics, you probably think of static electricity as a bad thing. It blows up MOSFETs and ICs and we take a lot of pains to prevent that kind of damage. But a start-up company called Grabit is using static electricity as a way to allow robots to manipulate the real world. In particular, Nike is using these robots to build shoes. You can see a demo video, below.

Traditional robots use human-like hands or claw-like grippers to mimic how humans handle material. But Grabit has multiple patents on electroadhesion. The original focus was wall-climbing robots, but the real pay off has been in manufacturing robots since the electrostatic robots can do things that mechanical hands are a long way from duplicating.

Continue reading “The (Robot) Body Electric”

Linux Graphics Programming

There was a time when embedded system developers didn’t need to worry about graphics. When you have a PIC processor and two-line LCD, there isn’t much to learn. But if you are deploying Linux-based systems today, graphics are a real possibility. There are many options for doing Linux graphics including Wayland, X11, and frame buffers. Confused? This tutorial can help. The sections on Wayland and Mir are under construction, but that’s probably not what you are going to be using on a typical hacker project for the foreseeable future, anyway.

Of course, even inside those broad categories, you have multiple choices. If you are doing X11, for example, you can go low-level or pick any of a number of high-level libraries.

Continue reading “Linux Graphics Programming”

A Diode By Any Other Name

As active devices go, it doesn’t get much simpler than a diode. Two terminals. Current flows in one direction and not in the other. Simple, right? Well, then there are examples with useful side effects like light emitting diodes. [GreatScott] points out that there are other useful diodes and, in particular, he posted a video covering Schottky and Zener diodes.

These special diodes have particular purposes. A Schottky diode has a very low voltage drop and fast switching speed. Zener diodes have application in simple voltage regulation.

Continue reading “A Diode By Any Other Name”