Qwiic on R4 Wifi doesn't work with any peripherals

I recently purchased the Arduino R4 Wifi kit and am having issues with getting it to work with any of the included peripherals. No matter what I do, the result is ‘Device did not acknowledge, freezing’. In particular, I would like to get the HT16K33 display working as in the ‘Example_01_PrintString’ example for the Sparkfun Qwiic Alphanumeric Library.

I have searched the forums and have tried the following:

-replaced ‘wire.begin’ with wire1.begin’

-Tried a number of suggested ways to include the address of the display in the ‘display.begin()’ statement. Putting the address in the () compiled but didn’t work, any other configuration produced a compiler error.

If I hardwire the SCL and SDA lines to the display and use ‘Wire.begin’ instead of ‘’Wire1.begin’ the sketch works perfectly. But with the QWiiC cable, it refuses to work with either ‘Wire’ or ‘Wire1’.

I am using the Sparkfun Qwiic Alphanumeric Display library, version 2.2.11, the Arduino UNO R4 board manager 1.0.5 and the IDE version 2.2.1 on a Mac.

As Sparkfun says in their write-up, I should be able to connect any of the peripherals, load up the appropriate example and be good to go. Is there a working example sketch that works with the R4 wifi board and the HT16K33 ?

try this :

replaced ‘Wire.begin’ with Wire1.begin’

change

if (display.begin() == false)

to

if (display.begin(DEFAULT_ADDRESS, DEFAULT_NOTHING_ATTACHED, DEFAULT_NOTHING_ATTACHED, DEFAULT_NOTHING_ATTACHED, Wire1) == false)

Paul,

Thanks, that compiled OK down to:

display.print(“Milk”);

That’s a big step forward. Do you have a fix for that as well? I tried to use the actual address and the DEFAULT_ADDRESS in the print statement to no vail.

Hopefully, once I get the display working I can transfer the method the other peripherals.

Many thanks.

let me understand

I have taken example 1 made the changes as mentioned and compiled it for a UNOR4 without problems. (attached)

Does yours compile and upload or doesn’t it display anything ?

Example_01_PrintString_wire1.zip (988 Bytes)

Paul,

It works now. I discovered a further syntax error that the compiler didn’t flag.

All is OK now. Thanks for your help.

Regards,

Rich

Good to hear.

You mentioned in the first post you had problems with other peripherals as well. The solution for this LCD will probably not work for the others. In some libraries the wire is hard coded, with others, you can provide that as part of begin(). Check different examples (some will show how to use Wire1), check the header file ( the .h-file) to see whether you can provide the wire1 (as I did in this case).