I’ve been doing some testing to find out how big each of my features are, so I took many of them out. I reduced it to the Uart library, Timer functions, and software PWM, and the size comes in at 3767 total, including 44 bytes of characters for the uart. The software PWM library itself is 1060 bytes, which includes initialization of Timer1, creating the ISR, and managing up to 6 servos, which can be on different ports. With 16 bit resolution. I put it here, since I didn’t want to create a new project for this.
The next thing I’ll be looking into is how to reduce the power requirements of the ATmega328/ATmega168 and XBee.