Abaci


Android Abacus

Abacus (different historical Abaci) New Android source: AbacusApp.zip.

Unzip somewhere and then put in Eclipse like File->Project->Android Project from Existing Code. Then build, install, and run as usual. Any trouble building and getting on your Android, let me know so I can make fixes or better instructions.

Android executable: AbacusApp.apk.

See project notes for todo list and history.


Java Abacus

Click on a abacus below to run Java Abacus (need Java 7 JVM) written mostly by David Bagley. Icons below are all "zeroed out" to give a rough idea on what to expect.

Configurations (+ menu interface) Applet
Chinese Abacus (also
available Korean, Japanese,
Roman, Russian, Danish)
Abacus (Control Menu)
Lee's Abacus
Principal Chinese with a Noneven
Distributed 7 Rail Auxiliary
Lee Abacus Noneven CN (Control Menu)
Lee's Abacus
Principal Korean with a Noneven
Distributed 7 Rail Auxiliary
Lee Abacus Noneven KO (Control Menu)
Lee's Abacus
Principal Chinese with a Even
Distributed 9 Rail Auxiliary
Lee Abacus Even CN (Control Menu)

The simplest configurations are the below static versions. The menu interface control has been taken out (except for some non-base 10 examples). This control feature is available in the menu versions above. The control interface lets you change formats easily. However, the static versions can be modified by clicking on the abacus itself, then, for example, "i" and "d" will increase and decrease the number of rails and "f" will change formats.

Static Configurations Applet
Chinese Abacus
(Saun-pan)
Chinese Abacus
Korean Abacus
(Supan, AKA Japanese
Soroban pre-WWII)
Korean Abacus
Japanese Abacus
(Soroban post-WWII)
Japanese Abacus
Roman Hand Abacus
right most column twelfths and
Ancient Roman Numerals in display
Roman Hand Abacus
Roman Hand Abacus
right most column eighths and
Modern Roman Numerals on abacus
Roman Hand Abacus (8)
Russian Abacus
(Schoty)
Russian Abacus
Old Russian Abacus
(Schoty w/ 1/4 Kopek)
Old Russian Abacus
Georgian Abacus
(Russian base 20, for warmer climate
(no shoes), do not take seriously)
Georgian Abacus
Danish School Abacus Danish Abacus
Medieval Counter New Medieval Counter
Mesoamerican Abacus
(Nepohualtzintzin,
similar to Japanese base 20)
Mesoamerican Abacus
Babylonian Watch
(proposed by author)
Babylonian Watch Proposal
Chinese
Solid-And-Broken-Bar
System (base 12)
Early Chinese Numbering
Base 16 Abacus
(Japanese base 16)
Base 16 Abacus
Lee's Abacus
Principal Chinese with a Noneven
Distributed 7 Rail Auxiliary
Lee Abacus Noneven CN
Lee's Abacus
Principal Korean with a Noneven
Distributed 7 Rail Auxiliary
Lee Abacus Noneven KO
Lee's Abacus
Principal Chinese with a Even
Distributed 9 Rail Auxiliary
Lee Abacus Even CN

There are two modes in menu that will help you learn how to use the abacus:

the "demo" mode: here some static lessons are given for the different types of abacus. The lessons include counting, adding, subtracting, and multiplying. The original lessons were taken from work by Luis Fernandes.

the "teach" mode: here you learn at your own pace by entering your own calculation like "A+B", "A-B", "A*B", or "A/B" (where A>0 and result positive). Pressing the enter key, will give you a step by step explanation and show proper moves on the abacus. According to the books below, you are supposed to start on left side, when adding or subtracting multi-digit numbers. (There is a menu option "rightToLeftAdd", if you think this is inefficient (similar one for multiplication "rightToLeftMult")). Lee's Abacus is more suitable if you are learning multiplication and division, as there are extra places to store operands.

SQRT operation is a feature that that solves perfect squares (0 - 104080804 tested with internal tester) in teach mode and also handles floating point numbers. For non-perfect squares it gives approximations. Move the decimal point slider to the left before starting to increase precision. Try it out with "10201v" in teach mode on a "Lee's Abacus". Unlike the other operations, sqrt reduces to an answer from which you must divide by 2. (You can try that out like "202/2", once sqrt operation gives you its "doubled" answer). This follows closely the work of Lee Kai-chen from his book "How to Learn Lee's Abacus". Let me know of any problems. Now if you can just input negatives... the solution would involve turing the abacus sideways. ;)

CBRT operation is a brand New feature that was just added. It solves perfect cubes (0 - 1003003001 tested with internal tester). Try it out with "1030301u" in teach mode on a "Lee's Abacus". Here cbrt reduces to an answer from which you must divide by 3. (You can try that out like "303/3", once cbrt operation gives its "tripled" answer.) This again follows closely the work of Lee Kai-chen.


You can download the jar file (preserve the .jar extension), and then it can be run as an application like "java -jar AbacusApp.jar -rails=15" or "java -jar AbacusApp.jar -lee=1 -leftAuxRails=9 -rightAuxRails=9". The X Manual Page is written for the X version but may be useful to understanding the Java program.

Source Code X Manual Page Javadoc Jar File
abacus.zip xabacus AbacusApplet AbacusApp.jar

See project notes for todo list and history. Please let me know if I left out anything.


There is a New feature for teachers to test students on the use the abacus. Below, is a demo only as you would need to run as application to have the full feature. The full feature would give the ability to create your own tests. Results would go into a results directory. Sample tests are given in zip file (there is only the one test so far, in demo below). The idea is to move the beads to the correct position and then record the answer by a certain time.

Test Configuration Applet
Japanese Abacus
(Soroban post-WWII)
Japanese Abacus - Test Sample

X Abacus

Manual for xabacus, see table above.
See xabacus.README and xabacus.lsm.

C/C++ Source Code for X and Windows (xabacus 8.0.0, bzip2'd file)
xabacus at tux.org (http)
xabacus at tux.org (ftp)
xabacus at ibiblio.org

C/C++ Source Code and Binary for Windows (wabacus zip'd file, same source as above compiled with MinGW).
wabacus (Windows abacus)

More Abacus stuff

ABACUS Guide Book
HOW TO LEARN LEE'S ABACUS
Books by Takashi Kojima
The Japanese Abacus, Its Use and Theory
Advanced Abacus Japanese Theory and Practice
The Abacus
Salamis Tablet
TOMOE Soroban
Short story by Isaac Asimov The Feeling of Power
Rhymes with Orange Cartoon 2011-08-22

Send comments/suggestions to:
Abacus maintainer

Maintainer's Home Page
Last Revised: 16 November 2014