Converting to Zero from Duemilanove

The Adafruit PCA9685 PWM Servo Driver Library is compatible with the SAMD21 that's used on the Arduino Zero.

When migrating from the Duemilanove to the Zero, I'd pay particular attention to the logic levels in your system, as the Zero is only 3.3V tolerant. I read that the PCA9685 will operate at this voltage, but it many affect the amount of current the device can sink and source.

The other thing is that Adafruit prefers to use "Serial" rather than "SerialUSB" for the SAMD21's native USB port. Therefore, if you're using the Arduino Zero you might need to account for this, while the Adafruit Feather M0 and it's derivatives should just work out of the box, so to speak.

Looking at the libraries in your code I noticed that you're using EEPROM.

One disadvantage of the SAMD21 is that it doesn't have any on-board EEPROM. There's an EEPROM emulation library for the SAMD21 that uses its flash memory, but it can be worn out in as little as 10,000 write cycles: GitHub - cmaglie/FlashStorage: A convenient way to store data into Flash memory on the ATSAMD21 and ATSAMD51 processor family.

The alternative is to use an external I2C EEPROM like the Microchip 24LC256 (32KBytes). This device can withstand about 1,000,000 write cycles. I've written a library (based on Hobbytronic's code: Arduino Tutorials) that allows it to be used in the same way as the EEPROM library, it's called EEPROM.zip and can be found here: EEPROM by emulation?? - Arduino Zero - Arduino Forum.

It's probably a case of checking the compatibility of each of the libraries one by one. So long as they're only relying on Arduino libraries and not register level code, they should portable between the Duemilanove and Zero.