Making a Spectrum Analyzer the Wrong Way on an ATtiny85

Everyone’s a critic, but it’s hard to argue with success. And that’s exactly what [agp.cooper] has with his ATtiny85-based spectrum analyzer devices.

The “normal” way to build a spectrum analyzer is to collect a bunch of samples and run a Fast Fourier Transform (FFT) on them all in one shot. As the name implies, the FFT is fast, and the result is the frequency components of the sampled data. [agp.cooper]’s “wrong” way to do it takes the Goertzel algorithm, which is used for detecting the intensity of a particular frequency, and scanning across the frequency range of interest. It’s a lot slower than a single FFT but, importantly for the ATtiny85 that he implements this on, it’s less demanding of the RAM.

Continue reading “Making a Spectrum Analyzer the Wrong Way on an ATtiny85”

DIY I2C Devices with ATtiny85

[Pawel] has a weather station, and its nerve-center is a Raspberry Pi. He wanted to include a light sensor but the problem is, the Pi doesn’t have a built-in ADC to read the voltage off the light-dependent resistor that he (presumably) had in his junk box. You can, of course, buy I2C ADC chips and modules, but when you’ve already got a microcontroller that has ADC peripherals on board, why bother?

[Pawel] wired up a tremendously simple circuit, downloaded some I2C slave-mode code, and added an LED for good measure. It’s all up on GitHub if you’re interested.

cropped_shot_2016-10-21-112958
Bright by Day, Dark by Night!

We’re covering this because we rarely see people coding for I2C slave devices. Everyone and their mom uses I2C to connect to sensors, for which the Arduino “Wire” library or “i2c-tools” on the Pi do just fine. But what do you do when you want to make the I2C device? [Pawel]’s project makes use of TinyWireS, a slave-mode SPI and I2C library for AVR ATtiny Arduino projects.

Here, [Pawel] just wanted a light sensor. But if you’re building your own devices, the sky is the limit. What’s the most esoteric I2C sensor that you can imagine? (And is it really the case that we haven’t seen an I2C slave device hack since 2010?)

How Hot is Your Faucet? What Color is the Water?

How hot is the water coming out of your tap? Knowing that the water in their apartment gets “crazy hot,” redditor [AEvans28] opted to whip up a visual water temperature display to warn them off when things get a bit spicy.

This neat little device is sequestered away inside an Altoids mint tin — an oft-used, multi-purpose case for makers. Inside sits an ATtiny85 microcontroller  — re-calibrated using an Arduino UNO to a more household temperature scale ranging from dark blue to flashing red — with additional room for a switch, while the 10k ohm NTC thermristor and RGB LED are functionally strapped to the kitchen faucet using electrical tape. The setup is responsive and clearly shows how quickly [AEvans28]’s water heats up.

Continue reading “How Hot is Your Faucet? What Color is the Water?”

Hackaday Links: October 30, 2016

Diablo. Mech Warrior. Every LucasArts game. There are reasons to build an old PC, and no, emulation cannot completely capture the experience of playing these old games. [Drygol] set out to create a retro PC and succeeded brilliantly. The built features an old desktop AT case (when is the last time you saw one of them?), a 233MHz Pentium with MMX technology, an ancient PCI video card, and an old ISA Ethernet card (with AUI connector). Incoming upgrades will be an ATI 3D Rage PRO, PCI SoundBlaster, and hopefully Windows 98SE.

Right now, we’re gearing up for the Hackaday Superconference next weekend. It’s going to be awesome, and we’re going to announce the winner of the Hackaday Prize. We have another contest going on right now – the Enlightened Raspberry Pi Contest. The name of the game here is documentation. Build something, document it on hackaday.io, and you get some cool prizes.

Continue reading “Hackaday Links: October 30, 2016”

Just In Time For Christmas! A DIY Desktop LED Tree

Okay, we haven’t even hit Halloween yet, but if you’re planning some kind of holiday project, now’s a good time to start ordering your parts, especially if you’re designing your own PCB. While there’s no PCB involved, [designer2k2] built a desktop “hollow” Christmas tree using some WS2812 RGB LEDs controlled by a microcontroller and powered by USB.

The board running [designer2k2]’s project is a Digispark, a USB powered board by Digistump which contains an ATtiny85. The LEDs, four different sized NeoPixel rings, plus a single pixel for the top, are connected together using some solid wire which makes for a very cool look. The code that runs on the ATtiny is the part that really makes this tree. The code cycles through colors and some light chaser effects, as well as a mode that shows a green tree with some white lights. The whole project is topped off by a routine that spells “XMAS” as you look at the tree from the top down.

We’ve seen some other Christmas tree hacks over the years controlled by various things, but this one is a fairly simple, cool design. [Designer2k2] also released the code for the tree and I’m sure a lot of us could come up with some more light designs.

Check out the video after the break:

Continue reading “Just In Time For Christmas! A DIY Desktop LED Tree”

Who Could Resist a Color Coded Clock?

[Luc] wanted to make a clock like no other. He knows that the territory is well-trod, especially in the area of minimalist design. Undeterred, [Luc] came up with a fresh design that uses the resistor color code to display the time. He’s calling it the Nerd’s Ultimate Watch.

It doesn’t get much more minimalist than four RGB LEDs. Each one illuminates in the color that represents the digit in the current time. For instance, I’m typing this sentence at 1:37PM. The clock uses 24-hour time, so let’s call it 13:37. Using resistor color code time, that’s 1, 3, 3, 7, or brown, orange, orange, violet.
Continue reading “Who Could Resist a Color Coded Clock?”

The Quest for Mice With Frickin’ Laser Beams (Pointed At Their Brains), Building A Laser Controller

The logo for the field is kind of cute though.
The logo for the field is kind of cute though.

[Scott Harden] is working on a research project involving optogenetics. From what we were able to piece together optogenetics is like this: someone genetically modifies a mouse to have cell behaviors which can activated by light sensitive proteins. The mice then have a frikin’ lasers mounted on their heads, but pointing inwards towards their brains not out towards Mr. Bond’s.

Naturally, to make any guesses about the resulting output behavior from the mouse the input light has to be very controlled and exact. [Scott] had a laser and he had a driver, but he didn’t have a controller to fire the pulses. To make things more difficult, the research was already underway and the controller had to be built

The expensive laser driver had a bizarre output of maybe positive 28 volts or, perhaps, negative 28 volts… at eight amps. It was an industry standard in a very small industry. He didn’t have a really good way to measure or verify this without either destroying his measuring equipment or the laser driver. So he decided to just build a voltage-agnostic input on his controller. As a bonus the opto-isolated input would protect the expensive controller.

The kind of travesty that can occur when [Stefan Kiese] doesn't have access to nice project boxes.
The kind of travesty that can occur when [Scott] doesn’t have access to nice project boxes.
The output is handled by an ATtiny85. He admits that a 555 circuit could generate the signal he needed, but to get a precision pulse it was easier to just hook up a microcontroller to a crystal and know that it’s 100% correct. Otherwise he’d have to spend all day with an oscilloscope fiddling with potentiometers. Only a few Hackaday readers relish the thought as a relaxing Sunday afternoon.

He packaged everything in a nice project box. He keeps them on hand to prevent him from building circuits on whatever he can find. Adding some tricks from the ham-radio hobby made the box look very professional. He was pleased and surprised to find that the box worked on his first try.