The Easiest Thermal Camera Build You’ll Ever See

Thermal cameras are one of those tools that we all want, but just can’t justify actually buying. You don’t really know what you would do with one, and when even the cheap ones are a couple hundred dollars, it’s a bit out of the impulse buy territory. So you just keeping waiting and hoping that eventually they’ll drop to the price that you can actually own one yourself.

Well, today might be the day you were waiting for. While it might not be the prettiest build, we think you’ll agree it can’t get much easier than what [vvkuryshev] has put together. His build only has two components: a Raspberry Pi and a thermal camera module he picked up online for about $80 USD. There isn’t even any wiring involved, the camera fits right on the Pi’s GPIO header.

Of course, you probably wouldn’t be seeing this on Hackaday if all he had to do was just buy a module and solder it to the Pi’s header. As with most cheap imported gadgets, the GY-MCU90640 module that [vvkuryshev] bought came with some crusty Windows software which wasn’t going to do him much good on the Raspberry Pi. But after going back and forth a bit with the seller, he was able to get some documentation for the device that put him on the right track to writing a Python script which got it working under Linux.

The surprisingly simple Python script reads a frame from the camera four times a second over serial and run it through OpenCV. It even adds some useful data like the minimum and maximum temperatures in the frame to the top of the image. Normally the script would output to the Pi’s primary display, but if you want to use it remotely, [vvkuryshev] says he’s had pretty good luck running it over VNC. In fact, he says that with a VNC application on your phone you could even use this setup on the go, though the setup is a bit awkward for that in its current incarnation.

This isn’t the first DIY thermal camera build we’ve seen, and it isn’t even the first one we’ve seen that leveraged a commercially available imaging module. But short of buying a turn-key camera, we don’t see how it could get any easier to add heat vision to your bag of tricks.

Hack My House: Raspberry Pi As A Touchscreen Thermostat

Your thermostat is some of the oldest and simplest automation in your home. For years these were one-temperature setting and nothing more. Programmable thermostats brought more control; they’re alarm clocks attached to your furnace. Then Nest came along and added beautiful design and “learning features” that felt like magic compared to the old systems. But we can have a lot more fun. I’m taking my favorite single-board computer, the Raspberry Pi, and naming it keeper of heat (and cool) by building my own touchscreen thermostat.

Mercury thermostats started it all, and were ingenious in their simplicity — a glass capsule containing mercury, attached to a wound bi-metal strip. As the temperature changes, the contraption tilts and the mercury bead moves, making or breaking contact with the wiring. More sophisticated thermostats have replaced the mercury bead with electronics, but the signaling method remains the same, just a simple contact switch.

This makes the thermostat the prime target for an aspiring home automation hacker. I’ve had this particular project in mind for quite some time, and was excited to dive into it with simple raw materials: my Raspberry Pi, a touchscreen, and a mechanical relay board.

Continue reading “Hack My House: Raspberry Pi As A Touchscreen Thermostat”

A Raspberry Pi Grimoire For The Command Line Wizard

Who says there’s no such thing as magic? Not anyone who knows what a Unix pipe is, that’s for sure. If you do some of your best incantations at a blinking cursor, this scratch-built Raspberry Pi Zero “Spellbook” laptop created by [Calvin] might be just what the apothecary ordered. Lucky for us, he was kind enough to document the design and construction of this penguin-powered tome for anyone else who wishes to dabble in the GNU Dark Arts.

In the series of videos after the break, viewers have the opportunity to watch a project go from idea to final product. The first video was uploaded nearly a month before the project was completed, and goes over some of the design elements of the project as well as different ideas [Calvin] had in terms of things like component placement. Throughout the video, he illustrates his ideas in TinkerCAD, which might not have been our first choice for a project this complex, but it does go to show what’s possible in the free web-based CAD package.

By the second video, [Calvin] has printed some parts and now has the hardware coming together. The general idea is that the outside panels of the “book” are made out of steel cut from the side panel of an old computer, with the 3D printed components taking the form of spacers between the electronic components. These plastic “pages” are not only easier and faster to print than a complete case, but help sell the appearance of the book when viewed from the sides.

[Calvin] has shared his TinkerCAD design so that others can print out the necessary components for the book, though you’ll have to source your own steel plates. He also breaks down all the principle components he used and gives links to where you can buy them, from the display and keyboard down to the screws and standoffs. He went with the Pi Zero and sticks to mainly console work, but if you want something with enough power to throw around a graphical environment, he says there’s room in the case for a Pi 3.

Hackers seem to enjoy hiding hardware inside of books, PLA or otherwise. We’ve recently seen an iPad nestled snugly into a notebook, and of course no house would be complete without a book doubling as a hidden switch.

Continue reading “A Raspberry Pi Grimoire For The Command Line Wizard”

Raspberry Pi Revives Stand-Alone DivX Player

It might seem almost comical to our more fresh-faced readers, but there was a time when you could go into a big box retailer and purchase what was known as a “DivX Player”. Though they had the outward appearance of a normal DVD player, these gadgets could read various digital video file formats off of a CD-R or DVD-R, complete with rudimentary file browser. Depending on how much video compression you could stomach, a player like this would allow you to pack an entire season of a show or multiple movies onto a single disc. Before we started streaming everything online, that was kind of a big deal.

Room to grow.

[Roberto Piva] got his hands on one of these early digital media players, a KiSS DP-500 circa 2003, and decided that it was too unique to send off to the recycling center. Not only was he curious about what made it tick, but he thought it would be interesting to try converting it into a Raspberry Pi powered streaming media player. One might say there’s something almost perverse about taking the carcass of one of these devices and stuffing it full of the same technology that made it obsolete in the first place, but who are we to judge?

Upon opening the vintage set top box, [Roberto] was immediately struck by how empty the thing was. He got the impression the device was a rush job, pushed out to capitalize on a relatively short-lived trend. Looking at it, we have to agree. It’s almost as though they got a deal on some old VCR chassis laying around in a warehouse someplace and decided to stick some (at the time) modern electronics in it. It even uses what appears to be a standard IDE optical drive rather than something purpose built.

[Roberto] hoped that he could tap into the player’s original power supply, but upon testing found that it wasn’t quite up to the task to reliably running a modern Pi. So into the cavernous enclosure went a powered USB hub, which he wired up to the original power switch on the player’s front panel. The original PSU couldn’t handle the Pi, but it does work nicely to spin up an IDE hard drive that he mounted to the top of the optical drive with zip ties.

This was enough to get a nice Kodi set top box that’s capable of pulling media from the Internet or the internal HDD, but [Roberto] has more plans for the future. He wants to try and get the optical drive working through a USB-to-IDE adapter so the device can come full circle and once again play burned discs full of video files, and mentions he would like to reverse engineer the front panel and IR receiver to control Kodi.

While this isn’t the first time we’ve seen a DVD player get an internal Raspberry Pi, the fact that this one is using an IDE drive is an interesting spin and should make for a very clean final product. We’ve also seen how integrating the original physical controls can really help sell the experience with these Pi-infused players. If you’ve got the space in your entertainment for one of these early 2000’s leviathans, they might make an ideal base for your own Pi set top box build.

Juicing Up The Chevy Volt With Raspberry Pi

While Chevrolet’s innovative electric hybrid might officially be headed to that great big junkyard in the sky, the Volt will still live on in the hearts and minds of hackers who’d rather compare amp hour than horsepower. For a relatively low cost, a used Volt offers the automotive hacker a fascinating platform for upgrades and experimentation. One such Volt owner is [Katie Stafford], who’s recently made some considerable headway on hacking her hybrid ride.

In an ongoing series on her blog, [Katie] is documenting her efforts to add new features and functions to her Volt. While she loves the car itself, her main complaint (though this is certainly not limited to the Volt) was the lack of tactile controls. Too many functions had to be done through the touch screen for her tastes, and she yearned for the days when you could actually turn a knob to control the air conditioning. So her first goal was to outfit her thoroughly modern car with a decidedly old school user interface.

Like most new cars, whether they run on lithium or liquefied dinosaurs, the Volt makes extensive use of CAN bus to do…well, pretty much everything. Back in the day it only took a pair of wire cutters and a handful of butt splice connectors to jack into a car’s accessory systems, but today it’s done in software by sniffing the CAN system and injecting your own data. Depending on whether you’re a grease or a code monkey, this is either a nightmare or a dream come true.

Luckily [Katie] is more of the latter, so with the help of her Macchina M2, she was able to watch the data on the CAN bus as she fiddled with the car’s environmental controls. Once she knew what data needed to be on the line to do things like turn on the fan or set the desired cabin temperature, she just needed a way to trigger it on her terms. To that end, she wired a couple of buttons and a rotary encoder to the GPIO pins of a Raspberry Pi, and wrote some code that associates the physical controls with their digital counterparts.

That’s all well and good when you need to mess around with the AC, but what’s the Pi supposed to do the rest of the time? [Katie] decided a small HDMI display mounted to the dash would be a perfect way for the Raspberry Pi to do double duty as information system showing everything from battery charge to coolant temperature. It also offers up a rudimentary menu system for vehicle modifications, and includes functions which she wanted quick access to but didn’t think were necessarily worth their own physical button.

In the video after the break, [Katie] walks the viewer through these modifications, as well as some of the other neat new features of her battery powered bow tie. What she’s already managed to accomplish without having to do much more than plug some electronics into the OBD-II port is very impressive, and we can’t wait to see where it goes from here.

Today there are simply too many good electric cars for hybrids like the Chevy Volt and its swankier cousin the Cadillac ELR to remain competitive. But thanks to hackers like [Katie], we’re confident this isn’t the last we’ve seen of this important milestone in automotive history.

Continue reading “Juicing Up The Chevy Volt With Raspberry Pi”

Python Script Sends Each Speaker Its Own Sound File

When it comes to audio, the number of speakers you want is usually governed by the number of tracks or channels your signal has. One for mono, two for stereo, four for quadrophonic, five or more for surround sound and so on. But all of those speakers are essentially playing different tracks from a “single” audio signal. What if you wanted a single audio device to play eight different songs simultaneously, with each song being piped to its own speaker? That’s the job [Devon Bray] was tasked with by interdisciplinary artist [Sara Dittrich] for one of her “Giant Talking Ear” installation project. He built a device to play multiple sound files on multiple output devices using off the shelf hardware and software.

But maybe a hack like this could be useful in many applications other than just art installations. It could be used in an Escape room, where you may want the various audio streams to start in synchronicity at the same time, or as part of a DJ console, sending one stream to the speakers and another to the head phones, or a game where you have to run around a room full of speakers in the right sequence and speed to listen to a full sentence for clues.

His blog post lists links for the various pieces of hardware required, although all of it is pretty generic, and the github repository hosts the code. At the heart of the project is the Sounddevice library for python. The documentation for the library is sparse, so [Bray]’s instructions are handy. His code lets you “take a directory with .wav files named in numeric order and play them over USB sound devices attached to the host computer over and over forever, looping all files once the longest one finishes”. As a bonus, he shows how to load and play sound files automatically from an attached USB drive. This lets you swap out your playlist on the Raspberry Pi without having a use a keyboard/mouse, SSH or RDP.

Check the video after the break for a quick roundup of the project.

Continue reading “Python Script Sends Each Speaker Its Own Sound File”

Hack My House: Garage Door Cryptography Meets Raspberry Pi

Today’s story is one of victory and defeat, of mystery and adventure… It’s time to automate the garage door. Connecting the garage door to the internet was a must on my list of smart home features. Our opener has internet connection capabilities built-in. As you might guess, I’m very skeptical of connecting a device to the internet when I have no control over the software running on it.

The garage door is controlled by a button hung on the garage wall. There is only a pair of wires, so a simple relay should be all that is needed to simulate the button press from a Raspberry Pi. I wired a relay module to a GPIO on the Pi mounted in the garage ceiling, and wrote a quick and dirty test program in Python. Sure enough, the little relay was clicking happily– but the garage door wasn’t budging. Time to troubleshoot. Does the push button still work? *raises the garage door* yep. How about the relay now? *click…click* nope.

You may have figured out by now, but this garage door opener isn’t just a simple momentary contact push button. Yes, that’s a microcontroller, in a garage door button. This sort of scenario calls for forensic equipment more capable than a simple multimeter, and so I turned to Amazon for a USB oscilloscope that could do some limited signal analysis. A device with Linux support was a must, and Pico Technology fit the bill nicely.

Searching for a Secret We Don’t Actually Need

My 2 channel Picotech oscilloscope, the 2204A, finally arrived, and it was time to see what sort of alien technology was in this garage door opener. There are two leads to the button, a ground and a five volt line. When the button is pressed, the microcontroller sends data back over that line by pulling the 5 V line to ground. If this isn’t an implementation of Dallas 1-wire, it’s a very similar concept.

Continue reading “Hack My House: Garage Door Cryptography Meets Raspberry Pi”