An Education on SoC using Verilog

[Bruce Land] is one of those rare individuals who has his own Hackaday tag. He and his students at Cornell have produced many projects over the years that have appeared on these pages, lately with FPGA-related projects. If you only know [Land] from projects, you are missing out. He posts lectures from many of his classes and recently added a series of new lectures about developing with a DE1 System on Chip (SoC) using an Altera Cyclone FPGA using Verilog. You can catch the ten lectures on YouTube.

The class material is different for 2017, so the content is fresh …read more

Paul Jacob Evans

Everything’s a Touch Surface with Electrick

Touch screens are great, but big touchscreens are expensive and irregular touchscreens are not easy to make at all. Electrik is a method developed by several researchers at Carnegie Mellon University that makes almost any solid object into a touch surface using tomography. The catch is that a conductive coating — in the form of conductive sheets, 3D plastic, or paint — is necessary. You can see a demonstration and many unique applications in the video below. They’ve even made a touch-sensitive brain out of Jell-O and a touchable snowman out of Play-Doh.

The concept is simple. Multiple electrodes surround …read more

Paul Jacob Evans

MATLAB and Simulink for Zynq

Although we see a lot of MATLAB use in industry and in academia, it isn’t as popular in the hacker community. That’s probably due to the cost. If you’ve ever wondered why companies will pay over $2000 for the base product, you might enjoy the video of a webinar covering using MATLAB and Simulink (a companion product) to program the CPU and FPGA on a Zynq Zedboard. Not interested because of the price? If you aren’t using it for commercial purposes, it isn’t as bad as you think.

MathWorks is one of those companies that likes to market by virtually …read more

Paul Jacob Evans

Rusty ARM

You’ve probably heard that Rust is a systems programming language that has quite the following growing. It purports to be fast like C, but has features like guaranteed memory and thread safety, generics, and it prevents segmentation faults. Sounds like just the thing for an embedded system, right? [Jorge Aparicio] was frustrated because his CPU of choice, an STM32 ARM Cortex-M didn’t have native support for Rust.

Apparently, you can easily bind C functions into a Rust program but that wasn’t what he was after. So he set out to build pure Rust programs that could access the device’s hardware …read more

Paul Jacob Evans

STM32 Analog Converter Phase Noise

[Avian] has been using STM32 ARM processors to sample RF for a variety of applications. At first, he was receiving relatively wide TV signals. Recently, though, he’s started dealing with very narrow signals and he found that his samples had a lot of spread in the frequency domain that he didn’t expect.

What followed was some detective work that resulted in a determination that phase noise was the culprit. But why? [Avian] took some measurements and noticed that the phase noise almost exactly matched the phase noise specification for the STM32’s phase locked loop (PLL).

Unfortunately, there didn’t seem to …read more

Paul Jacob Evans

Adding a debugger to a Teensy 3.5/3.6

The Teensy is a powerful ARM-based development board with loads of features that can do fun stuff with USB as well. Like many dev boards, it uses a less powerful processor as an interface. Teensy designer [Paul Stoffregen] added a debug header to allow direct SWD JTAG access to the main chip, but the interface microcontroller has to be silenced for that to work, and the code to do so is still in progress.

Impatient, [Erich Styger] documents the changes he made to add support for the J-Link SWD protocol by removing the offending NXP Kinetis KL02Z that serves as …read more

Paul Jacob Evans

New Part Day: The $239 Pi Clone

Linaro has announced a new ARM-based single board computer.

The HiKey 960, built in collaboration with 96Boards, gives the user 4 ARM Cortex-173 cores clocked at 2.4GHz, 4 ARM Cortex-A53 cores clocked at 1.8 GHz, a Mali GPU (ugh), 32GB of Flash storage, 3GB of LPDDR4, HDMI 1.2, WiFi, Bluetooth, USB 3.0 type A, PCIe on an M.2 connector, and a familiar 40-pin GPIO connector whose configuration is not published yet but is one we can make a very educated guess about. This is a powerful ARM-based single-board computer that’s the same size as a credit card.

This single board …read more

Paul Jacob Evans