I could certainly test the VCC with a variable supply, but it's more trouble than just replacing the chip, and the 4.5V "should" work. I'll try the new chip first, and if I have any problems, I'll go to the variable supply.
I'm wondering if the PIC CMOS input levels are also required for the 406 GPS on the serial channel. According to the 406 spec, the outputs are TTL (0-2.85V). This may be a systematic problem with both the receivers and the GPS. I'll be digging out the scope tomorrow to see what they really are. I think we should be concerned about making the device interfaces compatible and reliable before blessing one over the other just because they may work in a few instances under specific conditions.
This could possibly be the "losing GPS lock" problem some of the Arduino folks. On paper, the Arduino processor is not compatible with the UBlox. There was a thread where someone raised the issue to Jordi, but he didn't seem to think it was a problem.
Regarding the interface between the PIC and the GPS, there are level shifters on the red board to bring the 2.85 volts coming out of the GPS up to the full supply voltage of the PIC.
Also, I agree with you that we should make the device interfaces compatible.
When I started out, I was using PICs in the 18F series, they had TTL inputs for the PWM, and CMOS for the serial port, so we used shifters for the serial port, and did not have to worry about the interface to the radio.
When we moved to the dsPIC30F, the 5 volt pulses provided by my radio fooled me into thinking that since radios had 5 volt supplies, they would provide 5 volt pulses.
It looks like the threshold on the dsPIC30F is right around .6 of the supply voltage. So, when the receiver supplies 3 volt pulses, the supply has to be under 5 volts.
If I had to do it all over again, I would have provided level shifters on the PWM input channels.
Most receivers work just fine with the redboard. It all depends on the voltage level of the pulses that they put out.
Some receivers produce pulses at the supply voltage of the receiver, typically 5 to 6 volts. That is more than enough.
Some receivers produce pulses with about 3.3 volts height. This is also quite adequate.
However, some receivers produce pulses in the 2.8 to 3.0 volt range. In those cases, whether the receiver works with the red board then depends on the supply voltage. If the supply voltage is low enough, those receivers will work too, but if the supply voltage is is too high, the pulses will not be high enough to trigger the Schmidt triggers in the dsPIC.
"This means we have to use level converters in case the pulse height is 2.8 or less.
Can these level converters be like a single npn transistor with 1kohm resistor on base and collector ?"
If you have a radio with pulse height less than 2.8 volts, I would strongly suggest using a different radio, there are plenty of models that have more than 3 volts.
There are several ways you could make your own level shifter, including integrated circuits that are made just for that, or npn transistor and resistors, as you suggest (although they would invert the polarity of the pulses), or with MOSFET transistors, such as what is in the design of the red board for shifting the voltage level coming out of the GPS radio.
But I don't think any of those techniques are worth the trouble, if the voltage is that low, just get a different radio.
FYI - I don't use channel 3 but have had no problems with the channel 4 input for selecting the mode. I use a Futaba R607FS (2.4GHz) and a Dimensions Engineering SportBEC to power everything. I've flown with this configuration and haven't noticed any problems so far.