Using Sparkfun SPX 17114 QWIIC Blues Notecarrier with Arduino Uno R4 wireless

Hello! I am using an Arduino Uno R4 using the QWIIC connector (the Uno R4 has two I2C buses and the QWIIC connector is on the second bus.) I successfully set up the notecard using the tuorial on the blues website do I have communication between the card and the bub when the R4 is not connected to the notecard. When i connect the notecard to the R4 via the QWIIC connector and then run the example code from the Blues Notecard Environmental Variable Manager. I consistently get an error indicating the notecard is not responding.

I suspect I am talking to the wrong bus on the Arduino, so I placed the command Wire1.begin (); but to no avail. Any hints here for an inexperienced user?

Never mind! I think I have it sorted.

While I’m not sure what @david2 did to resolve the issue, if you’re having a similar issue, you might want to check the I2C bus for the Notecard.

Scan the I2C bus for available addresses when the Notecard is connected to the bus and is powered on. And with the Notecard disconnected from the bus. The method to do this will vary depending on your hardware configuration and I2C library you are using. Many have a method to return the addresses on the bus, or at least ping to see if an address is in use.

The Notecard does default to 0x17 (23 as an integer). If there’s something else on the bus with this address, that can interfere with the communications.

The I2C address of the Notecard can be changed from the default. See: dev.blues.io/api-reference/notecard-api/card-requests/#card-io

If you are using one of the Notecard SDKs, you will need to update the I2C address when you instantiate the Notecard interface object if the I2C address of the Notecard isn’t the default.

I am currently having this issue using the notecard on an arduino wireless r4 connected through the qwiic connector. it seems the i2c bus for the quick connector is separate from the normal i2c bus.

it wants me to use Wire1 instead of Wire for the i2c connection.

Is there anyway to accomplish this in the blues wireless arduino library? The arduino documentation says I should be able to do something like notecard.begin(Wire1); but naturally that gives an error

Bruce, rightly or wrongly, I ended up solving it this way:

  1. You are right that QWIIC is on a separate I2C bus
  2. include the wire.h library and the notecard.h library
  3. Create a Notecard object (e.g., Notecard notecard;)
  4. use Wire1.begin(); in setup
  5. Then use notecard.begin(0x17, 30, Wire1); to setup the physical i/o channel in set-up (notecard.begin(I2c address, i2c max, wire)

I’m no expert, but it is working for me. Not completely clear on what i2c max is so doubt that is set properly.

Also this is a direct connection to QWIIC, I haven’t yet sorted addressing it through a mux.

Thank you! I had hit a wall on this. Is it in the documentation anywhere? I couldn’t find it.

It is, but - unhelpfully - I cannot find it again.