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.
This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.
Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels
Whether it's for assembling a kit, hacking an enclosure, or creating your own parts; the DIY skill is all about knowing how to use tools and the techniques associated with them.
Skill Level: Noob - Basic assembly is required. You may need to provide your own basic tools like a screwdriver, hammer or scissors. Power tools or custom parts are not required. Instructions will be included and easy to follow. Sewing may be required, but only with included patterns.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels
Based on 15 ratings:
1 of 1 found this helpful:
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.
2 of 2 found this helpful:
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.
4 of 4 found this helpful:
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.
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.
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
An excellent product. Works with a 20t load cell. really easy to use, a great start to my new project. Proof of concept was a dream.
After calibration, it reads the correct value twice, then drops ½ pound (5%). I’ve calibrated several times and it does this every-time. Seems like there a bug.
Sorry you’re having problems! Please reach out to our tech support department at firstname.lastname@example.org. They should be able to help you with this.
I tried the openscale. First attempt, I could get some readings from a cell I bought at the same time. I could use the menu this device offers through therminal, i could calibrate, get the zero point, but, after a couple of days of permanent use, the thing got crazy even for getting the configuration menu. I am really new working with this load cells, but maybe there is something to do with the sketch provided through git website. Temperature is a different thing, Everything is ok with temperature readings, directrly from topenscale and the same happens with remote readings form temp sensor I am going to try flashing the ATMega328P, and installing everything from scratch … I will let you know
If you’re not able to figure it out, give our technical support team a shout and they can help! :-)
At first test with my raspberry pi and a certifiet loadcell, it was easypeasy, after addind 4 loadcells in bridge, thats when it started getting difficult. however after experimenting and with pure luck i discovered that increasing the average amount to 10 or more (default is 4) it started reading correct weight again. symptoms was huge drop in weight after Tare to zero, it never kept its 0. wish this gets informed about in future howto, it will sure remove lots of headace for users. all in all, i am satisfied with the openscal component, and it will be integrated in my productline
It is impressive how it works, i’m using it for an industrial scale, Im collecting data and controlling some digital i/o ( using a different card ), the best thing is i can modify the way this card is sending the data to show it in the computer…. i’m using VB.net to read the data and show it in a monitor… Great product… i take no so much time to understand the code and modify it according to my needs… Good Product….
It’s a great little jump-start. Thanks to @elmer_fud for the heads-up about the over-write of the scale value at startup.
Also I found that if you want to use a gain besides x128, you need to edit the HX711 setup call to make it explicit, e.g. “HX711 scale(DAT, CLK, 32); //Setup interface to scale” (and make sure you have the write pinout for the gain you are using). There also seems to be something quirky about the averaging, but I haven’t figured it out yet. If I change the averaging from 5 to 10 to 15, there are big offsets for the resulting values … much bigger than the noise I see in the readings when using the small averaging values.
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.
Good product, it does exactly what it says it does!