Hi jeffp.
Yeah, I think we did get a bit off track. Let me start over with you on this.
I bought one of these, and an Arduino Uno WiFi R2 (DEV-1487), with the intent to add Qwiic capabilities to the board.
It turns out this board is not compatible with this version of an Arduino board. The shield expects SLA/SLC to be on A4/A5 but it is not. I had to clip pins off the A4/A5 headers and jump SLA/SLC over to A4/A5.
Yep, that’s correct. Only A4 and A5 are connected to the Qwiic sockets on this board. Clipping A4 and A5 and then running jumper wires over to SCL and SDA (or pins 21 and 20 on a Mega) will fix that issue for you. I believe we’re working on a revision to allow you to select what pins to use. I don’t know if its jumpers or something else though.
However, I found the board did not always work with all devices, or with many devices chained.
Could be a few different issues causing this. First, the I2C bus was never intended to be very long so the shorter your bus, the better chances you have that it will work correctly. The longer the bus, the slower you need to run it at for it to be reliable. If speed isn’t a factor for you and the parts you’re connecting will work at a lower speed, slowing the bus down might help. The Arduino [Wire.setClock() command will allow you to change the bus speed and I couldn’t find much in the way of example code, but this [Arduino forum post might be helpful
Another thing that could be causing you issues is most Qwiic board have a set of pullup resistors on them that are needed for the I2C bus to work. You only need one set of pullups on the entire bus and having too many makes it harder for your I2C devices to pull SDA (or SCL) to ground. Open the pullup jumpers on all devices except for one device on your bus and see if that helps.
Chaining devices – GPS, openlog, etc. – only made things worse. I suspect there is a power problem. Perhaps the power converter is not providing enough amperage to drive all the boards attached?
Is there some additional incompatibility. Should I clip the 5v or 3.3v pin to isolate the power supplied to the board?
This could be an issue too. Most Qwiic devices don’t consume much current, but you could have enough current draw on the bus that voltage drops are beginning to happen and that could cause devices to not respond or lock up. You could try snipping the red 3.3 volt wire between the shield and first Qwiic device and then supplying your own 3.3 volt power source somewhere in the middle of the bus to see if that helps. Another option would be to connect 3.3 volt power to the last device on the bus with some heavier gauge wire and see if that clears things up.
I would like to use this board to enable Qwiic support on the WiFi enabled Arduino board. Any help will be appreciated.
If you're talking about the new Arduino Uno WiFi R2, I don't know a whole lot about that board, but it's probably looking for I2C on the SDA and SCL pins next to the reset button. There is a really good chance that a lot of libraries won't work on this board since it's based on a different processor than most Arduino boards and a lot of libraries haven't had time to catch up to the new tech.
Hope this helps, and sorry the forums were down for maintenance over the weekend. That caught us by surprise too!](how to test by i2c scanner at different Wire.setClock(i2cclock) reliably - Programming Questions - Arduino Forum)](Wire - Arduino Reference)