I am working on developing a PID controller designed to hold a levered arm level by controlling an EFlite outrunner motor. The idea being if I can hold one hinged arm level than with 4x the hardware I could make a platform fly. I am using some OSEPP sensors I purchased from Frys: a gyroscope and accelerometer. I am controlling the thing with the Arduino Wire library. However, when I run the motor my sensor values go berserk, making all subsequent PID control meaningless.
you will have to copy and paste the link to view the schematic
How can I clean up the noise?
From what I have learned, using I2C is not ideal in noisy environments. I have already added two 1.5k pull-up resistors. I heard using a low-pass filter might help, based off an RC circuit, but I don't want to filter my sensor values.