In my post showing my real incremental program change foot switch for ns2EX (nord-stage-forum-f3/incremental-program-change-foot-switch-for-ns2ex-et-al-t16315.html), I pormised to let you know about my dynamic bass pedal project. OK, here it is.
To get it clear right at the begining: There are several products to buy off the shelf, but to be honest, I was not willing to pay for the clavia nord bass pedal. And many of the cheaper MIDI pedals are without touch dynamics. E. g. there is an easy DIY solution by Doepfer, combining a FATAR PD/3 pedal chassis with a solid electronic "MBP 25" and a pretty front plate (housing to be done by yourself). I bought this and it is absolutely OK, but it is without touch dynamics, too (you just can adjust the velocity to a fixed value for all notes).
So my intention was to rework this to get a velocity sensitive bass pedal, using my Arduino / ATMega328P- microcontroller and the FATAR PC/3 pedals. I removed the MBP25 and ended up with about 40 EUR additional material cost (plus the PD/3).
To make this velocity sensitive, I had to install additional contacts (normally closed when pedal is not pressed), which is quite easy on the PC/3 as it seems to be prepared for additional contacts by the manufacturer. For each pedal you just have to drill an additional hole in the contact carrier and the PCB, bend a lead, push it into position, fix it with some hot glue and connect all these contacts in two groups to the "Normally Closed Row" of the diode matrix of the PD/3. Using a computer flat cable with a 20-pin socket (2 rows), I connected the PD/3 Board via its Micro Match socket to my own PCB. When pushing down a pedal, measuring the time difference between opening the NC contact and closing the NO contact gives the information I need to calculate the velocity. This is done in the ATMega328, which is programmed using the Arduino IDE (see Arduino sketch). As there are tolerances in the distance between NC and NO contacts, an individual factor for each pedal allows to adjust the calculated velocity such that they all have a similar characteristic. To be honest: professional pedal boxes probably might have a better sensitivity. But for my purposes, this works fine.
As it is not that easy to play with well-controlled velocity with the feet, I installed two potentiometers to set the minimum and maximum velocity as required (setting both to the same level will define this level to be velocity for all notes, no matter which velocity was using when pushing the pedal; setting min to "0%" and max to "100%" gives full range of velocity).
The Arduino Uno and my PCB has no nonvolatile store, therefore the settings for transposing (PD/3 has only 13 pedals and for sure you want to set it to different octaves depending on what you want to play) and the MIDI channel are "stored" in the position of a rotary switch (octave) and a 4-bit-DIP-switch, both combined with a resistor cascade.
MIDI IN and MIDI THRU give full connectivity with other devices (MIDI IN signal will be merged with the notes on / off commands from my pedals and routed to MIDI OUT).
If you are interested in expanding this to a 25-pedals box, this is possible by combining two PD/3 pedal boxes. Doepfer has a good description on how to do this mechanically. As all pins of the Arduino Uno / ATMega328 are occupied, you will have to use another Arduino (e.g. Mega2560), because you will need additional pins for the RNC3 / RNO3 and RNC4 /RNO4 lines: In the diode matrix of the PD/3 there are 8 pedals connected by 8 lines to the first row line (one for normally open, one for normally closed). The next 8 pedals are connected via the same 8 lines to the second row and so on. So for 25 pedals you need 8 lines for columns and 4 rows.
Please find the source code and the circuit diagrams attached. Feel free to comment or ask any questions or propose improvements ... ;o)
2 posts
• Page 1 of 1
DIY Dynamic MIDI Bass Pedal 13 Keys (based on FATAR PD/3)
- Attachments
-
- Rear view
- Pic10.jpg (220.12 KiB) Viewed 1634 times
-
- It's ready !!
- Pic09.jpg (199.08 KiB) Viewed 1634 times
-
- Main board
- Pic08.jpg (315.06 KiB) Viewed 1634 times
-
- All components in open housing
- Pic07.jpg (338.56 KiB) Viewed 1634 times
-
- All NC contacts installed
- Pic04.jpg (255.49 KiB) Viewed 1634 times
-
- ... and soldered to the connector
- Pic06.jpg (200.36 KiB) Viewed 1634 times
-
- "normally closed" rows connected on the back of the FATAR PD/3 PCB ...
- Pic03.jpg (318.5 KiB) Viewed 1634 times
-
- bended lead used for contact
- Pic02.jpg (217.11 KiB) Viewed 1634 times
-
- The FATAR PD/3 PCB with the first additional "normally closed" contact installed
- pic01.jpg (227.68 KiB) Viewed 1634 times
-
- MIDI_Bass_Pedal_v02.txt
- Arduino sketch (rename to *.ino to open in Arduino IDE)
- (8.15 KiB) Downloaded 133 times
-
- Bass Pedal Circuit.pdf
- Circuit diagram and PCB layout
- (439.74 KiB) Downloaded 136 times
Last edited by KeyFrog2 on 11 Nov 2018, 22:50, edited 1 time in total.
- KeyFrog2
- Posts: 13
- Joined: 28 Feb 2016, 21:27
- Country:
- Has thanked: 1 time
- Been thanked: 12 times
- Your Nord Gear #1: Nord Stage 2 EX
2 posts
• Page 1 of 1