Digispark Spoofs IR To Get Speakers Under Control

The Microlab 6C are a pretty nice pair of speakers, but [Michał Słomkowski] wasn’t too thrilled with the 8 watts they consume when on standby. The easy fix is to just unplug them when they aren’t in use, but unfortunately the digital controls on the front panel mean he’s got to turn them on, select the correct input, and turn the volume up to the appropriate level every time they’re plugged back in. Surely there must be a better way.

His solution was to use a Digispark to fire off the appropriate IR remote codes so they’d automatically be put back into a usable configuration. But rather than putting an IR LED on one of the GPIO pins, he simply spliced it into the wire leading back from the speaker’s IR receiver. All his code needs to do is generate the appropriate pulses on the line, and the speaker’s electronics think its a signal coming in from the remote.

Distinctive patterns on the IR sensor wires.

Power for the Digispark is pulled from the speaker itself, so it turns on once [Michał] plugs them back in. The code waits five seconds to make sure the hardware has had time to start up, then proceeds with the “Power On”, “Change Input”, and “Volume Up” commands with a few seconds in between each for good measure.

Not only was it easier to skip the IR and inject the signals directly, but it also made for a cleaner installation. Since the microcontroller doesn’t need line of sight to the IR receiver, [Michał] was able to hide it inside the speaker’s enclosure. From the outside, the modification is completely invisible.

We’ve seen similar code injection tricks used before, and it’s definitely one of those techniques you should file away mentally for future reference. Even though more and more modern devices are embracing WiFi and Bluetooth control, the old school IR remote doesn’t seem like it’s going away anytime soon.

Projecting Halloween Peril

Every holiday has a few, dedicated individuals committed to “going all out.” Whether they’re trying to show up the neighbors, love the look, or just want to put a smile on the faces of those passing by; the results are often spectacular. A recent trend in decorations has been away from analog lights and ornaments and towards digital light shows via a projector. [Georgia Clegg] and [Luma Bakery] have written up a fantastic guide detailing the involved process of house projection for those feeling the holiday spirit.

There is more to the effect than simply pointing a projector at a home and running a video clip. The good displays make use of the geometry of the home and the various depths of the walls don’t distort the picture. The house itself is mapped into the image being displayed.

There are generally two approaches to mapping: point of view mapping and neutral/orthographic mapping. The first is just setting the projector in a fixed position and designing the graphics in such a way that they will look correct. The downside is that if there are multiple projectors, each projector will need to be separately designed for and they cannot be moved or adjusted. The second maps the house in an actual 3d sense and figures out how to display the content according to the viewpoint that the projector is currently at. This means you can create one source content and simply export it for the various projectors.

As you can imagine, the second is much more involved and this is where [Georgia Clegg] has stepped in. There’s a whole series that covers creating your house in MeshRoom, cleaning it up in Blender, creating the videos in After Effects, and setting up your projector to keep it running through the season.

We’ve seen other amazing projector mapping displays with lasers here at Hackaday. Now you can make one yourself. Just don’t get bogged down refurbishing your vector projector along the way.
Continue reading “Projecting Halloween Peril”

Motorized Magic Over HDMI

There is a certain warmth that seems to emanate from stereo receivers of the 70s, 80s, and 90s. Despite their large footprint and considerable heft, the soft glow of the indicator lights and solid kerthunk of switches provide a sense of coziness. When [Tom] recently swapped his receiver for a 1970s Pioneer SX-950, he found himself getting up from the couch to adjust the volume when watching TV far too often for his liking. Resolving to do something about it, he added some magic in the form of a motorized volume knob. One of the coolest tricks for stereos was to have a small motor attached to the volume knob so that it could turn the volume up or down via a remote.

The first obstacle came when [Tom] had to forgo the center tap on the potentiometer to get a motorized one. This meant the volume compensation feature would be disabled, which is but a small price to pay for convenience. After scouring the internet, he finally had the part in hand only to discover some troublesome capacitors in the way. The new pot had a rather large motor hanging off the back that the previous one didn’t have. Fortunately, there was a good bit of space between the PCB and the bottom of the chassis, so Tom was able to just flip the capacitors to the underside of the board and bend them on their sides.

The next problem to solve was how to change the volume remotely. IR was considered as well as optical cable control signals. What [Tom] did instead was to implement HDMI CEC (consumer electronics control). CEC was well documented and seemed simple to implement on an ATTINY4313 with the help of a half-H driver. The CEC protocol implemented by [Tom’s] TV seemed to be very sensitive to timing, so an external crystal was used to get more precise timing and additional handshaking was implemented to get the TV to accept the microcontroller as valid. A few fail-safes were added to make sure the motor didn’t burn out if something went wrong with the CEC protocol and a nice enclosure wrapped up the build quite nicely.

We’ve seen CEC implemented before on a PIC 18F87J50, but as a sender of CEC commands not a receiver. [Tom’s] code is available on GitHub and might prove useful if you’re looking to implement CEC on an AVR.

Thanks [Tom] for sending this one in!

Reactive Pixel Lamps Create Colourful Vibes On Command

Phillips Ambilight technology is a curious thing, never quite catching on in the mainstream due to its proprietary nature. Consisting of an LED array that sits behind a television screen, it projects colours relevant to the content on screen to create a greater feeling of ambience. [Ed Chamberlain]’s reactive pixel lamps aim to do much the same thing in a more distributed way.

Each pixel lamp consists of a Wemos D1 controller fitted with an old-school 4-wire RGB LED. The components are placed in a 3D printed translucent cube, which serves as an attractive enclosure and diffuser. With WiFi connectivity on board, it’s possible to connect the individual cubes up to a Raspberry Pi serving as a Phillips Hue bridge thanks to DIYHue. Once setup, the lights can be configured as an Ambilight system within the Phillips Hue app.

It’s an impressive way to give a room reactive lighting on a budget, without resorting to costly off-the-shelf solutions. We’d love to see this expanded further, as we’re sure a room full of reactive lights would be truly a sight to behold. Other methods to recreate the Ambilight technology are possible, too. Video after the break.

Continue reading “Reactive Pixel Lamps Create Colourful Vibes On Command”

E-Paper Display Shows Movies Very, Very Slowly

How much would you enjoy a movie that took months to finish? We suppose it would very much depend on the film; the current batch of films from the Star Wars franchise are quite long enough as they are, thanks very much. But a film like Casablanca or 2001: A Space Odyssey might be a very different experience when played on this ultra-slow-motion e-paper movie player.

The idea of displaying a single frame of a movie up for hours rather than milliseconds has captivated [Tom Whitwell] since he saw [Bryan Boyer]’s take on the concept. The hardware [Tom] used is similar: a Raspberry Pi, an SD card hat with a 64 GB card for the movies, and a Waveshare e-paper display, all of which fits nicely in an IKEA picture frame.

[Tom]’s software is a bit different, though; a Python program uses FFmpeg to fetch and dither frames from a movie at a configurable rate, to customize the viewing experience a little more than the original. Showing one frame every two minutes and then skipping four frames, it has taken him more than two months to watch Psycho. He reports that the shower scene was over in a day and a half — almost as much time as it took to film — while the scene showing [Marion Crane] driving through the desert took weeks to finish. We always wondered why [Hitch] spent so much time on that scene.

With the proper films loaded, we can see this being an interesting way to really study the structure and flow of a good film. It’s also a good way to cut your teeth on e-paper displays, which we’ve seen pop up in everything from weather stations to Linux terminals.

ESPFLIX Brings Streaming Video To The World Of Microcontrollers

These days, if you’ve got a TV that’s a little too old to directly access streaming services, you’ve got plenty of options. Apple TV, Chromecast, and a cavalcade of Android boxes are available to help get content on your screen. However, if you’re really stuck in the past, ESPFLIX might just be for you.

Control of the system is achieved by an Apple TV remote.

Yes, that’s right – it’s an online streaming service running on an ESP32. [rossumur] has achieved this feat through a careful use of codecs, and some efficient coding strategies to make it all come together. Video is MPEG1, at just 352×192 resolution. Audio is via the SBC codec, originally intended for use with Bluetooth devices. It’s chosen here for its tiny sample buffers, making it easier to decode in the limited RAM of the ESP32. Output is via composite video, generated on the ESP32 itself.

The titles themselves consist of public domain content, running off an Amazon Web Services instance. With limited RAM on the ESP32, there’s not much buffering to be had, so [rossumur] is bankrolling an AWS Cloudfront instance which should make it possible to use ESPFLIX from most places around the world with a solid internet connection.

We’ve seen [rossumur]’s work before, with the ESP_8_BIT serving as a prelude to this project’s capabilities. Video after the break.

Continue reading “ESPFLIX Brings Streaming Video To The World Of Microcontrollers”

This Tube Preamp Has A Nixie Volume Display

The pursuit of audiophile hi-fi is one upon which many superlatives and perhaps a little too much money are lavished. But it’s also a field in which the self-builder can produce their own equipment that is as good or often better than that which can be bought, so it provides plenty of interesting projects along the way. [Justin Scott]’s tube preamplifier is a great example, with its novel use of a pair of Nixie tubes to indicate the volume to which it has been set.

The audio side of the preamp comes courtesy of a four-tube kit from tubes 4 hi-fi, in which we notice another tube as power supply rectifier. The case is a beautifully made wooden affair with a professional front panel, but it’s the Nixies which make it a bit special. A high quality motorised potentiometer is used as a volume control, one of its multiple outputs is used as a simple potential divider to provide a voltage. This is read by an Arduino, which in turn drives the Nixies via a BCD-to-decimal decoder. The attention to detail in the whole project is at a very high level, and though he’s not shred any of its audio measurements with us, we’d expect it to sound as good as it looks.

If tube amplifiers interest you, we’ve delved into their design in the past, and it’s worth directing you to Justin’s matching amplifier, as well.