The well-tempered chaos sequencer

A mechanical chaos musical instrument based on the intuitive visual relationships between musical structures and generic chaos

Similar projects worth following
The well-tempered chaos sequencer tool-kit is a mechanical chaos based musical system that seeks to create an intuitive musical relation to the underlying generic structures of chaos in systems. Chaos is generated mechanically by the paths of ball bearings that fall though a modular structure of pins. Depending on the path of a ball the sequencer triggers sound events, such as CV, MIDI or OSC.

The well-tempered chaos tool-kit is a mechanical chaos based musical system that seeks to create an intuitive musical relation to the underlying generic structures of chaos in systems. Chaos is generated by the paths of ball bearings that fall through a modular geometrical structure of pins. Depending on the path of a ball the sequencer triggers sound events, such as CV, MIDI or OSC.

By adding a mechanism to endlessly loop the balls over the pins the chaos can be continuously sampled. Through the repeated sampling of the chaos generated by a pin formation a structure can be recognized. In return the sequencer uses this structure to trigger sound events. By changing the geometrical patterns of the pins different sound event structures can be constructed that resemble or approximate musical patterns. 

When the ball loops infinitely the sequencer can become a musical object, that  autonomously expresses musical structures. The idea that simulates randomness can converge through mechanical computation to different statistical distributions structures (Gaussian, non-Gaussian, Boltzmann etc.), is used to express well-tempered chaotic musical events. 

The logic of the sequencer can be extended modularly by using the bread board to create logical elements. The modularity of the system is achieved by an electric design using only non-soldered electrical components. The bearing balls counter mechanism can be built using only 2.54mm jumper cables and the board itself. This design is important to make the reproducible of the sequencer very simple.

The model for the board itself is generated by a parametric script using an parametric OpenSCAD script. It takes into account the radius of the ball bearings, the dimension of the used fan or looping mechanism, as well as the maximum dimension of the whole board. The code will then automatically generate a printable STL- file, which also include holds for Jumper cables embedded. The embedded cables can then be utilized as both button switches or electrical logic boards.

As an opensource musical instrument the whole system is designed to be easily reproducible and modular. It is designed to appeal to a very wide range of musical interests and it is constructed to make it easily accessible for a large number of people, with an open invitation to develop, share the concept and to play with the idea.

The project only uses resources that are publicly available and open source. The design and electrical schematics intended for a very basic level of technical understanding and programming. Still the design takes no compromises for modularity of both software and hardware, and opens the modularity of bread board logic to the world of music.

Example 1.0: Don't Panic! it's probably going to work!

Example 2.0: Don't Panic! This  is probably a  good approximation!

Exmaple 3: Don’t Panic! This is probably improvised music!

Project logs:

1. historic inspiration 

2. how is the chaos sequencer tool-kit a musical instrument?

3. Geometrical Functions

4. Don't panic! It's probably going to work!

5. Don’t Panic! This is probably a good approximation!

6. Don't Panic! This probably has MIDI!

7. Don't Panic! This is probably a good sensor!

8. The boards

9. Don’t Panic! This is probably improvised music! 

10. Don't Panic! This is probably not the end! 


the board version with the dont panic text

Standard Tesselated Geometry - 44.78 MB - 10/22/2018 at 14:10



the board version 2.0

Standard Tesselated Geometry - 602.63 kB - 10/08/2018 at 01:22



spiral for version_3 of the board

Standard Tesselated Geometry - 14.67 MB - 10/08/2018 at 01:21



the board version 3.0

Standard Tesselated Geometry - 864.45 kB - 10/08/2018 at 01:19



Version 1.1 of board: a muck up for proof of concept, initial testing, and idea development

Standard Tesselated Geometry - 827.86 kB - 10/05/2018 at 03:52


  • 2678 × 1. Ball bearings small metal ball bearings; radius: 2 to 5mm
  • 50 × 2. Jumper cable 2.54mm slandered bread board jumper cables with 2.54 x 2.54 mm^2 plastic head
  • 1 × 3. Breadboard Half-size breadboard (30 pins) of full-size breadboard
  • 1 × 4. Arduino Nano or any other microcontroller/Arduino model
  • 1 × 7. 5v DC fan or DC motor this is need for ball looping mechanism

View all 7 components

  • Don’t Panic! This is probably improvised music!

    3mrrrx10/21/2018 at 19:37 0 comments

    Musical improvisations can be as virtues as any musical compositions. It take many years of playing and training to mastering the moment with a musical expression. But there is probably an easier way!


    In The Video below the well tempered chaos sequencer is used to improvise music. Each of the sensor in the bins is mapped to note a musical scale or cord, the rest is done bay the falling bearing balls.

  • Don't Panic! This is probably not the end!

    3mrrrx10/21/2018 at 04:12 0 comments

    While it was fun as it lasted, there is probably enough time, thinking and energy invested in this project so far! while this might be the end for a while this is probably not the end! The joy of this project can from the endless probables where the sequencer can be used.  While the basic goal behind working on this project on this web site was to create the basic parametric geometry with as simple a electrical and mechanical probably as possible, the whole scope of this project is about expend the ideas started here and going bananas.

    This last log entire is about listing untouched ideas are left either for later or the imagination:

    - OpenCV:  Using computer vision and camera will open up the idea of chaos in this baord.

    - Music from every day objects: exchanging the pin with objects of the every day life will also result in interesting musical ideas 

    - Mechanical Computation: while designing the board the idea of using this board as a mechanical computer has always very near.... i wounder where this will go.

    - Music Theory: looking forward to playing around with music Theories like the progression from  rhythm to melody or trying some probabilistic rhythm 

    - can this be used for a tool for fluid turbulence simulation? probably!

    thank you 

    this was fun!

    wish every one a pleat meal!!! and good food!

  • Don't Panic! This is probably a good sensor!

    3mrrrx10/21/2018 at 02:57 0 comments

    While the best sensor is the probably the one you don't have, there is number of sensors that are probably just as good! For this project the sensor for counting the bearing ball fall in a bin of a board had to be a simple and cheap as possible. This is especially import for make the board simple to build and easily reproducible. At the current stage of the project three kind of sensors were take in to consideration:

    • No Sensor -  just jumper cable.
    • CNY70 : Reflective Optical Sensor with Transistor Output.
    • Piezo elements - or at least s small part of one.

    Those three Sensor where used in developing the board. Each sensor had its advantages and problems. most interestingly was the fact that each of sensor had its one probably of functioning!

    probably of
    No Sensor less 0.20€analogRead()novery lowlow 
    Read more »

  • Don't Panic! This probably has MIDI!

    3mrrrx10/21/2018 at 02:44 0 comments

    1MIDI, being MIDI, has gotten to the inside of every electron musical instrument.  while very simple it has still made it as the common language of a generation of musical  instruments.  This log shows how a cheap MIDI USB  hub is used to translate the boards language to MIDI.

    A cheap MIDI to USB hub can be used to create both a MIDI out and USB-MIDI interface. 

    To build a MIDI interface simple open the MIDI hub and connect the following cables using a jumper stander jumper cables:


    The wiring should be like this:

    Ground hub      -->           Ground Arduino

    IN-                     -->            TX1 Arduino

    IN+                    -->             5V Arduino   

    !!! IMPORTANT !!! : The MIDI hub SHOULD also be used to power the Arduino.  Using the MIDI hub as power supply will give the best result for the communication between the hub and the Arduino as they will share the a common ground voltage. The Arduino is in this case also connected to USB power  source to the MIDI-HUB:

    Ground USB     -->           Ground MIDI hub     -->           Ground Arduino

    5V USB             -->                5V MIDI hub        -->               5V    Arduino

    When done the hole thing should look like this:

    On the Ardunio side one should install the MIDI library either using the library manager of the IDE or from the Git repository. After this is done MIDI messages can be sent from Arduino using the following functions:

         // Send note on 42 with velocity 127 on channel 1
         MIDI.sendNoteOn(42, 127, 1);
         // wait for 500 ms
         // Send note off 42 with velocity 127 on channel 1
         MIDI.sendNoteOff(42, 127, 1);

    For more example and the code that is used for the board see the repository for this project.

  • Don’t Panic! This is probably a good approximation!

    3mrrrx10/15/2018 at 13:36 0 comments

    It might be seem improbable to be able to calculate the probability of where the bearing balls will fall. Don’t Panic! every thing has an open source solution!

    Yet under the assumes that the probability function of the ball distribution is a function of the Geometry of the pins and the radius of the bearing balls, it would be possible to calculate this probability for simple symmetrical shapes and certain ball radius to pin size proportion.

    It’s by this logic that it is possible to calculate that for circle symmetrical pins in a quincunx  formation, as probability for bounding to right of left of the pins becomes unbiased or equally probably. This will result in a  binomial distribution of the bearing ball in the pins; explanation.

    For random geometry this because much more default very quickly. Calculating the path of a ball for an biased fall probability is almost improbable. To still be able to estimate this probability numerical summation can be used to give a good approximation. 

    The simulation shows how bearing balls will fall in the bins, can be approximated using a simulation model of water falling from the top board over the bins of geometry. The simulation should be consider under the two considerations:

    - As the water mas can be seen as an infinite number of infinite balls. The infinite number of balls insure that simulation will converge to the resulting probability

    - As the bearing balls are of finite size, the quality of this approximation will depend of the proportion of the radius of the balls to the characteristic length of the spacing between geometry. The characteristic length being a function or to simplify an average of the value of the spaces between the pins.

    For a larger spacing between the geometries, the balls will behave more like a fluid and the simulation results match the bearing ball distribution.  With this in mind the simulation  becomes a helpful to test the results.

    Things will get more interesting for more complex geometry:

    # Running The Simulation

    The simulation uses the InterFoam Solver for two incompressible, isothermal immiscible fluids using volume of fluid phase-fraction based interface capturing approach, with optional mesh motion and mesh topology changes including adaptive re-meshing, see Wiki for more information about the solver. The Simulation uses RANS-Based turbulence modeling.

    The simulation can be easily reproduced using the open source library OpenFOAM  (Open Source Field Operation and Manipulation). It possible to run the simulation on linuxbe simply installing OpenFOAM or on windows or mac by installing Docker.

    After OpenFOAM or Docker has been installed download the simulation configuration files for the repository. The simulation folder has also includes OpenSCAD file that should be used to generate the STL of the board of the  board. The generated geometry should be named




     and placed within the folder




    For basic used the simulation is only configured to ran with this OpenSCAD file and using the same bounding geometry for the board. The simulation’s results will be valid only for variations of the pins on the board or any geometry based in place of the bins. For other board geometries the simulation code would still be valid by the configuration files should be adjusted.

    To run the simulation can be stated by navigating using PowerShell(windows) or Terminal to the simulation folder and running the command:

    for Linux, Windows or Mac first run:


    docker run --rm -it -v ${PWD}:/home/openfoam openfoam/openfoam6-paraview54 /bin/bash


    then run the command to start the simulation :




    !!! Attention: The simulation will take about 6-12 hours depending on the...

    Read more »

  • Don't panic! It's probably going to work!

    3mrrrx10/08/2018 at 20:30 0 comments

    Making simple design is not simple. The number of interfaces between the different systems decreases the over all tolerance of the system.  Specially the fact that the 3D-print should include embedded electrical components and buttons adds a probably to each parameter of the design, that something will not work. Considering the number of tries and failed prints make the system play a tone feel like flying the Heart of Gold space ship with its Infinite Improbability Drive.  Don't panic! It's probably going to work!

    Heart of Gold: The Hitchhiker's Guide to the Galaxy

    the video below shows how the system might probably work! Only one bin of all the failed an successful prints is used as CV-trigger input for the Moog Mother-32 semi-modular analog synthesizer. The synthesizer is connected to Eventide H9 reverb and has a LFO modulating the filter. It is probable that if a bearing ball falls in the right bin, the synthesizer is triggered.

    !!! There is something wrong with the webpage link is working but video is not shown!!!


  • The boards

    3mrrrx10/05/2018 at 00:55 0 comments

    Don't panic! They are all probably useful!

    At the current state of developing the board there are 4 versions on github repository. Each of these versions is based on a different configuration of the board's peripherals. All of the versions are valid. 

    The evolution of each version can be see using the following steps:

    -version 1:  simple Board with no mechanics or electronics
    -version 2: added fan funnels and tubing for automatic return of the bearing balls using air pressure
    -version 3: added mechanical driven spiral to propagate the bearing balls
    -version 4: add the slops for moving the bearing balls better.

    All versions will be consolidated in a single parametric model, once the rest of the electronics and mechanics are fully developed.

  • Geometrical Functions

    3mrrrx10/05/2018 at 00:41 0 comments

    The probability of where the bearing ball fall is a function of the shape of the object in the path of the bearing balls. For symmetrical shapes the probability bearing ball falling is identical for both the right and left side. 

    Further more the binary logic of the sequencer can be expanded using the bread board logic.

    The geometrical logic can be used to create different function spaces that can be tests using the sequencer. The script of the board can be easily modified to generate different geometrical functions.


  • how is the chaos sequencer tool-kit a musical instrument?

    3mrrrx10/04/2018 at 23:30 0 comments

    While in principle anything that can produce sound could be considered a musical sound device, a musical instrument stands out by the ability to reduce a complex physical system of sound generation to obey the temperaments of a musician. Much like a piano, an organ, a guitar or a synthesizer the instrument rewrites the underlying physical system to an intuitive language. This language that is set by the instrument creates the unique emotion by which it is distinguishable. 

    Another fact that distinguishes a “great” instrument is probably best stated by the Bushnell's Law: “all the best games are easy to learn and difficult to master”.

    Taking these two facts into account while conceiving what could be a musical instrument, it is possible to hypothesize how the instrument and its language should be learned, played and mastered.

    One can imagine that for a person holding the instrument for the first time, the basic level of the instrument’s language should allow to easily find the notes on the schema of the instrument. Much like how the notes are laid on the piano keys or different frets and grips on a guitar there is basically not a lot more that is needed to learn or even maybe master the instrument. For the most part of this musical journey a minimal amount of physics is even only implicitly needed.

    Yet on the other end of this musical journey lies a very complex physical system that produces these tones and frequencies. Concepts of acoustic systems of any instrument such as the proportion of length and notes, frequency to a resonant body, all the way to the dynamics of exciting a string to a note, only become evident with progression of musical talent.

    Therefore what makes a musical instrument a unique object is the transcendental relationship between the complexities of physics and simple intuition of the senses.

    Much as the notion of realizing lengths and proportions of strings by listening for their frequencies, through language of tones to lengths the well-tempered chaos sequencer sets to illustrate notions of chaos by the virtue of the underlying emerging structures through a high number of repetitions and an intuitive visual aid. 

  • Inspiration

    3mrrrx10/04/2018 at 22:48 0 comments

    The tool-kit is based on the Galton board, which was invented by Sir Francis Galton (1822-1911) to illustrate the central limit theorem, which is a key concept in probability theory. The board consist of pins that are arranged in a quincunx pattern, that stand in the path of falling bearing balls. As ball bearings negotiate their way between the pins and arrange to a number of bins at the bottom of the board, they generate a high number of independent random events, that by intuition would result in random distribution of the balls in the bins.

    Yet for a large enough number of bearing balls and large number of bins the heights of accumulated balls in the bins will always approximate a normal distribution (informally known as a "bell curve"). The board shows that for large number of recurrences the underlying structure of chaos system can be adequately approximated.


View all 10 project logs

  • 1
    Designing the Board​

    The model for the board is created using a parametric OpenSCAD script. To run the script download and install OpenSCAD.

    ! IMPORTANT: All scripts are functional but still the code has to tidied up! 

    The OpenSCAD scripts can be found on Github. There are 3 different versions of the script:

    1. version 1.0: This is the basic version of the board with no mechanical system for loop the bearing balls. The model does not included paths for the electrical wiring.
    2. version 2.0: the board is extended by funnel and tubing to felicitate the looping of the bearing ball by routing air of fan to push the balls. ---Not functional, at the current state! A bigger fan is needed---
    3.  version 3.0: the version 2.0 board is extended and modified by a mechanically driven spiral to move the bearing balls. The model comprises of two STL-models; The model for the board and the model for the spiral.   

    All scripts are parametric and can be modified to fit the geometrical function, the needed number of bins, radius of the bearing balls or size of the used printer. 

    The scripts use the following parameters to modify the board to the 3D-printer and the indented purpose. The following parameters are the most important to be set:

    • [size_x, size_y, size_z] of the board
    • bearing ball radius
    • tolerance 

    Alternatively the the generated STL-models can be downloaded( version 1.1, version 2.0, version 3.0, spiral ) . the last to models are designed for using a bearings balls radius of 2.25 mm. The pre-render models are intended to be printed using the Creality Cr-10s 3D printer. 

    Version 1.1
    version 2.0
    version 3.0
  • 2
    Preparing the printed model

    After the printing the model should be cleaned so that no extra printed material is in the path of the bearing balls. 

    For version 3.0 the spiral has to be cut out from the supporting cylinder. While the spiral can be printed with out the supporting cylinder, it will result in a more difficult to print and keep a high tolerance for the moving mechanics.

    printed board version_1.0
    printed board version_2.0
  • 3
    Electrical wiring

    Once this is done the electrical wiring can be done, by interesting the pins head of the jumper cables the intended holes of each of the bins. When the bearing balls pass pins head, they close the electrical circuit and result in an analog high signal. It is recommend to add 10K ohm resistors to the ground wiring of each of bins, to privet signal static. 

    The rest of the wiring can the be done by follow the graphic bellow:

View all 4 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates