We released the 28 Pin AVR Development Board back in 2008 and since then it has gone through many iterations. This week we release version 1.6 which adds 4 improvements. These improvements were based on customer feedback and we are very grateful for the feedback. Please keep it coming.
Version 1.5 of the 28 Pin AVR Development Board is now available. As before we have incorporated a number of changes that people had asked for.
The most notable change is a figure-8 shaped hole for mounting the voltage regulator. This configuration allows for both Input/Ground/Output (IGO) and Ground/Output/Input (GOI) style voltage regulators. Other changes to the power supply include the addition of a diode to protect against reverse polarity and a resettable fuse.
Continue reading “Version 1.5 of AVR 28 pin board” »
This tutorial will teach you how to use the I/O ports on an AVR microcontroller. I will be using an Atmega8 but the general principles apply to any AVR microcontroller.
The Atmega8 has 23 I/O ports which are organised into 3 groups:
- Port B (PB0 to PB7)
- Port C (PC0 to PC6)
- Port D (PD0 to PD7)
This tutorial shows you how to control 16 LEDs with just 3 control lines. We do this by daisy chaining 74HC595 shift registers
The 74HC595 shift register has an 8 bit storage register and an 8 bit shift register. Data is written to the shift register serially, then latched onto the storage register. The storage register then controls 8 output lines. Continue reading “Introduction to 74HC595 shift register – Controlling 16 LEDs” »
Mechanical switches do not make or break a connection cleanly due to microscopic conditions on the contact surface. This is referred to as “Switch Bounce” and can cause problems in digital circuits. In this tutorial we will build a circuit that demonstrates this problem, then modify it slightly to resolve it.
LCD character displays can be found in espresso machines, laser printers, children’s toys and maybe even the odd toaster. The Hitachi HD44780 controller has become an industry standard for these types of displays. This tutorial will teach you the basics of interfacing with a HD44780 compatible display using some DIP switches and a few other components.
This tutorial continues on from ATmega8 breadboard circuit Part 1 and ATmega8 breadboard circuit Part 2. So far we’ve built a power supply, added the microcontroller, added some plumbing to make it work and added the ISP interface, but it really doesn’t do anything. The next step is to add some I/O devices and upload some firmware.
A lot of ATmega8 tutorials will use a “Hello World” program which consists of an LED that blinks at 1Hz. For this tutorial we will build on this and have an LED that blinks 3 times when a button is pressed. The first thing we need to do is add the LED and button to the breadboard. Continue reading “ATmega8 breadboard circuit – Part 3 of 3 – The Firmware” »
This tutorial continues on from ATmega8 Breadboard Circuit – Part 1 where we build a small power supply on the breadboard. In this part we will add the ATmega8 microcontroller and an interface to allow it to be programmed.
The first step is to orient yourself with the ATMEGA8 microcontroller. Since we are building our circuit on a breadboard, we’re using the PDIP variant (ATMEGA8-16PU). You could also build this circuit using an ATmega48, 88, 168 or 328 as these all share the same pin layout but have slightly different features, clock speeds and memory.
When you look at the microcontroller you will see a few makings which help identify the pin numbers. At one end there is a semicircle/half moon section. This denotes the top of the IC (Integrated Circuit). In a PDIP/DIP package the pins are numbered from 1 in an anticlockwise fashion from this marker. Additionally, on the ATmega8 there is a small circle identifying pin 1.
Continue reading “ATmega8 breadboard circuit – Part 2 of 3 – The Microcontroller” »
This is the 1st of a 3 part series where I will describe how to build a basic ATmega8 circuit and program it with a simple program. This tutorial is ideal for first timers, so read on…
Breadboards usually have a break or two in the bus strips, so the first thing we will do is put jumpers on them, so you have connectivity through the whole strip. The exact position of these jumpers will depend on the model of breadboard you use, so use the continuity tester on your multimeter to determine where these jumpers should go. The breadboard we are using can be found here but any full size breadboard should work.
Continue reading “Atmega8 breadboard circuit – Part 1 of 3 – Power supply” »