AVR fuse bits explained

Every AVR microcontroller, from the ATtiny in your thermostat to the ATMega in your Arduino, stores its configuration in a series of fuse bits. These fuse bits control settings such as the multiplier of the internal oscillator (and thus the speed of the chip), or if the reset pin can be used as a GPIO pin. [YS] just put up an awesome tutorial for understanding these fuse/lock bits, and it’s just the reference guide you’ll need when you find your AVR is running 8 times slower than you would like.

As an example, [YS] uses the ATMega48 default settings. From the factory, the ‘Mega48 ships with it’s fuse bits set to use an 8MHz internal RC oscillator with the CKDIV8 bit set. This results in the chip operating at 1MHz, a bit slow for [YS]‘ liking.

By looking at the datasheet for the ATMega48, [YS] found the CKDIV8 fuse was the 7th bit in the low fuse byte. From the factory, the default value for this byte is 0b01100010. To remove the ‘divide clock by 8′ bit, [YS] needed to change the low byte to 0b11100010, or 0xE2. This is done via AVRdude by appending lfuse:w:0xE2:m to the commands entered when programming.

Fuse bits don’t need to be scary. As long as you can convert between binary and hex, can remember there are 7 bits in a byte (remember to start counting from 0), and have access to an easy to use fuse calculator, it’s possible to change all the settings on any AVR you have on hand.


Rebuilding the electronics in a remote control car

Inspired by the many autonomous rovers such as Curiosity and the self-driving Google car, [Rohit] decided to build his own by taking an off-the-shelf remote control car and adding his own electronics. Unfortunately, he couldn’t find the datasheet for the chip used to receive radio signals and drive the motors, so he ended up building his own electronics and putting them in the car.

[Rohit]‘s car – the Thunder Rumbler RC Car – is driven by applying power to two motors. This is an easy system to control, as only two channels are needed to make the car go forward, left, right, or backwards. To drive these two motors, [Rohit] found an SN754410 quadruple half-H bridge driver chip lying in his box of assorted electronic components. Thanks to a helpful instructable, this chip was easily controlled with an Arduino.

That left the problem of sending a wireless signal to the Arduino. [Rohit] accomplished this by relying on an Android phone to provide the remote control.

[Rohit] whipped up a small program running on his desktop that allows him to send ‘L’, ‘R’, ‘U’, or ‘D’ to the Android phone to dictate if the car should go left, right, forward, or reverse. The Android phone receives these commands via the Internet and sends an audio signal through the headphone port. This audio signal is connected to two analog pins of the Arduino. With a little bit of software and a bit of reading up on frequency shift keying, [Rohit] was able to make his car move in any direction.

Even though [Rohit] realized his goal of controlling a remote control car on his own terms, the build is far from done. He plans on adding some ultrasonic sensors and using the Android’s camera for object detection.

Building a driver for absurdly high power LEDs

A few years ago, the highest power LEDs you could buy capped out around three watts. Now, LED manufacturers are taking things to ridiculous power ratings with 30, 40, and even 90 watt LEDs. Getting these high-power LEDs are no longer a problem, but powering them certainly is. [Thomas] built a LED driver capable of powering these gigantic LEDs and creating a light show that is probably bright enough to cause bit of eye damage.

[Thomas]‘ LED driver is based on Linear Technology’s LT3518 LED driver. This driver is part of a project to build a huge WiFi controlled RGB LED, so the driver has outputs for three separate LEDs capable of sourcing 700 mA each.

Because [Thomas] is dealing with crazy amounts of heat and power required to light up these huge LEDs, the driver board features a temperature sensor next to each LED driver. When the board gets too hot, the driver automatically shuts down, preventing bad things from happening.

You can check out a few pictures of [Thomas]‘ LED driver over on the build page for his WiFi LED project. A truly awesome amount of lighting power here, that also makes it impossible to get a good picture of the board in operation.

Etching your own PCBs at home

Etching your own PCBs from copper clad board is nothing new, but the ability to make your own circuit boards at home is so useful it should be part of every maker’s repertoire of skills. The folks over at Hub City Labs in Moncton, NB, Canada put together a workshop covering the basics of home PCB manufacturing, allowing any maker to put a circuit board in their hands in under an hour.

The process starts just like any PCB design – laying out traces, parts, and vias in a PCB designer such as Eagle. When making your own boards, it’s a good idea to make the traces and pads extra large; the folks at Hub City Labs follow the 50-50 rule: 50 mil wide traces with 50 mils of seperation.

The PCB design is printed out with a laser printer (in mirror mode) onto a piece of paper from a glossy magazine or inkjet photo paper. After the copper board is scrubbed to remove any oxidation or oils present, the design is laid face down on the copper and heated with a clothes iron or sent through a laminator.

After the laser printer toner is transferred to the copper, the recipe calls for etching the board with a solution consisting of a half cup of 3% Hydrogen Peroxide and a quarter cup of muriatic acid.

The folks at Hub City Labs put together a great tutorial for one of the most useful skills the home electronics wizard can have, but etching your own PCBs is an art unto itself. There’s a lot of ways this process can be improved, from using Kapton tape to secure the printed art to the copper board, to getting high-strength peroxide from a beauty supply store.

If you’ve got any tips on making your own PCBs at home, drop a line in the comments below.

EDIT: Good job killing Hub City Lab’s web server, everybody. They’re working on getting something up.