Because i have none external programming equipment i needed to use my Arduino Mega 2560 as ArduinoISP ( http://arduino.cc/en/Tutorial/ArduinoISP ) .
-Breadboard or pcb made atmega chip arduino
-usb cable for arduino mega 2560 -> pc
-arduino IDE ( http://arduino.cc )
-some wires to connect the arduino mega 250 to your homemade arduino.
One of the difficulties of the mega board is that all the pins are different so most tutorials who are aimed at the UNO board or the Duemilanove or Diecimila are useless because the Mega board pinout is different.
To know which pinout is needed for the Arduino Mega 2560 the arduino.cc website has a special webpage : ( http://arduino.cc/en/Main/ArduinoBoardMega2560 ) .
This is how you need to wire up your arduino mega 2560 to an Atmega 168/328 (same pinout) microchip : See picture above
PS. For the exact pinout of an Atmega 168/328 chip look : http://softsolder.files.wordpress.com/2009/09/arduino-vs-atmega168-chip-pinouts.png?w=640&h=302
The High resolution picture of how to hook the arduino up : http://i54.tinypic.com/k55pb9.png
Step 1: Uploading the ArduinoISP sketch
-> Arduino Mega 2560
Now choose the correct Com port via Tools -> Serial port -> select the port used by you're arduino mega 2560.
The ArduinoISP sketch will open up and now click upload to upload the sketch to the Arduino Mega 2560.
When the sketch is fully uploaded Put a 100nF Capacitor Between +5V and RESET pin on the Arduino Mega 2560 to disable auto reset. (whitout this tutorial wont work !)