Showing posts with label DIY. Show all posts
Showing posts with label DIY. Show all posts

Thursday, 19 July 2018

New Sound Waves - Eurorack case build

Some pics of the new DIY eurorack case being designed by New Sound Waves.
This will be built only in limited numbers.
 tHE final design is still being discussed.

 The power supply will be designed my MetroModular of Sydney, Australia.


The case will be offered in stained and unstained versions.

 It's possible that one version will have a extra "separator" between the base and lid to allow it to be closed fully patched.

More details coming.....

Mutable Instruments Links

Some pics of a new build ... a DIY version of the Mutable links module.
 There is no microcontroller in this module so I though its would be a good one to start experimenting on. Before soldering the jacks I pondered which side of the PCB do they go on. ???
A friend assured me this was the correct side, however once the jacks are on, any trouble shooting would be extremely difficult as the components are on the same side.
 Anyway, I pressed ahead.
All the SMDs are 0603

 There, really is no reason why you can't solder the jacks on the other side....except the panel would be reversed.

+ Mutable instruments - flashing firmware

-----------------------------------------------------------------------------------------------
For more Euro DIY builds click here:
http://djjondent.blogspot.com.au/2017/12/diy-index.html
-------------------------------------------------------------------------------------------------

Monday, 9 July 2018

L-1 Compressor

Some pics of my build of a L-1 Compressor Eurorack module.
I thought I'd give building this a go. Pretty straight forward.

Check out the official site and build notes here:
http://l-1.su/Microcompressor_stereo.html
 tHE kit I purchased came with the SMD components already soldered.
All I needed to do was order the through hole parts from mouser



 THAT4301 dynamics processor

Apart from the THAT processor, the parts are cheap and easy to find.




-----------------------------------------------------------------------------------------------
For more Euro DIY builds click here:
http://djjondent.blogspot.com.au/2017/12/diy-index.html
-------------------------------------------------------------------------------------------------

Sunday, 8 July 2018

Doepfer 128 - Fixed filter bank modifications

The Doepfer Module A-128 (Fixed Filter Bank) is a filter bank, made up of 15 parallel band pass filters :50 Hz / 75Hz / 110Hz / 150Hz / 220Hz / 350Hz / 500Hz / 750Hz / 1.1kHz / 1.6kHz / 2.2kHz / 3.6kHz / 5.2kHz / 7.5kHz / 11 kHz. 


Each band pass filter has its own amplitude control knob.



The unmodified 128 has just one output which is a mix of all the filters, depending on the position of each one's amplitude control knob. 

It's a lovely sounding filter even though it has no CV control.

It's worth adding an output for each filter.

To do this you must remove the knobs aND faceplate


 Ive made a breakout panel .. 4HP







 You can find some mod instructions on Doepfers own site:
http://www.doepfer.de/service/A128_single_outputs.pdf


-----------------------------------------------------------------------------------------------
For more Euro DIY builds click here:
http://djjondent.blogspot.com.au/2017/12/diy-index.html
-------------------------------------------------------------------------------------------------

Deluge - Synthstrom Audible

Thanks to Ian from Synthstrom ( and the organisers of New Sound Waves) for this live demo.
Held in Sydney

I'm very tempted to purchase a Deluge.

A post shared by jono (@dj_jondent) on
Some pics:


Ian also brought along one of the early existing Deluges.

It's interesting to see how it it has developed into the current beast.
The Deluge was developed in New Zealand
It's a drum machine, a synth. It integrates with Midi and voltage controlled synths.




Testing the Deluge with some eurorack gear (Metromodular).



Saturday, 23 June 2018

Radio Music - Chord Organ - SD card

I had a problem with my whole modular booting up today.
After unplugging many modules, I traced the problem to my Chord Organ module.
This was unusual, as it was working before. 
Initially, I suspected a hardware problem, but it turned out to be a failed SD card.

Interesting that a simple faulty card had caused my whole system to crash.

So this was a good opportunity to refresh the card file
 
The SD card needs to be populated with a simple text file.
Name it CHORDORG.TXT
Place it the root of the SD card


suggestions from James Bernard:

(just copy the 16 lines onto your text file).

1. [0,4,7,12,0] Major
2. [4,7,12,16,-5] Major inv 1
3. [7,12,16,-5,0] Major inv 2
4. [-12,-8,-5,0,4] Major inv 3
5. [-8,-5,0,4,7] Major inv 4
6. [-5,0,4,7,12] Major inv 5
7. [0,4,7,11,0] Major 7th
8. [4,7,11,0,16] Major 7th inv 2
9. [7,11,0,16,19] Major 7th inv 3
10 [-12,-8,-5,-1,0] Major 7th inv 4
11 [-8,-5,-1,0,4] Major 7th inv 5
12 [-8,4,7,11,23] Major 7th no root
13 [0,0,0,0,0] Root
14 [-24,-12,0,12,24] organ
15 [-8,-5,4,7,16] Major no root
16 [-12,0,0,12,24] 2 up 1 down octaves

 

-------------------

Note:

+ everything outside the brackets is ignored 
+ Chords are described in numbers:
      0 is the root
     12 is a octave above
    -12 is an octave below.
     Max 16 chords
     Max 8 notes per chord.
Try to give all chords the same number of notes. This reduces "clicks" when a chord is changed.

Another example

1. [0,4,7,12,0] Major
2. [0,3,7,12,0] Minor
3. [0,4,7,11,0] Major 7th
4. [0,3,7,10,0] Minor 7th
5. [0,4,7,11,14] Major 9th
6. [0,4,7,11,14] Major 9th
7. [0,5,7,12,0] suspended 4th
8. [0,7,12,0,7] Power 5th
9. [0,5,12,0,5] Power 4th
10 [0,4,7,8,0] Major 6th
11 [0,3,7,8,0] Minor 6th
12 [0,4,7,10,2] Dominant 9th
13 [0,4,7,10,1] Dominant minor 9th
14 [0,7,9,1,4] Elektra chord
15 [0,8,11,4,9] Farben chord
16 [0,4,7,10,3] Dominant seventh sharp nine / Hendrix chord
 
+ Wikipedia List of Chords page
 
"The column marked “p.c. #s” shows the numbers you need here, in Integer Notation, (with “10” and “11” replaced by “t” and “e”)." (Music thing modular)


Wednesday, 13 June 2018

Master clock 2 Millis() - OLED display

My previous attempt at making a master clock used the delay function.

The problem with delay() is that everything stops until the delay time is over.
Not useful for multi tasking. 



 
This second attempt uses the millis function.
It turns on and off a light emitting diode (LED) connected to a digital pin,
  without using the delay() function. This means that other code can run at the
  same time without being interrupted by the LED code. 
 
PinWiring to Arduino Uno
Vin5V
GNDGND
SCLA5
SDAA4
 
This uses a combination of a few blog posts
 
The POT is wired thus:
centre (wiper) to A0
Right to GND
Left to 5V
 
The LED
Cathode to gnd via a 220 ohm resistor
Anode to pin 8
 
 
The end result is similar the the delay version, but is more accurate I think.
Hopefully I can also run other bits of code.
 

I got the idea from this post:
 
 

 
The code is here
//&&&&&&&&&&&&&&&&&&&&&&&

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

const int ledPin =  8;// the number of the LED pin

#define MIN_BPM 20      /*write here the min BPM that you want */
 #define MAX_BPM 300     /* write here the max BPM that you want */
 #define POT A0          // the potentiometer connects to analog pin A0

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

// Variables
int bpm;
int ledState = LOW;             // ledState used to set the LED
unsigned long previousMillis = 0;        // will store last time LED was updated

const long interval = 60000;           // interval at which to blink (milliseconds)

void setup() {
  // set the digital pin as output:
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin,ledState);// set initial state of pin 8 LED
 
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C
  display.clearDisplay(); // Clear the buffer.
}

void loop() {

   bpm = map(analogRead(POT), 0, 1023, MIN_BPM, MAX_BPM);  
    display.clearDisplay();
    display.setTextSize(3);
    display.setTextColor(WHITE);
    display.setCursor(0,0);
    display.println(bpm);
    display.setTextSize(2);
    display.setTextColor(WHITE);
    display.println("    BPM");
    display.display();
    
  unsigned long currentMillis = millis();

  if (currentMillis - previousMillis >= interval/bpm) {
    // save the last time you blinked the LED
    previousMillis = currentMillis;

    // if the LED is off turn it on and vice-versa:
    if (ledState == LOW) {
      ledState = HIGH;
    } else {
      ledState = LOW;
    }

    // set the LED with the ledState of the variable:
    digitalWrite(ledPin, ledState);
  }
}

// &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&


 ---------------------------------
-------------------------------------

Sunday, 10 June 2018

Basic Master clock with OLED display using delay function

PinWiring to Arduino Uno
Vin5V
GNDGND
SCLA5
SDAA4
 
This uses a combination of a few blog posts
 
The POT is wired thus:
centre (wiper) to A0
Right to GND
Left to 5V
 
The LED
Cathode to gnd via a 220 ohm resistor
Anode to pin 8
 
The delay function is essentially the clock.
Works ok, though using the delay() means that nothing else can run until the delay has finished.

The LED is on/off for a total of 60,000 millisecs/BPM  = 1min/BPM
and then loops.   
 

 
 
The code is here:
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define LED 8      // LED pin

#define MIN_BPM 20      /*write here the min BPM that you want */
 #define MAX_BPM 300     /* write here the max BPM that you want */
 #define POT A0          // the potentiometer connects to analog pin A0

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

// Variables
int bpm;

void setup() {
 
  pinMode(LED, OUTPUT);  // LED pin 8 is the output
    display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C
  display.clearDisplay(); // Clear the buffer.
 
}
//---------------------------------------------------------------

void loop() {

    bpm = map(analogRead(POT), 0, 1023, MIN_BPM, MAX_BPM);  
    display.clearDisplay();
    display.setTextSize(3);
    display.setTextColor(WHITE);
    display.setCursor(0,0);
    display.println(bpm);
    display.setTextSize(2);
    display.setTextColor(WHITE);
    display.println("    BPM");
    display.display();

// the LED is on/off for a total of 60,000 millisecs/BPM  = 1min/BPM
// and then loops. 

/*this is the 1/1 output*/
  digitalWrite(LED, HIGH); // turn LED on for 2 millisecs
    delay(2000/bpm);
    digitalWrite(LED, LOW); // turn LED off
    delay(58000 / bpm); 
 


 }

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Thursday, 7 June 2018

OLED display - Part 1 - The display function & basic shapes

OLEDs need only 4 pins

Arduino VCC -> OLED Module VCC
Arduino GND -> OLED Module GND
Arduino 4 -> OLED Module SDA
Arduino 5 -> OLED Module SCK
 
 
 In order for your OLED to display an image, animation, or text you need to be familiar
with the display function.
 
display() 

    display.clearDisplay() – all pixels are off
    display.setTextColor(WHITE)
    display.setTextColor(BLACK, WHITE); // 'inverted' text   FontColor,BackgroundColor
    display.drawPixel(x,y, color) – plot a pixel in the x,y coordinates
    display.setTextSize(n) – set the font size, range from 1 to 8
    display.setCursor(x,y) – coordinates to start writing text
    display.print(“message”) – print the characters at location x,y
    display.println("Hello world!");
    display.startscrollright(x, y);
    display.stopscroll();
    display.startscrollleft(x , y);
   display.startscrolldiagright(0x00, 0x07);   
   display.display() – call this method for the changes to make effect 
 
There are also a number of  basic shape functions worth remembering
 
Rectangle 
display.drawRect(X, Y, Width, Height, Colour);
 
Round Rectangle 
display.drawRoundRect(X, Y, Width, Height,radius of round corner, Colour);
 
Circle 
display.drawCircle(20, 35, 20, WHITE);
// (X, Y, radius, Colour);
 
Filled Circle 
display.fillCircle(20, 35, 20, WHITE);
// (X, Y, radius, Colour);
 
 
Triangle 
display.drawTriangle(30, 15, 0, 60, 60, 60, WHITE);
// (x0, y0, x1, y1, x2 , y2, colour).
// (X0,y0) represents top vertex, 
// (x1,y1) represents left vertex and (x2,y2) represents right vertex.
 
Filled Triangle 
display.fillTriangle(30, 15, 0, 60, 60, 60, WHITE);
 
 
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

The Basic code needs :
 
// &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

void setup()   
{                
  // initialize with the I2C addr 0x3C
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  

  // Clear the buffer.
  display.clearDisplay();

// write your main code & display functions here

}

void loop() {}

// &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
An example for a circle (filled and hollow) 
and some scrolling text is below



// &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

void setup()   
{                
  // initialize with the I2C addr 0x3C
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  

  // Clear the buffer.
  display.clearDisplay();

// write your main code & display functions here
 
display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.println("Circle");
  display.drawCircle(20, 35, 20, WHITE);
  display.display();
  delay(2000);
  display.clearDisplay();

  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.println("Filled Circle");
  display.fillCircle(20, 35, 20, WHITE);
  display.display();
  delay(2000);
  display.clearDisplay();

// Scroll part of the screen
display.setCursor(0,0);
display.setTextSize(1);
display.println("Scroll line 1");
display.println("line 2");
display.println("line 3");
display.println("line 4");
display.display();

display.startscrollright(0x00, 0x00);
display.startscrollleft(0x01, 0x00);
display.startscrollleft(0x02, 0x00);
display.startscrollright(0x03, 0x00);

delay(10000);
  display.clearDisplay();

// Scroll full screen
display.clearDisplay();
display.setCursor(0,0);
display.setTextSize(1);
display.println("jondent");
display.println("synth");
display.println("blog");
display.display();
display.startscrollright(0x00, 0x07);
delay(2000);
display.stopscroll();
delay(1000);
display.startscrollleft(0x00, 0x07);
delay(2000);
display.stopscroll();
delay(1000);    
display.startscrolldiagright(0x00, 0x07);
delay(2000);
display.startscrolldiagleft(0x00, 0x07);
delay(2000);
display.stopscroll();
 

}

void loop() {}
// &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Links
These two website are indispensable.
 
-------------------------------------------------------------------------------------------

----------------------------------------------------------
 
 
 ---------------------------------
-------------------------------------

Tuesday, 5 June 2018

Diodes - Basic Info

The name diode is derived from “di–ode” which means a device that has two electrodes. 

These belong to the world of "semiconductors". 
Semiconductors are usually broken up into positive or P-type, and negative or N-type. --- this has nothing to do with the poles of a battery. The two types are joined together.

Orientation



A diode is a two-terminal electronic component that conducts current primarily in one direction; it has low resistance in one direction, and high resistance in the other. Wikipedia
They allow current to flow in one direction.
See the arrow.
A PN junction is the simplest form of the semiconductor diode.
 
 
 Semiconductor diodes are the most common type of diode.
 
Different Types of Diodes
  • Small Signal Diode. ...
  • Large Signal Diode. ...
  • Zener Diode. ...
  • Light Emitting Diode (LED) ...
  • Constant Current Diodes. ...
  • Schottky Diode. ...
  • Shockley Diode. ...
  • Step Recovery Diodes. (Snap-off)
  • PN Junction Diodes
  • Tunnel Diode (Esaki)
  • Varactor diode (Varicap)
  • Photo diode
  • PIN diode
  • Lazer diode
  • Avalanche Diode 
  • Vacuum Tube diodes
  • Crystal rectifier (crystal diodes)
  • Gunn Diodes
  • Thermal Diodes
  • Stabistors or Forward Reference Diodes 
  • Gold-doped diodes
  • Super barrier diodes
 Common Diodes you will use are Schottky, LED, Signal, photo and Zener

Schottky Diodes
Very commonly used in Synthesizers.
The main application area of Schottky diodes is in switching power supplies which are intended to work with frequencies over 20kHz.

They are also known as barrier or hot carrier diodes. 
They have their own symbol.

It has a low forward voltage drop and a very fast switching speed.  
The forward voltage drop is substantially less than that of the conventional silicon pn-junction diode. 
 
 
A silicon p–n diode has a typical forward voltage of 0.6 – 1.7 Volts, while the Schottky's forward voltage is 0.15– 0.45 V. This lower forward voltage requirement allows higher switching speeds and better system efficiency.  
 

 
These are all different types of Schottky Diodes







..


-----------------------------------------------------------------------------------
Photo diodes
A photodiode is a PN-junction diode that consumes light energy to produce an electric current.
It's designed to absorb photons.
 They are also called a photo-detector, a light detector, and a photo-sensor. 
Photodiodes are designed to work in reverse bias condition. 
Typical photodiode materials are Silicon, Germanium and Indium gallium arsenide.





In the NLC Lux module, its used to make a "optical thermin".






Links

Thursday, 10 May 2018

NLC Resonate - build notes

These are my build notes for the Nonlinearcircuits Resonate module.
It's in the Eurorack Format.


The Resonate Module uses the core circuit of the Korg 3100 Resonator, with component choices for the filter sections as per the mods introduced by RJB in his blog back in 2005.
The  Korg PS3100 is famous for the sound of its resonator.


The main difference of the NLC version is that it has 4 VC bandpass stages and a feedback control, whereas the original has 3 stages and no feedback. The 4 VC bandpass stages can be controlled by a single CV on input 1 (with an attenuator) or individually with each of the 4 CV inputs.
The CV processing sub-circuits are greatly simplified from the original Korg version, simply using op amps to drive the vactrols.
The 2 inputs are summed together. Out 2 is an inverted version of Out 1.

Demo Video - https://youtu.be/VD0j_Nwsv4w

-------------------------------
sOME NLC words of wisdom
Nouveau shamanic - another Nicolas Cage Reference.
Nouveau Shamanic is the name he's given to his personal acting style.
 "thousands of years ago, the tribal shamans were really actors. What they would do is they would act out whatever the issues were with the villagers at that time, they would act it out and try to find the answers or go into a trance or go into another dimension, which is really just the imagination, and try to pull back something that would reflect the concerns of the group."

-------------------------------
Back to the build.
I like to get the ICs on first.
I'm using a new solder:
This is brilliant stuff. It's not cheap, but flows so easily and is only 0.35mm. It's 5 core.
I've up to now been using 0.7mm single core.



tHESE rectifiers are a protection against plugging in the module backwards.

I'm using 1.0 K resistors for the RLs - LED resistors.

I'm using NSL vactrols

The white dot on the vactrol is the cathode.
On the PCB, the cathode is marked "k"
Install the headers which join the two PBCs




Nice.

Links:
NLC Build notes 

https://www.nonlinearcircuits.com/modules/p/resonate
Facebook 
Muffs - 2018 modules

-----------------------------------------------------------------------------------
You can find more NLC builds here.
---------------------------------------------------------------------------------------