Difference between revisions of "Adding Extra Switches"

From ZynthianWiki
Jump to: navigation, search
Line 1: Line 1:
The All-In-One circuit can be easily tweaked for adding upto 4 extra switches that can be used for a panic button, a sustain pedal or other MIDI-CC switches (very useful for SooperLooper!).
+
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:
Line 10: Line 10:
 
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 ;-)
 
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, 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 not really nice.
+
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):
 
This is the pin assignment for the row-pin connector (SW1):
  
Line 19: Line 19:
 
* pin 5 => WiringPi GPIO 115
 
* pin 5 => WiringPi GPIO 115
  
You can check the schematic [http://wiki.zynthian.org/images/4/44/Zynthian_allinone.sch.svg here]
+
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|500px]]
 
[[File:pcb_all-in-one_v2.1.jpg|500px]]
Line 25: Line 25:
 
[[File:module_all-in-one_v2.1.jpg|500px]]
 
[[File:module_all-in-one_v2.1.jpg|500px]]
  
So, if you have a recent version of All-In-One circuit, you can follow these simple steps for adding your custom switches:
+
You can check the Zynscreen schematic [http://wiki.zynthian.org/images/4/40/ZynScreen_v1.3.svg here]
 +
 
 +
[[File:Zynscreen sw1.jpg|500px]]
 +
 
 +
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
 
* Update your zynthian
* Solder the 5 row-pin connector to your All-In-One circuit (SW1)
+
* 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).
 
* 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:
 
* From the webconf tool, hardware menu, wiring section:
** Select MCP23017_EXTRA as wiring layout. This will set your ZYNTHIAN_WIRING_SWITCHES to “100,103,108,111,106,107,114,115”
+
** 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.
 
** Configure the desired actions (advanced options). The UI active layer’s MIDI channel will be used for MIDI actions.
  

Revision as of 16:25, 16 October 2019

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:

  • pin 27 (GPA6)
  • pin 28 (GPA7)
  • pin 7 (GPB6)
  • pin 8 (GPB7)

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 here

Pcb all-in-one v2.1.jpg

Module all-in-one v2.1.jpg

You can check the Zynscreen schematic here

Zynscreen sw1.jpg

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.

For instance, you could add a "Panic Button" to an official v2 zynthian:

Zynthian v2 panic switch.jpeg

and configure the actions as follow:

  • Type: Ui Action
  • Short push: All Note Off
  • Bold push: All Off (All Notes Off + All Sounds Off)
  • Long push: Reboot

Note:

You could use a MIDI connector (DIN-5) for making available the 5 pins. For instance, you could build a 4 switches pedal.

You can read more about this subject in the next links: