Introduction: Current Monitoring Via Arduino Nano (I2C)

Picture of Current Monitoring Via Arduino Nano (I2C)


Good Greetings..!!

Here I (Somanshu Choudhary) on the behalf of Dcube tech ventures going to monitor current using Arduino nano, it is one of the applications of I2C protocol to read analog data of Current Sensor TA12-200.

Step 1: Overview

Picture of Overview
  1. TA12-200 is a AC current sensor
  2. DATASHEET Link:
  3. This project measure AC current values

Step 2: What You Need / Links

Picture of What You Need / Links
  1. Arduino Nano Link:
  2. I²C Shield for Arduino Nano Link:
  3. USB Cable Type A to Micro Type B 6 Feet Long Link:
  4. I²C Cable Link:

  5. I²C AC current Sensor via ADC121C 12-Bit ADC I²C Mini Module Link:

  6. CFL or Light bulb.

  7. PCV cables.

Step 3: Circuit Diagram

Picture of Circuit Diagram

Step 4: Programming / Code

Picture of Programming / Code


void setup()


// I2C address of the ADC121C021, 0x50 interfaced with TA12-200

#define ADC_ADDR 0x50

// Join I2c Bus as master


// Start serial communication for serial console output



void loop()


// Begin transmission with given device on I2C bus


// Calling conversion result register, 0x00(0)



// Request 2 bytes

Wire.requestFrom(ADC_ADDR, 2);

// Read the bytes if they are available

if(Wire.available() == 2)


int msb =;

int lsb =;

// End transmission and release I2C bus


// Calculating value

int rawADC = msb * 256 + lsb;

rawADC = rawADC & 0x0fff;

// Output to the screen

Serial.print("ADC Value : ");





Serial.println("Not enough bytes available on wire.");





// These values are in mili amps

// You can also find rms value of current by finding maxinmum reading and divide it by 1.414

Step 5:

For further quires Feel free to visit our site:


About This Instructable



Bio: We are a group of makers. We work in IoT, IOS app, android app, embedded design, sensor design, raspberry pi, arduino, beaglebone, particle electron, particle ... More »
More by Dcube Tech Ventures:Home Automation with Raspberry Pi using Relay boardMotion Control with Raspberry Pi and LIS3DHTR, 3-Axis Accelerometer, using Python3-Axis Accelerometer, ADXL345 with Raspberry Pi using Python
Add instructable to: