Hackaday Prize Entry: Open-source Pulse Oximetry

Chances are pretty good you’ve had a glowing probe clipped to your fingertip or earlobe in some clinic or doctor’s office. If you have, then you’re familiar with pulse oximetry, a cheap and non-invasive test that’s intended to measure how much oxygen your blood is carrying, with the bonus of an accurate count of your pulse rate. You can run down to the local drug store or big box and get a fingertip pulse oximeter for about $25USD, but if you want to learn more about photoplethysmography (PPG), [Rajendra Bhatt]’s open-source pulse oximeter might be a better choice.

PPG is based on the fact that oxygenated and deoxygenated hemoglobin have different optical characteristics. A simple probe with an LED floods your fingertip with IR light, and a photodiode reads the amount of light reflected by the hemoglobin. [Rajendra]’s Easy Pulse Plugin receives and amplifies the signal from the probe and sends it to a header, suitable for Arduino consumption. What you do with the signal from there is up to you – light an LED in time with your heartbeat, plot oxygen saturation as a function of time, or drive a display to show the current pulse and saturation.

We’ve seen some pretty slick DIY pulse oximeters before, and some with a decidedly home-brew feel, but this seems like a good balance between sophisticated design and open source hackability. And don’t forget that IR LEDs can be used for other non-invasive diagnostics too.

The 2015 Hackaday Prize is sponsored by:

A Single Pixel Digital Camera with Arduino

[Jordan] managed to cobble together his own version of a low resolution digital camera using just a few components. The image generated is pretty low resolution and is only in grey scale, but it’s pretty impressive what can be done with some basic hardware.

The heart of the camera is the image sensor. Most consumer digital cameras have tons of tiny receptors all jammed into the sensor. This allows for a larger resolution image, capturing more detail in a smaller space. Unfortunately this also usually means a higher price tag. [Jordan’s] sensor includes just a single pixel. The sensor is really just an infrared photodiode inside of a tube. The diode is connected to an analog input pin on an Arduino. The sensor can be pointed at an object, and the Arduino can sense the brightness of that one point.

In order to compile an actual image, [Jordan] needs to obtain readings of multiple points. Most cameras do this using the large array of pixels. Since [Jordan’s] camera only has a single pixel, he has to move it around and take each reading one at a time. To accomplish this, the Arduino is hooked up to two servo motors. This allows the sensor to be aimed horizontally and vertically. The Arduino slowly scans the sensor in a grid, taking readings along the way. A Processing application then takes each reading and compiles the final image.

Since this camera compiles an image so slowly, it sometimes has a problem with varying brightness. [Jordan] noticed this issue when clouds would pass over while he was taking an image. To fix this problem, he added an ambient light sensor. The Arduino can detect the amount of overall ambient light and then adjust each reading to compensate. He says it’s not perfect but the results are still an improvement. Maybe next time he can try it in color.

DIY Single Pixel Digital Camera

[Artlav] wanted to build a digital camera, but CCDs are expensive and don’t respond well to all wavelengths of light. No problem, then, because with a photodiode, a few stepper motors, the obligatory Arduino, and a cardboard box, it’s pretty easy to make one from scratch.

The camera’s design is based on a camera obscura – a big box with a pinhole in one side. This is all a camera really needs as far as optics go, but then there’s the issue of digitizing the faint image projected onto the rear of the camera. That’s fine, just build a cartesian robot inside the box and throw a photodiode in there.

There are a few considerations when choosing a photodiode for a digital camera. Larger photodieodes have higher noise but lower resolution. [Artlav] has been experimenting with a few diodes, but his options are limited by export control restrictions.

Even with the right photodiode, amplifying the tiny amount of current – picoamps in some cases – is hard. The circuit is extremely sensitive to EMI, and it’s inside a box with stepper motors pulled from the scrap bin. It’s amazing this thing works at all.

Still, [Artlav] was able to get some very high resolution images across a huge range of wavelengths. He’s even getting a few images in mid-wave infrared, turning this homebrew digital camera into the slowest thermal imaging camera we’ve ever seen.

Simple and Inexpensive Heartbeat Detector

There are many ways to detect a heartbeat electronically. One of the simpler ways is to take [Orlando’s] approach. He’s built a finger-mounted pulse detector using a few simple components and an Arduino.

This circuit uses a method known as photoplethysmography. As blood is pumped through your body, the volume of blood in your extremities increases and decreases with each heartbeat. This method uses a light source and a detector to determine changes in the amount of blood in your extremities. In this case, [Orlando] is using the finger.

[Orlando] built a finger cuff containing an infrared LED and a photodiode. These components reside on opposite sides of the finger. The IR LED shines light through the finger while the photodiode detects it on the other side. The photodiode detects changes in the amount of light as blood pumps in and out of the finger.

The sensor is hooked up to an op amp circuit in order to convert the varying current into a varying voltage. The signal is then filtered and amplified. An Arduino detects the voltage changes and transmits the information to a computer via serial. [Orlando] has written both a LabVIEW program as well as a Processing program to plot the data as a waveform. If you’d rather ditch the PC altogether, you might want to check out this standalone heartbeat sensor instead.

Pendulum Music for Oscilloscope and Photodiodes

Two turntables and a microphone? Try two oscilloscopes and a couple of photodiodes. [dfiction] reinterpreted Steve Reich’s classic feedback piece for more modern electronics. The video is embedded after the break.

The original Pendulum Music is a conceptual musical composition from the heady year of 1968. Basically, you set a bunch of microphones swinging across speakers, making feedback as they pass by. The resulting rhythmic and tonal oscillations change over time as the swinging damps down. It’s either mesmerizing or entirely boring, depending on your mindset.

In the [dfiction] version, the feedback is produced by passing a “light microphone” over an oscilloscope. And since he’s got a pair of these setups, the one microphone also feeds the other ‘scope. The resulting sound is this chaotic and gritty noise-rumble. We dig it.

If slowly evolving “process music” pushes the boundaries of your attention span (or if it’s just not your thing) you can totally skip around in the video. Try around 1:40 and 3:45 into the piece just to get an idea of what’s going on. But once you’re there, you might as well let it run its course.

Continue reading “Pendulum Music for Oscilloscope and Photodiodes”

High speed circuit design for quantum physics light sensing

high-speed-sensor-sampling

[Limpkin] designs circuits for a living. This board is one of his recent projects, and although his skills are light years ahead of our own experiences, he did a pretty good job of explaining how he put this board together.

He was tasked with measuring the light intensity of two photodiodes. The expected impulses picked up by those components will be less than a nanosecond in duration, putting some special design constraints upon him. To register this signal he’s using three cascading op-amps per input. To ward off false readings from RF interference he also designed in the shielding which you see surrounding the majority of the circuit.

His package choice for the THS3202 op-amps is quite interesting. He didn’t go with the footprint that includes a thermal pad to dissipate heat because he didn’t want to interrupt the ground plane on the underside of the board. To keep the parts from melting he added an aluminum spacer that contacts the top of the package, then a heat sink that covers the entire shield frame. In a future revision he figures he’ll move to a four-layer board so that the can opt for the MSOP package that does the work for him.

Nintendo light gun retrofit lets it play color-based games

This Nintendo light gun, aka Zapper, looks like a stock device. But a peek inside shows that the circuit board has been replaced. [CNLohr] added USB functionality and a few extra sensors that let him write his own games for that use the classic controller.

After cracking open the case he measured the shape of the circuit board so that he could recreate it exactly. This let him design his own board that would drop right into the same plastic support pieces as the original. His circuit uses an ATmega8u2 to provide a USB connection and read the attached sensors. One interesting aspect is the group of four long traces that act as an expandable i2c bus. [CNLohr] went with this so that he could use daughter boards to add in sensors later. In the demonstration seen after the video he’s using a photodiode as a color sensor. It allowed him to write the color-based game seen above where you shoot a different color of target in each round.

Continue reading “Nintendo light gun retrofit lets it play color-based games”