Filtering Noisy Data with an Arduino

One of the first frustrating situations a beginning microcontroller programmer will come across is the issue of debouncing switches. Microcontrollers are faster than switches, and the switch has yet to be built that can change state in zero time like they can on paper. This hurdle is easily overcome, but soon we are all faced with another issue: filtering noise from an analog signal. Luckily [Paul Martinsen] has put together a primer of three different ways to use an Arduino to filter signals.

The first (and fastest, simplest, etc.) way to filter an analog signal is to sample a bunch of times and then average all of the samples together. This will eliminate most outliers and chatter without losing much of the information. From there, the tutorial moves on to programming a running average to help increase the sample time (but consume much more memory). Finally, [Paul] takes a look at exponential filters, which are recursive, use less memory, and can be tweaked to respond to changes in different ways.

[Paul] discusses all of the perks and downsides of each method and provides examples for each as well. It’s worth checking out, whether you’re a seasoned veteran who might glean some nuance or you’re a beginner who hasn’t even encountered this problem yet. And if you’re still working on debouncing a digital input, we have you covered there, too.

Photodiode Amplifier Circuit Spies on Your Phone

In order to help his friend prepare for a talk at DEFCON this weekend, [Craig] built an IR photodiode amplifier circuit. The circuit extended the detection range of the hack from a few inches to a few feet. We’re suckers for some well-designed analog circuitry, and if you are too, be sure to check out the video embedded below.

Continue reading “Photodiode Amplifier Circuit Spies on Your Phone”

An Apple II Joystick Fix For Enjoyable Gameplay

We all remember the video games of our youth fondly, and many of us want to relive those memories and play those games again. When we get this urge, we usually turn first to emulators and ROMs. But, old console and computer games relied heavily on the system’s hardware to control the actual gameplay. Most retro consoles, like the SNES for example, rely on the hardware clock speed to control gameplay speed. This is why you’ll often experience games played on emulators as if someone is holding down the fast forward button.

The solution, of course, is to play the games on their original systems when you want a 100% accurate experience. This is what led [Chris Osborn] back to gameplay on an Apple II. However, he quickly discovered that approach had challenges of its own – specifically when it came to the joystick.

The Apple II joystick used a somewhat odd analog potentiometer design – the idea being that when you pushed the joystick far enough, it’d register as a move (probably with an eye towards smooth position-sensitive gameplay in the future). This joystick was tricky, the potentiometers needed to be adjusted, and sometimes your gameplay would be ruined when you randomly turned and ran into a pit in Lode Runner.

The solution [Chris] came up with was to connect a modern USB gamepad to a Raspberry Pi, and then set it to output the necessary signals to the Apple II. This allowed him to tune the output until the Apple II was responding to gameplay inputs consistently. With erratic nature of the original joystick eliminated, he could play games all day without risk of sudden unrequested jumps into pits.

The Apple II joystick is a weird beast, and unlike anything else of the era. This means there’s no Apple II equivalent of plugging a Sega controller into an Atari, or vice versa. If you want to play games on an Apple II the right way, you either need to find an (expensive) original Apple joystick, or build your own from scratch. [Chris] is still working on finalizing his design, but you can follow the gits for the most recent version.

Mergers and Acquisitions: Analog and Linear

Analog Devices and Linear Technology have announced today they will combine forces to create a semiconductor company worth $30 Billion.

This news follows the very recent acquisition of ARM Holdings by Japan’s SoftBank, and the later mergers, purchases or acquisitions of On and Fairchild, Avago and Broadcom, NXP and Freescale, and Microchip and AtmelIntel and Altera, and a few more we’re forgetting at the moment.

Both Analog and Linear address similar markets; Analog Devices is best known for amps, interface, and power management ICs. Linear, likewise, isn’t known for ‘fun’ devices, but without their products the ‘fun’ components wouldn’t work. Because the product lines are so complimentary, the resulting company will stand to save $150 Million annually after the deal closes.

Analog and Linear are only the latest in a long line of semiconductor mergers and acquisitions, but it will certainly not be the last. The entire industry is consolidating, and the only way to grow is by teaming up with other companies. This leads the question if there will eventually only be one gigantic semiconductor company in the future. You’ll get different answers to that question from different people. Hughes, Fairchild, Convair, Douglas, McDonnell Douglas, North American, Grumman, Northrop, Northrop Grumman, Bell, Cessna, Schweizer and Sikorsky would say yes. Lockheed Martin and Boeing would say no. It’s the same thing.

Analog Guts Display GPS Velocity in this Hybrid Speedometer

A digital dash is cool and all, but analog gauges have lasting appeal. There’s something about the simplicity of a purely mechanical gauge connected directly to a vehicle’s transmission. Of course that’s not what’s hapenning here. Instead, this build is an analog display for GPS-acquired speed data.

The video below does a good job at explaining the basics of [Grant Stephens]’ build. The display itself is a gutted marine speedometer fitted with the movement from a motorcycle tachometer. The tach was designed to take a 4-volt peak-to-peak square wave input signal, the frequency of which is proportional to engine speed. To display road speed, [Grant] stuffed an ATTiny85 with a GPS module into the gauge and cooked up a script to convert the GPS velocity data into a square wave. There’s obviously some latency, and the gauge doesn’t appear to register low speeds very well, but all in all it seems to match up well to the stock speedo once you convert to metric.

There’s plenty of room for improvement, but we can see other applications where an analog representation of GPS data could be useful. And analog gauges are just plain fun to digitize – like these old meters and gauges used to display web-scraped weather data.

Continue reading “Analog Guts Display GPS Velocity in this Hybrid Speedometer”

Make Math Real with this Analog Multiplier Primer

Remember learning all about functions in algebra? Neither do we. Oh sure, most of us remember linear plots and the magic of understanding y=mx+b for the first time. But a lot of us managed to slide by with only a tenuous grasp of more complex functions like exponentials and conic sections. Luckily the functionally challenged among us can bolster their understanding with this demonstration using analog multipliers and op amps.

[devttys0]’s video tutorial is a great primer on analog multipliers and their many uses. Starting with a simple example that multiplies two input voltages together, he goes on to show circuits that output both the square and the cube of an input voltage. Seeing the output waveform of the cube of a ramped input voltage was what nailed the concept for us and transported us back to those seemingly wasted hours in algebra class many years ago. Further refinements by the addition of an op amp yield a circuit that outputs the square root of an input voltage, and eventually lead to a voltage controlled resistor that can attenuate an input signal depending on its voltage. Pretty powerful stuff for just a few chips.

The chip behind [devttys0]’s primer is the Analog Devices AD633, a pretty handy chip to have around. For more on this chip, check out [Bil Herd]’s post on analog computing.

Continue reading “Make Math Real with this Analog Multiplier Primer”

Overthinking Solenoid Control

No circuit is so trivial that it’s not worth thinking hard about. [Charles Wilkinson] wanted to drive a solenoid air valve that will stay open for long periods of time. This means reducing the holding current to prevent wasting so much power. He stumbled on this article that covers one approach in a ridiculous amount of depth.

[Charles] made two videos about it, one where he debugs the circuit and learns things live on camera, and another where he sums it all up. We’ll be walking you through the long one, but feel free to skip around.

Continue reading “Overthinking Solenoid Control”