Sniffing Signals To Teach Old Speakers New Tricks

Like many of the stories you’ll find on these pages, this one starts with a user being annoyed about their device’s inability to perform a simple task. All [Jay Tavares] wanted was for his Bose Cinemate speakers to turn themselves on and off as needed. It seems like a reasonable enough request, and indeed, is exactly the point of HDMI’s Consumer Electronic Control (CEC) feature. But in this case, it would take a bit of custom hardware to get similar functionality.

Unfortunately, the speakers [Jay] has only support optical audio; so any interoperability with HDMI-CEC (hacked or otherwise) was immediately out the window. Still, he reasoned that he should be able to detect when the TOSLINK audio source is actually active or not, and give the speaker system the appropriate signal to either power on or shut down. You might think this would require some kind of separate stand-alone device, but as it turns out, all the necessary information was available by reverse engineering the connection between the receiver and the subwoofer.

After some investigation, [Jay] found that not only was the content of the TOSLINK audio source being sent over this DB9 cable, but so were the control signals required to turn the system on and off. So he designed a simple pass-through device with an ATtiny85 and a couple passives that latches onto the relevant lines in the cable.

When audio is detected over the optical connection, the MCU will inject the appropriate signals on the control line to simulate the user pressing the “Power” button the remote. When the chip hasn’t detected audio after 10 seconds, it sends the signal to shut the speakers off.

While [Jay] notes he can’t guarantee this works on anything other than the particular Bose Cinemate GS Series II system he has, we’d be willing to bet the concept could be adapted to other models or even brands that use a similar cable to link their principle components. If all else fails, you could always add an ESP8266 to your sound system and control it over WiFi.

Tiny Machine Learning On The Attiny85

We tend to think that the lowest point of entry for machine learning  (ML) is on a Raspberry Pi, which it definitely is not. [EloquentArduino] has been pushing the limits to the low end of the scale, and managed to get a basic classification model running on the ATtiny85.

Using his experience of running ML models on an old Arduino Nano, he had created a generator that can export C code from a scikit-learn. He tried using this generator to compile a support-vector colour classifier for the ATtiny85, but ran into a problem with the Arduino ATtiny85 compiler not supporting a variadic function used by the generator. Fortunately he had already experimented with an alternative approach that uses a non-variadic function, so he was able to dust that off and get it working. The classifier accepts inputs from an RGB sensor to identify a set of objects by colour. The model ended up easily fitting into the capabilities of the diminutive ATtiny85, using only 41% of the available flash and 4% of the available ram.

It’s important to note what [EloquentArduino] isn’t doing here: running an artificial neural network. They’re just too inefficient in terms of memory and computation time to fit on an ATtiny. But neural nets aren’t the only game in town, and if your task is classifying something based on a few inputs, like reading a gesture from accelerometer data, or naming a color from a color sensor, the approach here will serve you well. We wonder if this wouldn’t be a good solution to the pesky problem of identifying bats by their calls.

We really like how approachable machine learning has become and if you’re keen to give ML a go, have a look at the rest of the EloquentArduino blog, it’s a small goldmine.

We’re getting more and more machine learning related hacks, like basic ML on an Arduino Uno, and Lego sortings using ML on a Raspberry Pi.

A Homebrew Weller RT Soldering Station

Like a number of hackers before him, [MarcelMG] was impressed with Weller’s RT soldering iron tips, but considerably less enthused about the high purchase price on the station they’re designed to go into. Inspired by similar projects, he decided to try his hand at building his own soldering station which reaps the benefits of these active tips without the sticker shock.

The station’s user interface was kept intentionally simple, with little more than a four digit LED display to show the temperature and a rotary encoder to set it. The display alternates between the current temperature and the set temperature every few seconds while the knob is being turned, and if you push it in, the set temperature will be saved as the default for next time.

[MarcelMG] also included a feature that drops the iron’s temperature when it’s sitting in the holder, reducing tip wear and energy consumption. He originally planned on using a Hall effect sensor to detect when the iron was holstered without needing to physically interface with it, but in the end he realized the easiest approach was to simply connect one of the input pins on the microcontroller to the metal holder. Since the tip is grounded, he could easily detect if it was in place with a couple lines of code.

Speaking of which, the station is powered by an ATtiny24A with firmware written in C using the Atmel Studio IDE. [MarcelMG] mentions that the limited storage on the 24A was a bit of a challenge to work around, and suggests that anyone looking to follow in his footsteps uses something with a bit more flash under the hood. The LED display is a very common TM1637 type, the rotary encoder was salvaged from a radio, and the power supply was from an old laptop. All told, this looks like a very economical build.

Depending on your needs, a DIY soldering station can either have features to rival the commercial models or be exceedingly simplistic. In either case, the advent of low-voltage irons and active tips have made self-built soldering stations much more approachable. Attempts without the use of these modern niceties tended to be somewhat less glamorous.

A Box With A Pocket Sized Boom

[Discreet Electronics Guy] sends in his very pocket sized boom box.

One thing we love about [Discreet Electronics Guy]’s projects is how they really showcase that a cool hack is possible without access to 3D printers, overnight PCB services, and other luxuries. Everything in this board is hand made by electronics standards. The board is etched, the vias are wires, and even the case seems to be a modified plastic mint container.

The boombox itself uses an ATiny85 at its core which plays .wav files from an SD card. This is routed through an audio amp which powers two small speakers. We love the volume knob being a board mount potentiometer. The device even features its own small LiON battery pack. If you don’t want to enjoy the deep sound of the two small speakers there’s a headphone jack.

He’s got a great write-up on the circuit design on his website and you can see a video of him presenting the project here or after the break.

Continue reading “A Box With A Pocket Sized Boom”

Gaze Deeply Into These Infinity Mirror Coasters

Infinity mirrors have been gaining in popularity recently, thanks in no small part to the availability of low-cost RGB LED strips to line them with. Generally such pieces are limited to wall art, or the occasional table build, which is what makes these infinity mirror drink coasters from [MnMakerMan] so unique.

Built from an ATtiny85 and a WS2812B LED strip nestled into a 3D printed enclosure, these coasters are relatively cheap and easy to assemble should you want to run a few off before the holiday party season. [MnMakerMan] mentions the LEDs can consume a decent amount of energy, so he’s included a module to allow recharging of the internal 3.7 V 1500 mAh battery over USB.

Of course, a couple of PLA pieces and a custom PCB doesn’t make an infinity mirror. To achieve the desired effect, he’s created a stack consisting of a 4″ glass mirror, a 1/8″ thick plexiglass disc, and one-way mirror tint film. The WS2812B strip mounted along the circumference lights up the void between the two surfaces, and produces a respectable sense of depth that can be seen in the video after the break.

This isn’t the first high-tech piece of surface protection we’ve seen around these parts, as some very nice wirelessly charged supercapacitor coasters were entered into the 2019 Hackaday Prize. Of course, if you’re of the opinion that coasters should remain as cheap as possible, we’ve seen a number of automated attempts to add some flair to the classic paperboard discs.

Continue reading “Gaze Deeply Into These Infinity Mirror Coasters”

Impractical Clock Uses Tuning Fork

Clock projects are so common that they are almost a cliche. After all, microcontrollers have some clock source and are good at counting, so it stands to reason that a clock is an obvious project. [WilkoL’s] clock though has a most unusual clock source: a 440 Hz tuning fork.

A cheap plastic dome really shows off the fork and contributes to this good-looking build. An ATTiny13 divides the input frequency down, handles the display, and obeys the adjustment buttons. It does require a little metalworking, as the tuning fork needed filing and threading, although we bet you could figure out other ways to mount it.

Continue reading “Impractical Clock Uses Tuning Fork”

Fixing A Cheap UPS HAT For Your Raspberry Pi With A Tiny Daemon

An uninterruptible power supply (UPS) isn’t something solely to have hooked up to your desktop PC. Your Raspberry Pi SBC might also benefit from it. Yet the available options aren’t too great, or are too expensive. This leads folk including [Joachim Baumann] to modify cheerfully cheap Chinese UPS HAT boards such as the Geekworm UPS HAT to fix its myriad of issues and missing features.

Inspired by a number of other hacks on this board which fixed things like needing to push a button on the UPS to boot the Raspberry Pi, [Joachim] set out to make a similar ATtiny-based solution that would address all issues, above all the fact that this Geekworm UPS does not detect when the connected SBC has turned off and will happily run the lithium battery pack dry. Finding a blog post by Simon who had reverse-engineered the board previously was immensely helpful. Continue reading “Fixing A Cheap UPS HAT For Your Raspberry Pi With A Tiny Daemon”