YO4HFU
ARDUINO I²C ADDRESS SCANNER


I²C protocol use 2 wires (SDA,SCL) to connect the "Master" with "Slave" units. Each slave unit has unique address. Sometimes is difficult to know the address or a test is required. In this way, Arduino I²C Scanner is a real help.
Arduino module is connected to unknown devices and starts to scan the bus. Arduino will be the master unit. If one slave unit is found, the address is displayed by Arduino IDE Serial Monitor.

 

1. First you need to upload this sketch by Arduino IDE (PC software) in to the Arduino module.

Download I²C address scanner sketch -
source http://playground.arduino.cc/Main/I2cScanner

2. Connect the Arduino module to I2C bus using SDA, SCL and GND wires. Take care about voltage levels supported by slave units. Arduino module use 5 volts logical level. In case of low voltage devices connected on I2C bus, bidirectional level shifters must to be used to avoid any hardware failure. Also check if pull-up resistors are installed.

3. Open Serial Monitor from Arduino IDE at 9600baud.

 

When slave unit is detected, the address is reported. In my case was connected to SI570 PLL IC. Default address is 0x55.

 

 

I2C Bi-directional Level Shifter:
- MOSFET Version


- Bipolar Version

 

According with Arduino module, SDA and SCL pins are assigned like that:

ARDUINO UNO & 328
SCL - A5 pin
SDA - A4 pin

ARDUINO MEGA
SCL - 21 pin
SDA- 20 pin

ARDUINO LEONARDO/MICRO
SCL - digital 3 pin
SDA - digital 2 pin

Do not forget about GND terminal, connect to common power/data ground.

 

Home

yo4hfu@2010-2021