This document describes the design and implementation of an FPGA-based memory controller for DDR2 SDRAM. DDR2 SDRAM provides higher bandwidth and speed compared to DDR SDRAM. The memory controller uses a finite state machine architecture to control the various operations of the DDR2 SDRAM like refresh, precharge, bank activate, write and read. Simulation results show the memory controller successfully performing write operations according to the command signals. The memory controller can be used in applications requiring large memory storage like audio/video processing.