A Camera With Computer Vision

Computer vision is a tricky thing to stuff into a small package, but last year’s Hackaday Prize had an especially interesting project make it into the 50 top finalists. The OpenMV is a tiny camera module with a powerful microcontroller that will detect faces, take a time-lapse, record movies, and detect specific markers or colors. Like a lot of the great projects featured in last year’s Hackaday Prize, this one made it to Kickstarter and is, by far, the least expensive computer vision module available today.

[Ibrahim] began this project more than a year ago when he realized simple serial JPEG cameras were ludicrously expensive, and adding even simple machine vision tasks made the price climb even higher. Camera modules that go in low-end cell phones don’t cost that much, and high-power ARM microcontrollers are pretty cheap as well. The OpenMV project started, and now [Ibrahim] has a small board with a camera that runs Python and can be a master or slave to Arduinos or any other microcontroller board.

The design of the OpenMV is extraordinarily clever, able to serve as a simple camera module for a microcontroller project, or something that can do image processing and toggle a few pins according to logic at the same time. If you’ve ever wanted a camera that can track an object and control a pan/tilt servo setup by itself, here you go. It’s a very interesting accessory for robotics platforms, and surely something that could be used in a wide variety of projects.

DIY RC Hovercraft Makes Batman Action Figure Envious

[Bauwser] had some spare RC Helicopter parts laying around and cobbled together an RC Hovercraft. It worked but not to his liking. That’s okay though, he know it was just a prototype for what was to come; a fully scratch built hovercraft with parts spec’ed out specifically to make it handle the way [Bauwser] wanted.

He started out by sketching out some cool faceted shapes that would both look good and be easy to construct. Sheets of a light but rigid foam were then cut into the appropriate shapes and glued together to create a three-dimensional body. The foam was then covered with a layer of fiberglass and resin to add some strength. A hole was cut in the body to mount a 55mm ducted fan which provides the required air to fill the skirt and lift the vehicle. Another ducted fan is mounted at the back of the craft and points rearward. This ducted fan provides the forward thrust and a servo vectors this fan in order to make turns.

[Bauwser] sewed the skirt himself. It is made out of an old beach tent. The fabric is extremly light and flexible, perfect for a hovercraft. During the test runs, dirt and debris was getting trapped in the skirt tube. A quick trip back to the sewing machine to add some gauze netting fixed that problem and keeps debris collection to a minimum. In the end, [Bauwser] shows what a great DIY RC build can look like with a little planning and experimentation.

Need more DIY RC hovercrafts? Check this out

Video after the break…

Continue reading “DIY RC Hovercraft Makes Batman Action Figure Envious”

Universal Active Filters: Part 2

An easy way to conceptualize active filters is thinking about audio speakers. A speaker crossover has a low-pass, high-pass and band-pass effect breaking a signal into three components based upon frequency. In the previous part of this series I took that idea and applied it to a Universal Active Filter built with a single chip opamp based chip known as the UAF-42. By the way, it’s pretty much an older expensive chip, just one I picked out for demonstration.

Using a dual-ganged potentiometer, I was able to adjust the point at which frequencies are allowed to pass or be rejected. We could display this behavior by sweeping the circuit with my sweep frequency function generator which rapidly changes the frequency from low to high while we watch what can get through the filter.

In this installment I’ll test the theory that filtering out the harmonics which make up a square wave results in a predictable degradation of the waveform until at last it is a sine wave. This sine wave occurs at the fundamental frequency of the original square wave. Here’s the video but stick with me after the break to walk through each concept covered.

Continue reading “Universal Active Filters: Part 2″

Resurrecting Capcom’s Kabuki

About a dozen old Capcom arcade titles were designed to run on a custom CPU. It was called the Kabuki, and although most of the core was a standard Z80, a significant portion of the die was dedicated to security. The problem back then was arcade board clones, and when the power was removed from a Kabuki CPU, the memory contents of this security setup were lost, the game wouldn’t play, and 20 years later, people writing emulators were tearing their hair out.

Now that these games are decades old, the on-chip security for the Kabuki CPU is a problem for those who have taken up the task of preserving these old games. However, now these CPUs can be decuicided, programming the chip and placing them in an arcade board without losing their memory contents.

Earlier we saw [ArcadeHacker] a.k.a. [Eduardo]’s efforts to resurrect these old CPUs. He was able to run new code on the Kabuki, but to run the original, unmodified ROMs that came in these arcade games required hardware. Now [ArcadeHacker] has it.

The setup consists of a chip clip that clamps over the Kabuki CPU. With a little bit of Arduino code, the security keys for original, unmodified ROMs can be flashed, put into the arcade board (where the contents of the memory are backed up by a battery), and the clip released. [ArcadeHacker] figures this is how each arcade board was programmed in the factory.

If you’re looking for an in-depth technical description of how to program a Kabuki, [ArcadeHacker] has an incredibly detailed PDF right here.

Continue reading “Resurrecting Capcom’s Kabuki”

Laser Trip Wire With Keypad Arming

Most of us have had a sibling that would sneak into our room to swipe a transistor, play your guitar or just mess with your stuff in general. Now there’s a way to be immediately alerted when said sibling crosses the line, literally. [Ronnie] built a laser trip wire complete with an LCD screen and keypad for arming and disarming the system.

The brains of the project is an Arduino. There’s a keypad for inputting pass codes and an LCD screen for communicating if the entered code is correct or not. [Ronnie] wrote his own program using the keypad.h, liquidcrystal.h and password.h libraries. A small laser pointer is shined at a Light Dependent Resistor which in turn outputs an analog signal to the Arduino. When the laser beam is interrupted, the output voltage drops, the Arduino sees that voltage drop and then turns on the alarm buzzer. The value that triggers the alarm is set mid-way between the values created by normal daylight and when the laser beam is hitting the LDR. [Ronnie] made his code and wiring diagram available for anyone who’s interested in making their own laser trip wire.

Hopefully, [Ronnie’s] pesky little brother didn’t watch his YouTube video (view it after the break) to find out the secret pass code. For a laser trip wire sans keypad, check out this portable one.

Continue reading “Laser Trip Wire With Keypad Arming”

Long Exposure Thermal Photography

For apparently inexplicable reasons, the price of thermal imaging cameras has been dropping precipitously over the last few years, but there are still cool things you can do with infrared temperature sensors.

A few years ago – and while he was still writing for us – [Jeremy] came across an absurdly clever thermal imaging camera. Instead of expensive silicon, this thermal camera uses a flashlight with an RGB LED, a cheap IR temperature sensor, and a camera set up to take long exposures. By shining this flashlight/IR sensor around a dark room, a camera with a wide-open shutter can record color-coded thermal images of just about anything.

Since then, an interesting product appeared on the market. It’s the Black & Decker TLD100 Thermal Leak Detector, and it’s basically an infrared thermometer and LED flashlight stuffed into one neat package. In other words, it’s the exact same thing we saw two years ago. We’d like to thank at least one Black & Decker engineer for their readership.

[Jeremy] took this cheap, off-the-shelf leak detector and did what anyone would do after realizing where the idea behind it came from. He set up his camera, turned off the lights, and opened the shutter of his camera. The results, like the original post, don’t offer the same thermal resolution as a real thermal camera. That doesn’t mean it’s still not a great idea, though.

Dumpster Dive Results In 3D Print Server Project

3D Printers are super convenient when you need a part quickly. However, they can be seriously inconvenient if the 3D printer has to be tethered to your computer for the duration of the entire print. [Matt] purchased a Makerfarm i3v printer and has been using it a bunch. The only thing he wasn’t crazy about was having it occupy his computer while printing objects. Then one day [Matt] was dumpster diving (don’t roll your eyes, we all do it) and found a Netgear WNDR3700v1 WiFi router. This particular router has a USB port and it made [Matt] think, “can I use this to run my printer?

[Matt] started by checking out 3D print server software OctoPrint and found out that it was entirely written in Python. He had a feeling that he could get Python running on that found Netgear router. The first step was to install OpenWrt to the router and configure it as a client. That was straight forward and went well.  The router only had one USB port so a hub was necessary in order to connect a USB drive and the printer. The USB drive was necessary because the router itself did not have enough memory for OctoPrint. Installing OctoPrint to the router was a little complicated and took a bit of trial and error but [Matt] figured out the best method and documented that on his site for anyone interested in doing the same. So now, [Matt] can use his computer’s web browser to access OctoPrint on the Netgear router, start a print and go back to using his computer without fear of a failed print. OctoPrint and the router are now solely responsible for controlling the printer.

If you’re interested in more ways to remotely control your printer, check this out.