SparkFun Forums 

Where electronics enthusiasts find answers.

Hardware or product specific questions are best asked here.
User avatar
By Baldurk
#212767
Hi there,
I just bought myself the RedBoard Artemis along with various Qwiic modules for a project but when I was going to start changing I2C addresses for two Qwiic Buttons, the board had trouble reading the I2C bus.
Using the I2C scanner sketch the board reads a device on every address.
The problem seems to be the ReadBoard since I swapped it out for an Arduino Due and that worked as expected.
This is similar to reading an I2C bus without pull-up resistors but since this is the Qwiic system, that can't be the problem can it?
Can someone help me with this?
Thanks
#213281
Hi Baldurk,

Out of curiousity, what SVL Baud Rate did you use to program the RedBoard Artemis?

I experienced this exact same problem yesterday when trying to connect I2C devices to my Artemis Nano. I ran the same I2C Scanner sketch and no I2C devices were detected. I then realized I had unknowingly left the SVL Baud Rate at the default of 921600. As soon as I changed this to 115200 and re-uploaded the sketch, my I2C devices were detected.

Hopefully this helps!

Cheers,
Adam
By 172pilot
#214139
I am having similar issues - Brand new artemis red board. With nothing plugged in, it shows "unknow error" for every address.
Testing devices one at a time,
When I plug in my QWIIC GPIO, it works as expected.
When I plug in my SerLCD, it works as expected.
When I plug in my QWIIC single relay board, it says it finds a device on EVERY address up to 0x3f, but then "Unknow error" for 0x40 and above
When I plug in my QWIIC RFID reader, it says device found on EVERY address.

In the interest of full disclosure, I hooked this up as a second-system to test because my RFID reader isn't working on a RaspPi .. (Doesn't show up at all) but all the other devices listed above work, separately, and as a group all together. I suspect my RFID reader is bad, which is why I was testing on the redboard as a second validating system.

Because of this, for my experience here, I would exclude my RFID reader as not good test data until it is otherwise proven, but I'm curious why I might be getting these strange results with the relay board, when it is known working on the RPi, so I know it's good? Also I'm curious why the upload speed to the RedBoard should have any bearing whatsoever? Once it's uploaded, the speed at which the code was sent to the device should have no impact (and it isn't having an impact for me, so I'm wondering if Adam.G's experience was possibly a fluke, or if there's some validity as to why that should have happened. I tried, and it made no difference (other than uploading slower!)

I have seen vague references to changing the actual i2c bus speed/timing, but I am not sure how to do that. I'd be fine slowing it down if it makes this stuff work more reliably!

Any comments or ideas? I'm anxious to be able to trust and rely on the QWIIC system!!

I'm going to see if I can wire up a good old fashioned UNO with a QWIIC to breadboard cable and see how it goes..

Thanks in advance!
-Steve
User avatar
By liquid.soulder
#214140
Hi guys - I see this issue and will look into it but it might take me a moment to recreate.

In the meantime I just wanted to share that you can use the following code to change the I2C speed
Code: Select all
Wire.setClock(100000);    // 100 kHz (slower)
Wire.setClock(400000);    // 400 kHz (default) 
Wire.setClock(1000000);   // 1 MHz.  (faster)
Wire.begin();
Also we are working on an improvement to the Arduino core that will allow arbitrary clock values, such as 4359 Hz. But for now you must use one of the three listed above.
 Topic permissions

You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum