Controlling This Smartwatch is All in the Wrist

Smartwatches are pretty great. In theory, you’ll never miss a notification or a phone call. Plus, they can do all kinds of bio-metric tracking since they’re strapped to one of your body’s pulse points. But there are downsides. One of the major ones is that you end up needing two hands to do things that are easily one-handed on a phone. Now, you could use the tip of your nose like I do in the winter when I have mittens on, but that’s not good for your eyes. It seems that the future of smartwatch input is not in available appendages, but in gesture detection.

Enter WristWhirl, the brain-child of Dartmouth and University of Manitoba students [Jun Gong], [Xing-Dong Yang], and [Pourang Irani]. They have built a prototype smartwatch that uses continuous wrist movements detected by IR proximity sensors to control popular off-the-shelf applications. Twelve pairs of dirt-cheap IR sensors connected to an Arduino Due detect any of eight simple gestures made by the wearer to do tasks like opening the calendar, controlling a music player, panning and zooming a map, and playing games like Tetris and Fruit Ninja. In order to save battery, a piezo senses pinch between the user’s thumb and forefinger and uses this input to decide when to start and stop gesture detection.

According to their paper (PDF warning), the gesture detection is 93.8% accurate. To get this data, the team had their test subjects perform each of the eight gestures under different conditions such as walking vs. standing and doing either with the wrist in watch-viewing position or hanging down at their side. Why not gesture your way past the break to watch a demo?

If you’re stuck on the idea of playing Tetris with gestures, there are other ways.

Continue reading “Controlling This Smartwatch is All in the Wrist”

This Miniscule IR to HID Keyboard Hides in a Key Cap

Shards of silicon these days, they’re systematically taking what used to be rather complicated and making it dead simple in terms of both hardware and software. Take, for instance, this IR to HID Keyboard module. Plug it into a USB port, point your remote control at it, and you’re sending keyboard commands from across the room.

To do this cheaply and with a small footprint used to be the territory of bit-banging software hacks like V-USB, but recently the low-cost lines of microcontrollers that are anything but low-end have started speaking USB in hardware. It’s a brave new world.

In this case we’re talking about the PIC18F25J50 which is going to ring in at around three bucks in single quantity. The other silicon invited to the party is an IR receiver (which demodulates the 38 kHz carrier signal used by most IR remotes) with a regulator and four passives to round out the circuit. the board is completely single-sided with one jumper (although the IR receiver is through-hole so you don’t quite get out of it without drilling). All of this is squeezed into a space small enough to be covered by a single key cap — a nice touch to finish off the project.

[Suraj] built this as a FLIRC clone — a way to control your home-built HTPC from the sofa. Although we’re still rocking our own HTPC, it hasn’t been used as a front-end for many years. This project caught our attention for a different reason. We want to lay down a challenge for anyone who is attending SuperCon (or not attending and just want to show off their chops).

This is nearly the same chip as you’ll find on the SuperCon badge. That one is a PIC18LF25K50, and the board already has an IR receiver on it. Bring your PIC programmer and port this code from MikroC over to MPLAB X for the sibling that’s on the badge and you’ll get the hacking cred you’ve long deserved.

[via Embedded Lab]

Smartphone TV Remote Courtesy of Homekit and ESP8266

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”

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.