Theremino System

Theremino is an Open Source system, to connect computers with the real world. Applications range from music, to teaching, to scientific research. Unlike similar systems (for example Arduino), the system works immediately, and does not require any firmware programming.

Theremino System - Musical instruments

The form Theremino Master is not a card with micro programmable controller (as Arduino), but an Input Output device, like a Mouse. And’ can still use Arduino modules. See the application ArduHAL and its documentation.

The Theremino system is also applicable to systems “embedded”, that require fast reactions (for example the drones). The FlatPC for applications “embedded” are tiny, cheap and light, as explained on this page.

The communications architecture is innovative. Different from any other similar system. The basic principles are explained on the page the-theremino-mission

The user itself, even without knowing programming, can configure the modules, to measure, physical quantities of all kinds: temperatures, radiations, magnetic fields, hearthquakes, pollutants… and to drive the servos, motors, led lamps, ovens, solenoid valves, relè, robots, CNC machines, 3D printers, laser cutting and engraving, etc…

Theremino System Devices

The tablets and PCs power, the flexibility of the InOut modules, and an entire ecosystem, of more than one hundred applications, makes the system Theremino “different”. The system Theremino, is not a copy of Arduino. We want to specify it, because many are fooled, by the shape of the InOut modules. Whom, admittedly, they look like clones of Arduino.

Theremino Theremin Google Doodle
Even the name Theremino, unfortunately, has unintentionally fostered this misunderstanding. That many do not believe, but it's the truth. When he was chosen the name, None of us were aware of the existence of Arduino and the name refers only, to Leon Theremin and Input Output. Clicking on this picture, you open a Google Doodle He teaches her to play the Theremin.

The system Theremino is also a container, for the exchange of ideas, among fans. As well as a catalog, of sensors and actuators, a teaching aid, and a collection of technologies for Input-Output, programming and open source electronics.

Purpose and philosophy of the Theremino system are teaching and collaboration. The goal is not to sell, but do good projects. Collaborators are involved only in research and collectively contribute to the improvement of the system. The results are shared and must remain free, as specified in This page

Page index

To find individual topics, We recommend that you use the “Search”, located at the upper left side. Then “CTRL-F” on individual pages.

Theremino is similar (or compatible) with Arduino?

No, are two very different systems.
Here there is a feature comparison chart.

Arduino is a “Single board micro-controller” that must be programmed, from time to time, with an ad hoc firmware. If, for example,, you want to read a temperature, then you program the firmware to get it, If temperatures are two, you change and reprogramming the firmware, to read two.
Theremino is a “input-output device”, like a mouse or printer. By linking modules, works instantly, without having to program its firmware.

Arduino is designed to run all by himself, without PC and without operating system.
Theremino It also uses the power of the operating system, PC processor and coprocessor. The total combined power, is about 1000 times greater.

Arduino communicates via USB, but becomes virtual serial, and the processor itself, You must prepare your data for serial. So data undergo four conversions: from byte to serial and serial to USB, then on your PC are again converted from virtual serial USB. Finally are read from the virtual serial and converted back into the original bytes. This slows down the speed of communication with PC.
Theremino communicates via native USB and the micro of the Master has within it two independent sections, one deals with In-Out and the other is dedicated to USB communication. Whereby the connection between PC and hardware is always fluid.

Arduino programming with the Sketch, you learn so a specific language, that will not be used for anything other than for Arduino.
Theremino is a teaching system, How to program the PC in the main programming languages (Basic, CSharp, CPP and Phyton). What you learn will be useful even in a professional environment.

And’ can still use Arduino modules as input-output subsystem for the PC. See the application ArduHAL and its documentation.

Arduino clones

ArduinoDuemilanove, ArduinoDiecimila, Arduinouno, ArduinoMega, ArduinoNano, ArduinoMini, Ardupilot, DIY-Duino, DuinoStamp, Duinomite, eauDuino, Freeduino, FreeduinoEpic, Funnel I/o, Hack The Badge, Illuminato Genesis, JeenodeWirelessFreeduino, LabJack, Lightuino, Netduino, Olimexino, PaperDuino, Phidgets, Photoduino, Penguin, ProtoDuino, R-duino, Roboduino, I bleed, Seeeduino, Severino, Space-duino, StickDuino, uDuino, etc…

They are all similar to each other, a micro-controller mounted on a PCB, with around some Input/Output connectors. There are already many, why propose another?

The best explanation was from Stefano, a maker, who wrote: Clearly we always starts from Arduino, but soon I realized its limitations: it is a small computer with In/Out to be programmed, while I want to a large computer, and add the In/Out to it.!

What makes possible the operation “NO CODE”

Operation type PLC (programmable logic controller)
Since the “head” is the PC the most appropriate technical term is “Soft PLC”.
The application HAL (Hardware Abstraction Layer) Refreshes all inputs and outputs at regular intervals (normally 500 times per second) and normalizes the data, simplifying communication with hardware.

Grouping of transducers in macro-categories
Digital Out
Out Servant
Out StepMotors
In Digital
In The ADC – tension
In Cap – electric capacity
In Res – electrical resistance
Counters and frequency meters
In Periodimetri
In Encoders
In Ultrasound
In CapSensorsHQ – capacitive detection at long distance

Hierarchical modular organization
Software modules ….. High level applications. Head of system thinking.
Slots …………………….. Communication between all system components.
HAL application …….. Communications between the software and the USB
Master modules …….. Hardware modules, connected to the USB.
Slave modules ……….. Hardware modules, connected through the serial line DPM.
Pins ……………………… Input/output connectors.
Adapters ………………. Special sensors and adapters Pin standard, of the system Theremino.
Output transducers .. Servo motors, sounds, video, light controllers, On/Off controls etc..
Input transducers ….. Light sensors, position, temperature, tension, current, ability etc..

Communication between the modules, through the slots
The Slots (interprocess communication) are the basis of the system Theremino and set it apart from all the similar systems. With the slots not only hardware but also forms applications can communicate with each other.

Configurable and expandable software and sign in Open Source
Applications, available in open source, cover all common operations, from multimedia, laboratory measurements. New applications can be developed starting from the Open Source code of existing ones, as new bricks, to expand the possibilities of the system.

Hardware and software modularity
Applications can also be added as modules, multiple applications can be configured to communicate with each other, and partner, without reprogramme.

Main features

The modular software is a new concept. No system, until now, have you ever used the communication and modularity as the system Theremino.

In system Theremino, each application is only concerned with its specific functions, and multiple applications work together, to achieve the desired result. This allows you to build complex systems, with simple brick.

With Theremino you don't have to be experienced programmers, to realize their own ideas. Even the artists, chemists, the musicians, Geologists, climate scientists and students, can build what he needs, by combining the existing hardware and software modules.

The “PIN” of the system are individually configurable, with a large number of preprogrammed functions, covering every requirement of Input-Output.

You can connect sensors and assign new functions, In-Out pins, even during operation. You can add modules, and set them up in seconds. The modules are automatically recognized, and communicate with each other, through a single-wire serial line. Each line can have up to 200 modules and each module ten Pin. The total number of InOut is virtually unlimited, and they can communicate with each other, or with other applications, via HAL (Hardware Abstraction Layer) and Slots (Interprocess Communication). Modules can communicate with each other, up to kilometers, serial line, great distances on network cables and on the WEB. Usable operating systems are Windows, UNIX, Linux, Mac OSX and Android.

The simplicity, the small size and low cost modules, do not reduce the performance, Indeed the opposite is true. Simplicity makes the system very robust, and performs such, You can refresh all InOut simultaneously, smoothly (up to 500..1000 times per second).

Portable applications

Theremino system applications are portable. Copied to external memory and bring on another PC, will continue to function, exactly where were you arrive. You can also duplicate, in several separate folders, and make them work simultaneously, with separate parameters, without interfering with each other.

This also entails, that your computer is not affected (Note 1). That you do not install anything on your system, do not install Drivers, do not write in “Registry”, and don't use shared data-base. Applications “thereminiche” do not change anything, out of their folders. Other information on this page.

In system Theremino, applications do not have a fixed address (a folder type “Programs/Theremino”), but they can move, without having to “record”, their new address, at a centralized unit. The slots are the only point of contact between applications, some kind of mail boxes.

The Theremino HAL was initially conceived as a driver, had a single data base, in common for all applications, and presented its icon in the status bar, near the clock. But soon we, This made it dark, and non-transparent, its operation. Anyone with a modicum of familiarity, with driver issues, can confirm it. For further confirmation, Search YouTube “Drivers Nightmare”: Here's an example, and also other examples.

(Note 1) The basic principle, not to alter the operating system, This is only applicable in Windows. Other operating system (Linux, MacOSX and Android), claim the installation of drivers and software. According to our principles, This is a mistake, a complication for users, and a potential source of insecurity. In such systems, users are continuously prompted for, keywords and approvals. But users can't locate malicious software, so get used to approve all. Applications become more complex every year, and human control, no longer able to understand, What actually do. Must be the same operating system, to act by antivirus, with a integrated antivirus and free from temptations.

Why the modules they look so simple?

Click on images to enlarge them.

The modules of the system Theremino (despite being very flexible and configurable), are designed with low technology and few components.

Current technology, would build PCB, with insulation of a few tenths and microscopic tracks. It would be easy to redo our modules, with these techniques. Tolerating add, a few dozen nonessential components, we could facilitate the design and reduce the production cost. The producers would be happier and aesthetics would satisfy best, the miniaturization lovers.

But there are valid reasons, to design modules in slow-food style thereminico, using low technology, with exaggerated insulations, wide traces and single-sided PCB:

  1. Increase reliability even in humid conditions.
  2. You can do without the protective coating (called “Solder”).
  3. Not impose stringent manufacturing tolerances allow the building even on a thousand holes or with photo etched (no holes metallics).
  4. Allow the construction of the PCB with the cutter (minimum insulation around 0.8 mm, single face and nothing metallic holes).
  5. Allow you to easily remove the components, for substitutions, changes and experiments, without spoiling the PCB (Touring and abundant diameter holes).
  6. Use only simple connectors, strips in step 2.54, that everyone in the drawer, or easily recycled from old equipment.
  7. Don't overdo the miniaturization. Our modules are already quite small, Some have written that are far too small. Exaggeration makes it difficult to handle them.
  8. Keep environmental impact to a minimum (minimum possible number of components and small single-sided PCB, without metallization)

There are many systems with micro USB, unavailable micro connectors and an exaggerated number of components, that almost touching each other. Here are a few examples (click on images):

Master Module - PhidgetsMaster Module - TinkerforgeMaster Module - OpenPicus

But the system Theremino want to meet the real Makers. Make plans with great performance, but using only four components. And allow, as much as possible, the auto-building, even to those who do not have high technology. To the limit, even with the Dremel “Freehand”, as in the following example:

Theremini System - DIY PCB - Free Hand made with Dremel Theremini System - DIY PCB - Free Hand made with Dremel
We thank Marco Vitangeli for this wonderful example.

For tips on how to gear up and solder SMD components easily, read this page: technical/tables-and-notes

Dummy Pixel Image

Comments are closed.