-
SKU: NOTE-WBNAN
-
OS: Raspbian Trixie 32-bit
here are the All settings in our firmware/config.txt based on our debugging searches.
[all]
enable_uart=0
dtoverlay=imx219
dtoverlay=disable-bt
dtparam=i2c_arm=on,i2c_arm_baudrate=100000
dtoverlay=i2c-gpio,bus=3,i2c_gpio_sda=2,i2c_gpio_scl=3The notecard works fine via USB playground but we cannot get past the reset
here is our script with the UID removed
test script used:
import notecard
from notecard import hub, note
from periphery import I2CproductUID = “”
port = I2C(“/dev/i2c-1”)
nCard = notecard.OpenI2C(port, 0, 0, debug=True)rsp = hub.set(nCard, product=productUID, mode=“continuous”)
print(“hub.set:”, rsp)rsp = note.add(nCard, file=“test.qo”, body={“test”: “hello from pi”})
print(“note.add:”, rsp)script return:
Resetting Notecard I2C communications.
[Errno 110] I2C transfer: Connection timed out
Notecard not responding to newline during reset.
Retrying reset…
[Errno 110] I2C transfer: Connection timed out
[Errno 110] I2C transfer: Connection timed out
[Errno 110] I2C transfer: Connection timed out
[Errno 110] I2C transfer: Connection timed out
[Errno 110] I2C transfer: Connection timed out
[Errno 110] I2C transfer: Connection timed out
[Errno 110] I2C transfer: Connection timed out
[Errno 110] I2C transfer: Connection timed out
[Errno 110] I2C transfer: Connection timed out
Traceback (most recent call last):
File “/home/rpi_rem-admin/scripts/test_notecard.py”, line 7, in
nCard = notecard.OpenI2C(port, 0, 0, debug=True)
File “/home/rpi_rem-admin/.local/lib/python3.13/site-packages/notecard/notecard.py”, line 925, in init
self.Reset()
~~~~~~~~~~^^
File “/home/rpi_rem-admin/.local/lib/python3.13/site-packages/notecard/notecard.py”, line 833, in Reset
raise Exception(‘Failed to reset Notecard.’)
Exception: Failed to reset Notecard.
Hi @marcus_nerdicus and welcome to the Blues community!
I don’t think I would’ve spotted this without some help from AI, but it appears these two lines fight for the same physical pins:
dtparam=i2c_arm=on,i2c_arm_baudrate=100000 ← hardware I2C on GPIO 2/3 (/dev/i2c-1)
dtoverlay=i2c-gpio,bus=3,i2c_gpio_sda=2,i2c_gpio_scl=3 ← bit-banged I2C on the SAME GPIO 2/3
On the Pi Zero 2W, GPIO 2 = SDA1 and GPIO 3 = SCL1. The i2c-gpio overlay grabs those pins for bus 3, which prevents the hardware I2C controller from driving them.
So…it looks like the simplest fix is to drop the i2c-gpio overlay and just use hardware I2C.
Hope that helps!
Rob
Rob,
Thank you for the quick response. Very much appreciated.
I removed the i2c-gpio overlay as suggested.
Config is now clean with just dtparam=i2c_arm=on,i2c_arm_baudrate=100000.
However, back to the … Notecard not responding to newline and Errno 110 (Connection timed out) on /dev/i2c-1 — same error as before. This appears to be the Pi Zero hardware I2C clock-stretching issue. Tried my test script with and without sudo — same result.
What is the recommended fix for clock-stretching with Notecarrier-Pi HAT on Pi Zero 2W running Trixie?
Thanks again,
Mark