A Power Switch for the Chromecast

Chromecasts are fantastic little products, they’re basically little HDMI sticks you can plug into any monitor or TV, and then stream content using your phone or computer as the controller. They are powered by a micro USB port in the back, and if you’re lucky, your TV has a port you can suck the juice off. But what if you want to turn it off while you use a different input on your TV so that your monitor will auto-sleep? You might have to build a power switch.

Now in all honesty, the Chromecast gets hot but the amount of power it draws when not in use is still pretty negligible compared to the draw of your TV. Every watt counts, and [Ilias] took this as an opportunity to refine his skills and combine a system using an Arduino, Bluetooth, and Android to create a robust power switch solution for the Chromecast.

The setup is rather simple. An HC-05 Bluetooth module is connected to an Attiny85, with some transistors to control a 5V power output. The Arduino takes care of a bluetooth connection and uses a serial input to control the transistor output. Finally, this is all controlled by a Tasker plugin on the Android phone, which sends serial messages via Bluetooth.

All the information you’ll need to make one yourself is available at [Ilias’] GitHub repository. For more information on the Chromecast, why not check out our review from almost three years ago — it’s getting old!

Father and Son Fix a Scale

It’s awesome when you can tag-team with your dad to fix stuff around the house. [Ilias Giechaskiel], with help from his dad, did a complete refurbishing of a broken bathroom weighing scale, but not before trying to fix it first. The voltage regulator looked bust. Powering the rest of the circuit directly didn’t seem to work, and none of the passives looked suspect. Most of the chips had their markings scratched off and the COB obviously couldn’t be replaced anyway.

Instead of reverse engineering the LCD display, they decided to retain just the sensor and the switches, and replace everything else. The ATtiny85 seemed to have enough IO pins to do the job. But the strain-gauge based load cell, connected in a bridge configuration, did not have a signal span large enough to be measured using the 10 bit ADC on the ATtiny. Instead, they decided to use the HX711 (PDF) – a 24 bit ADC with selectable gain, specifically meant for use in weighing scales. Using a library written for the HX711 allowed interfacing it to the Arduino easy. The display was built using a 4 digit 7 segment display driven by the MAX7219. A slightly modified LEDcontrol library made it easy to hook up the display to the ATtiny. The circuit was assembled on a prototyping board so that it could be plugged in to another Arduino for programming.

Since they were running out of pins, they had to pull out a trick to use a single pin from the ATtiny to act as clock for the display driver and the ADC chip. Implementing the power-on and auto-off feature needed another interesting analog circuit block. Dad did the assembly of the circuit on a prototype board. In hindsight, the lack of IO pins on the ATtiny limited the features they could implement, so the duo are planning to put in an Arduino Nano to improve the hack. If you’re ever stuck with a broken scale, he’s made the schematic (PNG) and code available for use.

The Smallest MIDI Synthesizer?

Dang. [Mixtela] has just managed a seriously cool hack: running an entire MIDI synthesizer on an ATTiny85 to create what he claims is the worlds smallest MIDI synthesizer. That’s it on the left, next to a standard MIDI cable plug. microMidi3-guts-thumbThe whole thing is so small it fits inside a MIDI plug and can run off the power supplied by the MIDI output, driving a small pizeo buzzer. Considering that the ATTiny85 has just 8Kb of memory and 512 bytes of RAM, this is no small feat (get it?). To create the sound, [Mixtela] simply drives the buzzer with PWMed square waves, creating the glorious early chiptunes sound that every retro gamer will recognize.

He even decided to implement some MIDI commands beyond just playing notes, including pitch bending, and is considering ways to add polyphony to his small miracle. Sure, it isn’t going to win any awards for sound quality, and without optoisolators it doesn’t really fit the MIDI spec. But it works, and remember that MIDI synthesizers used to be big, expensive devices that required a degree in sound engineering to program. Now, thanks to hackers like [Mixtela], you can build your own from parts that cost only a couple of dollars.

Continue reading “The Smallest MIDI Synthesizer?”

ATtiny Does 170×240 VGA With 8 Colors

The Arduino is a popular microcontroller platform for getting stuff done quickly: it’s widely available, there’s a wealth of online resources, and it’s a ready-to-use prototyping platform. On the opposite end of the spectrum, if you want to enjoy programming every bit of the microcontroller’s flash ROM, you can start with an arbitrarily tight resource constraint and see how far you can push it. [lucas][Radical Brad]’s demo that can output VGA and stereo audio on an eight-pin DIP microcontroller is a little bit more amazing than just blinking an LED.

[lucas][RB] is using an ATtiny85, the larger of the ATtiny series of microcontrollers. After connecting the required clock signal to the microcontroller to get the 25.175 Mhz signal required by VGA, he was left with only four pins to handle the four-colors and stereo audio. This is accomplished essentially by sending audio out at a time when the VGA monitor wouldn’t be expecting a signal (and [lucas][Rad Brad] does a great job explaining this process on his project page). He programmed the video core in assembly which helps to optimize the program, and only used passive components aside from the clock and the microcontroller.

Be sure to check out the video after the break to see how a processor with only 512 bytes of RAM can output an image that would require over 40 KB. It’s a true testament to how far you can push these processors if you’re determined. We’ve also seen these chips do over-the-air NTSC, bluetooth, and even Ethernet.

Continue reading “ATtiny Does 170×240 VGA With 8 Colors”

Electronic float valve keeps the horse’s feet dry

[Bob] built this simple device that can best be described as an electronic float valve. He was wasting a lot of water from overflowing water troughs and buckets around his farm. He would usually put the hose in the container, turn on the water valve and carry on with his work. By the time he remembered to come back, the area would be flooded. It’s obvious that there’s many different ways to solve a problem. For example, a simple mechanical float valve might have worked, but it’s not horse friendly and liable to get damaged soon.

The electronics is unabashedly minimal. An ATtiny85 controls a relay via a common variety NPN transistor. The relay in turn switches the solenoid valve. A push-button tells the microcontroller to start the water flowing, and when the water level gets high enough that it touches two hose clamps, the micro shuts it off again.

There’s some ghetto engineering going on here. The electronics is driven by a 9V battery, although the relay and the solenoid valve that [Bob] used are both rated for 12V. He’s not even using any sort of voltage regulation for the ATtiny, but instead dropping the voltage with a resistor divider. (We wonder about battery life in the long run.)

He built all of it on perf board and stuffed it inside a small enclosure, with two wires coming out for the level sensor and another two for the solenoid, and it seems to work. Check the video below where [Bob] walks through his build.

While some may point out the many short comings in this build, [Bob] found the one solution that works for him. Sometimes the right solution is what you’ve got on hand, and we’re glad he’s hacking away and sharing his work. And check out this wireless water level sensor that he built some time back.

Continue reading “Electronic float valve keeps the horse’s feet dry”

A Hacker-Friendly Blinky USB Stick

The availability of Smart RGB LED’s, either as individual units, as strips or even as panels, have made blinky light projects with all kinds of color control and transition effects easy to implement using even the simplest of controllers. Libraries that allow control of these smart LEDs (or Smart Pixels as they are sometimes called)  make software development relatively easy.

[overflo] at the Metalab hackerspace in Vienna, Austria recently completed development of usblinky – a hacker friendly blinky USB stick. It can control up to 150 WS2812B smart LED’s when powered via an external power supply, or up to 20 LED’s when powered via a computer USB port. The micro-controller is an ATTiny85 running the Micronucleus bootloader which implements software USB using vUSB. The hardware is based on the DigiSpark platform. The usblinky software sources are available on their Github repo. The section on pitfalls and lessons learned makes for interesting reading.

Metalab plans to run workshops around this little device to get kids into programming, as it is easy enough and gives quick visual feedback to get you started. To round off the whole project, [overflo] used OpenSCAD to design a customizable, 3D printable “parametric orb” which can house the LED strip and make a nice enclosure or psychedelic night light. Check out the mesmerizing video of the usblinky Orb after the break.

Thanks to [papst] for sending in this tip.

Continue reading “A Hacker-Friendly Blinky USB Stick”

AES-CMAC on an ATtiny85

[Blancmange] built a custom door chime using an ATtiny85. Unlike most commercial products out there, this one actually tries to be secure, using AES-CMAC for message signing.

The hardware is pretty simple, and a protoboard layout is shown in the image above. It uses the ATtiny85 for control, with an LM380N audio amplifier, and a low cost 315 MHz receiver.

The more impressive part of the build is the firmware. Using AVR assembly, [Blancmange] managed to fit everything into the 8 Kbytes of flash on the ATtiny85. This includes an implementation of AES-CMAC, an AES cypher based message authentication code. The transmitting device signs the request with a key shared between both devices, and the receiver verifies that the message is from a trusted transmitter.

Fortunately, the assembly code is very well commented. If you’ve ever wanted to take a look into some complex ASM assembly, this is a great project to check out. The source code has been released into the public domain, so the rest of us can implement crypto on this cheap microcontroller with much less effort.