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.
The Theremino system is not a card with a micro programmable controller (as Arduino), but an input-output device, like a mouse.
The Theremino system is also applicable to "embedded" systems that require fast reactions (drones, for example). The FlatPC for "embedded" applications are smaller, cheaper and lighter as Arduino than Raspberry, 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, earthquakes, pollutants, etc. And the user can drive the servos, motors, LED lamps, ovens, solenoid valves, relays, robots, CNC machines, 3D printers, laser cutting and engraving, etc.
The tablets' and PCs' power, the flexibility of the in-out modules, and an entire ecosystem of more than 50 applications makes the system Theremino different. The Theremino system is not a copy of Arduino. We want to specify it, because many are fooled by the shape of the in-out modules, which, admittedly, look like clones of Arduino.
Even the name Theremino, unfortunately, has unintentionally fostered this misunderstanding. Though many do not believe, it's the truth. When its name was chosen, 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 where the woman is taught to play the Theremin.
The Theremino system 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.
The purpose and philosophy of the Theremino system are teaching and collaboration. The goal is not to sell, but to 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- Here there is software information, advice on which computers to use and recommendations for stand-alone systems and real-time.
- For a convenient index divided by topics please refer to the application page.
- The basic philosophy is explained on this page
- Applications, all free and open-source, can be downloaded from download pages.
- Hardware modules you buy from external producers, or they build, with the open-hardware.
- Here you will find the information about forms of the system and their wiring diagrams.
- Transducers (sensors and actuators) and the modules of the system report links and tips to buy at the best price.
- In the introduction, you will find more details on your system, and notes are available on techniques, various information and explanatory videos.
- The most active blogs are: master and slaves / multimedia / Robotics and cnc / gamma-spectrometry / geigers-and-ionchambers.
- External resources are available for deepening scientific and educational understanding: Physics Open Lab / www.mastrohora.it.
- In these pages, details are available on the Creative Commons License, on processing of personal data, and on the CE and ROHS certifications.
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 an “input-output device”, like a mouse or printer. By linking modules, it works instantly without having to program its firmware.
Arduino is designed to run all by himself without a PC and without an operating system. Theremino 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 a virtual serial and the processor itself. You must prepare your data for serial. So data undergoes four conversions: from byte to serial, serial to USB, then on your PC it is again converted from USB to virtual serial. Finally it is 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 need to learn a specific language that will not be used for anything other than for Arduino. Theremino is a teaching system exemplifying how to program the PC in the main programming languages (Basic, C#, C++ and Phyton). What you learn will be useful even in a professional environment.
Arduino clonesArduinoDuemilanove, 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 some Input/Output connectors. There are already so many, why propose another?
The best explanation was from Stefano, a maker, who wrote: Clearly we always start from Arduino, but soon 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 the “NO CODE” operation possibleOperation 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
- PWM Out
- Out Servant
- Out Step Motors
- In Digital
- In The ADC – tension
- In Cap – electric capacity
- In Res – electrical resistance
- Counters and frequency meters
- In Period meters
- 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 Theremino system and sets it apart from all the similar systems. With the slots, not only hardware, but also 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 to 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 reprogramming.
Main featuresThe modular software is a new concept. With no system, until now, have you ever used the communication and modularity as with the Theremino system.
In the Theremino system, 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 an experienced programmer, to realize your 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 to the 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 in-out 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, small size and low cost modules do not reduce the performance. Indeed the opposite is true. Simplicity makes the system very robust and it performs as such. You can refresh all in-out simultaneously, smoothly (up to 500...1000 times per second).
Portable applicationsTheremino system applications are portable. Copied to external memory and bringing on another PC, it 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 a database. "Thereminic" applications do not change anything out of their folders. Other information on this page.
In the Theremino system, 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, as per some kind of mail boxes.
The Theremino HAL was initially conceived as a driver, had a single database in common for all applications, and presented its icon in the status bar, near the clock. But soon we made it dark and non-transparent in 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 is not to alter the operating system. This is only applicable in Windows. Other operating systems (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 and so get used to approve all. Applications become more complex every year, and human control no longer able to understand what they actually do. Must be the same operating system to act by antivirus with an integrated antivirus and free from temptations.
Why do the modules look so simple?Click on images to enlarge them.
The modules of the Theremino system (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. Tolerably adding 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. The Thereminico, using low technology with exaggerated insulation, wide traces and single-sided PCB:
- Increase reliability even in humid conditions.
- You can do without the protective coating (called “Solder”).
- Not impose stringent manufacturing tolerances allow the building even on a thousand holes or with photo etched (no holes metallics).
- Allow the construction of the PCB with the cutter (minimum insulation around 0.8 mm, single face and nothing metallic holes).
- Allow you to easily remove the components, for substitutions, changes and experiments, without spoiling the PCB (touring and abundant diameter holes).
- Use only simple connectors, strips in step 2.54, that everyone in the drawer, or easily recycled from old equipment.
- 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.
- 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 are almost touching each other. Here are a few examples (click on images):
But the Theremino system wants to meet the real Makers. Make plans with great performance, but using only four components. And allow, as much as possible, auto-building even to those who do not have high technology. To the limit, even with the Dremel “Freehand”, as in the following example:
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
Get the system modulesThe Theremino team only deals with research and does not sell hardware. The system is completely "Freeware", "Open Source", "Not for Profit" and "DIY", but there are manufacturers who can provide modules assembled and tested at a great price. One could hardly self-build them spending less. A list of manufacturers on this page: www.theremino.com/contacts/producers
DonationsThe source code of our software does not contain copyright notices, author names and links to our site, so you can make every use, without limitation of any kind. We do not require you to specify the original source or our site, but if you are happy with our software, remember us and make known this site to your friends. Any donations, even small, are very welcome and can help us to keep the software “free” and to produce ever new applications.
Comments
Please log in or sign up to comment.