Arduino USB-To-Serial & PPM_Encoder (atmega16u2 & atmega32u2). Instructions: Make sure you have the latest avr-gcc / winavr installed. Unzip the project and go to the < ./Projects/arduino-usbserial/ > directory. To compile the project type (makefile is set for atmega16u2): >make clean >make Uploading firmware to atmega32u2 using the DFU bootloader (see ../arduino-usbserial/readme.txt for instructions). Source: The PPM encoder code is located in the "ppm_encoder.h" file. What it does. The original Arduino USB to serial code should run and operate just like before. In addition there are now 8 servo inputs using (PB0:7) PCINT interrupts, and a PPM output (PC6) using PWM - OC1A for hardware driven pin toggle and timing. What needs to be tested: Timing and Arduino compatibility. Make sure that the USB-To-Serial works as it should at all baud rates, with PPM Encoder running in the background. Also look for any timing issues with PPM Encoder when the USB-To-Serial is busy transferring data. Happy bug hunting!