This tutorial explains how to use mechanical calculators of the Odhner system to perform the
four basic arithmetic operations and also how to calculate square roots.
This includes not only the Original Odhner machines, but also its clones like the Brunsviga models A, B, C, D, E, F, M, MA, MB and MD,
and also similar mechanical calculators of other manufacturers.

- Components of the Mechanical Calculator
- Explanation of the arithmetic operations
- Addition
- Subtraction
- Multiplication
- Division
- Calculating Square Roots
*(Toepler's method)* - Videos

- Turning the crank clockwise (1x +) will add the number in the input unit to the recording unit.
- Turning the crank counterclockwise (1x -) will subtract the number in the input unit from the recording unit.
- While pushing down the unlocking lever, the carriage can be shifted to the left or to the right. This is needed for multiplications and divisions.
- The separators can be used to mark decimal places.
- Before starting a new calculation, the recording unit and the counter have to be resetted to zero and the input levers should be moved back to their zero positions. The carriage should be moved completely to the left to its default position.

The capacity of mechanical calculators is defined by the ratio of three components:
the number of digits that can be processed in the input unit, the recording unit and in the counter.

The capacity is usually given as**input unit x recording unit x counter**.

The capacity is usually given as

The *Brunsviga Modell B* shown above has a **Capacity of 9 x 13 x 8**.

crank | meaning |

1x + | turn crank one time clockwise (addition) |

1x - | turn crank one time counterclockwise (subtraction) |

carriage | meaning |

←1 | shift carriage one position to the left |

1→ | shift carriage one position to the right |

|← | move carriage completely to the left (default position) |

→| | move carriage completely to the right |

|IU |RU | adjust input unit and recording unit left-aligned |

Calculate the sum of 75,384 + 6,278 + 9,507 | ||||

carriage | input unit | crank | recording unit | counter |

(adjust left) | 000075384 | 1x + | 0000000075384 | 00000001 |

000006278 | 1x + | 0000000081662 | 00000002 | |

000009507 | 1x + | 0000000091169 | 00000003 | |

result | 91,169 |

Calculate the sum of 1521.16 + 3.5469 + 819.3 + 15.453 + 6875.82974 | ||||

carriage | input unit | crank | recording unit | counter |

(adjust left) | 1521.16000 | 1x + | 00001521.16000 | 00000001 |

0003.54690 | 1x + | 00001524.70690 | 00000002 | |

0819.30000 | 1x + | 00002344.00690 | 00000003 | |

0015.45300 | 1x + | 00002359.45990 | 00000004 | |

6875.82974 | 1x + | 00009235.28964 | 00000005 | |

result | 9235.28964 |

Calculate the difference of 2,765,930 - 2,748,693 | ||||

carriage | input unit | crank | recording unit | counter |

(adjust left) | 002765930 | 1x + | 0000002765930 | 00000001 |

002748693 | 1x - | 0000000017237 | 00000000 | |

result | 17,237 |

Calculate the product of 3600 x 24 x 365 (seconds per year) | ||||

carriage | input unit | crank | recording unit | counter |

(adjust left) | 000003600 | 4x + | 0000000014400 | 00000004 |

1→ | 000003600 | 2x + | 0000000086400 | 00000024 |

|← | 000086400 | (-) | reset | reset |

(adjust left) | 000086400 | 5x + | 0000000.432000 | 00000005 |

1→ | 000086400 | 6x + | 0000005616000 | 00000065 |

1→ | 000086400 | 3x + | 0000031536000 | 00000365 |

result | 31,536,000 (seconds per year) |

Calculate the product of 187 x 4.689 | ||||

carriage | input unit | crank | recording unit | counter |

(adjust left) | 000004.689 | 7x + | 0000000032.823 | 00000007 |

1→ | 000004.689 | 8x + | 0000000407.943 | 00000087 |

1→ | 000004.689 | 1x + | 0000000876.843 | 00000187 |

result | 876.843 |

Calculate the product of 521.735 x 0.25 | ||||

carriage | input unit | crank | recording unit | counter |

(adjust left) | 000521.735 | 5x + | 00000026.08675 | 00000005 |

1→ | 000521.735 | 2x + | 00000130.43375 | 00000025 |

result | 130.43375 | |||

Both multiplied numbers have five decimal places combined. Therefore the result has five decimal places. |

For the calculation of divisions, the dividend should be entered left-aligned into the recording unit.
Then the divisor has to be entered in the input unit directly at the leftmost possible position where it is less or equal the digit sequence in the recording unit.
Then the dividend in the recording unit is eliminated step by step by subtracting the divisor until the number in the recording unit is less than the divisor in the input unit.
Now the carriage has to be shifted one position to the left, until the number in the recording unit again is greater or equal the number in the input unit.
Then we proceed as above, by continously subtracting the divisor from the number in the recording unit. When the number in the recording unit is completely eliminated,
the result of the division is given in the counter (in red digits).

Calculate the division of 277204 / 37 | ||||

carriage | input unit | crank | recording unit | counter |

|← | reset all | ____000000000 0000000000000 | 00000000 | |

4→ | 277204|000000000|0000000 | 1x + | 277204|000277204|0000000 | 000 10000reset! |

3→ | 000037000|___ 277204|0000000 | 7x – | 000037000|___0 18204|0000000 | 70000000 |

←1 | 00003700|0__0 18204|0000000 | 4x – | 00003700|0__00 3404|0000000 | 74000000 |

←1 | 0000370|00_00 3404|0000000 | 9x – | 0000370|00_0000 74|0000000 | 74900000 |

←1 | 000037|0000000 74|0000000 | 2x – | 000037|000000000|0000000 | 74920000 |

result | 277204 / 37 = 7492 |

Calculate the division of 254 / 19 (floating point division) | ||||

carriage | input unit | crank | recording unit | counter |

|IU |RU | 2540000000000000000000 | 1x + | 2540000002540000000000 | 000 10000reset! |

→| | 000190000___ 2540000000000 | 1x - | 000190000___0 640000000000 | 10000000 |

←1 | 000190000__0 640000000000 | 1x - | 000190000__0 450000000000 | 11000000 |

000190000__0 450000000000 | 1x - | 000190000__0 260000000000 | 12000000 | |

000190000__0 260000000000 | 1x - | 000190000__00 70000000000 | 13000000 | |

←1 | 000190000_00 70000000000 | 1x - | 000190000_00 51000000000 | 13100000 |

000190000_00 51000000000 | 1x - | 000190000_00 32000000000 | 13200000 | |

000190000_00 32000000000 | 1x - | 000190000_00 13000000000 | 13300000 | |

←1 | 00019000000 13000000000 | 1x - | 00019000000 11100000000 | 13310000 |

00019000000 11100000000 | 1x - | 000190000000 9200000000 | 13320000 | |

000190000000 9200000000 | 1x - | 000190000000 7300000000 | 13330000 | |

000190000000 7300000000 | 1x - | 000190000000 5400000000 | 13340000 | |

000190000000 5400000000 | 1x - | 000190000000 3500000000 | 13350000 | |

000190000000 3500000000 | 1x - | 000190000000 1600000000 | 13360000 | |

←1 | _000190000000 1600000000 | 1x - | _000190000000 1410000000 | 13361000 |

_000190000000 1410000000 | 1x - | _000190000000 1220000000 | 13362000 | |

_000190000000 1220000000 | 1x - | _000190000000 1030000000 | 13363000 | |

_000190000000 1030000000 | 1x - | _0001900000000 840000000 | 13364000 | |

_0001900000000 840000000 | 1x - | _0001900000000 650000000 | 13365000 | |

_0001900000000 650000000 | 1x - | _0001900000000 460000000 | 13366000 | |

_0001900000000 460000000 | 1x - | _0001900000000 270000000 | 13367000 | |

_0001900000000 270000000 | 1x - | _0001900000000 080000000 | 13368000 | |

←1 | __00019000000000 80000000 | 1x - | __00019000000000 61000000 | 13368100 |

__00019000000000 61000000 | 1x - | __00019000000000 42000000 | 13368200 | |

__00019000000000 42000000 | 1x - | __00019000000000 23000000 | 13368300 | |

__00019000000000 23000000 | 1x - | __00019000000000 04000000 | 13368400 | |

←1 | ___000190000000000 4000000 | 1x - | ___000190000000000 2100000 | 13368410 |

___000190000000000 2100000 | 1x - | ___0001900000000000 200000 | 13368420 | |

←1 | ____0001900000000000 200000 | 1x - | ____00019000000000000 10000 | 13368421 |

result | 254 / 19 = 13.368421 |

On mechanical calculators of the Odhner system,
**square roots** can be calculated using **Toepler's method**, which had been developed
by August Toepler (1836–1912)
specially for mechanical calculators.
The method is based on the fact that every integer square number can be calculated as the sum of odd numbers,
beginning with 1, 3, 5, and so on.

It is also important that each two decimal places in the square number correspond to
one decimal place of the square root.

For this reason in Toepler's method the square number is divided in groups of two digits each,
leftwards beginning with the decimal separator. When the sqare number has an odd number of decimal places, the leftmost
digit forms a group for itself.

√200 results in the same digit sequence as √2, only shifted by one position.

As well √2000 results in the same digit sequence as √20, also shifted by one position.

On the other hand, √2 and √20 result in completely different digit sequences:

As well √2000 results in the same digit sequence as √20, also shifted by one position.

On the other hand, √2 and √20 result in completely different digit sequences:

In **Toepler's method** every group of two decimal places is eliminated stepwise by subtracting
the forthcoming odd number, until the next odd number is greater than the remainder of the actual place.
When there's still a remainder, the forthcoming odd number is calculated by the result digit sequence found so far,
multiplied by 20 plus one. That is the starting odd number for the next decimal place. For this the remainder is
shifted one decimal place to the left (which means it is multiplied by 10).

This sounds more difficult than it really is.
Let's take a look at the following example.

With some practice, this is done quickly and safely.

*(see also the video below)*.

With some practice, this is done quickly and safely.

Calculate the square root √804609 | ||||

carriage | input unit | crank | recording unit | counter |

|IU |RU | 804609|000000000|0000000 | 1x + | 804609|000804609|0000000 | 000 10000reset! |

→| | 000|01|00|00|___| 80|46|09|0000000 | 1x - | 000|01|00|00|___| 79|46|09|0000000 | 10000000 |

000|03|00|00|___| 79|46|09|0000000 | 1x - | 000|03|00|00|___| 76|46|09|0000000 | 20000000 | |

000|05|00|00|___| 76|46|09|0000000 | 1x - | 000|05|00|00|___| 71|46|09|0000000 | 30000000 | |

000|07|00|00|___| 71|46|09|0000000 | 1x - | 000|07|00|00|___| 64|46|09|0000000 | 40000000 | |

000|09|00|00|___| 64|46|09|0000000 | 1x - | 000|09|00|00|___| 55|46|09|0000000 | 50000000 | |

000|11|00|00|___| 55|46|09|0000000 | 1x - | 000|11|00|00|___| 44|46|09|0000000 | 60000000 | |

000|13|00|00|___| 44|46|09|0000000 | 1x - | 000|13|00|00|___| 31|46|09|0000000 | 70000000 | |

000|15|00|00|___| 31|46|09|0000000 | 1x - | 000|15|00|00|___| 16|46|09|0000000 | 80000000 |

The forthcoming odd number **17** would be greater than the **16** in the recording unit.
Therefore the first digit of the result is ready calculated.

The**8** in the counter is multiplied by **20**, then **1** added afterwards:

**8 · 20 + 1 = 161**

→*This odd number has to be entered in the input unit. Then the carriage has to be shifted one position to the left.*

The

→

carriage | input unit | crank | recording unit | counter |

←1 | 00|01|61|00|0__| 16|46|09|0000000 | 1x - | 00|01|61|00|0__| 14|85|09|0000000 | 81000000 |

00|01|63|00|0__| 14|85|09|0000000 | 1x - | 00|01|63|00|0__| 13|22|09|0000000 | 82000000 | |

00|01|65|00|0__| 13|22|09|0000000 | 1x - | 00|01|65|00|0__| 11|57|09|0000000 | 83000000 | |

00|01|67|00|0__| 11|57|09|0000000 | 1x - | 00|01|67|00|0__| 09|90|09|0000000 | 84000000 | |

00|01|69|00|0__| 09|90|09|0000000 | 1x - | 00|01|69|00|0__| 08|21|09|0000000 | 85000000 | |

00|01|71|00|0__| 08|21|09|0000000 | 1x - | 00|01|71|00|0__| 06|50|09|0000000 | 86000000 | |

00|01|73|00|0__| 06|50|09|0000000 | 1x - | 00|01|73|00|0__| 04|77|09|0000000 | 87000000 | |

00|01|75|00|0__| 04|77|09|0000000 | 1x - | 00|01|75|00|0__| 03|02|09|0000000 | 88000000 | |

00|01|77|00|0__| 03|02|09|0000000 | 1x - | 00|01|77|00|0__| 01|25|09|0000000 | 89000000 |

The next odd number **179** would be greater than the **125** in the recording unit.
Now we have finished the second result digit.

The digit sequence**89** in the counter, that we have found so far, is multiplied by **20**, plus **1**:

**89 · 20 + 1 = 1781**

→*This has to be entered in the input unit. Then the carriage has to be shifted one position to the left.*

The digit sequence

→

carriage | input unit | crank | recording unit | counter |

0|00|17|81|00_| 01|25|09|0000000 | 1x - | 0|00|17|81|00_| 01|07|28|0000000 | 89100000 | |

0|00|17|83|00_| 01|07|28|0000000 | 1x - | 0|00|17|83|00_| 00|89|45|0000000 | 89200000 | |

0|00|17|85|00_| 00|89|45|0000000 | 1x - | 0|00|17|85|00_| 00|71|60|0000000 | 89300000 | |

0|00|17|87|00_| 00|71|60|0000000 | 1x - | 0|00|17|87|00_| 00|53|73|0000000 | 89400000 | |

0|00|17|89|00_| 00|53|73|0000000 | 1x - | 0|00|17|89|00_| 00|35|84|0000000 | 89500000 | |

0|00|17|91|00_| 00|35|84|0000000 | 1x - | 0|00|17|91|00_| 00|17|93|0000000 | 89600000 | |

0|00|17|93|00_| 00|17|93|0000000 | 1x - | 0|00|17|93|00_| 00|00|00|0000000 | 89700000 | |

result | √804609 = 897 |

There is no remainder in the recording unit. That means, we have completely calculated the square root without remainder.

Calculate the square root √2 | ||||

carriage | input unit | crank | recording unit | counter |

|IU |RU | 2|00000000000000|0000000 | 1x + | 2|000000002|000000000000 | 000 10000reset! |

→| | 000|1|00000___| 2|000000000000 | 1x - | 000|1|00000___| 1|000000000000 | 1|0000000 |

1 · 20 + 1 = 21 | ||||

←1 | 000|21|0000__ 1|00|0000000000 | 1x - | 000|21|0000__ 0|79|0000000000 | 1|1000000 |

000|23|0000__0| 79|0000000000 | 1x - | 000|23|0000__0| 56|0000000000 | 1|2000000 | |

000|25|0000__0| 56|0000000000 | 1x - | 000|25|0000__0| 31|0000000000 | 1|3000000 | |

000|27|0000__0| 31|0000000000 | 1x - | 000|27|0000__0| 04|0000000000 | 1|4000000 | |

14 · 20 + 1 = 281 | ||||

←1 | 00|02|81|000_0|0 4|00|00000000 | 1x - | 00|02|81|000_0|0 1|19|00000000 | 1|4100000 |

141 · 20 + 1 = 2821 | ||||

←1 | 000|28|21|0000 1|19|00|000000 | 1x - | 000|28|21|00000| 90|79|000000 | 1|4110000 |

000|28|23|00000| 90|79|000000 | 1x - | 000|28|23|00000| 62|56|000000 | 1|4120000 | |

000|28|25|00000| 62|56|000000 | 1x - | 000|28|25|00000| 34|31|000000 | 1|4130000 | |

000|28|27|00000| 34|31|000000 | 1x - | 000|28|27|00000| 06|04|000000 | 1|4140000 | |

1414 · 20 + 1 = 28281 | ||||

←1 | _0002|82|81|00000 6|04|00|0000 | 1x - | _0002|82|81|00000 3|21|19|0000 | 1|4141000 |

_0002|82|83|00000 3|21|19|0000 | 1x - | _0002|82|83|00000 0|38|36|0000 | 1|4142000 | |

14142 · 20 + 1 = 282841 | ||||

←1 | __000|28|28|41|00000| 38|36|00|00 | 1x - | __000|28|28|41|00000| 10|07|59|00 | 1|4142100 |

141421 · 20 + 1 = 2828421
The calculated forthcomming odd number is too long to be entered completely, because the input unit has a limited number of decimal places. From this point on, we have to go on with a reduced precision, which will have no big impact on the result. We only enter the leading digits of the calculated forthcomming number. | ||||

←1 | ___00|02|82|84|200000| 10|07|59|00 | 1x - | ___00|02|82|84|200000| 07|24|74|80 | 1|4142110 |

___00|02|82|84|200000| 07|24|74|80 | 1x - | ___00|02|82|84|200000| 04|41|90|60 | 1|4142120 | |

___00|02|82|84|200000| 04|41|90|60 | 1x - | ___00|02|82|84|200000| 01|59|06|40 | 1|4142130 | |

1414213 · 20 + 1 = 28284261 | ||||

←1 | ____000|28|28|42000000 1|59|06|40 | 1x - | ____000|28|28|42000000 1|30|77|98 | 1|4142131 |

____000|28|28|42000000 1|30|77|98 | 1x - | ____000|28|28|42000000 1|02|49|56 | 1|4142132 | |

____000|28|28|42000000 1|02|49|56 | 1x - | ____000|28|28|420000000| 74|21|14 | 1|4142133 | |

____000|28|28|420000000| 74|21|14 | 1x - | ____000|28|28|420000000| 45|92|72 | 1|4142134 | |

____000|28|28|420000000| 45|92|72 | 1x - | ____000|28|28|420000000| 17|64|30 | 1|4142135 | |

result | √2 = 1.4142135... |

There's a remainder in the recording unit. This means that the real result would be slightly greater than our calculated result.

The result for √200 would be: √200 = 10 · √2 = 14.142135...

The result for √200 would be: √200 = 10 · √2 = 14.142135...