2 years, 7 months ago.

BLE Nano I2C on P0_10


I have a project where an nRF51822 is an I2C master and communicates with an Atmega328. I have communication working over I2C just fine using various pins. However, when attempting to use P0_10 as SDA it stops working.

I've tried this on a BLE Nano v1.5 board and on a BLE400 dev board. Both boards function correctly when using other pins for SDA, but when using P0_10, which is the specified SDA pin, it no longer works.

I've programmed these boards using Arduino IDE using P0_10 as my SDA and that works just fine, so it appears to be an issue related to mbed but I have no idea why this would be.

This is an issue because I have boards on order that use this pin as my SDA and will have to manually fix them if the error cannot be fixed in software.

Thanks, Adam

1 Answer

2 years, 7 months ago.

Hi Adam, I tried a I2C hello world with LM75BD (https://os.mbed.com/teams/mbed_example/code/I2C_HelloWorld/) with NRF52_DK and it worked as expected.

I haven't used the BLE Nano device, but can you please make sure if you are only enabling I2C mode on this device and UART/SPI features are disabled? The reason I ask this question is because on BLE Nano, the same pins can be multiplexed for I2C/SPI or UART interface.



Team mbed.

Hey Naveen, thanks for the reply. I’m not using a UART or SPI interface on the device, only I2C. As I mentioned, it works using pins other than pin P0_10 for SDA, but this pin just stays floating if I use it for SDA. I’ve verified this on a logic analyser.

posted by Adam Mitchell 17 Nov 2018

Hi Naveen, further to this, I'm using an nRF51 running mbed 2. Not an nRF52!

posted by Adam Mitchell 19 Nov 2018