PCB's and Schematics


Voltage Controlled Oscillator

Test of VCO first Revision

 

 


DIY-VCO by MinartAnalog

So this release is in beta status, working :-) and with non commercial backround. The expo converter and VCO is based on the publication from Robin Mitchell with additional waveformer for Sine, *PWM and *Saw. The PCB is made for the eurorack format.

If you need support or if you see any improvement, please contact me over mail minarterfurt@yahoo.de

 

Thanks

 

*twofold frequency as TRI & Sine

Complete VCO building instruction as download

Download
Minart Analog VCO Rev010 DIY manual .pdf
Adobe Acrobat Dokument 745.1 KB

VCO frontpanel made with toner transfer

Download
Scull VCO Frontplatte official.pdf
Adobe Acrobat Dokument 195.7 KB

PCB's, made with toner transfer

Some years I made my PCB's with UV lamp and etching, but this was every time a nightmare. 

I found an easy process, thanks to youtube ;-), calls "toner transfer method". 

The only tree things you need are a laser printer, heat transfer paper (standard paper also working) and a hot iron. 

Below you will find the full process wich will work very well.

 

1. print out your layout on the toner transfer paper and cut out the copper PCB 

2. Carefully position the PCB with your layout on toner transfer paper.

 

Place kitchen paper under and over all and go over with the iron for about 2min (full temperature).

3. afterwards lie the PCB with the paper in water for about 2min, then you can easy peel off the paper.

Nice ;-)

4. etch with sodium persulfate.

Done, it looks really nice. The toner you can remove with petrol.


DIY Sound Visualizer (Arduino based) by MinartAnalog

Simple nice to have module to visualize your sounds like an oscilloscope. Patch your synth output directly to the input of the sound visualizer and adjust the voltage level with the amplitude potentiometer. 

Schematic Probe

Front Panel

Download
sound visualizer.pdf
Adobe Acrobat Dokument 21.1 KB

Arduino Code

/*********************************************************************

Uses Adafruit Library 

12C Info:

0X3C is address for cheap ebay units

Used I2C Scanner to find address

SDA connected to pin Analog 4

SCL connected to pin Analog 5

Monochrome OLEDs based on SSD1306 drivers

Picture Converter Link http://javl.github.io/image2cpp/

*********************************************************************/

 

#include <SPI.h>

#include <Wire.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

 

#define OLED_RESET 4

Adafruit_SSD1306 display(OLED_RESET);

 

//Create Display Picture "Minart Modular Analog Synth 2"

 

const unsigned char image [] PROGMEM = {

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x06, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x01, 0xff, 0x78, 0x60, 0x00, 0x00, 0x00, 0x1f, 0xf7, 0x80, 0x18, 0x00, 0x0c, 0x00, 0x00, 0x00, 

  0x03, 0xfb, 0xfc, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xc0, 0x30, 0x00, 0x38, 0x00, 0x00, 0x00, 

  0x06, 0x3b, 0x8c, 0xc0, 0x00, 0x00, 0x10, 0x63, 0xb8, 0xc0, 0x38, 0x00, 0x30, 0x00, 0x00, 0x00, 

  0x06, 0x39, 0x8c, 0x00, 0x00, 0x00, 0x30, 0x63, 0x98, 0xc0, 0x3c, 0x00, 0x30, 0x00, 0x00, 0x00, 

  0x06, 0x19, 0x9c, 0xcd, 0x83, 0x8f, 0x38, 0x61, 0x99, 0xc7, 0x0f, 0x33, 0x30, 0x71, 0xe0, 0x00, 

  0x03, 0x19, 0xb9, 0xdf, 0xc7, 0xdf, 0x7c, 0x21, 0x9b, 0x8f, 0x9f, 0xf7, 0xb0, 0xfb, 0xf0, 0x00, 

  0x03, 0x99, 0xb1, 0xde, 0xcd, 0xcf, 0x30, 0x39, 0x9b, 0x1d, 0x9b, 0xb3, 0x31, 0xb9, 0xe0, 0x00, 

  0x00, 0x19, 0xb0, 0xcc, 0xcc, 0xcc, 0x30, 0x01, 0x9b, 0x1d, 0xd9, 0xb3, 0x31, 0x99, 0x80, 0x00, 

  0x00, 0x19, 0xb0, 0xcc, 0xd8, 0xcc, 0x30, 0x01, 0x9b, 0x1c, 0xd9, 0xb3, 0x33, 0x19, 0x80, 0x00, 

  0x00, 0x19, 0xb0, 0xcc, 0xdc, 0xcc, 0x30, 0x01, 0x9b, 0x0c, 0xd9, 0xb3, 0x33, 0x99, 0x80, 0x00, 

  0x00, 0xb3, 0x30, 0xcc, 0xdd, 0xcc, 0x30, 0x0b, 0x33, 0x1d, 0x9b, 0x37, 0x31, 0xb9, 0x80, 0x00, 

  0x01, 0xff, 0x3c, 0xfc, 0xef, 0xef, 0x38, 0x1f, 0xf3, 0xdf, 0xbf, 0x3f, 0xbd, 0xfd, 0xe0, 0x00, 

  0x01, 0xfe, 0x1c, 0xcc, 0xc6, 0xce, 0x38, 0x1f, 0xe1, 0xcf, 0x0e, 0x3b, 0x38, 0xd9, 0xc0, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0xf8, 0xc0, 0x00, 0x06, 0x00, 0x00, 0x03, 0xf2, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 

  0x01, 0xfb, 0x80, 0x00, 0x1e, 0x00, 0x00, 0x07, 0xfe, 0x00, 0x00, 0x0f, 0x00, 0x7c, 0x00, 0x00, 

  0x01, 0x9d, 0x80, 0x00, 0x18, 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x6e, 0x00, 0xfe, 0x00, 0x00, 

  0x03, 0x0d, 0x80, 0x00, 0x18, 0x00, 0x00, 0x1e, 0x40, 0x00, 0x00, 0x46, 0x00, 0x8e, 0x00, 0x00, 

  0x03, 0x0f, 0x9b, 0x07, 0x18, 0x38, 0x60, 0x1e, 0x78, 0xd8, 0x98, 0xe6, 0x81, 0x86, 0x00, 0x00, 

  0x01, 0x0d, 0xbf, 0x8f, 0x98, 0xf8, 0xf8, 0x13, 0xfc, 0xf9, 0xfd, 0xf7, 0xc0, 0x06, 0x00, 0x00, 

  0x01, 0xcd, 0xbd, 0x9b, 0x98, 0xdd, 0xb8, 0x33, 0xe6, 0xfd, 0xfc, 0xc7, 0xc0, 0x0e, 0x00, 0x00, 

  0x00, 0xd9, 0x99, 0x99, 0x98, 0xdd, 0x98, 0x38, 0x82, 0xcc, 0xcc, 0xc6, 0xe0, 0x0c, 0x00, 0x00, 

  0x00, 0x31, 0x99, 0x99, 0x98, 0xcd, 0x98, 0x18, 0x03, 0xce, 0xcc, 0xc6, 0x60, 0x18, 0x00, 0x00, 

  0x00, 0xe3, 0x99, 0x99, 0x98, 0xcd, 0x98, 0x1c, 0x02, 0xc6, 0xcc, 0xc6, 0x60, 0x30, 0x00, 0x00, 

  0x01, 0xe7, 0xd9, 0x99, 0x98, 0xc9, 0xb8, 0x1e, 0x06, 0xce, 0xcc, 0xc6, 0x60, 0x63, 0x00, 0x00, 

  0x00, 0xff, 0xdd, 0xdf, 0xdf, 0xf9, 0xf8, 0x0f, 0xfc, 0xfd, 0xce, 0xef, 0xc0, 0xfe, 0x00, 0x00, 

  0x00, 0x79, 0x9d, 0x8d, 0xdc, 0xf0, 0xdc, 0x03, 0xf8, 0xed, 0xcc, 0xee, 0xc1, 0xfe, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x08, 0x00, 0x60, 0x58, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x98, 0x00, 0x00, 0x10, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x30, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

 };

 

//Analog Pins

int channelAI = A0;      // probe

int delayAI = A1;       // delay potentiometer

float delayVariable = 1; // 10 seems good for decent update- bit fast

float scale = 0;

int xCounter = 0;

int yPosition = 0;

int readings[128];

int counter = 0;

 

void setup()   {    

 

          

  Serial.begin(9600);

 

  // by default, we'll generate the high voltage from the 3.3v line internally! (neat!)

  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with the I2C addr 0x3D (for the 128x64)

  // init done

 

  display.clearDisplay();

  

  // Show Picture

  display.drawBitmap(0, -10, image, 128, 64, WHITE);

  display.display();

  delay(5000);

  

  // Clear the buffer.

  display.clearDisplay();

 

}

 

void loop(void) 

 

{

 

display.setTextColor(WHITE);  

 

delayVariable = analogRead(delayAI);

  delayVariable = (delayVariable/10);

 scale = 65.0/1023.0; 

  // commented out above delay items as no pot/encoder installed yet

  

  //record readings

  for(xCounter = 0; xCounter < 128; xCounter += 1)

    {                                 

      yPosition = analogRead(channelAI);

        Serial.println(channelAI);

      readings[xCounter] = (yPosition*scale);

      delay (delayVariable);

    }

  

  display.clearDisplay();

 

  //Draw Voltage Lines

 

  for(xCounter = 0; xCounter < 128; xCounter += 1)

    {

       display.drawPixel(xCounter, 47-readings[xCounter], WHITE);

       if(xCounter>1){

         display.drawLine(xCounter-1, 47-readings[xCounter-1], xCounter, 47-readings[xCounter], WHITE);

       

      }

    }

 

  display.display();