Page 1 of 13
OpenScale Applications and Hookup Guide
Overview
The SparkFun OpenScale makes reading load cells easy. Attach a four-
wire or five-wire load cell of any capacity, plug OpenScale into a USB port,
open a terminal window at 9600bps, and you’ll immediately see mass
readings. To learn more about load cells see our tutorial on Getting Started
with Load Cells. This board also has the Load Cell Combinator built in so
you’ll be able to read four load sensors as 1 load cell as well.
OpenScale combines the HX711 breakout board with an Atmega328P
running Arduino and extensive pre-loaded configuration firmware to create
an off-the-shelf solution for load cell reading.
OpenScale was designed for projects and applications where the load was
static (for example a bee hive) or where constant readings are needed
without user intervention (for example on a conveyor belt system). A load
cell with OpenScale can remain in place for months without needing user
interaction.
OpenScale makes it easy to zero and calibrate your scale via a simple to
use configuration menu. Serial output and control is available through the
mini-B USB port or through an FTDI compatible connection. This allows
OpenScale to be attached seamlessly with a datalogger (OpenLog) or to a
wireless Bluetooth transmitter (such as SparkFun Bluetooth Mate Silver). In
the bee cale application , OpenScale is hooked up to Blynk Board and the
data collected is pushed to data.sparkfun.com.
A precision digital temperature sensor is included on OpenScale to report
the local temperature. An external connection is also available for a
DS18B20 compatible temperature sensor to take temperature readings of
the load cell. Please note that OpenScale reports the local and remote
temperature readings but it does not alter the scale reading due to
temperature fluctuations. It is up to the user to properly calibrate and post
process these temperature readings to get the maximum scale accuracy.
Page 2 of 13
OpenScale is fully open source hardware and software. OpenScale comes
with a Arduino Uno compatible bootloader (STK500, 115200bps, 16MHz).
Making modifications to the firmware is as easy as loading new code onto
an Arduino. You can find the all the source in the OpenScale repository on
github.
Interface Specifications
OpenScale communicates at TTL level 9600bps 8-N-1 by default. The baud
rate is configurable from from 1200bps to 1,000,000bps. Most users will
use the USB mini-B connection to connect to a computer. See How to
Install FTDI Drivers tutorial for more information. Users may also
communicate via the 6-pin serial interface:
6-pin connector on the edge of OpenScale
This is the common FTDI-type pinout. This interface is useful if you need to
attach OpenScale to an embedded system that does not support USB host.
The minimum connection is three wires: 5V, GND and TX.
OpenScale is configured via visible ASCII characters and a text menu
system. Attach OpenScale via USB and use your favorite terminal software
to open the COM port that OpenScale is connected to. By default
OpenScale communicates at 9600bps 8-N-1. You should see the following
displayed every few hundred miliseconds:
OpenScale output
Pressing ‘x’ at any time will bring up the configuration menu.
Attaching the Load Cell
DS18B20 external temperature sensor
Page 3 of 13
200kg load cell
OpenScale uses 3.5mm screw terminals to connect to the load cell wires
and external temperature sensor. The SparkFun Mini Screwdriver fit the
screws well as does the Pocket Screwdriver Set.
Sparkfun Load Cells follow the general color convention described below
Most load cells will have a Red/Black/White/Green wire color configuration.
Insert these wires into the screw terminal and tighten the terminal to finger
tight. A few load cells use a blue wire in place of the green wire - don’t
worry, it will still work! Load cells with a large capacity or a long connecting
cable may have an additional yellow wire that is used to shield the four
signal wires. If you have this wire available attach it as well.
This load sensor has only three wires
If you are using discrete strain gauges (for example our 50kg load sensor)
you will need to use the Load Cell Combinator to combine four strain
gauges into a wheat stone bridge configuration. See the Load Cell
Combinator Hookup Guide for more information. Openscale also has the
Load Cell COmbinator built-in. The markings UL, UR, LL and LR stand for
upper left, upper right, lower left and lower right respectively. Just like you
would see in a bathroom scale. The C mark is for the “center tap” which is
explained in the strain gauge tutorial.
Page 4 of 13
Load Cell Combinator
Physical Characteristics
Dimensions
OpenScale is approximately 1.8 by 2.25”.
Voltage
OpenScale is designed to be powered over USB but can be externally
powered from a regulated 5V source.
Current Consumption
Different types of load cells will utilize different sized resistors in its
wheatstone bridge. The smaller the resistors the greater the current at 5V.
Additionally, OpenScale will attempt to power cycle the load cell to reduce
localized strain gauge heating and overall power consumption. The status
LED and USB-to-Serial ICs will also affect the current usage. Those factors
in mind, the user can expect around 80 to 100mA at 5V for a regular setup.
The base current consumption is approximately 18mA under the following
conditions:
• 5V regulated into 5V pin on FTDI connector (no USB connected)
• No load connected
• Status LED disabled
It is recommended to use the Serial Trigger mode of OpenScale for low
power applications. This mode will allow OpenScale to power down the
instrumentation amplifier and enter the lowest possible power state.
Page 5 of 13
Configuration
Once OpenScale is connected and reporting to your terminal window press
‘x’ to bring up the configuration menu.
All settings are stored in non-volatile EEPROM and loaded during
power up.
Text configuration menu
Press the corresponding letter or number to control that setting.
Note:
If you get OpenScale into an unknown configuration you can
reset the board to safe defaults. Power down OpenScale, attach a
jumper from RX to GND on the serial connector, then power up
OpenScale. You should see the status LED blink rapidly for two
seconds then at 1Hz. This indicates OpenScale has been reset to
9600bps. This will also reset all system settings to safe defaults.
Tare Scale to Zero
Use this to tell OpenScale what the base reading is. Remove everything
from the scale that will not be there permanently and tare scale to zero.
OpenScale will take a series of readings, average them, and store this
value in non-volatile EEPROM. At each power-up OpenScale will use this
value as ‘zero’.
Calibrate Scale
Use this to calibrate your scale to a known value. First remove everything
from the scale that will not be there permanently and tare the scale to zero
(see ‘Tare scale to zero’). Next place an accurate and known mass onto
your scale. If you are looking for sub +/-5% accuracy of your scale we
recommend you leave this mass in place for around 30 minutes to allow for
load cell creep (see ‘Calibration Suggestions’ for more information). Next
select ‘Calibrate scale’ from the configuration menu.
Calibrating to a 45 pound known mass
Next use the ‘a’ and ‘z’ keys to increase or decrease the reading to match
your mass. Holding ‘a’ or ‘z’ will change the calibration factor at a faster
rate. Press ‘x’ once the reading closely matches the known weight.
Timestamp
This will enable or disable the millisecond timestamp shown at the start of
every reading. The default is to show a timestamp.
Set Report Rate