Simplifying Basic LED Effects

There was a time when having a blinking blue LED on a project was all you needed to be one of the cool kids. But now you need something more complex. LEDs should not just snap on, they should fade in and out. And blinking? Today’s hotness is breathing LEDs. If that’s the kind of project you want, you should check out [jandelgado’s] jled library.

At first glance, an Arduino library for LED control might seem superfluous, but if you are interested in nice effects, the coding for them can be a bit onerous. If you don’t mind stopping everything while you fade an LED on (or off) then sure, you just write a loop and it is a few lines of code. But if you want to have it happen while other things continue to execute, it is a little different. The library makes it very simple and it is also nicely documented.

Continue reading “Simplifying Basic LED Effects”

Hair-Raising Tales Of Electrostatic Generators

We tend to think of electricity as part of the modern world. However, Thales of Mietus recorded information about static electricity around 585 BC.  This Greek philosopher found that rubbing amber with fur would cause the amber to attract lightweight objects like feathers. Interestingly enough, a few hundred years later, the aeolipile — a crude steam engine sometimes called Hero’s engine — appeared. If the ancients had put the two ideas together, they could have invented the topic of this post: electrostatic generators. As far as we know, they didn’t.

It would be 1663 before Otto von Guericke experimented with a sulfur globe rubbed by hand. This led to Isaac Newton suggesting glass globes and a host of other improvements from other contributors ranging from a woolen pad to a collector electrode. By 1746, William Watson had a machine consisting of multiple glass globes, a sword, and a gun barrel. Continue reading “Hair-Raising Tales Of Electrostatic Generators”

Computer Vision For PCB Layout

One of the big problems with doing PCB layout is finding a suitable footprint for the components you want to use. Most tools have some library although — of course — some are better than others. You can often get by with using some generic footprint, too. That’s not handy for schematic layout, though, because you’ll have to remember what pin goes where. But if you can’t find what you are looking for SnapEDA is an interesting source of components available for many different layout tools. What really caught our eye though was a relatively new service they have that uses computer vision and OCR to generate schematic symbols directly from a data sheet. You can see it work in the video below.

The service seems to be tied to parts the database already knows about. and has a known footprint available. As you’ll see in the video, it will dig up the datasheet and let you select the pin table inside. The system does OCR on that part of the datasheet, lets you modify the result, and add anything that it missed.

Continue reading “Computer Vision For PCB Layout”

Teardown Locates Fractal Antenna

[IMSAI Guy] tore apart a device with a wireless network card and decided to investigate what was under the metal can. You can see the video of his examination below. Overall, it was fairly unremarkable, but one thing that was interesting was its use of an antenna on the PCB that uses a fractal design.

You probably know fractals are “self-similar” in that they are patterns made of smaller identical patterns. The old joke is that the B. in Benoit B. Mandelbrot (the guy who coined the term fractal) stands for Benoit B. Mandelbrot. You can think of it as akin to recursion in software. Antennas made with fractal patterns have some unusual and useful properties.

Continue reading “Teardown Locates Fractal Antenna”

Getting Good At FPGAs: Real World Pipelining

Parallelism is your friend when working with FPGAs. In fact, it’s often the biggest benefit of choosing an FPGA. The dragons hiding in programmable logic usually involve timing — chaining together numerous logic gates certainly affects clock timing. Earlier, I looked at how to split up logic to take better advantage of parallelism inside an FPGA. Now I’m going to walk through a practical example by modeling some functions. Using Verilog with some fake delays we can show how it all works. You should follow along with a Verilog simulator, I’m using EDAPlayground which runs in your browser. The code for this entire article is been pre-loaded into the simulator.

If you’re used to C syntax, chances are good you’ll be able to read simple Verilog. If you already use Verilog mostly for synthesis, you may not be familiar with using it to model delays. That’s important here because the delay through gates is what motivates us to break up a lot of gates into a pipeline to start with. You use delays in test benches, but in that context they mostly just cause the simulator to pause a bit before introducing more stimulus. So it makes sense to start with a bit of background on delays.

Continue reading “Getting Good At FPGAs: Real World Pipelining”

Understanding A MOSFET Mixer

A mixer takes two signals and mixes them together. The resulting output is usually both frequencies, plus their sum and their difference. For example, if you feed a 5 MHz signal and a 20 MHz signal, you’d get outputs at 5 MHz, 15 MHz, 20 MHz, and 25 MHz. In a balanced mixer, the original frequencies cancel out, although not all mixers do that or, at least, don’t do it perfectly. [W1GV] has a video that explains the design of a mixer with a dual gate MOSFET, that you can see below.

The dual gate MOSFET is nearly ideal for this application with two separate gates that have effectively infinite input impedance. [Stan] takes you through the basic circuit and explains the operation in whiteboard fashion.

Continue reading “Understanding A MOSFET Mixer”

FPGA Persistently Rick Rolls You

When [Im-pro] wants a display, he wants it to spin.  So he built a persistence of vision (POV) display capable of showing a 12-bit color image of 131 x 131 pixels at 16 frames per second. You can see a video about the project below, but don’t worry, you can view it on your normal monitor.

The project starts with a Java-based screen capture on a PC. Data goes to the display wirelessly to an ESP8266. However, the actual display drive is done by an FPGA that drives the motor, reads a hall effect index sensor, and lights the LEDs.

Continue reading “FPGA Persistently Rick Rolls You”