Page 5 of 6

Re: Inside Triple Pedal, modification

Posted: 03 Nov 2017, 19:42
by guentergunter
maxpiano wrote: Image
I did some further research and have been able to produce the appropriate MIDI CC data: See thread

With these values, the problem of a too loud sounding "pedal noise" feature is gone for me :thumbup:

By the way: Half-damping seems not to work with my solution. Anyone an idea? :roll:

Re: Inside Triple Pedal, modification

Posted: 08 Nov 2019, 14:29
by groovejazz
How about the other way around and taking the electronics of the triple pedal in a single padal?
Many guys in the forum have reported, that their triple pedals are broken. So is mine, sostenuto and the middle pedal stopped working, but the damper with noise and halfpedal works fine. Although in most of the reported cases, the reason was a broken cable only, I think about, if its possible to make a single and more handy pedal out of it. I think the problem would be to cut the circuit board.
If the triple pedal breaks often it would be easy to buy one of those...

...now I changed the cable and everything works fine, but still it's big and heavy :D

Re: Inside Triple Pedal, modification

Posted: 06 Nov 2021, 16:38
by awawa
Hi, I am new to this forum. So if I make some mistake, please let me know!

First of all, I thank so much for User Forum members for valuable discussions!
Thanks for the information, I successfully built a converter from Yamaha FC3A to NORD pedal.

Instead of using MIDI function like this solution (nord-stage-forum-f3/custom-comprehensiv ... 14141.html), I used NORD pedal jack to use half damper function.

I used Arduino ProMicro for this.
The circuit diagram is shown below:
Circuit diagram
Circuit diagram
IMG_4501.png (855.93 KiB) Viewed 51017 times
The arduino code is below:

Code: Select all

#define LED 3
#define R1 9 // 10k
#define R2 8 // 4.7k
#define R3 6 // 2.2k
#define R4 4 // 880
#define PEDAL A0 // 880

#define THRESHOLD1 120
#define THRESHOLD2 350
#define THRESHOLD3 600
#define THRESHOLD4 850

int sensorValue = 0; // open 0 - closed 1023
int stateValue = 0; // open 0 - closed 4

void setup() {
  // put your setup code here, to run once:
  pinMode(LED, OUTPUT);
  pinMode(R1, OUTPUT);
  pinMode(R2, OUTPUT);
  pinMode(R3, OUTPUT);
  pinMode(R4, OUTPUT);

  digitalWrite(LED, LOW);
  digitalWrite(R1, LOW);
  digitalWrite(R2, LOW);
  digitalWrite(R3, LOW);
  digitalWrite(R4, LOW);
}

void loop() {
  // get pedal position
  sensorValue = 1023 - analogRead(PEDAL); // pedal position

  // convert FC3A pedal position to NORD triple pedal state
  if (sensorValue < THRESHOLD1) {
    stateValue = 0;
  } else if (sensorValue < THRESHOLD2) {
    stateValue = 1;
  } else if (sensorValue < THRESHOLD3) {
    stateValue = 2;
  } else if (sensorValue < THRESHOLD4) {
    stateValue = 3;
  } else {
    stateValue = 4;
  }

  // push switch according to the state
  if (stateValue == 0) {
    digitalWrite(R1, LOW);
    digitalWrite(R2, LOW);
    digitalWrite(R3, LOW);
    digitalWrite(R4, LOW);
    digitalWrite(LED, LOW);
  } else if (stateValue == 1) {
    digitalWrite(R1, HIGH);
    digitalWrite(R2, LOW);
    digitalWrite(R3, LOW);
    digitalWrite(R4, LOW);
    digitalWrite(LED, LOW);
  } else if (stateValue == 2) {
    digitalWrite(R1, HIGH);
    digitalWrite(R2, HIGH);
    digitalWrite(R3, LOW);
    digitalWrite(R4, LOW);
    digitalWrite(LED, LOW);
  } else if (stateValue == 3) {
    digitalWrite(R1, HIGH);
    digitalWrite(R2, HIGH);
    digitalWrite(R3, HIGH);
    digitalWrite(R4, LOW);
    digitalWrite(LED, HIGH);
  } else {
    digitalWrite(R1, HIGH);
    digitalWrite(R2, HIGH);
    digitalWrite(R3, HIGH);
    digitalWrite(R4, HIGH);
    digitalWrite(LED, HIGH);
  }
  Serial.println(stateValue);

  delay(1);
}
Finally, I built this.
Device photo
Device photo
無題.png (6.8 MiB) Viewed 51017 times
Connect Yamaha FC3A to the right TRS jack and connect NORD and this device using the left TRS jack via stereo cable, and then supply power to proMicro via USB, and I can play NORD with half damper function using Yamaha FC3A.

Re: Inside Triple Pedal, modification

Posted: 19 Nov 2021, 22:56
by gitarrenzupfer
awesome thread, awesome arduino-project from awawa, :geek:


a question about the triple pedal

Are midi-CC data sent when the sustain pedal is pressed (with half-pressed and damper noise)? If yes, which?

CC# 64 0|127 or something else...?

Re: Inside Triple Pedal, modification

Posted: 20 Nov 2021, 09:52
by maxpiano
gitarrenzupfer wrote:awesome thread, awesome arduino-project from awawa, :geek:


a question about the triple pedal

Are midi-CC data sent when the sustain pedal is pressed (with half-pressed and damper noise)? If yes, which?

CC# 64 0|127 or something else...?
Yes CC64 but I don’t remember if anyone has analyzed the values sent at each intermediate step (a MIDI Monitor on a Nord using the original would quickly reveal that), you can try dividing the 0..127 interval in equal steps as a start.

Re: Inside Triple Pedal, modification

Posted: 30 Nov 2021, 19:09
by awawa
maxpiano wrote:
gitarrenzupfer wrote:awesome thread, awesome arduino-project from awawa, :geek:


a question about the triple pedal

Are midi-CC data sent when the sustain pedal is pressed (with half-pressed and damper noise)? If yes, which?

CC# 64 0|127 or something else...?
Yes CC64 but I don’t remember if anyone has analyzed the values sent at each intermediate step (a MIDI Monitor on a Nord using the original would quickly reveal that), you can try dividing the 0..127 interval in equal steps as a start.
One of my friends analyzed CC values with the triple pedal. As maxpiano wrote, the CC was sent to CC#64 but its values seem complicated. The CC values were different every time the pedal was pressed.

eg.
The CC values sent when press/release the pedal fast (and fully pressed) was like: 22, 28, 64, 70, 85, 122, 127, 106, 85, 64, 23, 22, 8, 1, 0. (28 and 64, 70 and 85, 122 and 127, 106 and 85, 23 and 22, 8 and 1 and 0, are sent at almost the same time.)
The CC values sent when press/release the pedal slow (and fully pressed) was like: 22, 64, 65, 85, 64, 23, 22, 2, 0. (65 and 85, 23 and 22, 2 and 0 are sent at almost the same time.)

It seems that basically the values 22, 64, 85, 127 are sent at each one of four switches pressed. If the pedal is pressed/released fast, the intermediate values (like 28) are also sent. And if the pedal is pressed slowly, the value 127 is not sent despite being fully pressed.