I2C on old Nano

I am trying to use an old Arduino Nano (requires old boot loader) with I2C devices. SDA connected to pin A4, SCL to pin A5. I2c devices are on a separate power supply. Does not work. Ran I_2_C scanner program and it cannot find any devices. Does the old Nano design support I2C? One pinout I have says it does, another shows A4 and A5 as analog input only. Didn't find anything helpful on the web.
Thanks for any suggestions.

Did you connect GND of the Arduino to GND of the external supply?

There is no old Arduino, only an old Bootloader, so there is no hardware difference.

1 Like

Thanks for the prompt reply.

I did connect the two grounds. I have tried 3 different Nano (clones), two different I2C devices (OLD and RTC),and different proto boards, thinking one or the other might be defective. Voltage from power supply is correct. I2C_scanner finds nothing. Scanner program works on my Uno and Mega boards, so that is not the problem.

@rickir206 It might be user error because I also have a old nano (with the old bootloader) and it works fine with i2c. If you want my code I can give you it! (and my setup/library)
Also I need to mention I used LCD.

But failed to mention that fact.

OLEDs could struggle with the 5V as they are normally 3.3V devices,
same for a lot of other sensors.

My Nanos are all 'old' and work flawlessly with I2C.

A6 and A7 are analog input only on a Nano, those do not exist on an UNO.

The bootloader does not matter, the I2C bus will work the same with either bootloader, or no bootloader at all.

What voltage is the power supply for the I2C devices?

How are the I2C devices connected to the Nano? Do you have a Nano without headers, and if so are your connections soldered?

@rickir206, your topic has been moved to a more suitable location on the forum. Installation and Troubleshooting is not for problems with (nor for advise on) your project :wink: See About the Installation & Troubleshooting category.

@rickir206

The following test will verify that your NANO's I2C Logic is working alright (assuming UNO-Slave is healthy).

1. Connect your NANO and UNO as per following diagram (Fig-1).
I2cnano
Figure-1:

2. Upload the following sketch in NANO-Master.

#include<Wire.h>

void setup()
{
  Serial.begin(9600);
  Wire.begin();

  Wire.beginTransmission(0x21); //roll calling for the Slave
  byte busStatus = Wire.endTransmission();
  if (busStatus != 0x00)
  {
    Serial.println("I2C Bus communication problem...!");
    while (1);  //wait for ever
  }
  Serial.println("Slave found!");
}

void loop()
{
 
} 

3. Upload the following sketch in UNO-Slave.

#include<Wire.h>

void setup()
{
  Serial.begin(9600);
  Wire.begin(0x21);
}

void loop()
{
  
}

4. Check that the Serial Monitor of NANO-Master shows some diagnostic message.

What are the I2C devices you are connected to?
Can you please post a schematic of your project, including power supplies?

Thanks.. Tom.. :smiley: :+1: :coffee: :australia:

Got it working. Thanks

Great idea. Thank you. I have got it working (was power supply issue) but I will save your email for future reference.

Ric

Thanks for your input. I got it working. It was a power supply issue.

Hi,

To help anyone with similar problem and to add closure to this thread.

What did you do to fix the "power supply issue"?

Thanks.. Tom.. :smiley: :+1: :coffee: :australia:

Tom:

Very simple: I wired it in correctly. Operator error all along. The I2C devices were not getting any power, which (of course) was why they could not be found by the Arduino. Should of thought of that first off! It has been a couple of years since I worked with this type of thing, so it is taking me a while to remember what to do.

Thanks for you help.