Creative Commons images are CC BY 2.0

Description: The SparkFun OpenScale is a simple-to-use, open source solution for measuring weight and temperature. It has the ability to read multiple types of load cells and offers a simple-to-use serial menu to configure calibration value, sample rate, time stamp and units of precision.

Simply attach a four-wire or five-wire load cell of any capacity, plug the OpenScale into a USB port, open a terminal window at 9,600bps, and you’ll immediately see mass readings. The SparkFun OpenScale will enable you to turn a load cell or four load sensors in a Wheatstone bridge configuration into the DIY weigh scale for your application.

The OpenScale was designed for projects and applications where the load was static (like the beehive in front of SparkFun HQ) or where constant readings are needed without user intervention (for example, on a conveyor belt system). A load cell with an equipped OpenScale can remain in place for months without needing user interaction!

On board the SparkFun OpenScale is the ATmega328P microcontroller, for addressing your communications needs and transferring your data to a serial terminal or to a data logger such as the OpenLog, an FT231 with mini USB, for USB to serial connection; the HX711, a 24-bit ADC for weigh scales; and the TMP102, for recording the ambient temperature of your system. The OpenScale communicates at a TTL level of 9,600bps 8-N-1 by default and possesses a baud rate configurable from 1,200bps to 1,000,000bps.

Get Started with the OpenScale Guide


  • Operating Voltage: 5V
  • Operating Ampage: 80-100mA
  • Power Cycling above 500ms
  • Selectable 10SPS or 80SPS Output Data Rate
  • Local & External Temperature Sensors
  • Fixed & Adjustable Gain


Recommended Products

Customer Comments

  • For the kitchen scale, is there any amazon link you can share that is easy to tear open and use? The user guide doesnt provide any particular kitchen scale compatible with the the 10kG load cell.

  • Has anyone tried to re-use the Temp signal as a GPIO? Theoretically you should be able to, but I was just curious if anyone has?

  • My OpenScale SEN-13261 has been reading undisturbed since about 5:20 pm yesterday with a 100 lb load; however, I’m occasionally getting outlier readings (+/- ~2700 lbs). Refer to the plots below; Is this noise from the HX711 ADC, or a firmware bug? Plotted values are the max/avg/min of the last 50 readings from OpenScale serial port.

    load cell #1 plot:
    (on board) temperature #1 plot:

    Steps I’ve taken to resolve the issue:
    * Increase the time between OpenScale readings from 100 ms to 150 ms
    * Flash the latest firmware from Github to OpenScale
    * Re-read OpenScale documentation & search google

    Any ideas on what to do about the outliers?
    Is anyone else seeing this same issue?

    Thanks in advance!

    • I have seen similar “jitter” in my readings; big jumps for brief periods of time. I’m assuming it’s a noise issue with ADC not helped by my un-shielded wiring. I also believe some the erroneous values are made worse by possible overflow/underflow in the averaging routine in the HX711 library. One thing that helped me was to modify the firmware to read (10) raw samples, scale them individually before summing/averaging, discard the lowest and highest individual readings, and then summing and averaging the remaining (8) scaled samples (see rudimentary code below):

      long i, j, min, max; long rawReading[10];

      // Take 10 readings w/ scale factor
        rawReading[i] =; // Take a single reading from the ADC
        rawReading[i] /= 8870;        // Scaling (hard-coded scale factor)
      // Find lowest and highest reading
        if(rawReading[i] > max)
          max = rawReading[i];
        if(rawReading[i] < min)
          min = rawReading[i];
      // Sum and remove lowest and highest and average readings
        j += rawReading[i];
      j -= min;    
      j -= max;    
      j/=8;   // Final value
  • At 5v input required, how does one get this to run outside on a single 3.7v cell with Sunny Buddy? Seems strange that this was (as I understand it) initially designed to measure a beehive weight in an outdoor project, but then relies on 5v and has no wifi/ESP8266 option or terminal.

  • Hi,

    I want to

    1. Battery power this from a 5v regulated source
    2. take the output from the serial out connections (i will send over BLE)

    when i try to power this using 5v it works but does not start to send data on power, it just idles unless i connect via usb to the ftdi chip.

    how do i make it start sending readings without connecting it to a usb port?



  • Hello, Is possible to connect it to arduino? i’m using a xbee on arduino to send some data.

    • Yes, I was able to do this. I used an arduino uno and I connected the Serial out of the Openscale to the arduino. So GND <-> GND, and the TX of Openscale to RX of Arduino.

      For your code, just do the regular Serial setup for 9600 baud, and do Serial reads for the data.

  • Can you interface wit this on i2c or SPI? I’m imagining setting up a screen for weight readout, but perhaps I should go with my own arduino and the HX711 load cell amplifier if I want to create a standalone device?

  • Is there a way to read the OpenScale in Labview? I just downloaded makerhub and have been experimenting with Arduino connected into LabView. I’m playing with an example which needs more resolution then a standard Arduino, can I plug my OpenScale into the program and record a potentiometer output using it?

    • The Atmega328 on Openscale is there to handle communication. There is no I/O broken out for something like blinking an LED or reading potentiometer output. However, I think you might be able to record and process data from the load cells in Labview. Labview does give you access to I2C and SPI functionality on the MCU-the SPI pins are accessible on OpenScale through the AVR programming header and SDA and SCL can be accessed from the drains of Q1 and Q2 - This will give you the Temp data. I haven’t used OpenScale with Labview but I might try now. I don’t see how it could be a greater benefit to use Labview in this case but I don’t see why it wouldn’t be possible. If resolution is what you are looking for though the Atmel MCU used on OpenScale is the same as the chip used on an Arduino so the resolution should be the same.

  • Hi,

    opening the Eagle files available for OpenScale I see that probably they are related to a previous revision of the schematic/pcb because the combinor for individual load sensors is not present.

    Is there any chance to have the Eagle files updated to the current release of the PCB?

    Thank you for your answer.


  • In the latest firmware the loadcell tare value is not taken from EEPROM, its hardcoded to 8647409. is it a bug?

    • You can simply comment this out in the Openscale code. Look for setting_tare_point = (long)8647409; add // to comment it out

  • What is the meaning of “A load cell with OpenScale can remain in place for months without needing user interaction”, does it mean OpenScale needs calibration after using it for some months?

    • Yes. You’ll need to re-calibrate once every season (at least) to take into account changes in temperature and humidity in the environment. Creep is the change in load cell signal occurring with time while under constant load and with all environmental conditions and other variables also remaining constant. Load cells tend to creep meaning they will change their output slightly over time when a weight is left on the scale for long (30+ minutes) periods of time. Creep is load cell specific so keep your data sheet handy and perform some tests. There’s an example calibration in the hook-up guide. If you need more info, I found this helpful:

  • I have a bathroom scale with four load sensors, each sensor has four wires (not three). How do you suggest I connect it to the Openscale please? I can’t see any reference to four wire sensors in the hookup guide. Thank you.

  • In the Hookup Guide", the link to “the text configuration menu” is broken…

  • Dear sir, I am trying to use openscale with :

    I get : “No remote sensor found” Could it be a problem with the cells or which mistake can I make ? Yours faithfully Pierre

    • “No Remote Sensor Found” refers to an external temp sensor that is connected to the screw terminals on the board. I’ve never used that load cell before and I couldn’t help much with mounting it. I’m sure you can some documentation on mounting the load cell. Have you been in the calibration menu yet?

      • I found : the colors from the cell are not the same as the openscale ! It seems it works ! Thank for the reply !

  • The link to the hookup guide is MIA.

  • Question: The ability to capture data, coupled with sending that data, via blue - tooth module, or wifi, with a potential AWS backend?


Customer Reviews

4.6 out of 5

Based on 7 ratings:

Currently viewing all customer reviews.

4 of 4 found this helpful:

Great Little device...

I do industrial automation for a living and work with most of the scales/indicators. For the price, this is a great little device. Also, the integrated AVR is wonderful.


  • Cant beat the cost.

  • Very accurate even with no hardware filtering.


  • HX711 can’t do Reference adjustments (6 wire load cells) (Used if you want to trim or lengthen a Load Cell cable)

  • Software is a very primitive. No FIFO Filtering, Tare, etc (Can I help?)

Actually, you can help! Since all of our stuff is Open Source, we encourage the community to expand upon what we start with. You can find all of our files through the product Github, and do whatever you think will benefit you, or the community at large.

2 of 2 found this helpful:

Practical and worth the money

I have used two of these devices in a 3D printed motor test rig (measure thrust and torque) for my quadcopter motors. Two load cells where integrated in the support beams. The UART interface with simple ascii commands for tare and measure was a no brainer, automating data collection along with current, voltage and RPM (the latter using some other IR photodiode from Sparkfun). First order low pass filtering can be added and no noise will be seen. Accuracy was as with any kitchen digital scale, or at least I did not notice any difference when calibrated against them. I would only miss advice in the supporting material whether expanding the cabling lenght from the load cells to this device has any bearing on accuracy, since I needed to separate the propeller side from the measurement devices for safety. Regards.

Does exactly what I was hoping it would

I needed an idiot friendly way of testing a 200 kg, S type load cell. It also needed to be inexpensive. This was both.

I do wish that the program for it allowed you to choose grams and ounces but it isn’t too big of a limitation either. The 10hz sample speed is fine but I may need something faster for a final product (again, this was purchased to see if my idea was worth pursuing, not for using in the final product).

I was able to read out from the load cell in a kitchen scale with it (which I tore into while waiting for the big load cell to arrive). Now that I have the 200 kg cell, I found that I can measure a load as light as a can of soda and as heavy as myself. That’s about all I’ve tested with it, and that’s all I needed it to do.

Great for simple applications

Good product, it does exactly what it says it does!

Easy to set up for serial monitor

Screw down terminals for leads are a life saver. Novice programmers such as myself will have issues getting serial communication to work on Arduino.

One thing I did not like on my serial terminal menu was the inordinate amount of time required to hold down + or minus keys attempting to slew the cal factor? How hard would it be to allow typing it in on the text buffer and hitting enter.

Invaluable for working with load sensors

Have used this module and designed five custom made weigh scales, from basic bar load sensors, to quad strain gauges in a wheat stone config, this board makes it all easier. I do recommend updating the firmware. The board works amazing and can be used by a junior hobbyist or a senior engineer and highly recommend

works well with one fix to the firmware

Works well once you fix one bug in the firmware. It was resetting the zero value every time I power cycled the board. I had to comment out this line in the code “setting_tare_point = (long)696293;” so it did not reset the zero/tare every time the board is power cycles.

To upload new code to the board you have to use an older version of the arduino software. The most recent version would not upload software to this board but arduino version 1.6.5 worked fine.

Related Tutorials

OpenScale Applications and Hookup Guide

July 22, 2016

OpenScale allows you to have a permanent scale for industrial and biological applications. Learn how to use the OpenScale board to read and configure load cells.

IoT Industrial Scale

October 10, 2016

What does a baby elephant weigh? How much impact force does a jump have? Answer these questions and more by building your very own IoT industrial scale using the SparkFun OpenScale.