You will need the following hardware for this project:
- Arduino Uno, Nano, or Mega.
- Android device running at least Android 3.1 (Honeycomb MR1), and with support for either bluetooth or USB host mode. A Nexus 7 tablet is perfect for this project and supports both bluetooth and USB host mode.
- Note that even if your Android device has a USB port it still might not support USB host mode! Unfortunately there's no single list of Android devices with or without USB host mode support so you might need to search the web for your specific device.
- Bluefruit EZ-link breakout or shield if using bluetooth to communicate with the Android device.
- USB on-the-go cable if using USB host mode to communicate with the Android device. Note that a USB OTG cable is not the same as a normal USB cable!
- Digital kitchen scale that you're willing to take apart and scavenge for the load cell. Try to find a scale that measures a few pounds with less than a gram accuracy. I found this 1000 gram scale from Harbor Freight tools is perfect for this project--it's inexpensive, easy to take apart, and has all the wires from the load cell marked.
- As an alternative, you can look at using a scale with a serial output. These scales are typically more expensive, but will be easier to use since they're already calibrated and ready to use out of the box.
- Texas Instruments INA125 instrument amplifier to amplify the small signal from the load cell. You can use other amplifiers, but this one is nice because it comes in a breadboard friendly DIP package and has a precision voltage reference to excite the load cell.
- Two 10k 25 turn trim potentiometers. You can use other trim pots but pick ones which have a fairly high number of turns so you can precisely adjust the offset and gain of the instrument amplifier.
- 0.1 micro-farad ceramic capacitor to decouple V+ for the instrument amplifier.
- 1 micro-farad capacitor to connect the Bluefruit DTR line to the Arduino reset line for programming the Arduino over bluetooth.
- Terminal block to connect the tiny load cell wires to larger breadboard-friendly wires.
- Power supply in the 7 to 12 volt range, such as this 9 volt supply. Grab a barrel jack to alligator clip adapter to easily connect to the power supply too.
- Hookup wires to connect components on the breadboard.
- Breadboard to hold all the components.
- Precision screwdriver to adjust the trim potentiometers.
- Multimeter to measure the voltage from the instrument amplifier during calibration. Any simple meter should work.
- Soldering iron to desolder load cell wires from the scale circuit board.
- A second scale or object with a known weight to use for scale calibration.
Kitchen Scale Tear Down
You will need to take apart the digital scale to gain access to the load cell. The exact disassembly method will vary depending on the scale, but in general you're looking for the metal bar that sits directly below the measurement platform of the scale. This metal bar, or load cell, will have strain gauges glued to its sides and should have four wires coming out of it.To disassemble the Harbor Freight scale I used in this project, start by removing two screws from inside the battery compartment and gently pull the platform from the top of the scale. Next remove the four screws revealed underneath the platform and pry the top of the plastic case off the scale to expose the circuit board. You should see thin red, black, white, and green wires going from the circuit board to the load cell. Remove the hot glue blob strain relief from where these wires attach to the circuit board (dab rubbing alcohol with a q-tip around the hot glue to cleanly remove it). Take note of which color wire goes to which label on the circuit board (there should be an E-, S+, S-, and E+ label). Desolder the four load cell wires from the circuit board with a soldering iron. Finally desolder the two circuit board power wires from the battery holder and remove the scale's circuit board.
You can see a picture of the disassembled scale below. The load cell is the metal bar to the left of the circuit board. Also note the 4 labeled connections for the load cell wires on the left of the circuit board: E-, S+, S-, E+
The load cell works by measuring the very small movement, or deflection, of the metal bar when weight is applied. Strain gauges glued to the metal bar change their resistance based on the bar's deflection. By putting these strain gauges in a special configuration, a Wheatstone bridge, it's possible to measure the change in resistance as a change in voltage. The voltage from the load cell's bridge can be read by an analog input on an Arduino to determine the weight applied to the load cell.
You can actually use a multimeter to see the change in voltage from the load cell as weight is applied. Connect the E+ wire to a battery or power supply positive terminal (anything 3-12 volts should work), the E- wire to the negative terminal, the S+ wire to the positive multimeter probe, and the S- wire to the negative multimeter probe. Set the multimeter to measure voltage in the millivolt range (if it's not auto-ranging). Apply weight or press on the load cell and watch what happens to the measured voltage. You should see the voltage increase as more weight is applied (if you see the voltage decrease, swap which probe is connected to the S+ and S- wires).
One problem with the load cell is that the voltage output is very small and difficult for an Arduino to directly read. You can see at maximum weight the load cell will only output a few millivolts. To make this small signal readable by an Arduino it will need to be amplified and buffered. An instrument amplifier, such as the Texas Instruments INA125, is a device which can amplify the signal from a load cell bridge and make it readable by the analog to digital converter in the Arduino.
If you're curious for more information about load cells, check out these resources:
You can actually use a multimeter to see the change in voltage from the load cell as weight is applied. Connect the E+ wire to a battery or power supply positive terminal (anything 3-12 volts should work), the E- wire to the negative terminal, the S+ wire to the positive multimeter probe, and the S- wire to the negative multimeter probe. Set the multimeter to measure voltage in the millivolt range (if it's not auto-ranging). Apply weight or press on the load cell and watch what happens to the measured voltage. You should see the voltage increase as more weight is applied (if you see the voltage decrease, swap which probe is connected to the S+ and S- wires).
One problem with the load cell is that the voltage output is very small and difficult for an Arduino to directly read. You can see at maximum weight the load cell will only output a few millivolts. To make this small signal readable by an Arduino it will need to be amplified and buffered. An instrument amplifier, such as the Texas Instruments INA125, is a device which can amplify the signal from a load cell bridge and make it readable by the analog to digital converter in the Arduino.
If you're curious for more information about load cells, check out these resources:
- Measuring Strain With Strain Gauges by National Instruments
- Bridge Measurement Systems by Texas Instruments
Assemble the hardware as shown in the diagram and schematic to the left.
The Bluefruit EZ-link is connected to the Arduino in the same way as the Bluefruit tutorial suggests. If you aren't using the Bluefruit, omit the wires and connections for it from your hardware.
The Bluefruit EZ-link is connected to the Arduino in the same way as the Bluefruit tutorial suggests. If you aren't using the Bluefruit, omit the wires and connections for it from your hardware.
For the INA125, if you're unsure consult the data sheet for the name and meaning of each pin. You should connect the pins for this chip as follows:
Continue on to learn how to calibrate the instrument amplifier and load cell.
- V+ to the power supply positive terminal, and V- to the power supply ground. A 0.1 micro-farad ceramic capacitor should be placed from V+ to ground to decouple power supply noise.
-
SLEEP to V+, as directed by the data sheet.
- Vref OUT to Vref 5, the Arduino analog reference pin, and the load cell E+ wire. This connection will be the precision 5 volt reference from the INA125.
- IAref to the wiper, or middle pin, of a 10k trim potentiometer. One end of the potentiometer should be connected to ground, and the other end to the power supply positive (the exact choice of ends doesn't matter). This signal will offset the output of the amplifier into a stable range (more about this on the next page).
- V+in to the load cell S+ wire (white wire on the scale I used).
- V-in to the load cell S- wire (green wire on the scale I used).
- The Rg pins 8 and 9 at the end of the chip should be connected to the wiper and one end of the other 10k trim potentiometer. Changing the resistance across these Rg pins with the potentiometer will change the gain of the amplifier.
- Vo to Sense and an Arduino analog input such as A5. This is the amplified load cell signal that will be read by the Arduino.
- Vref COM to ground.
Continue on to learn how to calibrate the instrument amplifier and load cell.
Text editor powered by tinymce.