 /************/
 /* INCLUDES */
 /************/
-#include <Servo.h> // Use of the Servo library disables analogWrite() (PWM) functionality on pins 9 and 10
+#include <Wire.h>
+#include <Adafruit_PWMServoDriver.h>
 
 /*********************************/
 /* General system debugging code */

      delay(1);
      digitalWrite(STEP_PIN, LOW);
      delay(1);
      dir ? current_l++ : current_l--;
   }
   DEBUGln();
}

// 'current' variables store the intended angles and 'actual' variables store the real angles used by servos
// e.g. for an elbow current angle of 180 (the elbow is in line with the shoulder) the real angle is around 0
int     i,j,count=0;
int     ret_val, g_moveDelay = 50; // g_moveDelay is defined at global scope and is used to control speed of arm
char    buf[MAX_BUFFER+1];
float   number[4], current[4], actual[4], g_angle_d[4];
float   g_radius_mm, g_height_mm, g_hand_d, g_sliderPos;
float   g_prevRadius_mm, g_prevHeight_mm, g_prevBase_d, g_prevHand_d;

const float gradient[] = {BAS_GRADIENT, SHL_GRADIENT, ELB_GRADIENT, WRI_GRADIENT, GRI_GRADIENT};
const float offset[] = {BAS_OFFSET, SHL_OFFSET, ELB_OFFSET, WRI_OFFSET, GRI_OFFSET};
