• Home
  • Index
  • Plans
  • Videos

Tuesday, 13 May 2014

Homemade weighing scale - Calibration and readout scale

This post helps you to calibrate your homemade weighing scale and creates a printable readout scale that you can glue onto the device. The post will guide you through the entire calibration process, establish a functional relation between mass and indicator position (the process is termed regression), and lets you configure the appearance of the scale. Finally, you obtain a file that you can print on a black/white printer.

To allow you reading through the page and trying out the tools without doing the calibration, I provide example data from my prototype weighing scale.

This post assumes that you already completed the weighing scale construction tutorial.

What does calibration mean?

Calibration is the process of determining the dependency between a unit to measure and the indication of a measuring device. In our case, the unit to measure is a mass (or, more precisely, a weight force), and the indication is the angle of the weighing scale's indicator.

How do I calibrate the weighing scale?

Basically, you put several different weights of known mass ("standards") onto the weighing scale and note the resulting indicator positions (angle). A tool futher below on this page will allow you to estimate the functional dependency between mass and indicator position, and create a printable scale that you can glue onto your homemade weighing scale.

Step by step tutorial

Find standard weights

If you don't have "real" standard weights, you can use coins instead. This tutorial uses Euro coins, but you will easily find a listing of the weights of your local currency coins. As the smallest Euro coint, 1 cent (ct), weights 2.3 grams, I used M3 nuts (3mm inner diameter) for the lower range.
Be sure to have enough coint to make your weighing scale show at least 80°. For my version, ranging from 0 to 20 grams, two of each available coin and 15 nuts were enough.

Masses of the Euro coins
Coin1 ct2 ct5 ct10 ct20 ct50 ct1 €2 €
Mass2.3 g3.06 g3.92 g4.1 g5.74 g7.8 g7.5 g8.5 g


Place your weighing scale on a even, exactly horizontal surface. Preferrable, use a bubble level.

Create a table with two colums on paper or in a spreadsheet software of your choice (like OpenOffice Calc or MS Excel). The first column is for the mass, the second one is for the angle, indicated by the weighing scale's hand. For an example, see the table below.

Mass [g]Angle [°]

Your workplace should now look like this:

Homemade weighing scale on workplace prepared for calibration
Figure 1: Workplace, prepared for calibration of the weighing scale.

Obtain calibration data

After completing the construction tutorial for the weighing scale, the device has a readout scale in degrees. You will use it to quantify the indicator position during calibration. This example uses the unit grams for the mass, but you can use another unit like ounces instead.
Start with no weight at all on the weighing pan. Let the scale swing several times and read the indicated angle. From these readings, estimate the equilibrium, or most frequent value. Try to determine the value to an accuracy of half or quarter of a degree. Note the mass (0, in g) and the determined angle (5.5 for my prototype, in °) in the first line of the table.
Place the smalles weight or coin in the weighing pan and repeat the above prcedure, completing the second line of the table. For my prototype, it was [2.3 12.0].
Continue using larger weights or coins, and combinations of several coins, until you evenly cover the scale's range up to at least 80°. You will need an absolute minimum of 4 measurements, but the more, the better. 10 to 20 will give good results.

Depending on your smallest available coin and the range of your scale, you may want to refine the calibration below your minimum weight. For that purpose, find small items of equal weight, like small nuts or washers, and determine their mass in relation to one of your standard weightd or coins. Select one of the coins of intermediate or high mass for comparison. I used the 10 ct coin, weighing 4.1 g. Try to read the indicated value as exactly as possible. Remove the coin from the pan and add the small items until the scale shows the same value as for the coin. From the number of items, calculate their individual weights (mass of coin / number of items).
Using the nuts (or whatever you use), repeat the procedure described above for coins to fill the range below the smalles coin.

Data Input

From this point on, some fancy JavaScript tools will do the main work for you. By the way... this is my first mentionable JavaScript project.

Below, you find a text box (left) to enter or paste your data, one line per mass/angle pair. Every character that is not a number or decimal separator is interpeted as column delimiter, so you will most likely be able to simply copy & past your data (excluding column headers) from your speadsheet. If you prepared the table on paper, enter mass and angle delimited by spaces.
Press the Run regression button to approximate the functional dependency between mass and indicated angle. Experiment with the Polynomial order settings until you are satisfied with the result. A value of 1 gives a linear dependency, 2 is a parabola, and 3 gives a cubic polynomial. As the dependency for the weighing scale is certainly non-linear, a value of 3 is highly recommended. However, this requires a good few of mass/angle pairs, I recommend at least 10.

To test the tools without doing your own calibration, copy & paste the example data from the right text box.

If you are satisfied with the result shown in the plot below the text boxes, progress to section Readout scale parameters.

Enter data
Polynomial order:

Regression result

Readout scale parameters

Below, you can specify the parameters of the readout scale. The image on the left shows the components of the scale. The first input column specifies the spacing between the different levels of ticks, while the second column restricts the upper bound of the ticks. This is particularly useful for highly non-linear scales. Otherwise, set all values of the maximum column to your desired upper bound.
Press the Draw scale button using the example data and inspect the result below to understand the parameters.

Major ticks:
Major ticks 2:
Minor ticks:
Minor ticks 2:
Tick labels (space-separated):
Label font size:

Your scale

After successful completion of the above steps, your readout scale appears here. Use the download link below to save the result to your local computer. For how to modify and print the resulting file, scroll further down.

Your browser doesn't support the canvas element

Your SVG

Printing the SVG file

To allow for high resolution printing, the downloaded file is in Scalable Vector Graphics (SVG) format and cannot be viewed using a standard image viewer. However, there are several open source or free solutions that will help you: Another option is to use an online conversion tool, and convert the file to PDF format for printing.

You can now go back to the construction tutorial to attach the scale to your device.

Yours sincerely,
Turnvater Janosch


  1. Weighing scales are used in many industrial and commercial applications, and ... Either type of balance or scales can be calibrated to read in units of force losangelescalibration.com

  2. Can you send me the blender file for your marble pendulum clock. Thanks

    It looks great!

  3. good information in this blog, And thanks for sharing this post. Littmann Stethoscope