Being a drone synth box based upon Mozzi library for Arduino, Pseudo Autonomous Drone features 8 oscillators that are summed up to a single channel output. Possible soundscapes range from monotone drones washes to harsh and unpredictable noises ala atari punk console.
The interface presents an intuitive and abstract control over the synth engine, which treats all 8 voices as a (de)tuned array of (pseudo)randomly traveling frequencies. UI parameterisation offers influence over the global rate, direction and probability of frequency movement, as well as focusing those changes on a voice array subset.
Handling has a specific feel and requires some intuitive training, due to the intermediate parameter access: parameters delivered to the knobs are of derivative and secondary nature and ment to provide a kind of “broad picture” generalistic control. The ability to produce unpredictable drone patterns even without user input is a nice side-effect of this abstract regulation mechanism.
PAD was born in the course of researching the sparse audio synthesis capabilities of ATmega328P microcontroller. Resource estimation was a key challenge in maxing out chip potential, while preventing any audio dropouts that occur every time the sample calculation “deadline” is missed.
After several setbacks caused by this issue, reoccurring in edge cases of already advanced prototypes lead me to gaining a better runtime estimation and some intuitive grasp of what can and cant be done in that timeframe. and started counting CPU cycles needed to get the math done.
At a sample rate of 32kHz complex filtering and wave-shaping capabilities provided by Mozzi library are limited by aprox. 500 cpu cycles per sample (given the clock speed of 16MHz). Divided by the number of oscillators the time frame becomes even more comprehensible.

If possible Mozzi uses bitwise operations as a faster arithmetic alternative. Adopting this techniques in my own code allowed for shorter and predictable runtimes. Economical use of types (Mozzi provides custom ones), constant encapsulation/localisation of code and of literally counting cpu cycles on paper offered interesting yet sobering intro to the RTOS world.