Problem Interfacing Xbee and IMU together on Arduino UNO

I am working on a quadrotor for which I am using a 9-DOF razor IMU from sparkfun (SparkFun 9 Degrees of Freedom - Sensor Stick - SEN-10724 - SparkFun Electronics ). Along with the IMU I am using Series 1 Xbee module for wireless communication (XBee 1mW Wire Antenna - Series 1 (802.15.4) - WRL-08665 - SparkFun Electronics ) .I am having trouble when I use Xbee along with IMU.

Previously I have tested the quadrotor with IMU while communicating using a USB cable. In this case the control program (basic PID) worked fine. I collected the angle data through the USB cable and it looks quite promising.

To get rid of the USB cable I used Xbee. I tested it separately on Arduino to turn the motors on and off. The Xbee worked fine. But when I put Xbee with IMU, the IMU angle values I obtain wirelessly through Xbee are not matching the one obtained through USB cable. In both cases I keep the quadrotor on the ground, no movement at all.

My setup includes 4 brushless DC motors powered by 3-cell, 11.1 V LiPo battery through 'Avionic' ESCs, along with one IMU. When using USB cable, the power for arduino and IMU comes from USB cable itself. When using Xbee the arduino is powered from the BEC of one of the ESCs. I am using Avionic ESCs which gives a 5V output from BEC and I connected it to 'Vin' of Arduino. My IMU is powered from '3.3V' pin and Xbee from '5V' pin (My Xbee breakout board has a 5-3.3V regulator).

After some research around this topic I found that it is required to give 7-12 V at 'Vin' pin for a stable arduino performance, which in my case is only 5V. I checked that in this case my '5V' pin is actually having only 4V, whereas '3.3V' pin is having correct 3.3V.

I tested the setup with both BEC and USB cable powering the arduino together, and in this case the angle values obtained through Xbee are consistent with that obtained from USB cable alone. I also tried to power Xbee from '3.3V' pin, when Arduino is powered by BEC alone, but the results are same as earlier.

Now I know that giving 5V at 'Vin' is wrong but I am not sure whether this is causing problems in Xbee or IMU or both. What is the corrective measure I should take ?? Should I put a separate battery to operate Arduino or derive power from same battery somehow. Please help .