Changes

Jump to navigation Jump to search
2,804 bytes added ,  13:27, 30 October 2019
Line 1: Line 1: −
The All-In-One circuit can be tweaked for having 4 extra switches that can be used for a sustain pedal, MIDI switches (very useful for SooperLooper!), or for sending some specific MIDI message (program change, etc.).  
+
==Using All-In-One module or Zynscreen display (MCP23017)==
 +
 
 +
The All-In-One circuit (or the Zynscreen display) can be easily tweaked for adding up to 4 extra switches that can be used for a panic button, a sustain pedal or other MIDI-CC switches (very useful for SooperLooper!).  
    
The unused pins in the MCP23017 are:
 
The unused pins in the MCP23017 are:
   −
pin 27 (GPA6)
+
* pin 27 (GPA6)
pin 28 (GPA7)
+
* pin 28 (GPA7)
pin 7 (GPB6)
+
* pin 7 (GPB6)
pin 8 (GPB7)
+
* pin 8 (GPB7)
The first 2 are bound to INTA and the other 2 to INTB.
+
 
 +
The first 2 are bound to INTA and the other 2 to INTB (but that is not really important to you, as it's handle by the zyncoder library ;-)
 +
 
 +
If you have a recent version of the All-In-One circuit (or a Zynscreen display), you are lucky, as it includes an extra row-pin connector (SW1) that allows to easily use this extra GPIO ports. If you don't, you have to solder your wires directly to the MCP23107 pins. Not difficult at all, but a little bit ugly.
 +
This is the pin assignment for the row-pin connector (SW1):
 +
 
 +
* pin 1 => GND
 +
* pin 2 => WiringPi GPIO 106
 +
* pin 3 => WiringPi GPIO 107
 +
* pin 4 => WiringPi GPIO 114
 +
* pin 5 => WiringPi GPIO 115
 +
 
 +
You can check the All-In-One schematic [http://wiki.zynthian.org/images/4/44/Zynthian_allinone.sch.svg here]
 +
 
 +
[[File:pcb_all-in-one_v2.1.jpg|700px]]
 +
 
 +
[[File:module_all-in-one_v2.1.jpg|700px]]
 +
 
 +
You can check the Zynscreen schematic [http://wiki.zynthian.org/images/4/40/ZynScreen_v1.3.svg here]
 +
 
 +
[[File:Zynscreen sw1.jpg|700px]]
 +
 
 +
So, if you have a recent version of All-In-One circuit (or a Zynscreen display), you can follow these simple steps for adding your custom switches:
 +
 
 +
* Update your zynthian
 +
* Solder the 5 row-pin connector to your All-In-One circuit (or Zynscreen display) (SW1)
 +
* Connect some kind of switch between pins 2-5 and pin 1 (GND). The switches are normally open, closing to pin 1 (GND).
 +
* From the webconf tool, hardware menu, wiring section:
 +
** Select MCP23017_EXTRA as wiring layout (MCP23017_ZYNSCREEN if you have the Zynscreen display). This will set your ZYNTHIAN_WIRING_SWITCHES to “100,103,108,111,106,107,114,115”
 +
** Configure the desired actions (advanced options). The UI active layer’s MIDI channel will be used for MIDI actions.
 +
 
 +
You can read more about this subject in the next link:
 +
 
 +
* https://discourse.zynthian.org/t/extra-switches-sw1-sustain-pedal-panic-button-etc/1843
 +
* https://discourse.zynthian.org/t/extra-switches-now-customizable-from-webconf/2765
 +
 
 +
===Example 1: Adding a "Panic Button" to an official v2 zynthian===
 +
 
 +
You could add a panic button to your zynthian box. Simply make a hole, install the switch-button and connect it to SW-1's pins 1 & 2.
 +
 
 +
[[File:Zynthian v2 panic switch.jpeg|700px]]
 +
 
 +
Next, configure the actions in the webconf tool as follow:
 +
 
 +
* Type: Ui Action
 +
* Short push: All Note Off
 +
* Bold push: All Off (All Notes Off + All Sounds Off)
 +
* Long push: Reboot
 +
 
 +
===Example 2: External 3 switches pedal + sustain pedal===
 +
 
 +
Our dear friend, @wolfpaw98, has developed this amazing pedal set. He use a MIDI connector (DIN-5) for making available the 5 pins from the case. The main pedal is connected to the DIN-5, and a Jack-mono connector is used for connecting the sustain to the main pedal.
   −
You can check the schematic:
+
[[File:Zynthian pedals 01.jpeg|700px]]
   −
http://wiki.zynthian.org/images/4/44/Zynthian_allinone.sch.svg 8
+
[[File:Zynthian pedals 02.jpeg|700px]]
   −
the UI active layer’s MIDI channel will be used.
+
[[File:Zynthian pedals 03.jpeg|700px]]
   −
So, the only things you have to do is:
+
[[File:Zynthian pedals 04.jpeg|700px]]
   −
* update your zynthian
+
You can read more about this subject in the next link:
   −
* solder a 5 row-pin connector to your AllInOne circuit
+
* https://discourse.zynthian.org/t/funny-pedalboxes-for-zynthian-using-extra-switches/3331
   −
* connect some kind of switch between pin1-4 and pin5 (GND)
+
==Zynthian without encoders using legacy 2in1 module for Extra Switches==
   −
* from the webconf tool, configure your wiring layout accordingly to the used pins: ZYNTHIAN_WIRING_SWITCHES’: “100,103,108,111,106,107,114”
+
You can configure a zynthian without controllers (encoders+switches) for using an ancient 2in1 module to get up to 4 extra switches that you can bind to CUIA or MIDI actions.
   −
==Here are the default pin assignments:==
+
This is the wiring layout configuration you have to setup in webconf tool:
   −
pin 1 => GND
+
[[File:Webconf_noencoders_2in1_extra_switches.png|700px]]
pin 2 => WiringPi GPIO 106
  −
pin 3 => WiringPi GPIO 107
  −
pin 4 => WiringPi GPIO 114
  −
pin 5 => WiringPi GPIO 115
     −
And the current hardcoded configuration is like this:
+
{{NoteBox|As the 2in1 module doesn't use the MCP23008's INTA pin, switches are detected by polling, so i strongly recommend to only configure the pins you are actually using.}}
   −
PANIC switch (6th zynswitch) => pin 2 (106)
+
==Using free RBPi GPIO pins as Extra Switches==
short => All Notes Off
  −
bold => All Sounds Off)
  −
Unused (6th zynswitch) => pin 3 (107)
  −
Unused (7th zynswitch) => pin 4 (114)
  −
MIDI CC64 (Sustain Pedal) (8th zynswitch) => pin 5 (115)
     −
Switches are normally open, closing to pin 1 (GND).
+
In the same way, you can configure any free RBPi GPIO pins as extra switches. You only have to configure the "Switches Pins" in the webconf tool.

Navigation menu