Good grief, this smartphone-to-TV remote really drives home how simple hardware projects have become in the last decade. We’re talking about a voltage regulator, IR LED, and ESP8266 to add TV control on your home network. The hardware part of the hack is a homemade two sided board that mates an ESP with a micro-USB port, a voltage regulator to step down fom 5 to 3.3 v, and an IR LED for transmitting TV codes.
Let’s sit back and recount our good fortunes that make this possible. USB is a standard and now is found on the back of most televisions — power source solved. Cheap WiFi-enabled microcontroller — check. Ubiquitous smartphones and established protocols to communicate with other devices on the network — absolutely. It’s an incredible time to be a hacker.
Television infrared remote codes are fairly well documented and easy to sniff using tools like Arduino — in fact the ESP IR firmware for this is built on [Ken Shirriff’s] Arduino IR library. The rest of the sketch makes it a barebones device on the LAN, waiting for a connection that sends “tvon” or “tvoff”. In this case it’s a Raspberry Pi acting as the Homekit server, but any number of protocols could be used for the same (MQTT anyone?).
Continue reading “Smartphone TV Remote Courtesy of Homekit and ESP8266”
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.
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).
So, 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.
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 Hackaday.io!
We 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.
Next 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.
Finally, 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 Hackaday.io. 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 Hackaday.io!
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.
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.
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.