freeimu v0.1 only works on nano when powered over usb, not from battery

Asked by Hamburger

I have FreeIMU v0.1 hooked up to arduino nano, powered from its 3.3v output.
For pullups I use 2.7k resistors.
When I power arduino via usb, FreeIMU works. ( I run MultiWii on the arduino and can verify in MultiWiiConf). So I can say it does kinda work.

But if I remove arduino usb uplink and power arduino via battery, FreeIMU only works partially.
I connect to MultiWii arduino from MultiWii via Bluetooth. To verify I use the MultiWiiConf GUI again:
Roll-gyro still works, but everything else is slow or does not work at all.
Also, the cycle time displayed sometimes gets negative, so an overrun occurs - reading the sensors takes forever?
So my thought - the 3.3v output from arduino nano is too weak - so I change power supply for FreeIMU:
I have FreeIMU now attached to a separate ESC and a LM1117 3.3v stabilizer with 10muFarad capacitor - still the same, only works partially.

Any ideas?
Hamburger

Question information

Language:
English Edit question
Status:
Solved
For:
FreeIMU Edit question
Assignee:
No assignee Edit question
Solved by:
Hamburger
Solved:
Last query:
Last reply:
Revision history for this message
Fabio Varesano (fabio-varesano) said :
#1

Converting this into a question as it seems more to be a problem with connection or MultiWii code than a real bug of FreeIMU.

Revision history for this message
Fabio Varesano (fabio-varesano) said :
#2

Have you disabled the internal pullups in the MultiWii code?

Revision history for this message
Hamburger (der-fliegende-hamburger) said :
#3

ues, the internal pullups are disabled and external pullups soldered (close to FreeIMU board).
It was my understanding that with internal pullups on that might damage FreeIMU and without any pullups it would not work?
Anyway, I found the error.
The arduino nano is powered with 5V from an ESC. I had this 5V attached not to the 5V Vin but to the regulator Vin which can take from 6V to 20V. Miraculously this had worked with the former sensors and the arduino itself but failed with the FreeIMU.

So my fault, FreeIMU is ok.
Works now. Thanks for support.
Hamburger