The Analog Thing FAQ
This page contains a list of frequently asked questions (FAQ) about The Analog Thing (in short THAT). It's a great entry place to learn about THAT.
What is analog computing?
Analog computing is an alternative to digital computing; ideally suited for dynamic systems modeling; ideally suited for neuromorphic AI applications; much more energy-efficient than digital computing; inherently safer that digital computing in the face of cyber threats; a great, hands-on way to learn about maths, engineering and systems; and an eye-opening experience.
What is THE ANALOG THING?
THE ANALOG THING is a high-quality, low-cost, open-source, and not-for-profit cutting-edge analog computer. You can think of it as a kind of Raspberry Pi that calculates with continuous voltages rather than with zeroes and ones.
What is "THAT"?
THAT is an abbreviation of THE ANALOG THING.
What can I do with THAT?
THAT is typically used to model dynamic systems, i.e., systems that change in time according to some causal relationships. Technically, THAT solves (sets of) differential equations by way of integration, and it produces results in the form of graphs representing relationships between dependent and independent variables. If you are not familiar with differential equations, then THAT is an excellent tool to familiarize yourself with them. If you understand differential equations, you can use THAT for a variety of purposes: You can use it to predict in the natural sciences, to control in engineering, to explain in educational settings, to imitate in gaming, or you can use it for the pure joy of it. THAT can help you understand what is (models of), and it can help you bring about what should be (models for). More fundamentally, THAT allows you to explore a non-digital computational paradigm hands-on!
What do I need to work with THAT?
You need a set of plug cables, which is included with THAT. You also need a USB power supply with a USB-C plug. Since most people have spare USB power supplies, we decided not to include one with THAT and save the extra cost. You will also need something to read the output of THAT (voltages that change over time), such as a hardware or software oscilloscope. Software oscilloscopes are software programs that can run on desktop or laptop digital computers and read changing voltages through the sound card's audio input interface. Software oscilloscopes (including free and open source ones) are available to download for all major operating systems.
How does a Hello World program look like on THAT?
Is THAT a general purpose computer?
Yes and no. The term general-purpose computer usually describes devices that can be programmed to mimic the logical procedures performed by other, comparable devices. THAT is different because it solves (sets of) differential equation(s) instead of processing logical procedures. It is a general-purpose analog computer in as far as it can solve any (set of) partial differential equation(s). In doing so, a single THAT is limited by its number of calculating elements. By connecting multiple THATs in minion chains, it is possible to implement large analog computer programs involving any number of calculating elements.
How can I program THAT?
Programming analog computers is about modeling change in time. Typically, this process starts by translating change in some dynamic systems into one or more differential equations. These equations are then translated into patterns of wire connections between the analog computing elements on THAT's patch field. These patterns of wire connections are analog computer programs. When a program is run, THAT solves the programmed differential equations and outputs their solutions as time-varying voltages.
How can I obtain output from THAT?
THAT outputs the solutions of differential equations as time-varying voltages. In control applications, these can be used to drive actuators such as motors or valves. In lab or classroom settings, they are often visualized as graphs using oscilloscopes or plotters. In hybrid computing (where analog and digital computers work in tandem), analog-to-digital converters and digital-to-analog converters turn time-varying voltages into digital data and vice versa. The simplest way to read the output of your THAT is to connect it to the sound card of a digital computer which can then be used to visualize the output using digital oscilloscope software and to record, analyze, or otherwise process it.
Why do the plugs not go all the way into the plug board?
This is one of several unconventional but intentional design moves that make THAT possible and affordable. (Can you think of any other device whose PCB is also its structural frame and its user interface?). The plug cables are intended by its supplier for use with a particular kind of gold-plated socket. One of these sockets costs close to one USD. Mounting it on a PCB costs close to another USD. There are 186 plug holes on THAT's patch panel. We saved all of that cost by using an extra-thick top PCB and having appropriately-sized through-holes gold plated. Since the top PCB is less thick than the plugs are long, and since the plugs have small, contact-assuring springs half-way along their length, there are stop-limits below each plug hole to ensure good contacts. The result looks a little unexpected, works just as well and cuts the cost of the overall device by more than half.
With outputs varying between -10V to 10V, how can I use THAT to model quantities smaller or greater than that?
Translating patterns of change in dynamic systems into mathematical representations and further into analog computer programs commonly involves the scaling of quantities. Quantities are represented on analog computers in a voltage or current interval with fixed boundaries called the machine unit. On THAT, this interval is -10 V to +10 V. For the sake of simplicity, the machine unit is generally thought of as ± 1, regardless of the actual voltage or current interval of a given analog computer. To model arbitrary quantities on THAT, they can be scaled to make efficient use of the machine unit. Output can then be converted back to the original scale.
How can I use THAT to create useful models of very fast or very slow phenomena?
Translating patterns of change in dynamic systems into mathematical representations and further into analog computer programs commonly involves the scaling of speed. THAT allows compressing or stretching the independent variable time by several orders of magnitude. In this way, the instantaneous decay of a volatile compound can be simulated slowly enough for observation and interactive manipulation, while population dynamics occurring over decades or centuries can be simulated in the blink of an eye.
What calculating elements are available on THAT?
THAT is designed to allow a wide range of interesting applications with a minimal set of analog calculating elements. It offers five integrators, four summers, four inverters, two multipliers, and eight coefficient potentiometers. In addition, it offers four comparators, four precision resistor networks as well as capacitors, diodes, and Zener diodes. Where more calculating elements are needed for a particular application, multiple THATs can be connected in minion chains.
How precise is THAT?
THAT is precise to about three positions after the decimal point, relative to its machine unit. This is exactly the numbers of digits shown by the Panel Meter. It is important to note that comparing the precision of analog and digital computers is a bit like comparing apples and oranges. Digital computers handle quantities that are based on counting (e.g., "how many siblings do you have?") as well as quantities that are based on measuring (e.g., what is your body height?"). Most of the time, analog computers handle quantities that are based on measuring only. Consider this: A bank clerk getting the third decimal place of an interest rate wrong commits a severe error, while a tailor being off by a micrometer here and there when taking clients' measurements has no such problem. Digital computing and in particular numerical algorithms involve rounding, and in real-life scenarios such roundoff errors reduce the typical machine accuarcy from theoretical 20 decimal digits (double precision floating point) to effective 10 decimal digits. Analog computers do not have this problem, however they are not magically error-free. Instead, their error accumulation can be analytically described with error propagation. The precision of THAT should be perfectly appropriate for the vast majority of applications.
What is a minion chain?
THAT is designed to allow an extensive range of applications with a small set of calculating elements. When applications require additional calculating elements, it is possible to link multiple THATs in a "minion chain" using their "MASTER" and "MINION" ports. Connecting the MINION port of a THAT to the MASTER port of another THAT with a ribbon cable makes the first THAT the "master" and the second THAT its "minion" so they can work together and share the calculating elements of both devices in the same program. There is no limit to the number of THATs that can be linked in a minion chain.
2+2 ≠ 4?
If you wonder why THAT computes something like 2+2 = -4
, then you need to familiarize yourself with how the Category:Components of THE ANALOG THING work. Summers on analog computers are typically negating. This means they yield the negative of the sum. This is a convention and needs some getting-used-to. If you like, you can simply feed the summer's output into an Inverter to obtain the "correct" sign.