Reverse Engineering and Networking The A/C Remote Control

IoT has become such an polarizing, overused term. But here it is in its essence: [zeroflow] had a thing (his airconditioner) and he needed to put it on the Internet.

For his contribution to this modern vernacular atrocity, he first had to build an IR debugging tool and reverse engineer the signals coming from the air conditioner’s remote. He wrote up a really good summary of the process, and worth reading. He loads up an IR library onto an Arduino and dumps the resulting 32 bits of information to his computer. In a process much like filling in the blanks on a word puzzle, he eventually determines which blocks of the data correspond to the remote’s different buttons.

Next he throws an array of IR LEDS and an ESP8266 onto a bit of protoboard. After writing some code, available on GitHub, he could set the temperature of his room from anywhere on the planet. We take it on faith that [zeroflow] has a compelling reason for doing so.

Bolstered by this success, he didn’t stop there. [Zeroflow] admits to having more than one thing on the Internet. Boom! Internet of things.

Building a Full-Spectrum Digital Camera on the Cheap

The sensor on your digital camera picks up a lot more than just the light that’s visible to the human eye. Camera manufacturers go out of their way to reduce this to just the visible spectrum in order to produce photos that look right to us. But, what if you want your camera to take photos of the full light spectrum? This is particularly useful for astrophotography, where infrared light dramatically adds to the effect.

Generally, accomplishing this is just a matter of removing the internal IR-blocking filter from your camera. However, most of us are a little squeamish about tearing into our expensive DSLRs. This was the dilemma that [Gavin] faced until a couple of years ago when he discovered the Canon EOS-M.

Now, it’s important to point out that one could do a similar conversion with just about any cheap digital camera and save themselves a lot of money (the practically give those things away now). But, as any photography enthusiast knows, lenses are just as important as the camera itself (maybe even more so).

photo-31So, if you’re interested in taking nice pictures, you’ve got to have a camera with an interchangeable lens. Of course, if you’re already into photography, you probably already have a DSLR with some lenses. This was the case for [Gavin], and so he needed a cheap digital camera that used Canon interchangeable lenses like the ones he already had. After finding the EOS-M, the teardown and IR-blocking filter removal was straightforward with just a couple of hiccups.

When [Gavin] wrote his post in 2014, the EOS-M was about $350. Now you can buy them for less than $150 used, so a conversion like this is definitely into the “cheap enough to tinker” realm. Have a Nikon camera? The Nikon 1 J3 is roughly equivalent to the original EOS-M, and is about the same price. Want to save even more money, and aren’t concerned with fancy lenses? You can do a full-spectrum camera build with a Raspberry Pi, with the added benefit of being able to adjust what light is let in.

Hacklet 118 – Infrared and Universal Remote Controls

The first remote control for a TV was the Zenith Space Command back in the 1950’s. Space Command used sounds at ultrasonic frequencies to control the set. It wasn’t until the 1980’s and the Viewstar cable box that infrared entered the picture. Remote controls spread like wildfire. It wasn’t long before every piece of consumer electronics had one. Coffee tables were littered with the devices. It didn’t take long for universal remotes to hit the scene. [Woz] himself worked on the CL9 Core device, back in 1987. Even in today’s world of smart TV’s and the internet of things, universal remotes are still a big item. Hackers, makers, and engineers are always trying to build a device that works better for them. This week’s Hacklet is about some of the best universal and IR remote projects on!

smoteWe start with [Harikrishna] and zmote. Zmote is an open source WiFi enabled, infrared,  360° remote control. That’s a mouthful. It might be easier to say it’s an ESP8266 and some IR LEDs. An ESP-01 module connects the device to WiFi and provides the 32-bit processor which runs the show. Learning functionality comes courtesy of a TSOP1738 modulated infrared receiver. The beauty of the Zmote is in the software. REST and MQTT connectivity are available. Everything is MIT licensed, and all the code is available on Github.



Next up is [Benjamin Kenobi] with TV Remote Control, Limited. Not everyone can operate the tiny buttons on a modern remote. [Benjamin] built this device for Easton, a special kid with a disability that impairs his motor skills. The 3D printed case holds two buttons – one for power, and one to change the channel. An Arduino Nano running [Ken Shirriff’s] IR library is the brains of the operation. The IR signal timing is hard coded for simplicity. One problem [Ben] ran into was the Nano’s high current draw, even in sleep mode. Batteries wouldn’t last a week. A simple diode circuit with a reed relay keeps the Nano shut down until Easton presses a button.


openirNext we have [Nevyn] with OpenIR – Infrared Remote Control. A dead DSLR remote shutter release was all the motivation [Nevyn] needed to start work on his own universal remote control. OpenIR can be connected to (and controlled by) just about anything with a UART – a PC via an FTDI cable, a Bluetooth module, even an ESP8266. The module can be programmed by entering pulse length data through a custom Windows application. The Windows app even allows the user to view the pulses graphically, like a scope. The data is stored on an EEPROM on OpenIR’s PCB. Once programmed, the OpenIR board is ready to control the world.

onebuttonFinally, we have [facelessloser] with One button TV remote. This project may be the simplest open source remote control this side of TV-B-GONE. He wanted to build a simple remote control for his young daughter to scan between the various kids channels. A simple toggle switch turns the device on, and one button performs the rest of the magic. [Facelessloser] wanted to “move up” from an Arduino to an ATtiny85. This project became part of his ATtiny education. A custom PCB from OSH Park ties things together. A simple black project box keeps the electronics safe from tiny fingers – at least until she’s old enough to use a screwdriver.

If you want to see more IR and universal remote projects, check out our new infrared and universal remote projects list. See a project I might have missed? Don’t be shy, just drop me a message on That’s it for this week’s Hacklet, As always, see you next week. Same hack time, same hack channel, bringing you the best of!

Cute USART Trick Brings PWM to IR LEDs

We love little tricks like this. Suppose that you want to generate an IR remote’s signal. It’s easy, because most of the codes are known. But it can be slightly harder because most IR remotes and receivers modulate the on pulses with a square wave at roughly 38 kHz for background lighting immunity.

With a competent PWM generator on a microcontroller, you can create this carrier modulation easily enough yourself. Set the PWM frequency to 38 kHz and the duty cycle somewhere in the 33%-50% range, and you’re set. But what if you don’t have a competent PWM generator? Such was the case that prompted [AnalysIR Blog] to fake it, with USART.

Here’s the trick. You set up the serial port to communicate at ten times the desired carrier frequency, and then transmit “special” data. (The number ten comes from eight bits of data plus a start and a stop bit.) If you want a 50% duty cycle, you simply send 0b11110000, as fast as the microcontroller will allow, for a mark and nothing for a space.

There’s some extra detail with inverting the signal if, as most do, your USART idles high. But that’s really it. It’s a cute trick for when you’re desperate enough to need it. And if you’d like to brush up some more on your asynchronous serial skills, check out our guide on troubleshooting USART, and the great comments that ensued.

Life-Size Vu Meter Gets the Party Started

There’s nothing better than making a giant version of one of your hacks. That is, other than making it giant and interactive. That’s just what [Est] has done with his interactive VU meter that lights up the party.

The giant VU meter boasts a series of IR detectors that change the colors and modes of the meter based on where the user places their hands. The sensors measure how much light is reflected back to them, which essentially function as a cheap range finder. The normal operation of the meter and the new interactivity is controlled by a PIC16F883 and all of the parts were built using a home-made CNC router. There are two addressable RGB LEDs for each level and in the base there are four 3 W RGB LEDS. At 25 levels, this is an impressive amount of light.

[Est]’s smaller version of the VU meter has been featured here before, if you’re looking to enhance your music-listening or party-going experiences with something a little less intimidating. We’ve also seen VU meters built directly into the speakers and also into prom dresses.

AV Remote Control Teams Arduino with – Visual Basic?

A large installed base of powered speakers from a defunct manufacturer and a dwindling supply of working remote controls. Sounds like nightmare fuel for an AV professional – unless you take matters into your own hands and replace the IR remotes with an Arduino and custom software.

From the sound of it, [Steve]’s crew was working on AV gear for a corporate conference room – powered speakers and an LCD projector. It was the speakers that were giving them trouble, or rather the easily broken or lost remotes. Before the last one gave up the ghost, [Steve] captured the IR codes for each button using an Arduino and the IRRemote library. With codes in hand, it was pretty straightforward to get the Nano to send them with an IR LED. But what makes this project unique is that the custom GUI that controls the Arduino was written in the language that everyone loves to hate, Visual Basic. It’s a dirty little secret that lots of corporate shops still depend on VB, and it’s good to see a little love for the much-maligned language for a change. Plus it got the job done.

Want to dive deeper into IR? Maybe this primer on cloning IR remotes with an Arduino will help. And for another project where VB shines, check out this voice controlled RGB LED lamp.

Hackaday Reviews: Flir One Android

The Flir One thermal camera caused quite a stir when it was launched back in 2014. Both the Flir One and its prime competitor Seek Thermal represented the first “cheap” thermal cameras available to the public. At the heart of the Flir One was the Lepton module, which could be purchased directly from Flir Systems, but only in quantity. [Mike Harrison] jumped on board early, cutting into his Flir One and reverse engineering the Lepton module within, including the SPI data required to talk to it. He even managed to create the world’s smallest thermal imager using a the TFT screen from an Ipod Nano.

flircamA few things have changed since then. You can buy Lepton modules in single quantity at DigiKey now. Flir also introduced a second generation of the Flir One. This device contains an updated version of the Lepton. The new version has a resolution of 160 x 120 pixels, doubled from the original module. There are two flavors: The iOS version with a lightning port, and an Android version with a micro USB connector. I’m an Android user myself, so this review focuses on the Android edition.

The module itself is smaller than I expected. It comes with a snap-on case and a lanyard. While you’ll look a bit like a dork wearing the lanyard, it does come in handy to keep the imager from getting lost or dropped. The Flir One has an internal battery, which of course needs to be topped off before it can be used. Mine charged up in about half an hour.

Continue reading “Hackaday Reviews: Flir One Android”