
ADDAC001
Brain Module
8 Channel Digital to Analog Converter AD5668 IC with:
.16 bits resolution (0-65535)
.8 amplification knobs
.8 monitor leds
2 x 11 position switch
Assignable control knob
Reset Button
Arduino based Software with ATMEGA1280 IC
Transmit & Receive Leds
USB programmable
16HP
Eurorack format
compatible with +-12v and +-15v power supplies
This is the Brain of this set of Modules, all the other ones shown below are unable to operate without it.
This module contains the Atmega1280 IC, the FTDI232 IC for USB communication and the AD5668 IC a 16-bit Digital to Analog converter.
The outputs are true analog voltage. These are NOT PWM outputs.
This module can be connected to a computer through USB and interfaced with Max/Msp, Live, or your favorite software using OSC or MIDI
It will be shipped with a standard set of modes described here and easy updated through the Arduino software
Software instructions will be made avalable soon
For java enthusiasts an Arduino library is available to program new modes or reassign them
For C++ enthusiasts the same Arduino library will be open-source and full control enabled
Soon:
Arduino Library v01
This page exemplifies a code example
*Thanks to: DAC V11 by Robin Price 2009
The whole purpose of creating a dedicated library to control this system was to make it a lot easier both to program, without needing to deal with huge chuncks of code inside the arduino environment, and also to make it easily expandable when more control inputs are necessary.
All tricky* read/write operations and pin mapping will be done by the library, so in order to get it all easier we’ll just need to ask input data from cv/manual/gate/nunchuck/ethernet and shape any cv output you might think of and send them out to each individual channel.
I’ve been working on some basic modes:
a totally range defined random (random voltage max and min, random rate max and min and random seed control);
and also some basic lfo’s modes (square, triangle, saw, inverted saw, sine, adjustable random triangle range…)
Code example:
// LOADS LIBRARY
#include <ADDA.h>
// INITIALIZES LIBRARY CLASS
ADDA ADDAC;
// MODE A 11 POSITION SWITCH VARIABLE
int MODE=1;
// ARRAY TO STORE ANALOG and DIGITAL VALUES
int analogVals[6], digitalVals[8];
// ARRAY TO STORE DAC VALUES
int DACvoltages[8];
void setup(){
ADDAC.setup(); // Initialize the AD5668 IC
Serial.begin(9600); //change this when you want to graduate from usb midi to real midi
}
void loop(){
// read from MODE Selector Switch
MODE = ADDAC.readMODEswitch();
// read all from ADDAC002 – CV / Manual Inputs Module
for(int i=0;i<5;i++){
analogVals[i]=ADDAC.readAnalogs(i);
Serial.print(“MANUAL IN”);
Serial.print(i);
Serial.print(“:”);
Serial.print(analogVals[i]);
}
// read from ADDAC004 -Digital Inputs Module
for(int i=0;i<8;i++){
digitalVals[i]=ADDAC.readDigitals(i);
}
// Implemented modes access
//more to come…
if(MODE==0){
ADDAC.randomMode(1,0); // Random MODE , CV CHANNEL 0 = Update all
}else{
ADDAC.lfosMode(0,MODE,0); // Lfo MODE, Lfo TYPE , CV CHANNEL
}
}
ADDAC001 – BRAIN MODULE
ADDAC001
Brain Module
8 Channel Digital to Analog Converter AD5668 IC with:
.16 bits resolution (0-65535)
.8 amplification knobs
.8 monitor leds
2 x 11 position switch
Assignable control knob
Reset Button
Arduino based Software with ATMEGA1280 IC
Transmit & Receive Leds
USB programmable
16HP
Eurorack format
compatible with +-12v and +-15v power supplies
This is the Brain of this set of Modules, all the other ones shown below are unable to operate without it.
This module contains the Atmega1280 IC, the FTDI232 IC for USB communication and the AD5668 IC a 16-bit Digital to Analog converter.
The outputs are true analog voltage. These are NOT PWM outputs.
This module can be connected to a computer through USB and interfaced with Max/Msp, Live, or your favorite software using OSC or MIDI
It will be shipped with a standard set of modes described here and easy updated through the Arduino software
Software instructions will be made avalable soon
For java enthusiasts an Arduino library is available to program new modes or reassign them
For C++ enthusiasts the same Arduino library will be open-source and full control enabled
Soon:
Arduino Library v01
This page exemplifies a code example
*Thanks to: DAC V11 by Robin Price 2009
The whole purpose of creating a dedicated library to control this system was to make it a lot easier both to program, without needing to deal with huge chuncks of code inside the arduino environment, and also to make it easily expandable when more control inputs are necessary.
All tricky* read/write operations and pin mapping will be done by the library, so in order to get it all easier we’ll just need to ask input data from cv/manual/gate/nunchuck/ethernet and shape any cv output you might think of and send them out to each individual channel.
I’ve been working on some basic modes:
a totally range defined random (random voltage max and min, random rate max and min and random seed control);
and also some basic lfo’s modes (square, triangle, saw, inverted saw, sine, adjustable random triangle range…)
Code example:
// LOADS LIBRARY
#include <ADDA.h>
// INITIALIZES LIBRARY CLASS
ADDA ADDAC;
// MODE A 11 POSITION SWITCH VARIABLE
int MODE=1;
// ARRAY TO STORE ANALOG and DIGITAL VALUES
int analogVals[6], digitalVals[8];
// ARRAY TO STORE DAC VALUES
int DACvoltages[8];
void setup(){
ADDAC.setup(); // Initialize the AD5668 IC
Serial.begin(9600); //change this when you want to graduate from usb midi to real midi
}
void loop(){
// read from MODE Selector Switch
MODE = ADDAC.readMODEswitch();
// read all from ADDAC002 – CV / Manual Inputs Module
for(int i=0;i<5;i++){
analogVals[i]=ADDAC.readAnalogs(i);
Serial.print(“MANUAL IN”);
Serial.print(i);
Serial.print(“:”);
Serial.print(analogVals[i]);
}
// read from ADDAC004 -Digital Inputs Module
for(int i=0;i<8;i++){
digitalVals[i]=ADDAC.readDigitals(i);
}
// Implemented modes access
//more to come…
if(MODE==0){
ADDAC.randomMode(1,0); // Random MODE , CV CHANNEL 0 = Update all
}else{
ADDAC.lfosMode(0,MODE,0); // Lfo MODE, Lfo TYPE , CV CHANNEL
}
}