Trying to Make My Own Arduino

Hi everybody;

I am writing from Turkey. I am thirt grade high school student.

And i wanna make my own arduino. But thats my first mcu programming project. And I havent got any idea about programing the "atmega" microcontrollers. So maybe i can program the pic but not atmega yet.

I found few pcb and shematics for make arduino but idk how can i program the atmega microcontroller for arduino. Can i use serial communication? If i can which pins should i connect to rx tx vs?
And which steps should i follow to program from my windows laptop.

Notice: I have an asus a6vm and w7. I have usb and parallel port on my laptop.

I am waiting for help. Thank you...

Notice: i am talking about just first programming. So installing the arduino software inside of atmega chip..

Dexterslab:
Hi everybody;

I am writing from Turkey. I am thirt grade high school student.

And i wanna make my own arduino. But thats my first mcu programming project. And I havent got any idea about programing the "atmega" microcontrollers. So maybe i can program the pic but not atmega yet.

I found few pcb and shematics for make arduino but idk how can i program the atmega microcontroller for arduino. Can i use serial communication? If i can which pins should i connect to rx tx vs?
And which steps should i follow to program from my windows laptop.

Notice: I have an asus a6vm and w7. I have usb and parallel port on my laptop.

I am waiting for help. Thank you...

You have to JTAG/ICSP (in-circuit serial programming) connect the chip. Typically this is done with a 2x5pin header for JTAG, or a 2x3pin header for ICSP. You then use a JTAG or ICSP programmer to hardwrite the bootloader to the chip. Google "atmel JTAG header" or "ICSP header" for pin connections.

Since you indicate you don't have much knowledge with this sort of stuff yet, I'll explain a bit further. The bootloader which is written to the chip initially is a set of machine-level instructions for how the chip (primarily the CPU of the chip) should operate. It would be safe for an introductory explanation to call the BIOS menu of a computer a bootloader or bootstrapped program. It takes code you write on top of that (higher-level programming) and provides instructions for how the controller should carry out that code.

If you try to program an un-bootloaded chip, it won't know the difference between digitalWrite() and fish, or boat. That won't be defined, nor will any operating order. Bootloading sets initial fusings and registers which control data pathways within the chip itself to allow functioning.

Typically, you buy the programmer. They're not a cheap investment, although there are ways of using an already-bootloaded chip to create a JTAG or ICSP interface for programming manually. Google "DIY jtag programmer" for more information on that.

There is also a parallel port programmer, which establishes 5 connections to ports on a D-SUB-25 connector. This has the advantage of being quick and simple (it only requires a header, parallel connector, cable and 2 different values of resistors), however it can only be used with the ATmega8 family, I believe.

Best of luck. You can PM me for more elaboration on any of this.