Apologies for cross-posting here from the MW DIY forum, but Mutabilistas might be interested in this, because this new firmware for the excellent Ornament & Crime DIY module designed by mxmxmx incorporates quite a lot of code re-purposed from Mutable Instruments modules, including Easter egg and otherwise hidden code. Here is the announcement:
Ornaments+Crimes extended firmware v.1.0.0 beta can now be found here: https://github.com/mxmxmx/O_C
It runs on the (almost) eponymous module:
The extended firmware has been a collaborative effort between Patrick Dowling (pld), Max Stadler (mxmxmx) and Tim Churches (BennelongBicyclist), with all the programming heavy lifting and kick-arse coding by Patrick, who did amazing things like rewriting the OLED display drivers from scratch to achieve remarkable speed increases, and taking Max’s original firmware framework and making it jump through hoops backwards, as well as coding up the majority of the apps and their screensavers.
Everything is, of course, open source and there’s even a little schematic (NB: drawn post-hoc in KiCAD; the PCB was originally laid out using Fritzing, which doesn’t do schematics very well).
Special thanks must also go to the ever-generous Olivier Gillet, on whose code much of this new functionality builds (and the hardware, too, which gradually gravitated towards being fairly MI-esque). But not so much the user interface, which does everything the one-knob-per-function doctrine decries: textual displays, menus, encoders … the payoff is that you get a polymorphic module that can serve several functions somewhat more transparently than the average eurorack module, cheat-sheets not required (we hope!).
There is still a (improved and enhanced) quantising ASR (analogue shift register) function in Ornaments & Crimes, now named CopierMaschine, but several other “apps” have been added. These “apps” are selectable on-the-fly, without having to reboot the module or power-cycle.
The apps currently available in Ornaments & Crimes are:
- CopierMaschine - an enhanced version of the original quantising digital emulation of a four stage [analogue shift register (ASR).
- Harrington 1200 - provides basic neo-Riemannian Tonnetz transformations of triadic chords, triggered by the digital (gate/trigger) inputs.
- Automatonnetz - combines Tonnetz transforms with a “vector” sequencer - it can be both a chord sequencer and a melody sequencer, but not of the usual kind.
- Quantermain - is a quad pitch quantiser for external voltages, with editable preset scales, even fully editable user-scales incl. microtonal tunings, etc; it can do clocked (trigger-driven) quantising, or continuous quantising, with a latency of under 100 microseconds; it also features quad Turing Machines and/or May-Verhulst logistic maps as optional, semi-random, internally generated CV sources.
- Quadraturia - is a wavetable quadrature LFO, based on the Easter egg in the Mutable Instruments Frames module.
- Low-rents - is a dual Lorenz and Rössler (strange attractor) modulation generator, partially based on the Easter egg in the Mutable Instruments Streams module.
- Piqued - is a quad voltage-controlled envelope generator, based on envelope generator code from the Mutable Instruments Peaks module, but extending it with voltage control, additional envelope types, including re-triggering (looping) envelopes, additional segment shapes, adjustable trigger delays, and a unique Euclidean “trigger filter” which turns the app into a Euclidean rhythm generator which can output envelopes, not just gate or trigger pulses.
- Dialectic Ping Pong - is a quad bouncing ball envelope generator, based on a hidden mode of the Mutable Instruments Peaks module.
- Viznutcracker, sweet! - is a quad “byte beat” generator, which can be used as an audio source to generate curious but often interesting 8-bit noises and tunes, or which can be clocked by an external source to produce “byte beat” control voltage sequences.
- References - is a simple utility app that outputs specific reference voltages on each channel to help tune or calibrate VCOs and other modules.
You can read the full rundown here: https://github.com/mxmxmx/O_C/wiki/Ornaments-and-Crimes-extended-firmware
The hardware is still the same as the original Ornament & Crime module, which was released over a year ago, but the hardware is now pretty much maxed out (pun intended) - (the main limitation being the lack of multiple SPI ports on the Teensy MK20 dev board used by the module). Hardware specs in brief are:
- teensy 3.1 / 3.2 dev board (Freescale MK20DX256 / 32-bit ARM Cortex M4).
- 4x precision CV outputs, 16-bit (TI DAC8565), output range -3V to +6V, “in-the-loop” compensated, for best DC accuracy, with 9 calibration points at 1V intervals between -3V to +6V, per channel, settable in firmware to ensure excellent linearity ( +/- 1mV accuracy across a 9 octave pitch CV range is readily achievable).
- 4x CV inputs, -3.5V / +6.5V, 12bit, 100k input impedance.
- 4x trigger/gate inputs, threshold ~ 2.5v, 100k input impedance.
- two rotary encoders, with built-in push switches.
- two push buttons.
- 128 x 64 pixel 1.3" OLED display (with an SPI interface and SH1106 driver chip - see the build instructions).
- trigger-to-quantised-output latency < 100 microseconds
- apps use a 16.7kHz internal timer (CPU overclocked to 120MHz), therefore the DAC update (sample) rate is 16.7kHz on each of the 4 channels.
- ADCs are also read at 16.7kHz but in many of the “apps” running on O+C, 16 values are averaged to remove noise, meaning that the effective sample rate for CV inputs is about 1 kHz. Digital (gate/trigger) inputs are read at 16.7 KHz - this ensures very low latency.
- +/-12V power only, ca. 85mA power draw on +12V bus, much less on -12V bus.
For your amusement, we made a little video, showing off the “apps”, or at least providing a glimpse:
We are currently looking into options re panels and making PCBs available in a somewhat less haphazard fashion. In the meantime, … enjoy, if you’ve already built one. Anyone interested in building one should contact Max (mxmxmx), via the thread in the MW DIY forum. If you are not in a position to build one yourself, there are people who may be willing to build one for you (for a fee) - ask in the MW thread.