Xbee and Wireless shields: 3.3V-5V level translating problem

I bought an XBee shield V03 from geeetech.com and ran into a shield design problem while checking it out- before installing my Xbee module :slight_smile:
It's the same circuit as http://arduino.cc/en/Main/ArduinoXbeeShield

The Xbee modules are 3.3V and my Uno is 5V. For level translation there is a 10k/15k divider to lower Arduino's TX swing.
But for RX, the Xbee runs straight into the Arduino. In theory this works, but I found 5V there and traced it back to the USB transceiver, which also drives the AVR's Rx line through a 1k series resistor. So you get 5V backfeed into the Xbee's TX output pin, which I am not okay with.

I found the same design problem also exists with the newer Arduino Xbee Wireless module and Arduino Wireless Protoshield, so any 3.3V RF module will experience this I reckon.

It looks like changing to the newer Leonardo might work, as the serial port OR'ing is not done in hardware. Is this correct? Is there a 3.3V Arduino?

There are 3.3V ProMini.
Fio is 3.3V.