Quick Start
In this Quick Start guide for the SparkFun Open Scale IoT we'll show you how to wire up the board with a load cell, configure and calibrate the scale to get weight data over a Bluetooth® connection in just a few minutes.
Load Cell Assembly
The OpenScale - IoT has 3.5mm screw terminals to connect load cells and an external temperature sensor. It also has 0.1"-spaced PTH pins for each of these connections as well for users who prefer a soldered connection.
Most load cells will have a Red/Black/White/Green wire color code. Insert these wires into their matching screw terminal and tighten the terminal to finger tight. Some load cells use a blue wire in place of the green wire or a yellow wire in place of the white wire but don't worry, it will still work! Load cells with a large capacity or a long connecting cable may have an additional yellow shield wire for the four signal wires. If your load cell has this wire, connect it to the yellow/shield screw terminal.
OpenScale - IoT Configuration
The OpenScale - IoT can be configured over Bluetooth, USB-C and serial UART. Connecting to the device over WiFi is read only. All communication interfaces are enabled by default. We recommend performing initial configuration and calibration for the OpenScale - IoT while connected to a computer over USB-C or paired with a Bluetoth device.
Connecting to Bluetooth
The OpenScale - IoT broadcasts as an available Bluetooth device named "OpenScale-IoT-#### where "###" is a unique 4-digit ID# for the ESP32 module. Check "Broadcasting as "OpenScale-IoT-ID#" in the Configuration Menu for the specific device ID if you're not sure of the correct ID#. After pairing and connecting to the OpenScale - IoT, open a serial terminal program and connect to the device port. If you're using a phone to connect to the OpenScale - IoT you'll need an application installed. We found the Android app called "Serial Bluetooth Terminal" worked great in our testing.
Using the Configuration Menu
When you initially open a terminal connected to the OpenScale - IoT, set the baud rate to 115200 and enable line endings enabled. Once the terminal is connected, the OpenScale starts printing out data that includes a timestamp, weight (in grams) and TMP102 temperature (in Fahrenheit) every second. Enter "X" into the terminal to open the configuration menu and you'll be greeted with this menu:
This menu allows you to configure all sorts of settings for the OpenScale - IoT including toggling the communication ports, setting weight units and connecting to a WiFi network. For a detailed overview of all the available settings, read on to the OpenScale Configuration section of the Hookup Guide. For now, we'll move on to calibrating the scale.
Scale Calibration
Before calibration make sure to set the OpenScale - IoT to report in the unit you want to calibrate with by entering "8" and selecting the corresponding number (grams, ounces, etc.). Next, enter "2" to calibrate the scale. Remove all items from the scale and enter any key to tare it. The OpenScale will tare and print out when it completes along with the current tare value. Once this process finishes, place an object with a known weight and then enter that value as a float. The new calibration factor is stored and prints out.
After the scale is calibrated, converting between units is seamless; the firmware automatically converts between units and there is no loss of precision. The scale updates roughly every 500ms. After calibrating the scale to report correct weight values, we recommend performing an extended calibration period to adjust for creep values in the load cell that can occur over long periods of time. For more information about this process, refer to the Calibration Tips section of this document.

