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.

An ATTiny Bluetooth Board

Since just about everyone who would be interested in electronics has a decent cellphone now, there’s an idea that we don’t need USB or weird serial adapters anymore. Bluetooth LE is good enough for short-range communication, and there are a ton of boards and Kickstarter projects out there that are ready to fill the need.

[Michah] has built what is probably the lowest-spec and cheapest BTLE board we’ve ever seen. It’s really just an ATTiny85 – a favorite of the crowd that’s just slightly above Arduino level – and an HM-10 Bluetooth 4.0 Low Energy module.

This board was developed as a means to connect sensors for a vintage motorcycle to an iOS device for display and data logging. A small, cheap board was needed that could be powered by a LiPo battery, and [Micah] created a board that fit his needs perfectly.

Four of the six IO pins on the ‘Tiny85 are broken out on a pin header; two are used to communicate with the BTLE module. It’s simple, fairly cheap, and can be powered by a battery. Exactly what you need if you want a wireless sensor board. All the files can be found in the Git repo and everything is open source. Not bad.