Help using PWM servo driver with serial monitor

Hey guys so this is my first big project and I need a lot of help.
I want to make a hand based on Youbionic’s servo hand which has a total of 11 servo motors(picture attached below).

I’m having some trouble getting my code to do what I want; I want to use my serial monitor to execute certain motions in the hand. My problem is that whenever I enter a command in the serial monitor, it doesn’t execute.

Is this a problem with my code and if so, how would I go about fixing it in this instance? and does using the PCA9685 library instead of adafruits PWM servo driver library affect this as well?

#include <Wire.h>
#include "PCA9685.h"
PCA9685 driver;

PCA9685_ServoEvaluator pwmServo(102, 470); // (-90deg, +90deg)
// Second Servo
// PCA9685_ServoEvaluator pwmServo2(102, 310, 505); // (0deg, 90deg, 180deg)

String command; 

void setup() {
  Wire.begin();                 // Wire must be started first
  Wire.setClock(400000);        // Supported baud rates are 100kHz, 400kHz, and 1000kHz
  driver.resetDevices();        // Software resets all PCA9685 devices on Wire line
  driver.init(B000000);         // Address pins A5-A0 set to B000000
  driver.setPWMFrequency(50);   // Set frequency to 50Hz

void loop() {

  driver.setChannelPWM(0, pwmServo.pwmForAngle(90));   //thumb
  driver.setChannelPWM(1, pwmServo.pwmForAngle(90));
  driver.setChannelPWM(2, pwmServo.pwmForAngle(90));
  driver.setChannelPWM(3, pwmServo.pwmForAngle(90));   //index
  driver.setChannelPWM(4, pwmServo.pwmForAngle(90));
  driver.setChannelPWM(5, pwmServo.pwmForAngle(90));   //middle
  driver.setChannelPWM(6, pwmServo.pwmForAngle(90));
  driver.setChannelPWM(7, pwmServo.pwmForAngle(90));   //ring
  driver.setChannelPWM(8, pwmServo.pwmForAngle(90));
  driver.setChannelPWM(9, pwmServo.pwmForAngle(90));   //pinky
  driver.setChannelPWM(10, pwmServo.pwmForAngle(90));
  Serial.println("Type command as seen bellow");
  Serial.println("commands to choose from: ");
  Serial.println(" ");
  Serial.println("test || one || two || three || four || five");

  while(Serial.available() == 0) {
 command = Serial.readString();
 Serial.print(" ");

   if(command == "one") {

void one() {
  driver.setChannelPWM(0, pwmServo.pwmForAngle(-90));
  driver.setChannelPWM(1, pwmServo.pwmForAngle(-90));
  driver.setChannelPWM(2, pwmServo.pwmForAngle(-90));

  driver.setChannelPWM(3, pwmServo.pwmForAngle(90));
  driver.setChannelPWM(4, pwmServo.pwmForAngle(90));

  driver.setChannelPWM(5, pwmServo.pwmForAngle(-90));
  driver.setChannelPWM(6, pwmServo.pwmForAngle(-90));

  driver.setChannelPWM(7, pwmServo.pwmForAngle(-90));
  driver.setChannelPWM(8, pwmServo.pwmForAngle(-90));

  driver.setChannelPWM(9, pwmServo.pwmForAngle(-90));
  driver.setChannelPWM(10, pwmServo.pwmForAngle(-90));


Are you using the serial monitor?

What is the line ending?

Yes I am using the serial monitor and I'm sorry I don't understand your second question

Make a test using just a single character command like "o" instead of "one". Any difference?

Yes I am using the serial monitor and I'm sorry I don't understand your second question

The serial monitor has a choice of endings on any sequence you send. What have you set that to?
It will effect the code if there is nothing but what you type in or you send a line feed and / or a carriage return character.

Your code is written such that nothing will ever move anyway because as soon as you set the servos to something different the loop function ends and starts again putting the servos in exactly the same place as they were. The delay of one second will just see them twitch at best.