Thursday, 6 August 2015

Interfacing a Load Cell With an Arduino Board

General Specifications

Over the years, many RobotShop customers have asked us about the easiest way to interface a load cell with an Arduino board so they can get accurate weight measurements. Instruments like load cells provide small signal values and need to be amplified for processing, so without additional electronics, these sensors cannot and should not be connected directly to an Arduino’s I/O pins. Arduino boards like the UNO have a 10 bit ADC, which means that the resolution of the analog input pins are 5V/1024 ≈ 4.9mV. For this reason, variations less than 4.9mV will not be recognized by the Arduino board without the appropriate amplification and filtering. The two common approaches for interfacing a load cell with an Arduino are :

  • Amplifying the load cell’s output voltage signal (using a pre-packaged instrumentation amplifier IC like the INA125 to be processed by the Arduino’s ADC).
  • Using a High-resolution ADC which can be interfaced with the Arduino.

Luckily, there is a new option for those seeking a plug and play solution to avoid extra wiring and coding: the Strain Gauge / Load Cell Amplifier Shield. This board makes interfacing an Arduino and an instrumentation amplifier significantly easier. This stackable shield can be used with various low output sensors like load cells. It’s a low cost solution for precise amplification of measurements especially for robotics, multichannel systems, medical instrumentation, industrial process control and more.

The Load Cell Shield features an AD8426 dual channel Instrumentation amplifier. The gain produced by the AD8426 amplifier ranges from 1 to 1000 depending on the GAIN resistor value. The output voltage reference of each channel can be adjusted with the two onboard potentiometers. The shield has also a low-pass 2nd order Bessel filter at 1000Hz for both channels.

strain gauge load cell shield

Strain Gauge / Load Cell Shield


Setup and Wiring

A load cell usually has 4 wires, but it’s important to check the wiring for the unit you have:

  • Red Wire: Excitation +
  • Black Wire: Excitation –
  • Green Wire: Signal +
  • White Wire: Signal –
5 kg micro load cell

5 kg Micro Load Cell

The parts needed for connecting the load cell to the shield :

parts needed

Parts Needed

Solder the F/F jumper wires to the Load Cell wires. To avoid mixing the wires when connecting the load cell, you can choose the same color wires as those of the load cell :

sodering load cell with jumper wires


Add heat shrink over the soldered areas:

putting heat shrink

Heat Shrink

Connect the load cell to the Load Cell Amplifier Shield:

connecting load cell to the shield

Connecting the Load cell

Stack the Load Cell Amplifier Shield on top of the Arduino board (in our case, a Lynxmotion BotBoarduino):

stacking the load cell amplifier shield to the arduino board

Stacking the Load Cell Shield

The Load Cell Shield uses analog pins A0 and A1 for Strain 1 and Strain 2 inputs respectively. The white connectors on the board are 4 pin Molex connectors with 0.1″ spacing. There are two modifications per channel that can be done to adjust the output voltage of the shield described below:


The gain of the amplification per channel is dependent on the Gain1 / Gain2 resistors. The AD8426 default gain is 1 without a gain resistor. The standard gain resistor value of the shield is 100 Ohm (for each channel) for a gain of 495. These resistors can be replaced depending on the user’s application with the appropriate ones. The gain can be calculated by using the following gain equation (from AD8426 datasheet) : Rgain= 49400/(Gain-1)

strain gauge load cell amplifier shield gain

Amplifier Gain Resistor

Reference voltage

The reference voltage feature is used to offset the output signal to a mid-supply voltage to be used with a single power supply ADC. The reference voltage can be set using the onboard potentiometers associated with each channel.

strain gauge load cell amplifier shield gain reference voltage

Channel 1 and 2 Reference Voltage

Arduino Sample Code

This Arduino Sample Code reads analog pin 0 (Strain 1) and analog pin 1 (Strain 2) so that the load cells can be calibrated by linear interpolation.

from electronic for robot


Post a Comment