adafruit / uf2-samdx1

MSC bootloader (based on UF2) for SAMD21
Other
214 stars 187 forks source link

SAMD51 Metro M4 I2C Slave Not Working #164

Closed narbanas closed 3 years ago

narbanas commented 3 years ago

Hello, I am having a really weird problem trying to use the SAMD51 Metro M4 as in I2C slave. I am using an Adafruit Metro M4 Express with 2kΩ pull up resistors on SDA and SCL and I'm just uploading the example slave_receiver code from the Wire.h library. Everything compiles and uploads just fine. The slave device is suppose to print out "x is [0-255]" but I don't get any data from the slave. Looking into it more, the slave device actually completely locks up. Additionally, the SDA and SCL lines are pulled low.

I have two SAMD51 Feather M4 Express boards and I tried the same code on them. The code worked as expected and I was able to successfully get data transmitted over I2C. However, (this is where it gets weird), I tried to switch which feather was the master and which was the slave. When I did this, the code stopped working and SDA and SCL were pulled low again, just like on the Metro M4.

I am really confused and any help or suggestions would be appreciated.

dhalbert commented 3 years ago

Please ask this kind of support question in https://forums.adafruit.com or on our discord: https://adafru.it/discord. Include your code. This repo is for the UF2 bootloader, and is unrelated to this problem. Thanks.