Clocking (or Overclocking) an AVR

Some guys build hot rods in their garage. Some guys overclock their PCs to ridiculously high clock frequencies (ahem… we might occasionally be guilty of this). [Nerd Ralph] decided to push an ATTiny13a to over twice its rated frequency.

It didn’t seem very difficult. [Ralph] used a 44.2 MHz can oscillator and set the device to use an external clock. He tested with a bit-banged UART and it worked as long as he kept the supply voltage at 5V. He also talks about some other ways to hack out an external oscillator to get higher than stock frequencies.

We wouldn’t suggest depending on an overclock on an important or commercial project. There could be long term effects or subtle issues. Naturally, you can’t depend on every part working the same at an untested frequency, either. But we’d be really interested in hear how you would test this overclocked chip for adverse effects.

Now, if you are just doing this for sport, a little liquid nitrogen will push your Arduino to 65 MHz (see the video after the break). We’ve covered pushing a 20MHz AVR to 30MHz before, but that’s a little less ratio than [Ralph] achieved.

Continue reading “Clocking (or Overclocking) an AVR”

Scrappy RGB Binary Clock From The Parts Bin

Sometimes you just want to make something, and not spend any money doing it. That’s what [Evan] had in mind when setting out to make this cool RGB LED binary Clock.

The project box is made from scrap pieces of balsa wood, with the front being a scrap of acrylic.  Multiple layers of the balsa wood were glued up to thickness and drilled to hold the LED’s, some paper was added on top then the acrylic to give everything a frosty diffused look.

LED’s are controlled by the good ‘ol 74HC595 serial to parallel shift register, and a ATTiny84 micro all set on scraps of perf board [Evan] had kicking around. Time is kept by an off the shelf RTC module and everything is point to point wired together .

Once the glue dried and a lid added, [Evan] has a colorful and fun looking 4 bit per digit binary clock that always takes us a few moments to read.

Upgrading An Old Lantern

[Shockwaver] stumbled across some old kerosene lanterns, and decided he also stumbled across his next project. He decided to leave the kerosene out, and in its place used some RGB LEDs to bring the lanterns back to life. This is quite an upgrade. Considering the burning kerosene will only put out a few colors of light, the astute reader will have realized the RGB array has the ability put out over 16 million colors.

After some initial testing, he settled on a 24 LED circle array powered by an ATtiny85. The FastLED library helped him keep the code within the tight memory requirements. [Shockwaver] was not used to working with the such a small amount of memory, but after some fiddling he was able to make it work in the end, using 8,126 bytes.

The source can be found on his github page. Be sure to check out the video below to see the RGB lantern in action.

Continue reading “Upgrading An Old Lantern”

Embed With Elliot: Shifting Gears With AVR Microcontrollers

Most modern computers are able to dynamically adjust their operating frequency in order to save power when they’re not heavily used and provide instantaneous-seeming response when load increases. You might be surprised to hear that the lowly 8-bit AVR microcontrollers can also switch CPU-speed gears on the fly. In this edition of Embed with Elliot, we’ll dig into the AVR’s underappreciated CPU clock prescaler.

Continue reading “Embed With Elliot: Shifting Gears With AVR Microcontrollers”

Embed with Elliot: Multiplexing SPI Uses Few Pins

[Ralph Doncaster], aka Nerdralph, seems to be absolutely driven to see how few resources he can use on a microcontroller to get the job done. In this post on his blog, [Ralph] writes some custom bit-banged SPI code to cut the number of SPI lines necessary to drive an nRF24L01+ radio module from four down to two. That really helps if you’re using a micro with only six free pins, like an ATtiny85.

If you’re going to say, “why don’t you just buy a bigger microcontroller?”, you’re missing the point. This exercise strikes us as optimization for optimization’s sake and a dirty hack, both of which are points in its favor.  There are also a couple of techniques here for your mental toolbox. We thought it was interesting enough to look at in depth.

Continue reading “Embed with Elliot: Multiplexing SPI Uses Few Pins”

Hackaday Prize Entry : Impact – A Head Concussion Monitor

A lot of young athletes who get concussions each year go undiagnosed, leading to brain injury. [Hunter Scott] is working on a device called Impact to help detect these events early. According to this article which discusses the issue of concussion recognition and evaluation, “Early identification on the sports sideline of suspected concussion is critical because, in most cases, athletes who are immediately removed from contact or collision sports after suffering a concussion or other traumatic brain injury will recover without incident fairly quickly. If an athlete is allowed to keep playing, however, their recovery is likely to take longer, and they are at increased risk of long-term problems”

The device is a dime sized disk, which has an ATTiny85 microcontroller, memory to hold data, an accelerometer and a LED which gets activated when the preset impact threshold is breached, all driven by a coin cell. This small size allows it to be easily embedded in sports equipment such as helmets. At the end of a game, if the LED is blinking, the player is then screened for a concussion. For additional analysis, data stored on the on-board memory can be downloaded. This can be done by a pogo-pin based docking station, which is what [Hunter Scott] is still working on.

He’s having a functional problem that needs fixing. The ATTiny85 cannot be programmed with the accelerometer populated. He first needs to populate the ATTiny85, program it, and then populate the accelerometer. He’s working in fixing that, but if you have any suggestions, chime in on the comments below. We’d like to add that [Hunter] is a prolific hacker. His project, the Ultra-wideband radio module was a Hackaday Prize semi-finalist last year.

The 2015 Hackaday Prize is sponsored by:

Measuring Temperature On An AVR Without A Sensor

There are a few AVR microcontrollers with onboard temperature sensors. These temperature sensors are neither accurate nor precise, but they do work for a few use cases. [Thomas] came up with a little bit of code that runs on all AVR microcontrollers, and is at least as accurate as the sensors in the rare AVRs that have them.

Although not all AVRs have a temperature sensor, they do all have RC oscillators, and these RC oscillators are temperature sensitive. By combining the RC oscillator and watchdog timer, [Thomas]’ code can get a vague idea if it’s getting hotter or colder.

To prove his code works, [Thomas] took an ATtiny13A chip loaded up with a few bits of code and placed a heated coin on it. The chip was programmed to turn on an LED when it detected a rise in temperature, and predictably, the LED lit up. With a coin chilled in a bowl of ice water, another bit of code ran, flashing the LED.

While we’re sure it’s neither accurate nor precise, it does have its uses – overheating protection or a simple thermostat. You can check out a video of the code in action below.

Continue reading “Measuring Temperature On An AVR Without A Sensor”