Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Adafruit ISO1540: Examples, Pinouts, and Specs

Image of Adafruit ISO1540
Cirkit Designer LogoDesign with Adafruit ISO1540 in Cirkit Designer

Introduction

The Adafruit ISO1540 (Manufacturer Part ID: 4903) is an isolated I2C bus extender designed to enable communication between devices operating at different voltage levels while providing robust electrical isolation. This component is particularly useful in applications where sensitive electronics need protection from high voltages, noise, or ground loops. By isolating the I2C bus, the ISO1540 ensures safe and reliable data transfer in mixed-voltage environments.

Explore Projects Built with Adafruit ISO1540

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Battery-Powered Smart Sensor Hub with Adafruit QT Py RP2040
Image of wearable final: A project utilizing Adafruit ISO1540 in a practical application
This circuit features an Adafruit QT Py RP2040 microcontroller interfaced with an APDS9960 proximity sensor, an MPU6050 accelerometer and gyroscope, and an OLED display via I2C communication. It also includes a buzzer controlled by the microcontroller and is powered by a 3.7V LiPo battery with a toggle switch for power control.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Sensor Hub with Adafruit QT Py RP2040 and OLED Display
Image of 512: A project utilizing Adafruit ISO1540 in a practical application
This circuit features an Adafruit QT Py RP2040 microcontroller interfacing with an MPU-6050 accelerometer, an Adafruit APDS-9960 sensor, and a 0.96" OLED display via I2C communication. It is powered by a 3.7V LiPo battery and includes a green LED with a current-limiting resistor connected to an analog pin of the microcontroller.
Cirkit Designer LogoOpen Project in Cirkit Designer
ATmega328P-Based Sensor Hub with OLED Display and LIDAR
Image of TILTPCB: A project utilizing Adafruit ISO1540 in a practical application
This circuit features an Mtiny Uno ATmega328P microcontroller as its central processing unit, interfacing with a variety of sensors and peripherals. It includes a 0.96" OLED display and an MPU6050 accelerometer/gyroscope for user interface and motion sensing, respectively. The circuit also integrates a TF LUNA LIDAR for distance measurement, a DHT11 sensor for temperature and humidity readings, and uses a 9V battery with a 7805 voltage regulator for power management. Communication with a computer for programming and data exchange is facilitated by an Adafruit FTDI Friend module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Smart Light with Proximity Sensor and OLED Display using Adafruit QT Py RP2040
Image of lab: A project utilizing Adafruit ISO1540 in a practical application
This circuit is a portable, battery-powered system featuring an Adafruit QT Py RP2040 microcontroller that interfaces with an OLED display, a proximity sensor, an accelerometer, and an RGB LED strip. The system is powered by a lithium-ion battery with a step-up boost converter to provide 5V for the LED strip, and it includes a toggle switch for power control. The microcontroller communicates with the sensors and display via I2C.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Adafruit ISO1540

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of wearable final: A project utilizing Adafruit ISO1540 in a practical application
Battery-Powered Smart Sensor Hub with Adafruit QT Py RP2040
This circuit features an Adafruit QT Py RP2040 microcontroller interfaced with an APDS9960 proximity sensor, an MPU6050 accelerometer and gyroscope, and an OLED display via I2C communication. It also includes a buzzer controlled by the microcontroller and is powered by a 3.7V LiPo battery with a toggle switch for power control.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of 512: A project utilizing Adafruit ISO1540 in a practical application
Battery-Powered Sensor Hub with Adafruit QT Py RP2040 and OLED Display
This circuit features an Adafruit QT Py RP2040 microcontroller interfacing with an MPU-6050 accelerometer, an Adafruit APDS-9960 sensor, and a 0.96" OLED display via I2C communication. It is powered by a 3.7V LiPo battery and includes a green LED with a current-limiting resistor connected to an analog pin of the microcontroller.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of TILTPCB: A project utilizing Adafruit ISO1540 in a practical application
ATmega328P-Based Sensor Hub with OLED Display and LIDAR
This circuit features an Mtiny Uno ATmega328P microcontroller as its central processing unit, interfacing with a variety of sensors and peripherals. It includes a 0.96" OLED display and an MPU6050 accelerometer/gyroscope for user interface and motion sensing, respectively. The circuit also integrates a TF LUNA LIDAR for distance measurement, a DHT11 sensor for temperature and humidity readings, and uses a 9V battery with a 7805 voltage regulator for power management. Communication with a computer for programming and data exchange is facilitated by an Adafruit FTDI Friend module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of lab: A project utilizing Adafruit ISO1540 in a practical application
Battery-Powered Smart Light with Proximity Sensor and OLED Display using Adafruit QT Py RP2040
This circuit is a portable, battery-powered system featuring an Adafruit QT Py RP2040 microcontroller that interfaces with an OLED display, a proximity sensor, an accelerometer, and an RGB LED strip. The system is powered by a lithium-ion battery with a step-up boost converter to provide 5V for the LED strip, and it includes a toggle switch for power control. The microcontroller communicates with the sensors and display via I2C.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Industrial automation and control systems
  • Medical devices requiring electrical isolation
  • Communication between microcontrollers and high-voltage peripherals
  • Noise-sensitive applications in harsh environments
  • Systems requiring ground loop elimination

Technical Specifications

Key Technical Details

Parameter Value
Operating Voltage (Side A) 2.25V to 5.5V
Operating Voltage (Side B) 2.25V to 5.5V
Isolation Voltage 2500 VRMS
Maximum I2C Speed 1 Mbps
Operating Temperature -40°C to +125°C
Package Type SOIC-8
Communication Protocol I2C (bidirectional, isolated)

Pin Configuration and Descriptions

Pin Number Pin Name Description
1 VCC1 Power supply for Side A (2.25V to 5.5V)
2 GND1 Ground for Side A
3 SDA1 I2C data line for Side A
4 SCL1 I2C clock line for Side A
5 SDA2 I2C data line for Side B
6 SCL2 I2C clock line for Side B
7 GND2 Ground for Side B
8 VCC2 Power supply for Side B (2.25V to 5.5V)

Usage Instructions

How to Use the Adafruit ISO1540 in a Circuit

  1. Power Supply Connections:

    • Connect VCC1 and GND1 to the power supply for Side A.
    • Connect VCC2 and GND2 to the power supply for Side B.
    • Ensure that the voltage levels on Side A and Side B are within the specified range (2.25V to 5.5V).
  2. I2C Bus Connections:

    • Connect the I2C master or slave device on Side A to SDA1 and SCL1.
    • Connect the I2C master or slave device on Side B to SDA2 and SCL2.
  3. Pull-Up Resistors:

    • Add appropriate pull-up resistors to the SDA and SCL lines on both sides of the ISO1540.
    • The resistor values depend on the bus voltage and speed. Common values are 4.7kΩ or 10kΩ.
  4. Isolation:

    • The ISO1540 provides electrical isolation between Side A and Side B. Ensure that the grounds (GND1 and GND2) are not directly connected.
  5. Testing:

    • Verify the connections and power up the circuit.
    • Use an oscilloscope or logic analyzer to confirm proper I2C communication.

Important Considerations and Best Practices

  • Ensure that the voltage levels on both sides of the ISO1540 are within the specified range.
  • Use decoupling capacitors (e.g., 0.1µF) close to the VCC1 and VCC2 pins to stabilize the power supply.
  • Avoid exceeding the maximum I2C speed of 1 Mbps.
  • Do not connect the grounds of Side A and Side B to maintain isolation.

Example: Using the ISO1540 with an Arduino UNO

The following example demonstrates how to use the Adafruit ISO1540 to isolate an I2C sensor from an Arduino UNO.

Circuit Diagram

  • Connect VCC1 to the Arduino's 5V pin and GND1 to the Arduino's GND.
  • Connect SDA1 and SCL1 to the Arduino's A4 and A5 pins, respectively.
  • Connect VCC2 and GND2 to the sensor's power supply.
  • Connect SDA2 and SCL2 to the sensor's I2C lines.

Arduino Code

#include <Wire.h>

// I2C address of the sensor
#define SENSOR_ADDRESS 0x40

void setup() {
  Wire.begin(); // Initialize I2C communication
  Serial.begin(9600); // Start serial communication for debugging

  // Check if the sensor is connected
  Wire.beginTransmission(SENSOR_ADDRESS);
  if (Wire.endTransmission() == 0) {
    Serial.println("Sensor detected!");
  } else {
    Serial.println("Sensor not detected. Check connections.");
  }
}

void loop() {
  // Example: Read data from the sensor
  Wire.beginTransmission(SENSOR_ADDRESS);
  Wire.write(0x00); // Command to read data (sensor-specific)
  Wire.endTransmission();

  Wire.requestFrom(SENSOR_ADDRESS, 2); // Request 2 bytes of data
  if (Wire.available() == 2) {
    int data = Wire.read() << 8 | Wire.read(); // Combine two bytes
    Serial.print("Sensor Data: ");
    Serial.println(data);
  }

  delay(1000); // Wait 1 second before the next read
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. No Communication on the I2C Bus:

    • Verify the pull-up resistors on both sides of the ISO1540.
    • Check the power supply connections (VCC1, GND1, VCC2, GND2).
    • Ensure that the I2C devices are correctly connected to the appropriate pins.
  2. Data Corruption or Noise:

    • Use shorter wires to reduce noise and signal degradation.
    • Add decoupling capacitors near the power supply pins.
  3. Ground Loop Issues:

    • Ensure that the grounds of Side A and Side B are not connected.
  4. Overheating:

    • Check for excessive current draw or incorrect voltage levels.

FAQs

Q1: Can the ISO1540 be used with SPI or UART?
A1: No, the ISO1540 is specifically designed for I2C communication and does not support SPI or UART protocols.

Q2: What is the maximum cable length for the I2C bus?
A2: The maximum cable length depends on the pull-up resistor values, bus speed, and environmental noise. For standard I2C speeds (100 kHz), lengths up to 1 meter are typically reliable.

Q3: Can I use the ISO1540 with 3.3V and 5V devices?
A3: Yes, the ISO1540 supports mixed-voltage operation. Connect the 3.3V device to one side and the 5V device to the other side.

Q4: Does the ISO1540 require external isolation components?
A4: No, the ISO1540 has built-in isolation and does not require additional components for isolation.