Max I2C speed for Notecard

Hello,

I was wondering what is the maximum acceptable I2C speed for the Notecard. I’ve been trying to do some ESP32 DFU’s and they produce the error below when running the I2C at 400K.

{"req":"dfu.get","offset":196608,"length":4096}
{"payload":"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","status":"2318096cc3ead2e790f61a76e12e921e"}
dfu: successfully transferred offset:196608 len:4096
dfu: reading chunk (offset:200704 length:4096 try:1)
{"req":"dfu.get","offset":200704,"length":4096}
{"payload":"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","status":"1f9a2e0ac41a58d32ab1c4377bf3cdf1"}
dfu: successfully transferred offset:200704 len:4096
dfu: reading chunk (offset:204800 length:4096 try:1)
{"req":"dfu.get","offset":204800,"length":4096}
{"payload":"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","status":"c134f48b636e95a928318993d22513a7"}
dfu: successfully transferred offset:204800 len:4096
dfu: reading chunk (offset:208896 length:4096 try:1)
{"req":"dfu.get","offset":208896,"length":4096}
i2c: no response
i2c receive error
{"err":"i2c: no response"}
dfu: error on read: i2c: no response
dfu: reading chunk (offset:208896 length:4096 try:2)
data too long to fit in transmit buffer
notecard not responding
data too long to fit in transmit buffer
notecard not responding
data too long to fit in transmit buffer
notecard not responding
dfu: insufficient memory

But when I change the speed to 100K they seem to update fine. Thank you for your help!

Sincerely,
Matt

1 Like

I sure hope you can release a firmware update for the Notecard that makes it compatible with world of current I2C busses. Unfortunately on the flip side of your card seeming only running at 100 kbit/s, there are master devices that are locked at 400 kbit/s or more. Fast and fast mode plus have been around since maybe 2006, locking your product to a speed that was defined in 1982, seems pretty limiting…

You might have a look at this I2C library (link below), I am not saying it will work on the processor you are using on the Notecard, but maybe it will give you some ideas. I am using this library on ATTiny85 devices running fine on a 400 kbit/s I2C bus. The ATTiny85s drive 90 WS2812B ‘NeoPixel’ LEDs and interacts with the I2C master just fine. I had to try a couple I2C libraries that were not able run at higher speeds or do clock stretching before finding this one.

I Square Too Dazed and Confused …

After failing to get the Notecard to be recognized on my Intel device, I went back and tested on a Pi Model 2B V1.1.

I set the I2C speed in the /boot/config.txt to both 100,000 and 400,000 baud and was able to communicate with the Notecard at both speeds. The first two screen captures attached below show the frequency of the I2C bus as captured by a Saleae Logic. Third picture below shows Intel device I2C bus capture. I have a I2C OLED screen and a Notecard on the I2C bus. The OLED screen is working fine, however the Notecard is not visible on the I2C bus.

Looks like I have some further investigating to do.

in /boot/config.txt on rpi
dtparam=i2c_arm=on,i2c_arm_baudrate=400000
--or--
dtparam=i2c_arm=on,i2c_arm_baudrate=100000

RPi at 400,000

RPi at 100,000

Intel at 400,000

I was thinking that it might have had to do with the strength of the pullup resistors that I had on the lines but I’ve swapped from 4.7K to 1K and have seen the behavior still be erratic, but it appears to only present itself when going through the DFU process. I have been able to get a DFU to complete on 100K, 400K, and 1M. But then other times they won’t complete. Curious to see what thoughts might be presented. Going to try smaller requesting smaller chunks and see if there is any different behavior.

Sincerely,
Matt

Hi @shonky2 and @dproffer,

We’ve done some testing internally and found the maximum speed at which I2C transactions are completely reliable is 100kHz. At 400kHz there were occasional failures when the modem was active and at 650kHz there were still greater failures.

If you can implement your own failure detection/retransmission process, you could safely run at 400kHz. But again the best reliability will be at 100kHz.

If running at a higher speed is critical, we would have to do some work to identify the root cause of failures and at which speeds etc.

Thanks,
Rob

Hi @RobLauer,

Thank you for the update and testing. I would really appreciate the deeper dive into seeing what could be done to have reliability at 400kHz. We have a couple other devices that run on the I2C bus at 400kHz reliably so we would prefer to not have to change speed. I would imagine this will come up more and more as the Notecard becomes more widely adopted being that Fast Mode is a common I2C speed.

Thank you!

Sincerely,
Matt

2 Likes

Maybe a silly question, but what is the termination resistor value of the current I2C bus?

Regards,
Rob

Not a silly question at all - it’s a 10K resistor

Did the team read this link from TI?

Is it possible to communicate with the notecard over RX/TX, and is it faster?

Hello,
I am having the same issue when trying to update ESP32 firmware over i2c. I have set the speed to 100k and sane results.
Wire.begin(SDA, SCL, 100000);
any advice?

Feedback:

dfu: successfully transferred offset:28672 len:4096
dfu: reading chunk (offset:32768 length:4096 try:1)
{“req”:“dfu.get”,“offset”:32768,“length”:4096}
i2c receive error
{“err”:“serial-over-i2c: no response to read request {io}”}
dfu: error on read: serial-over-i2c: no response to read request {io}
dfu: reading chunk (offset:32768 length:4096 try:2)
[E][esp32-hal-i2c.c:1434] i2cCheckLineState(): Bus Invalid State, TwoWire() Can’t init sda=0, scl=0
[E][esp32-hal-i2c.c:1434] i2cCheckLineState(): Bus Invalid State, TwoWire() Can’t init sda=0, scl=0
notecard not responding
dfu: insufficient memory
OTA Finished
ESP32 PARTITION SCHEME (should be two partitions to support OTA)
partition that should be ‘app0’ is ‘app0’ at 0x00010000 (1310720 bytes)
partition that should be ‘app1’ is ‘app1’ at 0x00150000 (1310720 bytes)

Hello @aguerrejoaquin,

Can you provide a bit more insight into your setup?

Specifically:

  • Which ESP32 dev kit are you using (Huzzah32, ESP32-DevKitC, etc…)?
  • Which Notecarrier are you using (AE, AL, AF, A, B, F)?
  • What is the version of the firmware on the Notecard?
  • Can you supply a picture of your setup?
  • Can you share your firmware (at least the relevant parts)?

All of these things would be extraordinarily helpful in diagnosing your problem.

Look forward to hearing from you,
Zak

Hi!

I am using ESp32devkit v4. I am not using any note carrier. I have my own developed PCB board. (attached pics)

Everything else on the notecard works fine. I am using continuous mode for GET requests and GPS time and location. on the same i2c bus I have temp sensors and an oled.

{“req”:“card.version”}
{“version”:“notecard-3.4.1.15117”,“device”:“dev:864475046544663”,“name”:“Blues Wireless Notecard”,“sku”:“NOTE-NBGL-500”,“board”:“1.11”,“api”:3,“body”:{“org”:“Blues Wireless”,“product”:“Notecard”,“version”:“notecard-3.4.1”,“ver_major”:3,“ver_minor”:4,“ver_patch”:1,“ver_build”:15117,“built”:“Jul 29 2022 11:30:03”}}

On the firmware side:
I can paste the parts that you would like to see no problem. I am using Platformio in VScode. Using the library and code example of the tutorial note-tutorials/dfu-tutorials/esp32/esp32-dfu-v1.1.1.1 at master · blues/note-tutorials · GitHub

Schematic Notecard


1 Like

Cool board!

I happen to have a the same ESP32, so I’ll see if I can repro your problem today. :+1:

Off topic, but I was looking over the schematic, and I was curious what this button does.
image

It looks like there’s a pull-up on NRST to 3V3 (which is great), but when you press the button it also adds 3V3 :thinking:. Am I thinking of it wrong, or should the button should connect to GND if you want to reset the Notecard?

Zak

2 Likes

Thanks! let me know if you find anything.
Yes!! good catch that should be GND… LOL

1 Like

@aguerrejoaquin I was able to get the example to successfully update firmware, but I did run into a couple of stumbling blocks while reproducing your issue. I have a couple of questions based on my experience.

  • Which version of the DFU firmware is running on your board, and to which version are you updating (e.g. 1.0.0.0, 1.1.0.0, 1.1.1.1)?
  • What board definition are you using with PlatformIO?
  • Which pins are you using for I2C?

Thanks,
Zak