OpenScale Applications and Hookup Guide

Pages
Contributors: Nate, LightningHawk
Favorited Favorite 8

Configuration

All settings are stored in non-volatile EEPROM and loaded during power up.

Once OpenScale is connected and reporting to your terminal window press 'x' (or sending the character via the Arduino Serial Monitor with the Enter key) to bring up the configuration menu.

OpenScale 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 by sending a value of 1 in the configuration menu. 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'.

OpenScale Tare

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’).

OpenScale Tare

Next place an accurate and known mass onto your scale. Then select ‘Calibrate scale’ by sending 2 in the configuration menu.

If you are using Serial Load Cell Converter version 1.2, the prompt will tell you to place a known weight on the scale. After placing a known weight on the scale, send another character to move on to the next step of the calibration process. You will be prompted to enter the known weight on the scale. In this case, a smartphone was measured with another scale and recored as 0.3821 lbs. After entering 0.3821, additional trailing 0's needed to be entered to fill in the array.

OpenScale Calibration

Once the array is filled with 0.382100000000, you will be taken back to the configuration menu.

OpenScale Calibrated

Firmware Version 1.0: If you are using the older firmware (Serial Load Cell Converter version 1.0), the steps to calibrated the OpenScale are different:

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.

Calibration sub menu

Calibrating to a 45 pound known mass with version 1.0 firmware.
Click the image for a closer look

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

This controls how often OpenScale reports a reading. This is handy if you need a very accurate amount of time between readings or wish to limit the number of data points. Once selected from the configuration menu use the ‘a’ and ‘z’ keys to increase or decrease the time between readings. The default is 5Hz or 200ms between reports.

The report rate is calculated at power up and when the user selects ‘Set report Rate’ from the configuration menu. The fastest possible report rate is about 10.98Hz or 91ms between reports. This rate is affected by many things:

  • Faster baud rates (115200bps) allows for faster printing of text
  • Turning off time stamp and temperature readings require less characters to be printed
  • Lowering the ‘average amounts’ setting will decrease the amount of time it takes to read the load cell.
  • If attached, the remote temperature sensor takes around 19ms to read
  • Decreasing the number of decimals decreases the number of characters to print

Set Baud Rate

This controls the baud rate that OpenScale communicates. OpenScale runs at 9600bps by default. Type in the baud rate you would like and press return. OpenScale will immediately go to this baud rate. This is configurable from 1200 to 1,000,000bps but standard baud rates (multiples of 1200: 9600, 57600, 115200, etc) are recommended. OpenScale will attempt to go to the user inputted baud rate but the timing errors for exotic baud rates may become significant enough to make communication impossible.

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.

Change Units of Measure

This toggles the measurements between pounds (lbs) and kilograms (kgs). Setting the units from lbs to kgs will change the calibration factor to properly convert units. This will also change the text displayed with each report. The default is pounds.

The units are arbitrary and are displayed to make the output easier to visually parse. If you have a very large or very small load cell you may need to calibrate your scale with a different unit (grams for example). To do this follow the standard method for calibration ignoring the displayed units.

Decimals

This controls the number of decimals displayed. The default is two.

Average amount

This controls how many readings to average across. The default is four. Decreasing the average amount will allow for faster report rates but will increase the noise in reports.

Local Temp

This controls reading of the on board temperature sensor. The default is to show the local temperature. This is helpful if you need to calibrate your scale readings with local temperature readings. The onboard sensor is the TMP102 digital temperature sensor. It is very precise but will need calibration by the end user.

Please note that the scale readings do not take the local or remote temperature readings into account. It is up to the user to post process these temperature readings to get the maximum scale accuracy.

Remote Temp

This controls the reading of the off board temperature sensor. The default is to show the remote temperature if a sensor is detected at power on. A DS18B20 one-wire temperature sensor can be connected to the board to read the temperature of the load cell if further accuracy is needed. It is very precise but will need calibration by the end user.

Please note that the scale readings do not take the local or remote temperature readings into account. It is up to the user to post process these temperature readings to get the maximum scale accuracy.

Enable Status LED

By default the onboard status LED blinks with every other reading. This can be turned off to conserve power and users’ eyesight.

Serial Trigger

Once powered OpenScale will report a weight reading after each report period has passed (see Set Report Rate). Once the serial trigger option is enabled OpenScale will stop reporting and wait to be triggered by an incoming serial character. Any incoming character will cause OpenScale to wake up, take a reading, report, and return to low-power sleep. This setting is valuable for remote applications where power saving is important. To maximize power savings it is recommended that the Status LED be disabled as well. The default is to not be triggered by incoming serial characters.