ESP-01 Bridges The Gap Between IR And WiFi

[Emilio Ficara] dropped us a line recently about his efforts to drag his television and receiver kicking and screaming into the modern era. His TV is old enough that it needs an external tuner, which means it requires two separate remotes to properly channel surf. He wanted to simplify the situation, and figured that while he was at it he might as well make the whole thing controllable over WiFi.

To begin the project, [Emilio] had to capture the IR signals from the two remotes he wanted to emulate. He put together a quick little IR receiver out of parts he had in the junk bin which would connect up to his computer’s microphone port. He then used an open source IR protocol analyzer to capture the codes and decode them into hex values.

As a proof of concept he came up with a little device that combines an ESP-01 with an ATmega88. The ESP-01 runs a minimal web server that receives hex codes as URL query strings. These hex codes are then interpreted by the ATmega88 and sent out over the IR LED. [Emilio] notes that driving the IR LED directly off of the ATmega pin results in fairly low range of around one meter, but that’s good enough for his purposes. If you want to drive the IR LED with more power, you’ll need to add a transistor to do the switching.

Passing the hex code 0x0408 to turn off the TV

Now that he can decode the signals from his original remotes and transmit them over WiFi via his bridge device, he has all the groundwork he needs to come up with a streamlined home entertainment controller. A native application for his smartphone or perhaps a minimal web interface is the last piece of the puzzle.

This project reminds us of a similar attempt at controlling legacy IR devices from a smartphone via Bluetooth. If you’re looking for more information about wrangling IR signals from your microcontroller, this primer from 2013 is still a great look at the subject.

“Hey! Don’t Lock The Door, I’m In Here!”

Those that work in front of a computer for a living spend most of the time making very little sound. Unless you’re a member of the clicky mechanical keyboard club, your working time is a low-observables time during which people can forget about you. You can make sure you’re not overlooked with this smartphone hotspot presence detector.

[Emilio Ficara]’s quiet work habits resulted in his housemates locking him in sometimes, to his inconvenience. PIR or microwave occupancy sensors might have worked to fix the problem, except that a few flexing fingers aren’t always enough to trigger them. Luckily, [Emilio] is also wisely distrustful of free WiFi, so his phone is always set up as a mobile hotspot, giving him the means to reliably detect his presence. An ATtiny2313 and an ESP-01 do the business of polling for the SSID of his phone and blinking a bright blue LED by his door for his housemates. It’s not perfect, of course; it could easily be spoofed by anyone else who knows his SSID. But simple works for now.

With almost everyone carrying one now, smartphone detection is a good proxy for the presence of a person. But it doesn’t work in every case, so you may want to familiarize yourself with the aforementioned PIR and microwave methods.

Hackaday Prize Entry: Clunke Button Powers Accessibility

An AT button is a device that helps people with all kinds of physical disabilities to interact with their world. There isn’t much to them,  just a switch wired up to a 3.5mm mono plug or jack, but the switch is installed in a large button housing that’s easy to operate.

These buttons can be used with any appliance or toy that can be adapted for mono input. They’re a simple piece of technology that makes a world of difference, but for some reason, they cost around $65 each. Because of this, people make their own simple switches, but these aren’t usually sturdy or long-lasting. [Christopher] thinks they should cost way less than that and set out to make buttons for about $10 in materials. Aside from the printed files, all you really need to make a Clunke button is one Cherry MX in your favorite shade of blue, blue, or blue, and either a 3.5mm mono jack or plug, depending on preference.

[Christopher] and his team devised the Clunke Button in collaboration with the local United Cerebral Palsy chapter as part of their senior design project. When it came time to present the project, they wanted to find a way to be able to pass a Clunke button around the audience and have it do something when pressed. They made an interactive ticker by adding an ESP-01 and a battery. [Christopher] has since taken over the project and continues to improve the design as he progresses through the Prize finals. Code for the ticker is available on GitHub, and the button STL files are on Thingiverse.

Wireless Terminal Over ESP8266

From debug messages to the fundamental ‘hello world’, serial communication does it all over three little wires. Now imagine being able to cut the cord to your next microcontroller project and use your phone as a VT100 terminal. This was the premise of [Ondřej Hruška]’s Wireless Terminal Project where he took an ESP8266  and added an in-browser terminal emulator which can be accessed over WiFi. The final hardware uses an ESP-01 module mounted atop a breadboard adapter with a 3.3V LDO, protection circuitry for the pins and under-voltage disable.

The firmware is based on [SpriteTM]’s libesphttpd code which was modified to include the VT100 escape sequence parser. The parser, in turn, was coded as a state machine and compiled using Ragel which simplifies such projects greatly. When you access the tiny web server, the loaded webpage starts to communicate over web sockets to the ESP-01. Key-presses from the terminal are sent to the buffer and onto the parser and control logic. The characters are then passed to the hardware UART lines at 115200bps and if an escape sequence is detected, the corresponding action is executed instead.

[Ondřej Hruška] shares the code as well as a user manual in PDF for anyone who would like to try it out and help improve the project. With a little inspiration on learning about state machines, you could extend the project to your own use case as well.

Thanks for the tip [Marco Saarloos]

Voltmeter Speaks MQTT Without Libraries

[Emilio Ficara] [built himself an Internet-connected MQTT multimeter](http://ficara.altervista.org/) (translated from Italian by robots). Or maybe we should say that [Emilio Ficara] undertook a long string of cool hacks that ended up in a WiFi-enabled multimeter, because the destination isn’t nearly as interesting as the voyage.

debugtool-sch

The multimeter, a DT-4000ZC, has a serial output but instead of transferring the data directly, it sends which cells on the LCD screen need to be activated. For testing along the way, [Emilio] used his own USB-serial-to-ESP01 dongle, which sounds like a useful tool to have around if you’re debugging an AT command session. He made a cute AVR SPI-port debugging aid with a reset button and diagnostic LEDs that we’re going to copy right now. Other home-made tools, like a 3.7V Li-ion battery manager and a serial data snooper make this project worth a look.

Continue reading “Voltmeter Speaks MQTT Without Libraries”