NeoKey 1x4 QT I2C: unable to locate I2C address

Please tell us which board you are using.
For CircuitPython issues, ask in the Adafruit CircuitPython forum.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
owntheweb
 
Posts: 83
Joined: Fri Oct 24, 2014 4:03 pm

NeoKey 1x4 QT I2C: unable to locate I2C address

Post by owntheweb »

Hello Adafruit gurus,
I've successfully setup a NeoKey 1x4 QT I2C, adding mechanical keys and making them light up on key press via CircuitPython, using this example (limiting to one device). Cool! This uses the Quicc connections controlled with a Feather (the newish USB-C pink one!).
4709EE48-30EF-4456-A6DF-800416C65D48.JPEG
4709EE48-30EF-4456-A6DF-800416C65D48.JPEG (281.85 KiB) Viewed 66 times
I ordered a second NeoKey 1x4 so that I could more closely follow the double NeoKey 1x4 QT I2C example. I soldered the A0 address area (neat design idea!) to give it an address of 0x31. When I plug it in and run the full example, I get an error that the address can't be found.

To troubleshoot, first I tried this handy script that scans for connected devices and delivers I2C addresses:

Code: Select all

# SPDX-FileCopyrightText: 2017 Limor Fried for Adafruit Industries
#
# SPDX-License-Identifier: MIT

"""CircuitPython I2C Device Address Scan"""
# If you run this and it seems to hang, try manually unlocking
# your I2C bus from the REPL with
#  >>> import board
#  >>> board.I2C().unlock()

import time
import board

# To use default I2C bus (most boards)
i2c = board.I2C()

# To create I2C bus on specific pins
# import busio
# i2c = busio.I2C(board.SCL1, board.SDA1)  # QT Py RP2040 STEMMA connector
# i2c = busio.I2C(board.GP1, board.GP0)    # Pi Pico RP2040

while not i2c.try_lock():
    pass

try:
    while True:
        print(
            "I2C addresses found:",
            [hex(device_address) for device_address in i2c.scan()],
        )
        time.sleep(2)

finally:  # unlock the i2c bus when ctrl-c'ing out of the loop
    i2c.unlock()
When I only connect the new NeoKey 1x4, no addresses are found. If I connect the first one I've been testing with (same wires), I detect one address at 0x30 (default address, no soldered address changes). Interestingly, I can chain the new purchase with A0 soldered from the feather (should be 0x31), then the older 0x30 default and that original NeoKey 1x4 will still be detected.The little green light is on for each NeoKey 1x4.

I'm not sure where to go from here. Could it be a hardware thing or a personal knowledge thing (betting on the latter)?

User avatar
dastels
 
Posts: 15662
Joined: Tue Oct 20, 2015 3:22 pm

Re: NeoKey 1x4 QT I2C: unable to locate I2C address

Post by dastels »

Did you test the second board first, before changing the address?

If you remove the A0 jumper, does it show up at 0x30?

Dave

User avatar
owntheweb
 
Posts: 83
Joined: Fri Oct 24, 2014 4:03 pm

Re: NeoKey 1x4 QT I2C: unable to locate I2C address

Post by owntheweb »

Hello!

I did not. :[

I can try to get that removed shortly for a test. Good thoughts. :]

User avatar
owntheweb
 
Posts: 83
Joined: Fri Oct 24, 2014 4:03 pm

Re: NeoKey 1x4 QT I2C: unable to locate I2C address

Post by owntheweb »

8091F650-4895-4BD9-AE17-77E7C07C345E.JPEG
8091F650-4895-4BD9-AE17-77E7C07C345E.JPEG (388.6 KiB) Viewed 58 times
Alright, I was able to remove the solder. When attaching to the feather RP2040, I get nothing for addresses. When I attach the other, older NeoKey, all is good.

No success yet.

User avatar
dastels
 
Posts: 15662
Joined: Tue Oct 20, 2015 3:22 pm

Re: NeoKey 1x4 QT I2C: unable to locate I2C address

Post by dastels »

It was worth checking. Could be a bad board. It happens occasionally. Please email [email protected] with a link to this thread, your order number, and request the replacement of one NeoKey 1x4 QT I2C - Four Mechanical Key Switches with NeoPixels - STEMMA QT / Qwiic.

Dave

User avatar
owntheweb
 
Posts: 83
Joined: Fri Oct 24, 2014 4:03 pm

Re: NeoKey 1x4 QT I2C: unable to locate I2C address

Post by owntheweb »

👍

Locked
Please be positive and constructive with your questions and comments.

Return to “Feather - Adafruit's lightweight platform”