WM+ with ITG3205
Re: WM+ with ITG3205
it´s valid for the 1.6??
Re: WM+ with ITG3205
Should work.. If not use 1.7.
Regards,
ziss_dm
Regards,
ziss_dm
Re: WM+ with ITG3205
I tested and seemed to run well in the first test in the multiwiiconf, but suddenly blocked. Then I tried more times and no longer works ... ¿¿¿???
i go to try with the 1.7 ...
pd.- the 1.7 is too big for my 168...
i go to try with the 1.7 ...
pd.- the 1.7 is too big for my 168...
-
- Posts: 3
- Joined: Tue Mar 29, 2011 9:55 am
Re: WM+ with ITG3205
I connect ITG3205 directly to Arduino 328p 5V: 3V3 from Ardu pin to pullup-resistor on WMP board, and 3V3 to BMA020. I disable internal pullups in code.
It works, but can I damage 3205?

It works, but can I damage 3205?

Re: WM+ with ITG3205
Hi,
Musgravehill: This should work, I'm using the same configuration in my setup. And it works fine sofar..
Regards,
ziss_dm
Musgravehill: This should work, I'm using the same configuration in my setup. And it works fine sofar..
Regards,
ziss_dm
Re: WM+ with ITG3205
ziss_dm wrote:Hi,
Musgravehill: This should work, I'm using the same configuration in my setup. And it works fine sofar..
Regards,
ziss_dm
Hi ziss_dm,
which version multiwii code you used in your arduino board. I have same wmp without acc, and my quadrocopter is more oversensitive. What I do ?

Re: WM+ with ITG3205
Just received my batch of clones. Neither of mine did pass init code (none detected, neither did nunchuck). Worked with original just perfect (code 1.5, ported to Mega644) The clone board is blue, marked as "MP-V3.0 2010.12.08", ITG3205 is onboard, with U3 missing. Tried both 100 khz and 400 khz - neither does work for me. Shall I try patch from 1.6? Looks like its dedicated for some sparkfun PCB... what could be the init code difference ?

Got it working - by wiring directly to gyro I2C - with 1.7 code.
NK is in parallel, no any pullups disconnected - just internals disabled.
Everything, including Corona recv is powered from 3.3v (standalone Mega328 at 16 Mhz as Arduino) to avoid level shifting issues.
Still not tested\resolved - 3.3 v PPM to Turnigy Plush - will it accept or not
Got it working - by wiring directly to gyro I2C - with 1.7 code.
NK is in parallel, no any pullups disconnected - just internals disabled.
Everything, including Corona recv is powered from 3.3v (standalone Mega328 at 16 Mhz as Arduino) to avoid level shifting issues.
Still not tested\resolved - 3.3 v PPM to Turnigy Plush - will it accept or not
Last edited by alex263 on Tue May 10, 2011 3:03 pm, edited 2 times in total.
-
- Posts: 2261
- Joined: Sat Feb 19, 2011 8:30 pm
Re: WM+ with ITG3205
alex263 wrote:Just received my batch of clones. Neither of mine did pass init code (none detected, neither did nunchuck). Worked with original just perfect (code 1.5, ported to Mega644) The clone board is blue, marked as "MP-V3.0 2010.12.08", ITG3205 is onboard, with U3 missing. Tried both 100 khz and 400 khz - neither does work for me. Shall I try patch from 1.6? Looks like its dedicated for some sparkfun PCB... what could be the init code difference ?
I am not sure if my findings applies to the Blue version with the ITG3205, but it may be worth taking a look at.
http://vimeo.com/21416952
Re: WM+ with ITG3205
So, guys...I made this fantastic mod by ziss_dm 
- direct connection of ITG3205 from WMP (as on my picture above, I2C lines to pullups on WMP, 3,3V from WMP regulator to supply NK) REMEMBER TO DISABLE ARDUINO INTERNAL PULLUPS in the code!
- independed connection to I2C bus with Nunchuck, powered from 3,3V from WMP plus modified , patched sketch (ziss_dm - you have one small bug with reported by other :move up one command line)
- patch for overflow ITG3200 (or 3205 - this is the same gyro sensor but for OEM manufacturers such a Wii cloners)
WITCH ABOVE MODS this set WMP + NK seems to be a great! A cheap, legacy alternative to BOBs from sparkfun or others...
My cycle time is : alone WMP - 1,9ms (!!!!!), connected NK - 2,4ms (!!!!!!!) but....with roll/pitch more than 25degree it is 4ms because for bigger turns, Alex coded another angle inclination procedure in sketch, more time this needed to calculate...so it is now proven that this kind of connection of Nunchuck is timeless
Never again Ardu waits to NK data
now it it reversed
Nunchuck and WMP waits to Arduino computing 
ZISS_DM MANY MANY THANKS! You are a big contributor to Alex's MWC code!!!!
Alex- please don't loose in your 1.7 official these mods in code prepared by ziss_dm - it is great! There is no need to have any other electronics such Logic Level Converter, breakoutboards with other sensors...Alex's idea to make FlightController with simple cheap based Wii sensors now grow up

- direct connection of ITG3205 from WMP (as on my picture above, I2C lines to pullups on WMP, 3,3V from WMP regulator to supply NK) REMEMBER TO DISABLE ARDUINO INTERNAL PULLUPS in the code!
- independed connection to I2C bus with Nunchuck, powered from 3,3V from WMP plus modified , patched sketch (ziss_dm - you have one small bug with reported by other :move up one command line)
- patch for overflow ITG3200 (or 3205 - this is the same gyro sensor but for OEM manufacturers such a Wii cloners)
WITCH ABOVE MODS this set WMP + NK seems to be a great! A cheap, legacy alternative to BOBs from sparkfun or others...
My cycle time is : alone WMP - 1,9ms (!!!!!), connected NK - 2,4ms (!!!!!!!) but....with roll/pitch more than 25degree it is 4ms because for bigger turns, Alex coded another angle inclination procedure in sketch, more time this needed to calculate...so it is now proven that this kind of connection of Nunchuck is timeless




ZISS_DM MANY MANY THANKS! You are a big contributor to Alex's MWC code!!!!
Alex- please don't loose in your 1.7 official these mods in code prepared by ziss_dm - it is great! There is no need to have any other electronics such Logic Level Converter, breakoutboards with other sensors...Alex's idea to make FlightController with simple cheap based Wii sensors now grow up

- guru_florida
- Posts: 45
- Joined: Sat Mar 26, 2011 4:51 am
Re: WM+ with ITG3205
So is everyone working well on 1preter7 without the ITG3200 gyro going all wonky? I've made my own PCB with onboard arduino plus ITG3200 gyro plus BMA180 accelerometer. I've been flying with it for a while without *any* issues, but I am not an aggressive flyer yet. My friend tried my board in strong winds and it flipped twice. Really flipped. This was on 1prebis7, not the newest though.
We also placed the board on a plain Gaui frame, no landing frame, really light aggressive frame, small and awesomeness. The Gaui could not get off the ground and was really unstable. Did the divide by 3 and played with PID values a bit and we got it flying pretty good. Strange thing is he uses the popular Wii board setup and it flies fine. Why would the normal Wii gyro work so much more stable than the ITG3200. The ITG3200 supports many different G ranges, maybe we need to initialize that IC with a different G range. A larger G range should make for smaller output values and do much the same as divide by 3 without quantizing the input so much.
On our other frames, 450 frame, the board works great without any tuning or tweaking...hookup and fly in 5 mins.
Just wondering how others are getting along with preter?
C
We also placed the board on a plain Gaui frame, no landing frame, really light aggressive frame, small and awesomeness. The Gaui could not get off the ground and was really unstable. Did the divide by 3 and played with PID values a bit and we got it flying pretty good. Strange thing is he uses the popular Wii board setup and it flies fine. Why would the normal Wii gyro work so much more stable than the ITG3200. The ITG3200 supports many different G ranges, maybe we need to initialize that IC with a different G range. A larger G range should make for smaller output values and do much the same as divide by 3 without quantizing the input so much.
On our other frames, 450 frame, the board works great without any tuning or tweaking...hookup and fly in 5 mins.
Just wondering how others are getting along with preter?
C
- guru_florida
- Posts: 45
- Joined: Sat Mar 26, 2011 4:51 am
Re: WM+ with ITG3205
My quadrino board... 

Re: WM+ with ITG3205
GR8 work ziss_dm!
I've just got 2 of the WMP ITG3205's from deal extreme and ready to mod and test on my tri.
Did you measure the voltage on the I2C bus so it doesn't exceed the specs of the chip?
Update: I measured the SDA & SCL voltages. I use a Nano with the modded WMP connected to 5V.
SDA measures 4V without the WMP connected and a heathly 2.6V with the WMP connected.
No need for a LLC. Only "problem" is to solder the SDA/SCL wires
without magnifying glas
and then securing them mechanically.
Tested with 1_preter7 with the mod described earlier in the thread. Thanks for this great find.
Time to cleanup some wiring and put it on my mini-tri!
/Bo
I've just got 2 of the WMP ITG3205's from deal extreme and ready to mod and test on my tri.
Did you measure the voltage on the I2C bus so it doesn't exceed the specs of the chip?
Update: I measured the SDA & SCL voltages. I use a Nano with the modded WMP connected to 5V.
SDA measures 4V without the WMP connected and a heathly 2.6V with the WMP connected.
No need for a LLC. Only "problem" is to solder the SDA/SCL wires

and then securing them mechanically.
Tested with 1_preter7 with the mod described earlier in the thread. Thanks for this great find.
Time to cleanup some wiring and put it on my mini-tri!
/Bo
Re: WM+ with ITG3205
Rurek wrote:So, guys...I made this fantastic mod by ziss_dm
- direct connection of ITG3205 from WMP (as on my picture above, I2C lines to pullups on WMP, 3,3V from WMP regulator to supply NK) REMEMBER TO DISABLE ARDUINO INTERNAL PULLUPS in the code!
- independed connection to I2C bus with Nunchuck, powered from 3,3V from WMP plus modified , patched sketch (ziss_dm - you have one small bug with reported by other :move up one command line)
- patch for overflow ITG3200 (or 3205 - this is the same gyro sensor but for OEM manufacturers such a Wii cloners)
WITCH ABOVE MODS this set WMP + NK seems to be a great! A cheap, legacy alternative to BOBs from sparkfun or others...
My cycle time is : alone WMP - 1,9ms (!!!!!), connected NK - 2,4ms (!!!!!!!) but....with roll/pitch more than 25degree it is 4ms because for bigger turns, Alex coded another angle inclination procedure in sketch, more time this needed to calculate...so it is now proven that this kind of connection of Nunchuck is timelessNever again Ardu waits to NK data
now it it reversed
Nunchuck and WMP waits to Arduino computing
ZISS_DM MANY MANY THANKS! You are a big contributor to Alex's MWC code!!!!
Alex- please don't loose in your 1.7 official these mods in code prepared by ziss_dm - it is great! There is no need to have any other electronics such Logic Level Converter, breakoutboards with other sensors...Alex's idea to make FlightController with simple cheap based Wii sensors now grow up
Hi rurek,
I connected modded WM+ and in GUI seems works OK, but after I connected the NUNCHUK (as showm in previous posts) directly on I2C bus and on GUI I see that the accels are present, but the data are fixed to zero for pitch and roll and fixed at 198 on Z axis.
I've used the vers, 1.7 pre ter for NUNCHACK, but I do not understand what you mean about "patched sketch (ziss_dm - you have one small bug with reported by other :move up one command line)".
May be this my issue ? What I need to patch the code ?
Thanks, Carlo
-
- Posts: 178
- Joined: Fri Apr 01, 2011 10:32 pm
- Location: Czech Republic, Prague
Re: WM+ with ITG3205
Rurek wrote:So, guys...I made this fantastic mod by ziss_dm
- direct connection of ITG3205 from WMP (as on my picture above, I2C lines to pullups on WMP, 3,3V from WMP regulator to supply NK) REMEMBER TO DISABLE ARDUINO INTERNAL PULLUPS in the code!
- independed connection to I2C bus with Nunchuck, powered from 3,3V from WMP plus modified , patched sketch (ziss_dm - you have one small bug with reported by other :move up one command line)
- patch for overflow ITG3200 (or 3205 - this is the same gyro sensor but for OEM manufacturers such a Wii cloners)
WITCH ABOVE MODS this set WMP + NK seems to be a great! A cheap, legacy alternative to BOBs from sparkfun or others...
My cycle time is : alone WMP - 1,9ms (!!!!!), connected NK - 2,4ms (!!!!!!!) but....with roll/pitch more than 25degree it is 4ms because for bigger turns, Alex coded another angle inclination procedure in sketch, more time this needed to calculate...so it is now proven that this kind of connection of Nunchuck is timelessNever again Ardu waits to NK data
now it it reversed
Nunchuck and WMP waits to Arduino computing
ZISS_DM MANY MANY THANKS! You are a big contributor to Alex's MWC code!!!!
Alex- please don't loose in your 1.7 official these mods in code prepared by ziss_dm - it is great! There is no need to have any other electronics such Logic Level Converter, breakoutboards with other sensors...Alex's idea to make FlightController with simple cheap based Wii sensors now grow up
Hi Rurek,
thanks for your answer in the "bugs" forum.
I have the same behavior of directly connected ITG3205+NK on I2C bus with MultiWii1_preter7_nunchuk.pde like carlonb. You pointed me that 5V on ITG3205 can be the problem but I checked again original factory connection of my WMP with ITG3205 (see picture) and there is DIRECTLY wired pin 1 of input Nintendo plug---pin 1 of output Nintendo plug---Vcc for ITG3205---top of I2C pullups. It mean that either whole WMP was designed for 3.3V supply or it's designed for powering of ITG3205 from 5V (What is original Nintendo pin 1 supply voltage?) Maybe 5V on the ITG3205 chip is not correct but I still think it's not cause of my problem.
With the software MultiWii1_preter7.pde ITG3205 chip connected directly to I2C bus works even with 5V supply (in both cases - with parallel NK or without it) but with software MultiWii1_preter7_nunchuk.pde (with moved up "static uint8_t rawADC_WMP[6];" line) I have stuck zero and Z=200 values like carlonb. It really seems to be problem of software MultiWii1_preter7_nunchuk.pde and not 3.3V or 5V. Can please someone who have working MultiWii1_preter7_nunchuk.pde post it complete with all patches and moved lines to make me sure I did all the changes correctly?
Thanks!
Roman
P.S. Just a stupid idea: Can't be ITG3200 and ITG3205 difference just capability of ITG3205 to work with 5V supply?

Re: WM+ with ITG3205
Maybe Alex or ziss_dm remarks, replies to this problem...I'm not the coder or degree in electronics...
ITG3200 refered to its datasheet - works on 3,3v.....
I use the 1prebis7 with added patches made by ziss_dm..Tommorow I can attach here my working sketch, today I write on another computer...
ITG3200 refered to its datasheet - works on 3,3v.....
I use the 1prebis7 with added patches made by ziss_dm..Tommorow I can attach here my working sketch, today I write on another computer...
-
- Posts: 3
- Joined: Tue Mar 29, 2011 9:55 am
Re: WM+ with ITG3205
Point65 wrote:SDA measures 4V without the WMP connected and a heathly 2.6V with the WMP connected.
Bo, please tell did you measured voltage by oscilloscope or by voltmeter? The voltmeter will lie, because there is high-frequency current.
-
- Posts: 178
- Joined: Fri Apr 01, 2011 10:32 pm
- Location: Czech Republic, Prague
WM+ with ITG3205 +NK
Hi,
I did new tests with my boards, I have new results but not much wisdom
I powered my "blue" WM+ board with ITG3205 (image and description 3 posts up) from 3.3V and it seems to work better than with 5V - so Rurek was right - ITG3205 seems to be designed for 3.3V only.
It means that whole "blue" WM+ board is designed for 3.3V supply only as there is probably missing 3.3V power stabiliser IC!
Now ITG3205 gyro communicates with both - patched MultiWii1_preter7_nunchuk.pde and original MultiWii1_preter7.pde and on the table it looks good.
Then I tested to connect my Nunchuk with removed pullups in parallel with it but it doesn' work at all (while ITG3205 gyro is still communicate!)
ACC shows either frozen values of 400 on all axes or extremely high random "mountain" peaks - same for all axes.
I tried to power my Nunchuk clone from both 3.3V and 5V but no change.
Connection is like this: SDA and SCL of gyro and NK in parallel, only one pullups to +3.3V in WM+, in NK removed, in Arduino disabled.
ITG3205 powered from external 3.3V, Nunchuk powered from 5V (also tried 3.3V).
Does it mean that my Nunchuk (otherwise tested and working behind another regular WM+) is unable to communicate on the same bus with ITG3205?
Any ideas, guys?
Thanks!
I did new tests with my boards, I have new results but not much wisdom

I powered my "blue" WM+ board with ITG3205 (image and description 3 posts up) from 3.3V and it seems to work better than with 5V - so Rurek was right - ITG3205 seems to be designed for 3.3V only.
It means that whole "blue" WM+ board is designed for 3.3V supply only as there is probably missing 3.3V power stabiliser IC!
Now ITG3205 gyro communicates with both - patched MultiWii1_preter7_nunchuk.pde and original MultiWii1_preter7.pde and on the table it looks good.
Then I tested to connect my Nunchuk with removed pullups in parallel with it but it doesn' work at all (while ITG3205 gyro is still communicate!)
ACC shows either frozen values of 400 on all axes or extremely high random "mountain" peaks - same for all axes.
I tried to power my Nunchuk clone from both 3.3V and 5V but no change.
Connection is like this: SDA and SCL of gyro and NK in parallel, only one pullups to +3.3V in WM+, in NK removed, in Arduino disabled.
ITG3205 powered from external 3.3V, Nunchuk powered from 5V (also tried 3.3V).
Does it mean that my Nunchuk (otherwise tested and working behind another regular WM+) is unable to communicate on the same bus with ITG3205?
Any ideas, guys?
Thanks!
Re: WM+ with ITG3205
OK, here is my modified version of 1_preter7_nunchack
I didnt move the "static uint8_t rawADC_WMP[6];" , but created a new variable "static uint8_t rawADC_nunchack[6];",
seemed nicer code because the other drivers do it the same.
I connected the ITG 3205 directly like described by ziss_dm earlier und deactivated the pullups in the arduino.
Then i connected the Nunchack's SCL and SDA lines in parallel with the ITG 3205's SCL and SDA.
I powered the Nunchack from the 2,8V pin of ziss_dm's mod.
works fine so far
I didnt move the "static uint8_t rawADC_WMP[6];" , but created a new variable "static uint8_t rawADC_nunchack[6];",
seemed nicer code because the other drivers do it the same.
I connected the ITG 3205 directly like described by ziss_dm earlier und deactivated the pullups in the arduino.
Then i connected the Nunchack's SCL and SDA lines in parallel with the ITG 3205's SCL and SDA.
I powered the Nunchack from the 2,8V pin of ziss_dm's mod.
works fine so far

- Attachments
-
- MultiWii1_preter7_nunchack.zip
- (21.63 KiB) Downloaded 512 times
Re: WM+ with ITG3205
anyn wrote:OK, here is my modified version of 1_preter7_nunchack
I didnt move the "static uint8_t rawADC_WMP[6];" , but created a new variable "static uint8_t rawADC_nunchack[6];",
seemed nicer code because the other drivers do it the same.
I connected the ITG 3205 directly like described by ziss_dm earlier und deactivated the pullups in the arduino.
Then i connected the Nunchack's SCL and SDA lines in parallel with the ITG 3205's SCL and SDA.
I powered the Nunchack from the 2,8V pin of ziss_dm's mod.
works fine so far
Hi anyn,
I tested your mod sketch with my blue WM+ and Nunchuck, but bad news, WM+ looks good, but NCK stil freeze with 0, 0 and 198 on z axis. The GUI tells that acc is connected but no data at all.
Now I will remove the pullup res on NKC side and WM+ side as I use LLconverter at 3.3V, may be the impedance with the triple pullups (LLC+WM+ and NCK) is too low...
Bye and thanks, Carlo
EDIT: I also powered NCK via 2.8V from WM+ as ziss_dms, but still issue with NCK data.
Furthermore, some days ago, I tried also with standard connections (pass-trough mode) and official 1preter7 and I noted that one time over about 10 try the clone NCK with clone blue WM+ connect and GIU received correct data from gyro WM+ and acc (NCK), seem that there are init timing problems in sketch with this Wii clones.
Bye again, carlo
Last edited by carlonb on Mon Apr 04, 2011 10:00 pm, edited 1 time in total.
Re: WM+ with ITG3205
Musgravehill wrote:Point65 wrote:SDA measures 4V without the WMP connected and a heathly 2.6V with the WMP connected.
Bo, please tell did you measured voltage by oscilloscope or by voltmeter? The voltmeter will lie, because there is high-frequency current.
Voltmeter. Comparing with previous oscilloscope measurementa, my voltmeter is close to the actual peak values (+/- 0,5 V).
/Bo
Re: WM+ with ITG3205
Hi rbirdie001,
Couple of notes:
1) The "original" Nintendo controller supplies 3.3v to the WMP. But to reduce the noise on the analogue gyros, original WMP (and some clones) has own voltage regulator, which drops it to the 2.8v. This is a reason why it usually possible to make WMP work form 5v power supply. According to your picture "blue" clone does not have voltage regulator (U5). That means you must use 3.3v power supply
And connect NK to the 3.3v as well.
2) According to your picture, this WMP has 1k8 pull-up resistors. This is lowest possible values for i2c (http://www.robot-electronics.co.uk/acat ... orial.html). So if you have additional pull-ups on other devices, this could cause issues. So, try to remove them. (Which you probably did..
)
3) You can try to disconnect ITG and try NK alone on i2c.
4) You also could try to use 100Khz i2c speed for NK
5) What cycle time you have in GUI?
6) Are you sure your NK is not faulty? PCB quality is really low on NK, so check for the traces cracks. Especially near the Crystal (if you have one).
PS: We probably should move discussion to the another thread.
Regards,
ziss_dm
Couple of notes:
1) The "original" Nintendo controller supplies 3.3v to the WMP. But to reduce the noise on the analogue gyros, original WMP (and some clones) has own voltage regulator, which drops it to the 2.8v. This is a reason why it usually possible to make WMP work form 5v power supply. According to your picture "blue" clone does not have voltage regulator (U5). That means you must use 3.3v power supply

2) According to your picture, this WMP has 1k8 pull-up resistors. This is lowest possible values for i2c (http://www.robot-electronics.co.uk/acat ... orial.html). So if you have additional pull-ups on other devices, this could cause issues. So, try to remove them. (Which you probably did..

3) You can try to disconnect ITG and try NK alone on i2c.
4) You also could try to use 100Khz i2c speed for NK
Code: Select all
#if defined(NUNCHACK)
void i2c_ACC_init() {
TWBR = ((16000000L / 100000L) - 16) / 2; // change the I2C clock rate
i2c_rep_start(0xA4 + 0);//I2C write direction => 0
i2c_write(0xF0);
i2c_write(0x55);
i2c_rep_start(0xA4 + 0);//I2C write direction => 0
i2c_write(0xFB);
i2c_write(0x00);
delay(250);
accPresent = 1;
}
void i2c_ACC_getADC() {
TWBR = ((16000000L / 100000L) - 16) / 2; // change the I2C clock rate
i2c_rep_start(0xA4 + 0);//I2C write direction => 0
i2c_write(0x00);
i2c_rep_start(0xA4 + 1);//I2C read direction => 1
for(uint8_t i = 0; i < 5; i++)
rawADC_WMP[i]=i2c_readAck();
rawADC_WMP[5]= i2c_readNak();
accADC[PITCH] = + ( (rawADC_WMP[2]<<2) + ((rawADC_WMP[5]>>2)&0x3) );
accADC[ROLL] = - ( (rawADC_WMP[3]<<2) + ((rawADC_WMP[5]>>4)&0x3) );
accADC[YAW] = - ( (rawADC_WMP[4]<<2) + ((rawADC_WMP[5]>>6)&0x3) );
// accADC[PITCH] = - ( (rawADC_WMP[2]<<2) + ((rawADC_WMP[5]>>3)&0x2) );
// accADC[ROLL] = ( (rawADC_WMP[3]<<2) + ((rawADC_WMP[5]>>4)&0x2) );
// accADC[YAW] = - ( ((rawADC_WMP[4]&0xFE)<<2) + ((rawADC_WMP[5]>>5)&0x6) );
}
#endif
5) What cycle time you have in GUI?
6) Are you sure your NK is not faulty? PCB quality is really low on NK, so check for the traces cracks. Especially near the Crystal (if you have one).
PS: We probably should move discussion to the another thread.

Regards,
ziss_dm
-
- Posts: 178
- Joined: Fri Apr 01, 2011 10:32 pm
- Location: Czech Republic, Prague
Re: WM+ with ITG3205
Thanks to all, especially ziss_dm for all advices.
I made it working!
Sketch is OK, last days I made several small mistakes because of trying it too much too fast too long and this was just why it didn't work.
I left it two days in the drawer, then carefully connected again and it WORKS!
So to all others having doubts: I connected ITG3205 powered from +3.1V (external power stabilizer with LM 317T) directly to Arduino and parallel to it my Nunchuk with removed pullups powered also from +3.1V. Arduino have disabled pullups so there is ONLY ONE pair of 1K8 pullups pulling to +3.1V. I loaded patched sketch (few posts above) and (at least on the table) it works great with nice cycle time 2500-2700.
See screenshot of the GUI. Details about boards are in my previous posts.
Nice weekend to all and don't be hurry!
Roman
I made it working!

Sketch is OK, last days I made several small mistakes because of trying it too much too fast too long and this was just why it didn't work.
I left it two days in the drawer, then carefully connected again and it WORKS!
So to all others having doubts: I connected ITG3205 powered from +3.1V (external power stabilizer with LM 317T) directly to Arduino and parallel to it my Nunchuk with removed pullups powered also from +3.1V. Arduino have disabled pullups so there is ONLY ONE pair of 1K8 pullups pulling to +3.1V. I loaded patched sketch (few posts above) and (at least on the table) it works great with nice cycle time 2500-2700.
See screenshot of the GUI. Details about boards are in my previous posts.
Nice weekend to all and don't be hurry!
Roman
Re: WM+ with ITG3205
Hi ziss_dm,
I'm trying to run original nunchak using the multiwii I2C API on 100kHz (power=3v3, arduino pullups is OFF), while my WM+ on the way from ebay
I.e. I wanna to run nunchuk without WM+.
I have slight changed the preter sketch to print values from accel. Could you look at this from attachment?
I have the following constant output inspite of accel position:
x: 165 y: 165 z: 165
PITCH: 661 ROLL: -662 YAW: -662
x: 165 y: 165 z: 165
PITCH: 661 ROLL: -662 YAW: -662
x: 165 y: 165 z: 165
P.s. I also tried to play with standart Wire.h lib to init and read accel values and it works fine.
I'm trying to run original nunchak using the multiwii I2C API on 100kHz (power=3v3, arduino pullups is OFF), while my WM+ on the way from ebay

I have slight changed the preter sketch to print values from accel. Could you look at this from attachment?
I have the following constant output inspite of accel position:
x: 165 y: 165 z: 165
PITCH: 661 ROLL: -662 YAW: -662
x: 165 y: 165 z: 165
PITCH: 661 ROLL: -662 YAW: -662
x: 165 y: 165 z: 165
P.s. I also tried to play with standart Wire.h lib to init and read accel values and it works fine.
- Attachments
-
- nunchack.zip
- example with standart Wire.h
- (2.15 KiB) Downloaded 288 times
-
- multiwii_nunchack.zip
- changed preter sketch
- (15.72 KiB) Downloaded 297 times
-
- Posts: 178
- Joined: Fri Apr 01, 2011 10:32 pm
- Location: Czech Republic, Prague
Re: WM+ with ITG3205
Hi mahowik,
just for your info: I'm using this code posted by anyn here:
viewtopic.php?f=6&t=27&start=60#p1025
and with it works at 400khz any combination of ITG3205 and my nunchak clone (NK alone, ITG3205 alone or both together) without any code change.
Maybe it's limited to my NK clone only.
Unfortunately I don't understand much the code so I can't help you other way.
Roman
just for your info: I'm using this code posted by anyn here:
viewtopic.php?f=6&t=27&start=60#p1025
and with it works at 400khz any combination of ITG3205 and my nunchak clone (NK alone, ITG3205 alone or both together) without any code change.
Maybe it's limited to my NK clone only.
Unfortunately I don't understand much the code so I can't help you other way.
Roman
Re: WM+ with ITG3205
Thanks a lot!
I have tried many combinations: 5v+pullups ON, 3v3 + pullups OFF with 100 and 400KHz but it still doesn't work. Probably it works only for some NK clones but not for original
Also can you see the diagram reaction in GUI during the NK position changing/rotation in case of only NK connected (i.e. without WMP)?
I have tried many combinations: 5v+pullups ON, 3v3 + pullups OFF with 100 and 400KHz but it still doesn't work. Probably it works only for some NK clones but not for original

Also can you see the diagram reaction in GUI during the NK position changing/rotation in case of only NK connected (i.e. without WMP)?
Re: WM+ with ITG3205
Hi mahowik,
I have tried your sketches, both seems to be working fine:
You also can try this example: http://arduino.emsley.ca/w/images/e/e9/Nunchuck.pde. It is implementing both encrypted and unencrypted protocol.
regards,
ziss_dm
I have tried your sketches, both seems to be working fine:
Code: Select all
PITCH: 500 ROLL: -500 YAW: -612
x: 125 y: 125 z: 153
PITCH: 500 ROLL: -500 YAW: -612
x: 125 y: 125 z: 153
PITCH: 500 ROLL: -500 YAW: -612
x: 125 y: 125 z: 153
PITCH: 500 ROLL: -500 YAW: -612
x: 120 y: 119 z: 153
PITCH: 482 ROLL: -476 YAW: -612
x: 119 y: 120 z: 102
PITCH: 477 ROLL: -480 YAW: -409
x: 118 y: 120 z: 104
PITCH: 472 ROLL: -483 YAW: -417
x: 103 y: 110 z: 139
PITCH: 412 ROLL: -440 YAW: -557
x: 132 y: 132 z: 149
PITCH: 529 ROLL: -528 YAW: -599
You also can try this example: http://arduino.emsley.ca/w/images/e/e9/Nunchuck.pde. It is implementing both encrypted and unencrypted protocol.
regards,
ziss_dm
Re: WM+ with ITG3205
Hi ziss_dm,
Many thanks for your help! I tried to play with sketch from link above. It works with both old and new ways (i.e. unencrypted and encrypted methods) on 100kHz.
BUT with Multiwii I2C API it still doesn't work... I prepared the clean sketch (based on Multiwii I2C API) for this with possibility to turn OFF/ON the pullups. Tested diff combinations for 5v/3v3, pullups ON/OFF, new/old init... thus I could not find the reason why original NK doesn't work with Multiwii I2C API...
Probably my Arduino from Hong Kong
Also I saw some note from Syberian on http://forum.rcdesign.ru/f123/thread221 ... ost2504284 russian forum about Arduino compiler issue in case of long path to sketch and long sketch name... probably it's a reason...
Could someone test the attached sketch and let me know the results and also what type of NK was used?
Many thanks for your help! I tried to play with sketch from link above. It works with both old and new ways (i.e. unencrypted and encrypted methods) on 100kHz.
BUT with Multiwii I2C API it still doesn't work... I prepared the clean sketch (based on Multiwii I2C API) for this with possibility to turn OFF/ON the pullups. Tested diff combinations for 5v/3v3, pullups ON/OFF, new/old init... thus I could not find the reason why original NK doesn't work with Multiwii I2C API...
Probably my Arduino from Hong Kong

Also I saw some note from Syberian on http://forum.rcdesign.ru/f123/thread221 ... ost2504284 russian forum about Arduino compiler issue in case of long path to sketch and long sketch name... probably it's a reason...
Could someone test the attached sketch and let me know the results and also what type of NK was used?
- Attachments
-
- I2C_MultiWii_nunchuk.zip
- (2.12 KiB) Downloaded 274 times
Last edited by mahowik on Wed Apr 13, 2011 8:53 pm, edited 1 time in total.
-
- Posts: 3
- Joined: Wed Apr 13, 2011 8:27 pm
Re: WM+ with ITG3205
I just found this forum and this is my first post although I am active over on RCGroups.
I've just finished my first multiwii copter using a warthox board and a wiim+ clone with the ITG3205 chip. I have it hooked up like this: http://www.rcgroups.com/forums/showpost ... ount=10450
I've just uploaded version 1.7 of the software and it looks like this in the GUI. I don't really know what I should be expecting, but how does this look to you guys?
edit I just realised that I get the nice looking graph when the board is powered by the ftdi cable, but when I then plug the battery in and BEC power is supplied to the board, the output is all over the place and the slightest movement sends the graph off the page.
Is it some sort of noise in the power supply that is causing the ITG3205 to behave like it does?
I've just finished my first multiwii copter using a warthox board and a wiim+ clone with the ITG3205 chip. I have it hooked up like this: http://www.rcgroups.com/forums/showpost ... ount=10450
I've just uploaded version 1.7 of the software and it looks like this in the GUI. I don't really know what I should be expecting, but how does this look to you guys?
edit I just realised that I get the nice looking graph when the board is powered by the ftdi cable, but when I then plug the battery in and BEC power is supplied to the board, the output is all over the place and the slightest movement sends the graph off the page.
Is it some sort of noise in the power supply that is causing the ITG3205 to behave like it does?
-
- Posts: 178
- Joined: Fri Apr 01, 2011 10:32 pm
- Location: Czech Republic, Prague
Re: WM+ with ITG3205
mahowik wrote:Thanks a lot!
I have tried many combinations: 5v+pullups ON, 3v3 + pullups OFF with 100 and 400KHz but it still doesn't work. Probably it works only for some NK clones but not for original
Also can you see the diagram reaction in GUI during the NK position changing/rotation in case of only NK connected (i.e. without WMP)?
Hi Mahowik,
sorry for delay, I had my circuit disassembled so I coudn't check it for you.
Today I got from ebay another nunchuk clone, it's totally different hardware from the other one I already have but behaves exactly the same way.
I connected it alone directly to arduino running firmware from that post: viewtopic.php?f=6&t=27&start=60#p1025 and did tests. With 5V supply it didn't work but when powered from 3.1V supply it started working perfectly. (Only pullups are on NK board so also connected to 3.1V, arduino pullups disabled). I can see values and graphs of XYZ axes and cycle time between 3500-3600 but small quad in the corner isn't reacting much. When I move NK, it's very slightly shaking (+-2 degrees) but not moving propely. It seems to be moving only because of "parasitic" influence of NK data, for proper reactions it probably needs also some gyro, which is not connected.
I hope it can help you. My advice is to check everything about supply and I2C pullups - all my troubles were related to this. All Wii components seems to work best at about 3.3V and with ONLY ONE pair of pullups between 1K8 and 10K connected to +3.3V.
Later edit: I really tested that with two pairs of 1k8 pullups on the I2C it's not working, just when I removed one pair it started to work, so double check whether you really removed/disabled all unnecessary pullups!
Roman
-
- Posts: 3
- Joined: Wed Apr 13, 2011 8:27 pm
Re: WM+ with ITG3205
I now have 3 clones with the ITG3205 and none of them behave correctly. My quad has tried to kill me a few times now as it sometimes just goes mental when I move the throttle away from zero. Has anyone at all managed to get an ITG3205 working properly with no funny behaviour? Sometimes I can fly around for a few minutes and the quad is really nice and stable and then it will randomly death flip. Wish I had just bouth an original wm+ controller, but they're getting rare now as they all come with motion+ built in now.
-
- Posts: 35
- Joined: Fri Jan 21, 2011 7:37 am
Re: WM+ with ITG3205
hello,
do the mod mentioned some pages earlier and be happy
http://wbb.multiwii.com/viewtopic.php?f ... d&start=20
do the mod mentioned some pages earlier and be happy

http://wbb.multiwii.com/viewtopic.php?f ... d&start=20
-
- Posts: 5
- Joined: Mon Dec 19, 2011 3:39 pm
Re: WM+ with ITG3205
Hi Guys
I have a issue opposite to this oversensitive ITG3205
I am using a AIO board with a ITG3205,
I noticed that the Yaw headinghold lock is very soft.. even when I increase the P value.. it wont start to oscillate..
The Roll and Elevator is super locked that works fine..
Also the Gyro output reading in the GUI seems ok.. same values for all 2 axis when rotating the quad.
Compared to my KK board it is very very soft.. :S
Does anyone have a idea? maybe some adjustment in the code?
Tnx!
I have a issue opposite to this oversensitive ITG3205
I am using a AIO board with a ITG3205,
I noticed that the Yaw headinghold lock is very soft.. even when I increase the P value.. it wont start to oscillate..
The Roll and Elevator is super locked that works fine..
Also the Gyro output reading in the GUI seems ok.. same values for all 2 axis when rotating the quad.
Compared to my KK board it is very very soft.. :S
Does anyone have a idea? maybe some adjustment in the code?
Tnx!
Re: WM+ with ITG3205
Hi guys
I'm building my own multiwii board right now and I'm using a clone WMP+ (from DX, V1.6B) as gyro. I directly soldered the cables to the WMP+ board, as shown in another thread after having problems with oversensitivity. I'm powering the WMP with 3.3V (from a LM1117).
I also removed the pullup resistors on the WMP board (right where I soldered the wires to) because I want to use external Pullups on my diy-board.
After doing that, the gyros worked fine on multiwii 1.8p2 and 1.9 (gui running on XP Computer), no oversensitivity any more (thanks for the tipp ziss_dm).
Then I tried to add a BMA020. I soldered the wires and made the jumpers on BMA020, as recommended. BMA020 is also powered by 3.3V.I did not use the pullups on the BMA020 (left PULLUP unconnected) because I have external pullups (4k7) on my board.
When I connect it parallel to the WMP+, there is no movement in the GUI (acc lines)
.
Now my question:
Is my "idea" correct or is there already an error (maybe with logic levels)? Why isn't this working properly? I ordered some new BMA020s, maybe this one is damaged so I'm just looking for some confirmation on my idea
.
Thanks for the help, and great community by the way!!!
I'm building my own multiwii board right now and I'm using a clone WMP+ (from DX, V1.6B) as gyro. I directly soldered the cables to the WMP+ board, as shown in another thread after having problems with oversensitivity. I'm powering the WMP with 3.3V (from a LM1117).
I also removed the pullup resistors on the WMP board (right where I soldered the wires to) because I want to use external Pullups on my diy-board.
After doing that, the gyros worked fine on multiwii 1.8p2 and 1.9 (gui running on XP Computer), no oversensitivity any more (thanks for the tipp ziss_dm).
Then I tried to add a BMA020. I soldered the wires and made the jumpers on BMA020, as recommended. BMA020 is also powered by 3.3V.I did not use the pullups on the BMA020 (left PULLUP unconnected) because I have external pullups (4k7) on my board.
When I connect it parallel to the WMP+, there is no movement in the GUI (acc lines)

Now my question:
Is my "idea" correct or is there already an error (maybe with logic levels)? Why isn't this working properly? I ordered some new BMA020s, maybe this one is damaged so I'm just looking for some confirmation on my idea

Thanks for the help, and great community by the way!!!

Re: WM+ with ITG3205
Ok guys, sorry for my previous post. I've just found this one: http://www.multiwii.com/forum/viewtopic.php?f=8&t=986&hilit=llc
which helped a lot.
I updated my schematic and layout. I put the LLC between my "breakout" ITG3205 board (without pullups on the board itself) and the SDA/SCL port.
I now have an LLC for the 3.3V sensors, also pullups, but only on the 5 volt side. (LLC is made of BS170, Pullups with 2k2 resistors).
And I added a second connector pad with 5V and (same) pullups for connecting any 5V sensors (if necessary). Now I have to wait for the BMA020 to arrive and then I can test it out.
I made a small drawing to illustrate what I mean:
What do you guys think? Is that a good hardware configuration for multiwii 1.9 and higher?

(Sorry my ugly sketch
)
which helped a lot.
I updated my schematic and layout. I put the LLC between my "breakout" ITG3205 board (without pullups on the board itself) and the SDA/SCL port.
I now have an LLC for the 3.3V sensors, also pullups, but only on the 5 volt side. (LLC is made of BS170, Pullups with 2k2 resistors).
And I added a second connector pad with 5V and (same) pullups for connecting any 5V sensors (if necessary). Now I have to wait for the BMA020 to arrive and then I can test it out.
I made a small drawing to illustrate what I mean:
What do you guys think? Is that a good hardware configuration for multiwii 1.9 and higher?

(Sorry my ugly sketch
