This is an old revision of the document!
Table of Contents
Standard 220mm wide modules
VLR-3x8But
A PCB to add 24 Buttons with RGB LEDs for each.
Eagle Files: https://github.com/novski/Midibox/tree/master/VLR-3x8but
BOM
BIll of Material
Allways look for the cheapest seller, the Price may vary heavy!!! And look for Local dealers preferred. http://www.midibox.org/dokuwiki/doku.php?id=where_to_order_components
The Buttons
I thaught a long time about how to make a Button PCB that does not explode in material cost. The best solution was to buy rubberbuttons from Sparkfun and cut them because the with of Fadercore is fixed by the minimal width of 8 Oleds side by side… 220mm in width / 8 makes a 27.5mm grid. What a pity that the Sparkfun pads are premade with a 25mm grid…
you will need two of them: https://www.sparkfun.com/products/7835
The other Materials: Mouser
- 2x10pin Header, 517-30310-6002
 - 5x100nF,594-K104K15X7RF53K2
 - 2x10k Network, 774-77061103P
 - 3x220R Array, 652-4816P-T1LF-220
 - 1x74HC165D, 771-HC165D652
 - 4x74HC595D, 771-74HC595D
 - 24xLED RGB, 604-WP154A4SUREQBFZW
 - 24x1N4148, 512-1N4148TR
 
Project Order Basket on Mouser: http://www.mouser.com/ProjectManager/ProjectDetail.aspx?AccessID=1f42b04e6d
The PCB is available under: fadercore_-_vlr-3x8but
How to get Started
If its your first SMD soldering you can follow this on t1:58 : http://www.youtube.com/watch?v=5uiroWBkdFY I recommend to not buy solder paste, instead buy some flux-paste like this on Mouser: 590-8341-10ML
Prepare the PCB
Start with the SMD parts and then go on the the conventional parts also on the Bottom side. Then go on with the Topside and the LEDs. Check the Connections with a Lens.
Prepare the Connection
Connect the core on J8/9 to J1 of the VLR-3x8But board.
Test it in MIOS
To make it work with MIOS .NGC  File we need to know how the shift-registers are connected.
Inputs:
1# Switch Columns  1-8
Outputs:
1# ROW Outputs     1-6
2# RED LEDs        1-8
3# GREEN LEDs      1-8
4# BLUE LEDs       1-8
Assuming that the VLR-3x8But is the first device on the chain of J8/9 we need to configure it like this:
RESET_HW
LCD “%C”
LCD “@(1:1:1)OLED1”
LCD “@(2:1:1)OLED2”
LCD “@(3:1:1)OLED3”
LCD “@(4:1:1)OLED4”
LCD “@(5:1:1)OLED5”
LCD “@(6:1:1)OLED6”
LCD “@(7:1:1)OLED7”
LCD “@(8:1:1)OLED8”
# In this demo we configure individual brightness levels for the LEDs from EVENT_BUTTON events
LCD “@(1:10:1)RGB Demo #2”
DIN_MATRIX  n=1  rows=4  sr_dout_sel1=1  sr_din1=1                     button_emu_id_offset=1001
DOUT_MATRIX n=1  rows=4  sr_dout_r1=2    sr_dout_g1=3 sr_dout_b1=4     led_emu_id_offset=1025
# These button functions forward their value also to LEDs
# it's possible to set the rgb levels in the button event, it will be forwarded as well!
EVENT_BUTTON  id=1001  fwd_id=LED:1025  type=NoteOn key=36 chn=1  rgb=15:0:0 lcd_pos=1:1:2 label=“^std_btn”
EVENT_BUTTON  id=1002  fwd_id=LED:1026  type=NoteOn key=37 chn=1  rgb=15:0:0 lcd_pos=2:1:2 label=“^std_btn”
EVENT_BUTTON  id=1003  fwd_id=LED:1027  type=NoteOn key=38 chn=1  rgb=15:0:0 lcd_pos=3:1:2 label=“^std_btn”
EVENT_BUTTON  id=1004  fwd_id=LED:1028  type=NoteOn key=39 chn=1  rgb=15:0:0 lcd_pos=4:1:2 label=“^std_btn”
EVENT_BUTTON  id=1005  fwd_id=LED:1029  type=NoteOn key=40 chn=1  rgb=15:0:0 lcd_pos=5:1:2 label=“^std_btn”
EVENT_BUTTON  id=1006  fwd_id=LED:1030  type=NoteOn key=41 chn=1  rgb=15:0:0 lcd_pos=6:1:2 label=“^std_btn”
EVENT_BUTTON  id=1007  fwd_id=LED:1031  type=NoteOn key=42 chn=1  rgb=15:0:0 lcd_pos=7:1:2 label=“^std_btn”
EVENT_BUTTON  id=1008  fwd_id=LED:1032  type=NoteOn key=43 chn=1  rgb=15:0:0 lcd_pos=8:1:2 label=“^std_btn”
EVENT_BUTTON  id=1009  fwd_id=LED:1033  type=NoteOn key=52 chn=1  rgb=0:15:0 lcd_pos=1:1:3 label=“^std_btn”
EVENT_BUTTON  id=1010  fwd_id=LED:1034  type=NoteOn key=53 chn=1  rgb=0:15:0 lcd_pos=2:1:3 label=“^std_btn”
EVENT_BUTTON  id=1011  fwd_id=LED:1035  type=NoteOn key=54 chn=1  rgb=0:15:0 lcd_pos=3:1:3 label=“^std_btn”
EVENT_BUTTON  id=1012  fwd_id=LED:1036  type=NoteOn key=55 chn=1  rgb=0:15:0 lcd_pos=4:1:3 label=“^std_btn”
EVENT_BUTTON  id=1013  fwd_id=LED:1037  type=NoteOn key=56 chn=1  rgb=0:15:0 lcd_pos=5:1:3 label=“^std_btn”
EVENT_BUTTON  id=1014  fwd_id=LED:1038  type=NoteOn key=57 chn=1  rgb=0:15:0 lcd_pos=6:1:3 label=“^std_btn”
EVENT_BUTTON  id=1015  fwd_id=LED:1039  type=NoteOn key=58 chn=1  rgb=0:15:0 lcd_pos=7:1:3 label=“^std_btn”
EVENT_BUTTON  id=1016  fwd_id=LED:1040  type=NoteOn key=59 chn=1  rgb=0:15:0 lcd_pos=8:1:3 label=“^std_btn”
EVENT_BUTTON  id=1017  fwd_id=LED:1041  type=NoteOn key=68 chn=1  rgb=0:0:15 lcd_pos=1:1:4 label=“^std_btn”
EVENT_BUTTON  id=1018  fwd_id=LED:1042  type=NoteOn key=69 chn=1  rgb=0:0:15 lcd_pos=2:1:4 label=“^std_btn”
EVENT_BUTTON  id=1019  fwd_id=LED:1043  type=NoteOn key=70 chn=1  rgb=0:0:15 lcd_pos=3:1:4 label=“^std_btn”
EVENT_BUTTON  id=1020  fwd_id=LED:1044  type=NoteOn key=71 chn=1  rgb=0:0:15 lcd_pos=4:1:4 label=“^std_btn”
EVENT_BUTTON  id=1021  fwd_id=LED:1045  type=NoteOn key=72 chn=1  rgb=0:0:15 lcd_pos=5:1:4 label=“^std_btn”
EVENT_BUTTON  id=1022  fwd_id=LED:1046  type=NoteOn key=73 chn=1  rgb=0:0:15 lcd_pos=6:1:4 label=“^std_btn”
EVENT_BUTTON  id=1023  fwd_id=LED:1047  type=NoteOn key=74 chn=1  rgb=0:0:15 lcd_pos=7:1:4 label=“^std_btn”
EVENT_BUTTON  id=1024  fwd_id=LED:1048  type=NoteOn key=75 chn=1  rgb=0:0:15 lcd_pos=8:1:4 label=“^std_btn”
Im using my VLR-8oDisp board to show the Values of every item. You can change it to any other type of Display-setting… lcd_pos=6:1:5 {6=Display number : 1= X-axis : 5= Y-Axis (row)}
For any Comment or Question: Forum Thread???




