Archives for 


What is the Minimum System on the Microcontroller?

avr minimal circuit

avr minimal circuit

The minimum system circuit of a microcontroller is a series of minimal so the microcontroller can work.

ATmegga AVR chip is equipped with an internal oscillator and thus no need external crystal for CPU clock source in order to save costs.

AVR microcontroller minimum system is very simple, just connect the VCC and AVCC to the DC +5V power supply voltage. Then GND and AGND with the ground. No need an additional crystal and reset pin is not connected to anything. With this circuit, AVR microcontroller has been able to work normally, but you can not reset the microcontroller manually. If you want to activate the reset pin with a button to trigger it, then connect the reset pin on your microcontroller with pull circuit made up of a 10k resistor and capacitor 10uF.

This circuit works for all AVR microcontroller family as ATMega8535, ATMega8, ATmega32, ATmega16 and others.

If you want to use larger crystals from 8MHz to your microcontroller circuit, then you can use an external crystal. You can see a more complete circuit on this page or this one.

Atmega8 Datasheet and the Explanation of The Input Output Pin Features

atmega8 microcontroller pin features

atmega8 microcontroller pin features

In this article described the hardware features of the AVR ATMega atmega 8 that is devoted to the type of PDIP, so for other types (QFN / MLF, TQPF) please refer to the specific datasheet only.

In addition to functioning as an input/output pins, a pin on AVR microcontroller can concurrently as other functions. For example at the AVR ATMega 8 microcontroller, PORTD.2 is an input / output pins, but this pin can also function as a trigger channel “external interrupt 0”. For more details, please follow the following explanation:

Description pin features on ATMega 8:

-VCC: supply voltage Microcontroller
-Ground: Ground

– Port B is a port i / o 8bit with internal pull-up resistors on each pin.
– Buffer on port B AVR ATMega8 have the capacity to absorb (sink) and distribute (sorce)
– Lodging in PB.6 can be used as a crystal input (inverting oscillator amplifier) and input to the internal clock circuit depends on the setting of fuse bits (currently set software downloader / programmer) is used as a clock source.
– Especially for PB.7 port can be used as a crystal output (inverting oscillator amplifier output) depends upon the setting of fuse bits are used to select the clock source.

– If the clock source is the internal oscillator (internal clock, then PB6 and PB7 pin can be used as input / output (I / O pin) or if using Asyncronousu Timer / Counter2 then PB6 and PB7 (TOSC2 and TOSC1) used for counter input channels.

– PORTC.0 – PORTC.5 are input / output ports with internal pull-up resistor for each pin. Buffer in this PORT has the capacity to absorb (sink) and distribute (sorce). In addition, the PORTC in atmega8 microcontroller can function as port ADC (analog to digital converter).

– Reset / PORTC.6, is a pin that can function as a reset pin on the microcontroller program cycle. By way RSTDISBL fuse bit set as “unprogramed” and will be active when it gets a signal “low”. But if RSTDISBL set as “programed” then portC.6 will be used as input / usual output pins.

-PORTD.0 – PORTD.7 are input / output ports with internal pull-up resistor for each pin. Buffer Portc have the capacity to absorb (sink) and distribute (sorce).
– AVCC is the supply voltage pin for the analog to digital converter (ADC). Note: PORTC.5 and PORTC.6 using digital VCC supply voltage.
– Aref is an analog reference voltage pin for ADC

AVR Microcontroller Architecture

avr architecture

avr architecture

AVR microcontroller has some parts that are divided into:

  • ALU (Arithmetic Logic Unit) is a processor for executing the program code that is appointed by the counter program.

  • Program memory is a flash memory to store programs in the form of a memory address and program code in the memory address.
  • Program Counter (PC) is a component to show the address of the program memory. So that ALU can make the execution of programs that exist in the address.

  • General Purpose Working Registers (GPR) is a register that has 8-bit space. GPR will execute program code each instruction in the ALU involving GPR.
  • Static Random Access Memory (SRAM) is RAM that hold the temporarily data. SRAM also has a memory address of the usual RAM. Last address of an SRAM depends on the capacity of SRAM and is already defined in the header file with the name RAMEND. So, to make the stack (the last address of SRAM) we can use RAMEND.

  • Internal pheripheral is an internal module in a microcontroller such as channel input / output, external interrupts, timers / counters, USART, EEPROM, and others. Each of these modules have internal port registers which control the internal module.

**) Pict from mouser,com

AVR ATMega8 Schematic Circuit with Eagle Software



ATMega8 Schematic Circuit (Minimum system) is a support circuit for the microcontroller.

Without this support circuit, the microcontroller will not be able to work.

Minimum system for microcontrollers consist of several components. The components are : crystal, capacitors, and the reset circuit (consisting of resistors and capacitors).

And the crystal must be combined by two capacitors. The capacity of this capacitor should be in accordance with the AVR ATMega8 datasheet.

RESET pin on AVR ATMega8 must be pull up with a 4K7 ohm resistor and stabilized with ‘100nF capacitors’.

You have to make the pin as a downloader port. pin of the downloader port must meet a standard sequence. The pin sequence is: MOSI, MISO, SCK, RESET, GROUND.

This AVR ATMega8 schematic is made with the EAGLE software.

ATMega8535 Schematic Diagram



AVR ATMega8535 is a very popular microcontroller.

In the recent years, ATMega8535 has been displaced by the other microcontroller with a more complete feature like ATMega32, ATMega16 or ATMega128. Even, when Arduino offers ease (in the used and programming), the conventional Microcontroller becoming obsolete.

However, some users are still loyal to use the conventional microcontroller. And if you want to learn about the basics of the microcontroller, then you have to learn from the conventional microcontroller. You have to create an electronic circuit by yourself. And you have to find out all about the components used. After you finish creating the electronic circuits, then you will understand how the microcontroller’s minimum system so that it able works. And you will understand how a microcontroller work,  before you start programming it.

Like other microcontroller, we need some electronic components so that it able to work.

Crystal,some resistor and capacitor for the clock and the reset button. And don’t forget to provide the supply (VCC and GND) on the microcontroller board. You can make the ATMega8535 schematic diagram with the EAGLE software like the exsample above.

AVR ATMega128 Schematic Circuit Adapter DIY



ATmega128 is one of the AVR microcontroller. Large memory (128KBytes) can be used to make a big project.

For example, if you create a storage system using the MMC and use BASCOM AVR as the programming language, then you have to load a very large libraries into the memory of the microcontroller. And this can not be done if you are using a microcontroller with a small memory such as ATMega16 or ATMega8535. Therefore, you can try using AVR ATmega128 to complete your major project.

However, you would have difficulty in assembling and soldering components on this ATmega128 microcontroller. This is because ATmega128 an SMD component. And you must be able to make a double layer PCB if you want to use a ATmega128 microcontrollers and use part of DIP components (such as IC MAX232 or another).

If you want to combine the two types of these components, then I have tips for you. Make two single PCB layer and combine with pin headers. The first is an adapter PCB for ATmega128 microcontroller and the second is used for the other DIP components. And then combine it with pin header (male and female pin header). You can see PCB adapter for ATmega128 microcontroller in the picture.

DIY – Do It Yourself project

Hopefully this tutorial ( AVR ATMega128 Schematic Circuit Adapter DIY ) can help you in completing the project.

RS232 with MAX232 Schematics and Tutorial

RS232 is a serial communication standard that is used to connect peripherals to the peripherals. Also called the Path I / O (input / output).

The best example we often encounter is a connection between a computer with a modem, or a computer with a mouse can even also between the computer and the computer are all normally connected via the RS232 serial port. This standard uses several tools in its implementation. The most commonly used is a plug / connector DB9 or DB25. For RS232 with DB9 connector, typically used for mouse, modem, cashier registers, etc., while the DB25 connector, typically used for joystick games.

RS232 standards set by the Electronic Industry Association and Telecommunications Industry Association in 1962. 

The function of the serial RS232 port is for connecting / connections from one device to another device, or equipment standards concerning the communication of data between computers by means of computer peripherals. That other devices such as modem, mouse, cash registers and so forth. Serial RS232 port on a DB9 connector has a pin 9 units and the DB25 connector has a pin 25 pieces.

RS232 was made in 1962, long before the popular TTL IC, therefore the voltage level specified for RS232 has nothing to do with TTL voltage levels, and even can be said to be much different. TTL Serial communications work at a voltage of 5V to + 5V RS232 serial communication while working at a voltage of + 25V to -25V.

All microcontroller using TTL serial communications topologies. While some devices using RS232 serial topology. Therefore, you must create a device for connecting two different topologies so that both can communicate.

rs232 schematics tutorial with max232

rs232 schematics tutorial with max232

The circuit above is a TTL into RS232 serial converter or RS232 into TTL serial converter. So that the circuit can connect a microcontroller with RS232 devices such as modems or other devices. You can create a series of mini-RS232 converter IC MAX232 and some capacitors 1uF as shown following circuit. As an interface port, you can use a DB9 connector or just a pin header.



USBasp AVR Microcontroller Downloader Schematics



This USBasp downloader can be used on the AVR microcontroller families such as ATMega8, ATmega16, ATMega8535, ATmega32, ATmega128 and much more. Based on Atmega8 (or can also be used ATMega88) and some additional components.

USB connector as the interface with a computer and five pins as an interface with a microcontroller. The USBasp’s hardware is very easy to make. Once you finish making the hardware, you should fill the ATMega8’s memory with two firmware program that will be filled in eeprom microcontroller ATmega8.

After that, USBasp downloader has been ready for use. To download the program, you must compile into .hex file using BASCOM AVR or CAVR.

And you can transfer files with the .hex downloader software like avrdude, USBasp, khazama, PonyProg or other programs.

avr microcontroller BOARD schematics downloader

avr microcontroller BOARD schematics downloader

ATMega16 Schematic Circuit Tutorial



Many projects can be built from a microcontroller such as control and monitoring project.

AVR ATmega16 can work when there are several supporting components such as resistors and capacitors in the circuit. ‘Reset’ feature on ATmega16 microcontroller must pull up using resistors (Also applies to the other AVR ATMega microcontroller). The series of pull up on the reset button typically use 4.7 Kohm resistor and stabilized with 100nF capacitor.

For AVR ATmega16 You can use up to 16 MHz crystal. But if you use the AVR ATMega16L you can only use 0-8MHz. Crystal components is enclosed by two capacitors whose capacity is set in microcontroller datasheet. However, it is usually used 22pF.

The downloader pin must be arranged  like the downloader standart pin (MOSI, MISO, SCK, RESET, GROUND).

Once you complete all the components of the minimum system, the microcontroller you’ve been able to work properly.