Over the years we’ve seen several attempts at adding Internet connectivity to the lowly wired doorbell. Generally, these projects aim to piggyback on the existing wiring, bells, and buttons rather than replace them entirely. Which invariably means at some point the AC wiring is going to need to interface with a DC microcontroller. This is often where things get interesting, as it seems everyone has a different idea on how best to bridge these two systems.
That’s the point where [Ben Brooks] found himself not so long ago. While researching the best way to tap into the 20 VAC pumping through his doorbells, he found a forum post where somebody was experimenting with optocouplers. As is unfortunately so often the case, the forum thread never really had a conclusion, and it wasn’t clear if the original poster ever figured it out.
[Ben] liked the idea though, so he thought he would give it a shot. But before investing in real optocouplers, he created his own DIY versions to use as a proof of concept. He put a standard LED and photoresistor together with a bit of black tape, and connected the LED to the doorbell line with a resistor. Running the LED on 60 Hz AC meant it was flickering rapidly, but for the purposes of detecting if there was voltage on the line, it worked perfectly.
Wanting something slightly more professional for the final product, [Ben] eventually evolved his proof of concept to include a pair of 4N35s, a custom PCB, and a 3D printed enclosure. Powered by a Particle Xenon, the device uses IFTTT to fire off smartphone notifications and blink the lights in the house whenever somebody pushes the bell.
When we are concerned with the accurate reproduction of a signal, distortion and noise are the enemy that engineers spend a great deal of time eliminating wherever possible. However, humans being the imperfect creatures that we are, we sometimes desire a little waviness and grain in our media – typically of the analog variety, as the step changes of digital distortion can be quite painful. Tired of Instagram filters and wanting to take a different approach, [Patrick Pedersen] built the OptoGlitch – a hardware solution for analog distortion.
The concept of operation is simple – pixel values of a digital image are sent out by varying the intensity of an LED, and are then picked up by a photoresistor and redigitized. The redigitized image then bears a variety of distortion and noise effects due to the imperfect transmission process.
In the OptoGlitch hardware, the LED and photoresistor are intentionally left open to ambient light to further allow noise and distortion to happen during the transmission process. A variety of calibration methods are used to avoid the results being completely unrecognizable, and there are various timing and sampling parameters that can be used to alter the strength of the final effect.
Arduino 101 is getting an LED to flash. From there you have a world of options for control, from MOSFETs to relays, solenoids and motors, all kinds of outputs. Here, we’re going to take a quick look at some inputs. While working on a recent project, I realized the variety of options in sensing something as simple as whether a light is on or off. This is a fundamental task for any system that reacts to the world; maybe a sensor that detects when the washer has finished and sends a text message, or an automated chicken coop that opens and closes with the sun, or a beam break that notifies when a sister has entered your sacred space. These are some of the tools you might use to sense light around you.
Sometimes the best way to learn about a technology is to just build something yourself. That’s what [Dan] did with his DIY optoisolator. The purpose of an optoisolator is to allow two electrical systems to communicate with each other without being electrically connected. Many times this is done to prevent noise from one circuit from bleeding over into another.
[Dan] built his incredibly simple optoisolator using just a toilet paper tube, some aluminum foil, an LED, and a photo cell. The electrical components are mounted inside of the tube and the ends of the tube are sealed with foil. That’s all there is to it. To test the circuit, he configured an Arduino to send PWM signals to the LED inside the tube at various pulse widths. He then measured the resistance on the other side and graphed the resulting data. The result is a curve that shows the LED affects the sensor pretty drastically at first, but then gets less and less effective as the frequency of the signal increases.
[Dan] then had some more fun with his project by testing it on a simple temperature controller circuit. An Arduino reads a temperature sensor and if the temperature rises above a certain value, it turns on a fan to cool the sensor off again. [Dan] first graphed the sensor data with no fan hooked up. He only used ambient air to cool things down. The resulting graph is a pretty smooth curve. Next he hooked the fan up and tried again. This time the graph went all kinds of crazy. Every time the fan turned on, it created a bunch of electrical noise that prevented the Arduino from getting an accurate analog reading of the temperature sensor.
The third test was to remove the motor circuit and move it to its own bread board. The only thing connecting the Arduino circuit to the fan was a wire for the PWM signal and also a common ground. This smoothed out the graph but it was still a bit… lumpy. The final test was to isolate the fan circuit from the temperature sensor and see if it helped the situation. [Dan] hooked up his optoisolator and tried again. This time the graph was nice and smooth, just like the original graph.
While this technology is certainly not new or exciting, it’s always great to see someone learning by doing. What’s more is [Dan] has made all of his schematics and code readily available so others can try the same experiment and learn it for themselves.
If the world comes to an end, it’s good to be prepared. And let’s say that the apocalypse is triggered by a series of nuclear explosions. If that is the case, then having a Geiger counter is a must, plus having a nice transport vehicle would be helpful too. So [Kristian] combined the two ideas and created his own Geiger counter for automotive use just on the off chance that he might need it one day.
It all started with a homemade counter that was fashioned together. Then a display module with a built-in graphics controller that was implemented to show all kinds of information in the vehicle. This was done using a couple of optocouplers as inputs. In addition, a CAN bus interface was put in place. As an earlier post suggests, the display circuit was based on a Microchip 18F4680 microcontroller. After that, things kind of got a little out of control and the counter evolved into more of a mobile communications center; mostly just because [Kristian] wanted to learn how those systems worked. Sounds like a fun learning experience! Later the CPU and gauge was redesigned to use low-quiescent regulators. A filtering board was also made that could kill transients and noise if needed.
We work with some dangerous circuits in the pursuit of cool hacks. High voltage, high current, all demand some respect. We can protect our bodies easily enough, but what about that fancy new laptop or Macbook? [David] is here to help with his isolated versatile FTDI circuit.
Our computers are often wired directly into the circuits we’re hacking on. In days past that might have been a parallel or serial port. Today it’s almost always USB, specifically serial over USB. USB has some safety features built-in, such as current limiting. However, it isn’t too hard to blow up a USB port, or even a motherboard with high voltage. Galvanic isolation is a method of removing any electrical connection between two circuits. Connections can still be made through optical, magnetic, or capacitive methods, just to name a few. One of the simplest methods of galvanic isolation is the humble optocoupler.
Isolating a high-speed USB connection can get somewhat complex. [David] wisely chose to isolate things on the serial side of the FTDI USB to serial converter. He started with SparkFun’s open source FTDI Basic Breakout. Galvanic isolation is through either an Analog Devices ADuM 1402 or ADuM 5402. The 1402 needs a bit of power on the isolated side, while the 5402 includes an isolated DC/DC converter to provide up to 60mA.
[David] didn’t just stop at galvanic isolation. He also added ESD protection, over current protection, and multiple options which can be selected when the board is built. Nice work [David]! Now we don’t have to worry about our laptop frying when we’re blowing up wires.
We don’t think this one is going to bring back the days of one-time-use flash bulbs. But for camera enthusiasts who do have old flash units lying around this will be quite interesting. [Sven] worked out a method of interfacing this vintage flash with a modern camera.
The trick is to map the trigger signal from the camera to the flash module. Instead of patching into an electrical signal from the camera he’s using the light from the stock flash. He cut an optocoupler in half, keeping the receiving side of the part. This is molded in plastic that was shaped to surround the original flash unit. When that flash goes off the triac in the remaining half of the IC is activated. This is connected to a hot shoe mounted on an extension arm that is attached to the camera’s tripod mount. The shoe can be used to interface a few different styles of flash modules.
We don’t have an alternative use in mind right now. But chopping an optocoupler in half could come in handy for other applications that use a bright light as a trigger event.