General Discussion of the Nord Stage (EX), Nord Stage 2 (EX), Nord Stage 3, and Nord Stage 4 Synths, FAQ, Troubleshooting etc.

Ultimate NORD Stage MIDI Pedal Board

Postby guentergunter » 03 Nov 2017, 00:28

I finally got my Nord Stage 3 compact 73 :keyboard2:
By far the best keyboard I ever have!

:arrow: Finally the time for the ultimate pedal board has come :thumbup:

First of all: It's MIDI based and compatible to any equipment.
Yet, it's optimised for the Stage 3.

board.jpg
The finished board
board.jpg (372.92 KiB) Viewed 3202 times

(rotor speed control is done by Half Moon Switch)

- - - - - -

:arrow: I want it to be connected by one single cable only, to reduce the risk of false plugging and to be quickly prepared on stage. 8-)

So, there are two initial drawbacks:
  1. The Nord Stage 3 does NOT support the program up/down functionality via MIDI (altough it could be implemented easily). A separate
    TRS cable is needed.
  2. The pedal board needs power for the micro-controller.
The solution is to add a separate 8 pin connector to the Nord Stage 3 :thumbup:

- - - - - -

:arrow: An Arduino (Pro Micro) does the magic thing of translating pedal positions into MIDI messages.

After two days of heavy engineering, I finally found out how to add velocity dependent piano pedal noise :wave:
Until now only seen with the original Nord Triple Pedal! :!:
(thanks to DrNeurus and maxpiano for their initial work)

2 - circuit diagram.pdf
circuit diagram
(67.11 KiB) Downloaded 254 times

Here's the source code:
Code: Select all
// program code for an Arduino Micro to operate the pedal-board


#define MIDI_Channel 0


// PCB pin numbers

#define damper_           A0
#define expression_       A1
#define sostenuto_        3
#define swell_            A2
//#define up_             4    // Don't forget to remove comment in 'loop'
//#define down_           5    // Don't forget to remove comment in 'loop'


// the variables

uint8_t   i = 0;

int       damper = 1;                 // Roland DP-10
int       damper_last = 1;
int       damper_dist[7] = {0, 0, 0, 0, 0, 0, 0};        // may contain negative numbers
int       damper_speed = 0;
uint8_t   sostenuto = 1;              // Yamaha FC-5
uint8_t   sostenuto_last = 1;
int       expression = 1;             // Yamaha FC-7
int       expression_last = 1;
uint8_t   swell = 1;                  // Korg EXP-2
uint8_t   swell_last = 1;
uint8_t   up = 1;                     // Iron foot button on the right
uint8_t   up_last = 1;
uint8_t   down = 1;                   // Iron foot button on the left
uint8_t   down_last = 1;

uint8_t   cmdByte;
uint8_t   Byte1;
uint8_t   Byte2;


void send_MIDI_message (byte cmd, byte byte1, byte byte2)
{
  Serial1.write(cmd + MIDI_Channel);
  Serial1.write(byte1);
  Serial1.write(byte2);
}



void setup()
{
  pinMode(sostenuto_, INPUT);
  pinMode(sostenuto_, INPUT_PULLUP);
/*
  pinMode(up_, INPUT);
  pinMode(up_, INPUT_PULLUP);
  pinMode(down_, INPUT);
  pinMode(down_, INPUT_PULLUP);
*/

  Serial1.begin(31250);     // UART-Serial for MIDI
//  Serial.begin(9600);       // USB Serial for memory monitoring
}



void loop()
{

// CATCH SYSTEM STATE

  // ADCs have 10 Bit (0 ... 1023)

  damper =  analogRead(damper_);                  // first readout
 
  sostenuto = digitalRead(sostenuto_);
 
  expression =  analogRead(expression_);          // ! dead centre: 655 ... 690 !
  if (expression < 690)                           // hyteresis for dead centre
  { expression = constrain (expression, 0, 655); }
  else
  { expression = map (expression, 690, 1023, 656, 1023); }
 
  swell =  map ( constrain( (analogRead(swell_)) , 48, 1018), 48, 1018, 127, 0 ) ;

//  up = digitalRead(up_);
//  down = digitalRead(down_);

  i++;
  if (i >= 7) { i = 0; }
  damper_dist[i] = damper - analogRead(damper_);  // second readout
  damper =  map ( damper, 0, 1030, 0, 2 ) ;


// CHECK FOR MOVEMENTS, AND IN CASE: REACT

  if (damper != damper_last)
  {
    damper_speed = 0;
    for (uint8_t j = 0; j < 7; j++)
    {
      damper_speed += damper_dist[j];
    }
    damper_speed /= 7;
    damper_speed = map (constrain (damper_speed, -15, 15), -16, 16, -5, 5 );
   
    if (damper == 1)
    {                 // pedal noise when pressing the pedal
      damper_speed = 27 + (damper_speed*(-3) );     // values: 27 ... 42
      send_MIDI_message(0xB0, 64, damper_speed);
      send_MIDI_message(0xB0, 64, 127);
    } else {          // pedal noise when releasing the pedal
      damper_speed = 10 + (damper_speed*2) ;        // values: 10 ... 18
      send_MIDI_message(0xB0, 64, damper_speed);
      send_MIDI_message(0xB0, 64, 0);
    }
    damper_last = damper;
  }

  if (sostenuto != sostenuto_last)
  {
    send_MIDI_message(0xB0, 66, (sostenuto * 127));
    sostenuto_last = sostenuto;
  }

  if (expression != expression_last)
  {
    send_MIDI_message(0xB0, 11,  map ( expression, 0, 1023, 0, 127 ) );
    expression_last = expression;
  }

  if (swell != swell_last)
  {
    send_MIDI_message(0xB0, 4, swell);
    swell_last = swell;
  }


/*
  if (up != up_last)
  {
    up_last = up;

    send_MIDI_message(0xB0, 31, (127 * up));
  }

  if (down != down_last)
  {
    down_last = down;

    send_MIDI_message(0xB0, 32, (127 * down));
  }
*/

}

- - - - - -
Finally the complete setup :keyboard2:

WITH THE NORD.jpg
Together with the Nord Stage 3 HP76
WITH THE NORD.jpg (480.06 KiB) Viewed 5017 times


Hope you enjoyed and maybe gained some new information :thanx:
:keyboard:
Last edited by guentergunter on 18 Aug 2020, 03:16, edited 43 times in total.

The author guentergunter was thanked by 5 members, including:
FZieglerBio FloydJohannesBerretjeMr_-G-
guentergunter
 
Posts: 20
Joined: 19 Aug 2017, 20:32
Country: Germany
Has thanked: 2 times
Been thanked: 12 times

Ultimate NORD Stage MIDI Pedal Board


Sponsor
 

Re: Custom, comprehensive "Nord Stage Pedal Board"

Postby Mr_-G- » 03 Nov 2017, 00:49

Thank you. Very nice project.
One observation: you have only 1 switch in the diagram, but the photos show 2.
User avatar
Mr_-G-
Moderator
 
Posts: 4609
Joined: 18 Aug 2012, 16:48
Has thanked: 1470 times
Been thanked: 1253 times
Your Nord Gear #1: Nord Stage 2

Re: Custom, comprehensive "Nord Stage Pedal Board"

Postby guentergunter » 03 Nov 2017, 11:26

Mr_-G- wrote:Thank you. Very nice project.
One observation: you have only 1 switch in the diagram, but the photos show 2.


There are actually even 3 switches ;)

  • 1x Rotor control (Yamaha FC 5)
  • 2x metal foot button

Since there's no possibility to do the program up/down via midi (yet), I only connected the FC5 to the Arduino - and the foot buttons directly to a TRS-Plug.

The good thing: If ever Clavia decides to implement program up/down via MIDI, it’s easy to solder the foot buttons to the Arduino instead and update the Arduino program (10 mins work).


I updated the wiring diagram in the first post for clarity :thumbup:

The author guentergunter was thanked by:
Mr_-G-
guentergunter
 
Posts: 20
Joined: 19 Aug 2017, 20:32
Country: Germany
Has thanked: 2 times
Been thanked: 12 times

Re: Custom, comprehensive "Nord Stage Pedal Board"

Postby Quai34 » 03 Nov 2017, 11:47

Does the TRS program up and down works when two programs are consecutive? If program 1 is verse and program two chorus, you use it back and forth to switch from verse to chorus right? This is the goal....?
Stage 2/C2/NL2X+TC Pedals, 2XMatrix, EMU P2K, TX802, DSI P8/Tetra+H9, P12+TC HoF, D50+PG1000, XV5080,AX keytar, Streichfett, Drumbrute.Ibanez SR1200 & 2605 basses, Artstar AS153,G&L L2000,Legacy HSS,Asat Blueboys,Asat Deluxe Savanna.genelec 8040A.
User avatar
Quai34
 
Posts: 1874
Joined: 01 Jan 2012, 23:02
Location: CANADA WINNIPEG
Country: Canada
Has thanked: 114 times
Been thanked: 305 times
Your Nord Gear #1: Nord Stage 2
Your Nord Gear #2: Nord Lead 1/2/2x

Re: Custom, comprehensive "Nord Stage Pedal Board"

Postby Quai34 » 03 Nov 2017, 11:54

Also, where did you find your carbon plate?
Stage 2/C2/NL2X+TC Pedals, 2XMatrix, EMU P2K, TX802, DSI P8/Tetra+H9, P12+TC HoF, D50+PG1000, XV5080,AX keytar, Streichfett, Drumbrute.Ibanez SR1200 & 2605 basses, Artstar AS153,G&L L2000,Legacy HSS,Asat Blueboys,Asat Deluxe Savanna.genelec 8040A.
User avatar
Quai34
 
Posts: 1874
Joined: 01 Jan 2012, 23:02
Location: CANADA WINNIPEG
Country: Canada
Has thanked: 114 times
Been thanked: 305 times
Your Nord Gear #1: Nord Stage 2
Your Nord Gear #2: Nord Lead 1/2/2x

Re: Custom, comprehensive "Nord Stage Pedal Board"

Postby infi99 » 03 Nov 2017, 13:41

Very cool Arduino project!
If i had unlimited money I would buy Clavia ;)
infi99
Patch Creator
 
Posts: 7
Joined: 21 Jun 2015, 08:17
Country: Germany
Has thanked: 12 times
Been thanked: 3 times
Your Nord Gear #1: Nord Stage 2 EX

Re: Custom, comprehensive "Nord Stage Pedal Board"

Postby guentergunter » 03 Nov 2017, 17:17

Quai34 wrote:Does the TRS program up and down works when two programs are consecutive? If program 1 is verse and program two chorus, you use it back and forth to switch from verse to chorus right? This is the goal....?


Honestly I don’t know.

But that should be found in the Nord’s manual.
My board delivers the pure function of a connected dual foot pedal board like the BOSS FS-6.
guentergunter
 
Posts: 20
Joined: 19 Aug 2017, 20:32
Country: Germany
Has thanked: 2 times
Been thanked: 12 times

Re: Custom, comprehensive "Nord Stage Pedal Board"

Postby Quai34 » 03 Nov 2017, 17:48

Ok, yes, that was my question, the bossFS-6 is the one I think I would buy when I will have my Stage 3.
Also, did you see my question about where you bought your carbon plate to put all the pedals on it?
Last edited by Quai34 on 04 Nov 2017, 16:42, edited 1 time in total.
Stage 2/C2/NL2X+TC Pedals, 2XMatrix, EMU P2K, TX802, DSI P8/Tetra+H9, P12+TC HoF, D50+PG1000, XV5080,AX keytar, Streichfett, Drumbrute.Ibanez SR1200 & 2605 basses, Artstar AS153,G&L L2000,Legacy HSS,Asat Blueboys,Asat Deluxe Savanna.genelec 8040A.
User avatar
Quai34
 
Posts: 1874
Joined: 01 Jan 2012, 23:02
Location: CANADA WINNIPEG
Country: Canada
Has thanked: 114 times
Been thanked: 305 times
Your Nord Gear #1: Nord Stage 2
Your Nord Gear #2: Nord Lead 1/2/2x

Re: Custom, comprehensive "Nord Stage Pedal Board"

Postby guentergunter » 03 Nov 2017, 17:55

Quai34 wrote:Also, where did you find your carbon plate?


:arrow: eBay (Carbon plate)
guentergunter
 
Posts: 20
Joined: 19 Aug 2017, 20:32
Country: Germany
Has thanked: 2 times
Been thanked: 12 times

Re: Custom, comprehensive "Nord Stage Pedal Board"

Postby guentergunter » 03 Nov 2017, 17:58

infi99 wrote:Very cool Arduino project!
If i had unlimited money I would buy Clavia ;)


I suppose the development to be much more expensive :D
guentergunter
 
Posts: 20
Joined: 19 Aug 2017, 20:32
Country: Germany
Has thanked: 2 times
Been thanked: 12 times

Next

Return to Nord Stage Forum



Who is online

Users browsing this forum: kokodoit and 37 guests