Training arms is very difficult for many, but I was one of the lucky guys who found out what worked for me early on. Employing different routines that all followed some similar basic principles shot my arm size up from a measly 13 inches to a solid 18 inches with a nice peak. I have three basic principles for packing some serious mass onto your arms, and as long as its followed with a good diet and sleep, the muscle should come even in you hard gainers!
1. Don't switch your rep ranges just because arms are a smaller muscle group. I know plenty of guys who never go below 10-12 reps on arms, but don't be afraid to go low!
2. AVOID MACHINES! Machines certainly have there place in arm growth, but for overall mass, they aren't the winners! Whenever a bar or dumbbell is available I would almost always choose that over a machine.
3. Set arms aside their own day, especially for you guys who just can't get those guns past pistol size hehe
Principle 1: I have seen some serious arm growth in applying a lower rep scheme to my first exercise for biceps and triceps.
For example, my first set of biceps may look something like this:
Exercise 1: Barbell curls
Warmup: 12-15 easy reps
Set1: 8-10 reps
Set2: 6-8 reps
Set3: 4-8 reps
Set4: 4-6 reps (some cheating is acceptable!)
An example for triceps may look like this:
Exercise 1: Lying French press (EZ bar)
Warmup: 12-15 easy reps
Warmup2: 12-15 easy reps
Set1: 8-10 reps
Set2: 6-8 reps
Set3: 4-8 reps
Set4: 4-6 reps
There are a few points that need to be cleared up about the above examples: First, I always do two warmup sets for triceps because I find going real heavy on the triceps puts a great deal of pressure on the tendons around your elbow (especially right around where the tricep inserts into the ulna), and an extra warmup set really pays off. Secondly, On the third set of each first exercise you will notice a bigger range than the other sets. At set 3 I really know how my muscles are feeling that day and will either opt to go heavier one set early, or relax and do another 6-8 reps before my last intense set.
Principle 2: First off, I use machines in almost every workout. I'm in no way biased against them. However, for gaining sheer mass, hitting the free weights will almost always do the best job. They recruit more muscle fibers, use more muscles in each workout and in my opinion definitely speed up the growth process. Some arm exercises I am fond of for overall growth are:
Biceps:
EZ bar curls
Barbell Curls
Dumbbell curls
Preacher curls (with EZ bar)
Hammer curls
Inclined alternating dumbbell curls
Triceps:
French Press (lying or inclined)
Overhead dumbbell press
Bench dips
Close-grip bench press
Rope pulldowns
For developing the arms further I suggest:
Biceps:
Concentration curls
Cable skull crushers
Triceps:
One arm dumbbell extension (behind neck)
Reverse grip straight bar pulldowns (cable)
One arm cable pulldowns
Principle 3: This is relatively self explanatory: Set a day aside just for arms. It is preferable to not have any upperbody work the day before or after arm day as well (if your routine permits). There is a very good reason for this: first, arms take a bashing in almost all upperbody workouts, so its necessary to give them a solid recoperation before concentrating on them. Secondly, giving a full day to arms will give you more time to concentrate on the exercises and your arm development and growth. Lastly, the day after your arm workout, give them rest! Take the day off or do some leg work. Training+REST+food= growth!!!
Final Thought: Like I said, train heavy. This does not mean train only with low reps. I gave you a good outline for the first exercise, but the following two to three exercises for each muscle group shouldn't be lower than 6-8 reps (you don't want to strain those tendons too much!) Train with most of your sets being to failure; That is also essential for starting some serious muscle growth.
Best of luck!