Recommendation: Do not skip ahead on the instructions, every step is crucial to complete a full working rig. You must also know that the explanation for the arm rig and the spine rig will not be as detailed at some points (such as where to place joints and how to do controls) because if you did the leg, you are supposed to know how these small steps are done.
Lets continue! We are going to start the arm rig! Place joints on the shoulder, elbow, and wrist. Name them. Remember that the characters arm must be slightly flexed. Now we are going to orient them. This time it’s a little bit different. The orientation on Z (on rotation format) on the shoulder should be with the blue loop vertical so that the arm moves up and down. The elbow must have the blue loop (Z) horizontal, and the wrist should have it vertical. That is the correct orientation. Next, duplicate the the elbow joint and slide it down the arm so that the joint is placed between the wrist and the elbow. Erase the duplicated wrist joint and name the new joint forearm. In the hypergraph rearrange the order of the joints, it should be L_IK_shoulder, L_IK_elbow, L_IK_forearm and L_IK_wrist. Save your file!

Make and IK handle in RPsolver from the shoulder to the forearm. Click on the top modify tab, select evaluate nodes and click on ignore all. Go to the Hypergraph, select your Ik Handle and the effector. With these two selected go to the port view and move both pivots to the wrists. Click again on modify, evaluate nodes and now select evaluate all. Save your file!

Now we are going to control the elbow. Make a copy of the Ik handle as a guide, add it to a layer and make it non tangible. Create a nurb control in the shape of an arrow (name it L_elbow_ctrl, and group it) and place it just behind the elbow with the point pointing towards the elbow. Select the nurb curve and the IK handle and constrain them with a pole vector constrain. Move the group of the elbow to place the joints where the guide is, once the Ik elbow is in its right place erase the duplicated joints that worked as our guide. Save your file!

Make a new control (L_Ik_ctrl, group it) and place it on the wrist. Select the wrist joint then the control group and do an orient constrain. Go to the hypergraph and erase the box that represents the constrain you just did. If you like you can reshape the curve whichever way you like controlling the vertices of the group of the control. Now select the wrist control and then the forearm joint and do an orient constrain only in X. Finally select the Ik handle and the wrist control and press P. Congratulations, you should have a working Ik system! Save your file!

We are now going to start the FK arm rig, it is very similar to the leg Fk system. Duplicate your Ik joints and change the names from Ik to Fk. Make a nurb control for every joint (except the forearm) and group them. You must orient them, so for each of them select first the joint, then the group of the control and orient constrain in all XYZ. Group the controls under the shoulder, so that in the hypergraph the order of the controls are, (from top to bottom) shoulder, elbow and wrist. Now select the control and then the joint and do an orient constrain in all XYZ except on the wrist, the wrist orient constrain is only in X. Make a new joint where the clavicle is supposed to be, name it. Make this joint the father of the shoulder joint. Make a Nurb control for the clavicle, name it, orient constrain it and make this control the father of the other arm controls. Save your file!

Now we are going to make the Bind. Duplicate the joints again and replace Fk for Bind. Just like we did bind for the Ik and the Fk for the leg, do the same steps for the arm. Make a new nurb control for the hand add to it an attribute that will work as a switch between both Ik (minimum 0) and Fk systems (maximum 10). Next we are going to do a Set driven key. Go to animate and click where it says set driven key. The hand control is going to be the driver (just click the hand control and hit load) and the driven are going to be all the constrains that are beneath the bind system (select them all in the hypergraph and click load driven). On the driver right side click the last option, it should be ikToFkSwitch, then on the driven left side click the first one on the list and select the last two options that appear on the right side. If your switch is in 0, then key all your driven selections with the IK in 0 and the FK in 1. Then change the switch to ten and key all of your driven with the IK in 1 and the FK in 0. Congratulations! You have finished your arm rig! Save your file!
