AVR Microcontroller Projects

Atmel's 8-bit Wonder

AVR Projects

The AVR is a fun microcontroller to use. I'll be posting info on my projects here as time goes on.

AVR Hex Display Driver:

Need a hex display for your project? Want to add an address bus monitor to your classic 8-bit micro? Use the ATTiny26 to provide a latched 1 digit hexadecimal display (0 to F) with 4 bits of input data (and uses the decimal point for A-F, as I mistake b's for 6's at times.)

Can be used with either common cathode or common anode displays.

A second version of the program reduces the power use of the LED by reducing its duty cycle. Current requirements are about 40% of the original. Sample rates in the reduced power version are about the same as the original, but the display is a bit dimmer.

AVR Dual Hex Display Driver:

Use an ATMega8 or 8A to drive two displays, uses either 7 segment or 10/14 segment displays for a nice hex character set.

This is a complete AVR Studio 4 assembly code project with wiring and timing information and notes. It works with common cathode displays. Common anode displays can be used with simple code mods described in the source, or with external inverters.

The app notes include use examples with different displays, as well as an example of use with an external buffer for high speed data sources.

Note: this project works fine with the new ATMega8A part which has replaced the ATMega8. No software changes are required, and it draws even less power!

AVR STK500 Custom-Made Case:

Let your STK-500 development board travel in style. Build it a custom case. It'll look too good to leave in the laboratory!

Work In Progress:

Screen capture of Colfax Tiny BASIC v. 0.21

I'm working on a Tiny BASIC interpreter for the AVRs. This project got set aside in favor of my 8085 project, but I'm looking forward to picking it up again later this year when I have the 8085 at a good resting point.

The interpreter is based on Palo Alto Tiny BASIC, and is implemented on an ATMega8 processor. I figured this was big enough that I wouldn't be too constrained by resources during development, and small enough that it'd still be easy to port the interpreter to some of the ATTiny chips once I've got things sorted out.

It uses the serial port for I/O, and presently I have the editor working along with about a dozen program statements. The next big push will be implementing expressions.