I2C keypad not working with Esp32 wroom

I bought a 3x4 keypad with I2C connection and a Neo m9n gps board. I cannot get either of these to work with the esp32 wroom board. I followed the tutorials, opened examples in the keyboard library. In the example for finding what is connected, it says no I2C found. When using the simple read keypad example nothing.

Can you give me some ideas on what direction to take?

Thx EZ

Try hooking up just one sensor at a time (if that’s not already the case) - any change if you run i2cdetect?

Try changing the Wire.begin() call to Wire.begin(23, 22);

/mike

I was trying each one separately. I will try the suggestions given and see what I can come up with

Thx Ez

What does the (22,23) mean or do?

Thx EZ

It lets you override the default pins (based on the board type) to use for SDA and SCL.

Wire.begin(SDA, SCL);

Still didn’t work. I tried the example -Example4_I2CScanner.ino it says - scanning …no I2C devices found.

I get the power led on the keypad.

the I2C is still bridged

the ADR is not bridged

Im assuming i can use either I2C plug, there is no in or out plug, is there?

Serial.begin(9600) - matches the 9600 lower right corner

I tried including the- #include <SparkFun_Qwiic_Keypad_Arduino_Library.h>

any other ideas

EZ

does’t do anything with example 1_ReadButton.ino

I assume you have the SparkFun Qwiic Keypad - 12 Button / COM-15290 ? It has an Attiny84 processor on the board which is known for doing (long) clock-stretching. Some processors do not like that.

On a different board with an Attiny84, I had difficulties to get it recognised with an Artemis processor. I included an extra step that you could try

    Wire.beginTransmission(address); 
    error = Wire.endTransmission();

    // The Attiny84 is suspected doing a long clock-cycle-delay
    // On Artemis try to do an extra read of one byte
    error = Wire.requestFrom(address, static_cast<uint8_t>(1));
    if (error == 1) error = 0;  // we are good
    else error = 2; // NOT good

What happens if you only connect the Neo m9n gps board.?

Else share how you connect between the board and keypad and Neo m9n gps

I’ll try your suggestions, and reply back. For the project with the keypad I’m going to use the an arduino Every for that, so I think I will just buy the Every and the keypad with out the I2C and set it up that way.

But I will still have to figure out how to get the Neo m9n to work with the esp 32 wroom. I did get data from the Neo m9n when I hooked it straight to the board using ublox software. But I couldn’t get it to connect thru the I2C. Eventually I want to get Bluetooth to send gps data to android cell phone with mock location. Cross that bridge later.

Thanks, EZ