Pong On Industrial Controllers

Programmable Logic Controllers (PLCs) are a staple of control automation. Sometime in the 60s or 70s, they replaced a box full of relays to implement the kind of “if-this-then-that” logic that turns thermostats on or directs machinery. Sometime in the 90s or 2000s, some more computing power was added, giving us the Programmable Automation Controller (PAC). And if reading Hackaday has taught us anything, it’s that if you give people a little bit of computing power, they’ll implement Pong (or Snake or Doom!).

We were sent a link where [AbsolutelyAutomation] does just that: implements a remotely-playable Pong on a bit of industrial control. Even if you don’t have a PAC sitting around, the details are interesting.

The first step is to get graphics out of the thing. The PAC in question is already able to speak Ethernet, so it’s “just” a matter of sending the right packets. Perhaps the simplest way to go is to implement the remote framebuffer (RFB) protocol from VNC, and then use a VNC client on the PC to send the graphics. (As they point out [CNLohr] has done this quite nicely on the ESP8266 (YouTube) as well.) So an RFB library was written. [AbsolutelyAutomation] points out that this could be used to make boring things like user-friendly configuration and monitoring screens. (Yawn!)

Graphics done, it’s easy to add a Pong layer over the top, using the flowchart-based programming interface that makes homage to the PLC/PAC’s usual function as an industrial controller. (Oddly enough, it seems to compile to a Forth dialect to run on the PAC.) And then you’re playing. There’s code and a (PDF) writeup available if you want more info. If you don’t have a PAC to run it on, the manufacturers have a simulator for you.

We’ve never worked with a PLC/PAC, but we know the hacker spirit when we see it. And making something that’s usually located in the boiler room play video games is aces in our book. This sparks a memory of an industrial control hacking room at DEF CON a few years back. Maybe this is the inspiration needed to spend some time in that venue this year.

We know we’ve got controls engineers out there. What’s the strangest thing you’ve programmed into a PLC?

Roll Your Own Amazon Echo On A Raspberry Pi

Speech recognition coupled with AI is the new hotness. Amazon’s Echo is a pretty compelling device, for a largish chunk of change. But if you’re interested in building something similar yourself, it’s just gotten a lot easier. Amazon has opened up a GitHub with instructions and code that will get you up and running with their Alexa Voice Service in short order.

If you read Hackaday as avidly as we do, you’ve already read that Amazon opened up their SDK (confusingly called a “Skills Kit”) and that folks have started working with it already. This newest development is Amazon’s “official” hello-world demo, for what that’s worth.

There are also open source alternatives, so if you just want to get something up and running without jumping through registration and licensing hoops, you’ve got that option as well.

Whichever way you slice it, there seems to be a real interest in having our machines listen to us. It’s probably time for an in-depth comparison of the various options. If you know of a voice recognition system that runs on something embeddable — a single-board computer or even a microcontroller — and you’d like to see us look into it, post up in the comments. We’ll see what we can do.

Thanks to [vvenesect] for the tip!

DIY Active Sub-GHz Differential Scope Probe

Fancy measurement gear is often expensive to buy, but some bits of kit are entirely DIY’able if you’re willing to put a little work into the project. [Christer Weinigel] needed to get some measurements of a differential clock signal that was ticking away around 500 MHz. El-cheapo probes aren’t going to cut it here. They won’t have the bandwidth and most off-the-rack probes are single-ended, that is they’re referenced to ground. [Christer] needed the difference between two balanced signals, neither of which is grounded. In short, [Christer] needed a high-frequency active differential oscilloscope probe, and they’re not cheap. So he built one himself.

simulation-schematicThe circuit in the probe is really just an instrumentation amplifier design with a modified input stage and a 50 ohm output impedance. (See this article on in-amps if you need to brush up.) With higher frequencies like this, it’s going to be demanding on the op-amp, so [Christer] spent some time simulating the circuit to make sure it would work with his chosen part. Then he made up a bunch of PCB designs and had them made. Actual results matched fairly well with the simulation.

With some minor tweaking on the input damping resistors, he got a tool that’s dead flat up to 300 MHz, and totally usable up to 850 MHz. If you tried to buy one of these, it’d set you back the cost of a few hundred lattes, but this one can be made for the price of one or two if you get the PCBs done cheaply. Of course, the design files are available for your own use. Kudos [Christer].

Edit: By total coincidence, Bil Herd just posted a video intro to differential signals. Go check it out.

And thanks to [nebk] for the tip!

Peering Inside The GPU Black Box

Researchers at Binghamton University have built their own graphics processor unit (GPU) that can be flashed into an FGPA. While “graphics” is in the name, this GPU design aims to provide a general-purpose computing peripheral, a GPGPU testbed. Of course, that doesn’t mean that you can’t play Quake (slowly) on it.

The Binghamton crew’s design is not only open, but easily modifiable. It’s a GPGPU where you not only know what’s going on inside the silicon, but also have open-source drivers and interfaces. As Prof. [Timothy Miller] says,

 It was bad for the open-source community that GPU manufacturers had all decided to keep their chip specifications secret. That prevented open source developers from writing software that could utilize that hardware. With contributions from the ‘open hardware’ community, we can incorporate more creative ideas and produce an increasingly better tool.

That’s where you come in. [Jeff Bush], a member of the team, has a great blog with a detailed walk-through of a known GPU design. All of the Verilog and C++ code is up on [Jeff]’s GitHub, including documentation.

If you’re interested in the deep magic that goes on inside GPUs, here’s a great way to peek inside the black box.

FBI Vs Apple: A Postmortem

By now you’ve doubtless heard that the FBI has broken the encryption on Syed Farook — the suicide terrorist who killed fourteen and then himself in San Bernardino. Consequently, they won’t be requiring Apple’s (compelled) services any more.

A number of people have written in and asked what we knew about the hack, and the frank answer is “not a heck of a lot”. And it’s not just us, because the FBI has classified the technique. What we do know is that they paid Cellebrite, an Israeli security firm, at least $218,004.85 to get the job done for them. Why would we want to know more? Because, broadly, it matters a lot if it was a hardware attack or a software attack.

Continue reading “FBI Vs Apple: A Postmortem”

You Speak, Your Scope Obeys

We’ve been scratching our heads about the various voice-recognition solutions out there. What would you really want to use one for? Turning off the lights in your bedroom without getting up? Sure, it has some 2001: A Space Odyssey flare flair, but frankly we’ve already got a remote control for that. The best justification for voice control, in our mind, is controlling something while your hands or eyes are already busy.

[Patrick Sébastien Coulombe] clearly has both of his hands on his oscilloscope probes. That’s why he developed Speech2SCPI, a quick mash-up of voice recognition and an oscilloscope control protocol. It combines the Julius open-source speech recognizer project with the Standard Commands for Programmable Instruments (SCPI) syntax to make his scope obey his every command. You’ve got to watch the video below the break to believe how well it works. It even handles his French accent.

Continue reading “You Speak, Your Scope Obeys”

Dirt-Cheap USB Arduino Hack From The Past

Mass production is a wonderful thing. Prices fall, and hobby hackers get cheap gear. The mind then wanders towards what can be done with it. So it’s little wonder that someone like [Aaron Christophel] would try to repurpose those sub-$3 AVR programmers that are all over eBay (translated poorly out of German here, but demonstrated in the video embedded below).

[Aaron] didn’t have to do much, really. The only trick is that you’ll first need to re-flash the existing ISP firmware with one that lets you upload code to the device itself over USB. If you don’t have an Arduino on hand to re-flash, buy at least two of the cheap programmers — one to program the other ones. Once you’ve done that, you have essentially an Arduino with limited pinout and two onboard LEDs, but in a nice small form-factor and with built-in USB. [Aaron] even provides an Arduino boards.txt file to make it all work smoothly within the IDE.

Continue reading “Dirt-Cheap USB Arduino Hack From The Past”