/* Stripboard layout for Seedbox v0.1. Holes are [col,row], 0-based, seen from the COMPONENT side. Copper strips run left to right along each row. The Pico's pin 1 and 40 sit on the first strip (A), so its USB end is flush with the board edge. */ var LAYOUT=(function(){ var W=34, H=28; var cuts=[]; function cut(c,r0,r1){ for(var r=r0;r<=r1;r++) cuts.push([c,r]); } cut(15,0,19); // under the Pico: separates its left and right pin rows cut(5,20,24); // opto: left pins / right pins, IN4 strip cut(13,20,23); // opto area / MIDI OUT area (strip Y stays whole: it carries GP4) cut(24,20,22); // MIDI OUT A / MIDI OUT B cut(22,23,23); // strip X: GP0 side / KIT tip side, R4 lies across this cut var LP=['GP0','GP1','GND','GP2','GP3','GP4','GP5','GND','GP6','GP7','GP8','GP9','GND','GP10','GP11','GP12','GP13','GND','GP14','GP15']; var RP=['VBUS','VSYS','GND','3V3_EN','3V3','ADC_VREF','GP28','AGND','GP27','GP26','RUN','GP22','GND','GP21','GP20','GP19','GP18','GND','GP17','GP16']; var pico={id:'pico',kind:'pico',pins:[]}; for(var i=0;i<20;i++){ pico.pins.push({h:[12,i],n:LP[i],num:i+1}); pico.pins.push({h:[19,i],n:RP[i],num:40-i}); } var parts=[pico, {id:'U1',kind:'dip8',label:'6N137',pins:[{h:[4,20],n:'1 NC'},{h:[4,21],n:'2 A'},{h:[4,22],n:'3 K'},{h:[4,23],n:'4 NC'},{h:[7,23],n:'5 GND'},{h:[7,22],n:'6 VO'},{h:[7,21],n:'7 VE'},{h:[7,20],n:'8 VCC'}]}, {id:'R1',kind:'res',label:'220 Ω',pins:[{h:[1,21]},{h:[1,24]}]}, {id:'D1',kind:'diode',label:'1N4148',pins:[{h:[3,21],n:'K'},{h:[3,22],n:'A'}]}, {id:'R2',kind:'res',label:'1 kΩ',pins:[{h:[9,22]},{h:[9,27]}]}, {id:'C1',kind:'cap',label:'100 nF',pins:[{h:[10,20]},{h:[10,23]}]}, {id:'R4',kind:'res',label:'10 Ω',pins:[{h:[20,23]},{h:[24,23]}]}, {id:'R5',kind:'res',label:'33 Ω ½ W',pins:[{h:[18,21]},{h:[18,27]}]}, {id:'R6',kind:'res',label:'10 Ω',pins:[{h:[27,20]},{h:[27,24]}]}, {id:'R7',kind:'res',label:'33 Ω ½ W',pins:[{h:[29,21]},{h:[29,27]}]} ]; var jumpers=[ {a:[33,0],b:[33,25],n:'5 V (VBUS) to the 5 V strip'}, {a:[31,4],b:[31,27],n:'3V3 to the 3V3 strip'}, {a:[32,17],b:[32,26],n:'GND to the GND strip'}, {a:[12,20],b:[12,25],n:'opto VCC to 5 V'}, {a:[9,20],b:[9,21],n:'opto enable (pin 7) to VCC (pin 8): the 6N137 output only works with pin 7 high'}, {a:[11,23],b:[11,26],n:'opto GND to GND'}, {a:[8,22],b:[8,1],n:'opto out to GP1 (MIDI RX), strip B'}, {a:[14,0],b:[14,23],n:'GP0 (TX KIT) to strip X (R4), straight down under the Pico between its headers'}, {a:[13,5],b:[13,24],n:'GP4 (TX SYNTH) to strip Y (R6), straight down under the Pico between its headers'} ]; /* Off-board wires. col = spool colour role. to = where the other end goes. */ var wires=[ // MIDI jacks: 3.5 mm TRS, Type A (tip = DIN pin 5, ring = pin 4, sleeve = pin 2) {h:[0,24],col:'blue',to:'MIDI IN jack · ring (pin 4)'}, {h:[0,22],col:'blue',to:'MIDI IN jack · tip (pin 5)'}, {h:[25,23],col:'blue',to:'OUT KIT jack · tip (pin 5)'}, {h:[21,21],col:'red',to:'OUT KIT jack · ring (pin 4)'}, {h:[21,26],col:'black',to:'OUT KIT jack · sleeve (pin 2)'}, {h:[30,20],col:'blue',to:'OUT SYNTH jack · tip (pin 5)'}, {h:[30,21],col:'red',to:'OUT SYNTH jack · ring (pin 4)'}, {h:[30,26],col:'black',to:'OUT SYNTH jack · sleeve (pin 2)'}, // screen {h:[26,13],col:'blue',to:'LCD · RST (pin 4)'}, {h:[26,18],col:'blue',to:'LCD · SCE (pin 3)'}, {h:[26,14],col:'blue',to:'LCD · D/C (pin 5)'}, {h:[26,15],col:'blue',to:'LCD · DN/MOSI (pin 6)'}, {h:[26,16],col:'blue',to:'LCD · SCLK (pin 7)'}, {h:[22,27],col:'red',to:'LCD · VCC (pin 1)'}, {h:[22,26],col:'black',to:'LCD · GND (pin 2)'}, {h:[21,27],col:'red',to:'LCD · LED (pin 8) through 330 Ω'}, // encoder {h:[1,13],col:'green',to:'Encoder · SIA'}, {h:[1,14],col:'green',to:'Encoder · SIB'}, {h:[1,15],col:'green',to:'Encoder · SW'}, {h:[3,27],col:'red',to:'Encoder · VCC'}, {h:[3,26],col:'black',to:'Encoder · GND'}, // pots {h:[26,9],col:'blue',to:'ENERGY pot · middle lug'}, {h:[26,8],col:'blue',to:'DRIFT pot · middle lug'}, {h:[24,27],col:'red',to:'Pots · right lugs (chain both)'}, {h:[26,7],col:'black',to:'Pots · left lugs (chain both)'}, // buttons {h:[1,16],col:'yellow',to:'SEED · one lug'}, {h:[1,18],col:'yellow',to:'RUN toggle · middle lug'}, {h:[5,26],col:'black',to:'Panel ground bus · SEED other lug, RUN one outer lug'}, {h:[1,3],col:'yellow',to:'Matrix row 1 (KICK, KICK 2, SNARE)'}, {h:[1,4],col:'yellow',to:'Matrix row 2 (HAT, HAT 16, PERC, GHOST)'}, {h:[1,6],col:'yellow',to:'Matrix row 3 (BASS, MEL A, MEL B, PAD)'}, {h:[1,8],col:'green',to:'Matrix column 1 (KICK, HAT, BASS)'}, {h:[1,9],col:'green',to:'Matrix column 2 (KICK 2, HAT 16, MEL A)'}, {h:[1,10],col:'green',to:'Matrix column 3 (SNARE, PERC, MEL B)'}, {h:[1,11],col:'green',to:'Matrix column 4 (GHOST, PAD)'} ]; return {W:W,H:H,cuts:cuts,parts:parts,jumpers:jumpers,wires:wires}; })(); if(typeof module!=='undefined') module.exports=LAYOUT;