Viridian Forest
Travel to Viridian Forest, which is north of Pallet Town and Viridian City in the Kanto region. Wander through the grasses to find Pikachu. You have a 1 in 20 chance (roughly) of facing Pikachu in a random encounter in Viridian Forest. The odds of facing a Pikachu are slightly better in the morning and evening than they are at night. Pikachu will appear in this area at levels four or seven.
Use the Pokewalker to Capture Pikachu
Defeat the Elite Four and speak to Professor Oak at Olivine City. You must also have the S.S. Ticket in order to earn the National Pokedex. Then, turn on the Nintendo DS while "HeartGold" is inserted and select "Connect with Pokewalker." The Pokewalker is a pedometer-like device that records your steps as you walk around. Take 80,000 steps to unlock the "Resort" area of the Pokewalker. Select this option to transfer a Pokemon so you can use it in battle. Enter the Pokewalker "Resort" area. You must walk a total of 8,000 steps before you can encounter Pikachu in this area. Use the Pokewalker to make your character wander in the grass, but if you encounter "Pachirisu," you must reset the Pokewalker to encounter Pikachu. Once you've found him, weaken Pikachu in battle and then throw a Pokeball. Start the Nintendo DS again and select the "Pokewalker" option to return your Pokemon and Pikachu to "HeartGold."
Breed Pichu and Evolve Him into Pikachu
Breed a Pikachu or Raichu with another Pikachu or Raichu to get Pichu. You can also breed a male Pikachu or a male Raichu with a Ditto to get Pichu. Raise Pichu's happiness level to get it to evolve into Pikachu. You can increase its happiness by not letting it faint in battle. Feed it vitamins and berries and keep it in your Pokemon party to raise its happiness.
Trade Pikachu to "HeartGold" from "Diamond," "Platinum" or "Pearl"
Go to the Trophy Garden in "Diamond," "Platinum" or "Pearl." The Trophy Garden is located by Mr. Backlot's mansion along Route 212. Players have a 1 in 10 chance of facing Pikachu (who's between levels 18 and 24) in a random encounter. Weaken and capture it using a Pokeball. Enlist a friend with another Nintendo DS, place "HeartGold" into that system and trade Pikachu to "HeartGold."