The best way to read RC signals is PPM, which is a sequential stream where each channel is output in turn on a single wire. But traditionally the only way you can get that is to open up your RC receiver and solder a wire to a special pin. Fortunately the Paparazzi team designed a board that will convert up to 8 channels of regular PWM servo signals to one PPM signal, with no RC hacking required. We've now modified it a bit to work with our failsfe multiplexer and released a version as a DIY Drones product
BTW, the forthcoming ArduPilot Mega will use this technique, as well.
From the product description:"This improved & reduced PPM encoder board, based on a Paparazzi design, plugs into the servo output ports on a R/C receiver and encodes them into a PPM pulse suitable for the paparazzi autopilot and other projects. This allows you to use any R/C equipment with the paparazzi autopilot or read up to 8 servos with a single I/O pin of your uController. Modifications to the R/C receiver are not necessary. Connect the wires from your receivers channels to the PPM and one wire to the PPM in of your system. If you decide to use the tiny board to power the receiver, make sure you put-in a jumper and plug something between the 8th channel and the receiver.
The whole project is based around the ATMEL ATMEGA168/328 AVR processor and all timing is done
within interrupts so accuracy and stability is optimized
It is now also possible to select the PPM waveform shift, negative or positive.
Firmware is free and was created by Hendrix and Moa, with tiny modifications by Jordi Muñoz that allows control an extra failsafe multiplexer.