Trouble Using Zumo Compass with Arduino UNO R3

Hi to all

This is my first post… sorry if this is not the best thread.

Excuse me for my english, i’m writing from Madrid/Spain/Europe, and obviously, my natural language is spanish :mrgreen: :wink:

I mounted my Zumo with a Zumo Shield recently too. All was ok… I sugest to put a flexible and longer wires to connect the motors with the board instead fixed wires. I added some extra M3 washers to aling rear wheels and tracks…

I have an Arduino Leonardo and an Arduino UNO R3.

Tested with Leonardo the “compass” sample and “Calibrate” & “Heading” samples of LSM303’s library folder and all works fine.

The problem…

I hate Leonardo :open_mouth: :smiley: … it is a nightmare to debug :open_mouth: . I don’t like his problems with windows enumeration, specially the virtual COM port and the Arduino’s Serial port console.

My problem with Zumo Shield is with Arduino UNO R3, all programs works ok except LSM303 related. Actually, i think that i am doing something wrong with i2c pins. I have a Pololu USB Programmer and some 328p. I tested R3 changing the MCU, and nothing changes. The R3 is totally new and original from Arduino.

I was searching yesterday on the WWW for two hours and can’t found anything about this.

should i change something on the code?
knows somebody what is happening?
knows somebody something about this?
could be the R3 or some via spoiled?

Thank you in advance

PD: there are some ways to test it. The first i ask you… with luck, is a software issue.


I moved your post to a new thread. I am sorry you are having problems communicating with your Zumo. You should not have to alter the code. Did you change any of the jumpers or connect any additional things to the Arduino UNO and Zumo? Pictures of your setup might help.

- Jeremy

Don’t worry Jeremy. If you think that create a new topic is better, i agree.

Zumo, shield & Arduino connected only.

I think that the problem comes from i2c on my UNO R3, not because of the compass. As i told you, the Zumo shield works with a Leonardo. With “Compass” example… wait for the button… one turn rotation to calibrate… wait for the button… infinite squares of 10 inch (i mounted 150:1 motors)… fine. I only have on the shield the buzzer jumper. For the battery sensor, i used a soldered wire to the board. My R3 is DIL and using this Arduino, we can’t use jumpers… don’t fit.

The R3 is new and don’t have jumpers. I only take out of his package, programmed with the same program (changing board and COM) plug in shield, and nothing happens in Zumo… all is dead. Problably it hangs in Wire.begin() command or in compass.init() command.

I’m at home now and i’m tested continuity of SCA/SCL/A4/A5 & 28/27 of 328p pins and aparently they are all comunicated correctly.

If you think that the software don’t is the problem, give me some days to test this R3 with some other i2c device. Maybe my R3 is spoiled and i cant use i2c with it.

I tested too this R3 with the ZumoMotors & ZumoBuzzer examples, and works ok. With another mine programs too. No one uses i2c…

Don’t worry… i posted my previous message hoping a small software problem. I can use Leonardo until i find a solution.

Thank you


Bad news… i tested my new Arduino UNO R3 with another I2C device and works as expected.

The other device is a CMPS03 compass.

i used this library and his example:

I tested in both i2c pinout with 4k7 pull up … original A4 & A5 right side and new R3 left side SCA & SCL resistors.

i don’t understand what happen.

is anybody there that is using R3 with the LSM303DLHC of this shield?

Could be some 3v3/5v conversion problem?

I remember you that all works ok in this shield with LSM303DLHC using a Leonardo

I’m sorry you’re still having trouble. We have used the LSM303DLHC on the Zumo extensively with Arduino UNO R3s. Could you post pictures of the shield by itself and with your Arduino plugged in?

- Jeremy

i had a similar problem with my zumo, you should check the buzzer jumper and reattach it to the pins between BZ and 328P on BOTH the pins in the middle then reenter the code on the uno attach it back to the shield and it should work