ArdMod (Arduino module) + patches
Oct 7, 2018 14:50:24 GMT
admin, NightMachines, and 1 more like this
Post by thetechnobear on Oct 7, 2018 14:50:24 GMT
Im prototyping my next module ...
This is (will be?) the ArdMod module
a [HASH]Arduino Nano based module, with 4 CV in , 4 CV out, 4 Pots , 4 switches, 4 leds, and of course is full programmable.
(in someways its very similar to the SnazzyFx Ardcore eurorack module, and it will probably be fairly easy to ports its patches to the ArdMod)
Why ArdMod?
(I already have belamini!)
This modules first 'patch' has a very specific purpose, and this required 4 cv output which belamini does not have. (also frankly, bela is overkill for this patch )
SOM - Scale Offset Memory
This patch is called "SOM" ( Scale Offset Memory )) , whose purpose is to scale and offset CV signal, and allow storage of this mapping , and its primary goal for me to solve the issues Ive been having with Oscillator tuning.
(code is basically written, and is whats being tested in the above picture )
the basic premise of this module is we have 4 inputs who's values determine the output, depending upon the mode (live/recall via button 1)
in Live mode the 'active' cv , is being scaled (0 to 2x) and offset (-2.5 to 2.5v) to produce an output,
you can then use the store button to store this voltage for this incoming voltage.
in Recall mode the incoming voltage is used to 'lookup' in memory the appropriate output voltage.
if quantise (button 3) is on, then the closest match is used,
if quantise is off, then it will use linearly interpolate between the closest matches.
the idea therefore is you can use this to store the precise voltages used to get a particular frequency from an oscillator,
this means when we use to store a cv pitch to oscillator cv freq, the scaling of the oscillators cv input becomes largely irrelevant, as long as it it consistently gives the same audio frequency for the same cv input it will work!
also as there are 4 IO with individual mapping , you can independently setup for 4 different oscillators.
obviously the trick is to make the mapping process quick (though the voltages will be stored in eeprom, so are recalled after power off)
current workflow seems pretty quick, just hold the note, tune via the offset pot , hit store - repeat for each note, whats nice is if you have one thats not quite right when you do recall mode, simply switch back to live mode, retune and store.
But of course this module can also be used for other things too, not just pitch ... it works as an attenuator, or offset (either using recall or just in live mode) , you could define curves for it for modulating other parameters...
and even pitch is 'arbitrary' there is nothing to say you have to tune it, you could use it to map a chromatic scale to a major scale.... so therefore use it as a 'scale' module
... and of course, ArdMod can be reprogrammed to be many other things too, given its power, I'll probably use it mainly for clocks and cv processing.
assuming it works out well, I think SOM have a permanent place in my rack (I think im going to build at the same time a second ArdMod for other uses)
Status
the ardmod prototype is working as a proof of concept.
for the proof of concept, I simply used a LP filter for CV output (arduino nano has only pwm outputs) , for the module these are being replaced by 2 DACs (2x2 channels), which will give me faster response and higher precision.
once Ive got the DACs, I'll update the prototype above, then I can move the whole lot on to a pcb and make a a faceplate.
the SOM firmware is basically written and working, I just need to test/tweak it once Ive got it onto a PCB, making use of the extra pots, switches and leds, thats pretty quick to do.
so basically I'm waiting for the DAC chips to arrive then should be a pretty quick job to finish this off
This is (will be?) the ArdMod module
a [HASH]Arduino Nano based module, with 4 CV in , 4 CV out, 4 Pots , 4 switches, 4 leds, and of course is full programmable.
(in someways its very similar to the SnazzyFx Ardcore eurorack module, and it will probably be fairly easy to ports its patches to the ArdMod)
Why ArdMod?
(I already have belamini!)
This modules first 'patch' has a very specific purpose, and this required 4 cv output which belamini does not have. (also frankly, bela is overkill for this patch )
SOM - Scale Offset Memory
This patch is called "SOM" ( Scale Offset Memory )) , whose purpose is to scale and offset CV signal, and allow storage of this mapping , and its primary goal for me to solve the issues Ive been having with Oscillator tuning.
(code is basically written, and is whats being tested in the above picture )
the basic premise of this module is we have 4 inputs who's values determine the output, depending upon the mode (live/recall via button 1)
in Live mode the 'active' cv , is being scaled (0 to 2x) and offset (-2.5 to 2.5v) to produce an output,
you can then use the store button to store this voltage for this incoming voltage.
in Recall mode the incoming voltage is used to 'lookup' in memory the appropriate output voltage.
if quantise (button 3) is on, then the closest match is used,
if quantise is off, then it will use linearly interpolate between the closest matches.
the idea therefore is you can use this to store the precise voltages used to get a particular frequency from an oscillator,
this means when we use to store a cv pitch to oscillator cv freq, the scaling of the oscillators cv input becomes largely irrelevant, as long as it it consistently gives the same audio frequency for the same cv input it will work!
also as there are 4 IO with individual mapping , you can independently setup for 4 different oscillators.
obviously the trick is to make the mapping process quick (though the voltages will be stored in eeprom, so are recalled after power off)
current workflow seems pretty quick, just hold the note, tune via the offset pot , hit store - repeat for each note, whats nice is if you have one thats not quite right when you do recall mode, simply switch back to live mode, retune and store.
But of course this module can also be used for other things too, not just pitch ... it works as an attenuator, or offset (either using recall or just in live mode) , you could define curves for it for modulating other parameters...
and even pitch is 'arbitrary' there is nothing to say you have to tune it, you could use it to map a chromatic scale to a major scale.... so therefore use it as a 'scale' module
... and of course, ArdMod can be reprogrammed to be many other things too, given its power, I'll probably use it mainly for clocks and cv processing.
assuming it works out well, I think SOM have a permanent place in my rack (I think im going to build at the same time a second ArdMod for other uses)
Status
the ardmod prototype is working as a proof of concept.
for the proof of concept, I simply used a LP filter for CV output (arduino nano has only pwm outputs) , for the module these are being replaced by 2 DACs (2x2 channels), which will give me faster response and higher precision.
once Ive got the DACs, I'll update the prototype above, then I can move the whole lot on to a pcb and make a a faceplate.
the SOM firmware is basically written and working, I just need to test/tweak it once Ive got it onto a PCB, making use of the extra pots, switches and leds, thats pretty quick to do.
so basically I'm waiting for the DAC chips to arrive then should be a pretty quick job to finish this off