├── README.md ├── active-electrode ├── _autosave-active-electrode.kicad_pcb ├── active-electrode-F_Cu.svg ├── active-electrode-cache.lib ├── active-electrode.bak ├── active-electrode.cmp ├── active-electrode.kicad_pcb ├── active-electrode.kicad_pcb-bak ├── active-electrode.net ├── active-electrode.pro ├── active-electrode.sch └── active-electrodes.pdf ├── amplifier-board.png ├── amplifier-board ├── DIL8.lib ├── amp-board-F_Cu.png ├── amp-board-F_Cu.svg ├── amp-board-F_Cu.xcf ├── amp-board-cache.lib ├── amp-board.bak ├── amp-board.cmp ├── amp-board.kicad_pcb ├── amp-board.kicad_pcb-bak ├── amp-board.lst ├── amp-board.net ├── amp-board.pro └── amp-board.sch ├── bootloader ├── Makefile ├── main.c └── nbproject │ ├── Makefile-default.mk │ ├── Makefile-impl.mk │ ├── Makefile-local-default.mk │ └── Makefile-variables.mk ├── eegdata ├── Makefile ├── circular_buffer.c ├── circular_buffer.h ├── cvanalyze.cpp ├── cvanalyze.h ├── eegdata.c ├── eegdata.h ├── eegdata_callbacks.c ├── eegdatarxtx.c ├── eegdatarxtx.h ├── grid.png └── ui3.ui ├── firmware ├── Makefile ├── main.c └── nbproject │ ├── Makefile-default.mk │ ├── Makefile-impl.mk │ ├── Makefile-local-default.mk │ └── Makefile-variables.mk ├── noncontact-electrodes ├── 1PINSMD.kicad_mod ├── 1PIN_SMD.kicad_mod ├── _autosave-noncontact-electrode.kicad_pcb ├── _autosave-noncontact-electrode.kicad_pcb-bak ├── _autosave-noncontact-electrode.pro ├── noncontact-electrode-cache.lib ├── noncontact-electrode.bak ├── noncontact-electrodes-F_Cu.png ├── noncontact-electrodes-F_Cu.svg ├── noncontact-electrodes-cache.lib ├── noncontact-electrodes.bak ├── noncontact-electrodes.cmp ├── noncontact-electrodes.kicad_pcb ├── noncontact-electrodes.kicad_pcb-bak ├── noncontact-electrodes.net ├── noncontact-electrodes.pro ├── noncontact-electrodes.sch └── smd_pads.mod └── telepathy-kicad ├── C_SDM_4x4.mod ├── C_SMD_7x7.mod ├── DIL16.lib ├── DIL18.lib ├── DIL28.lib ├── DIL8.lib ├── HM-10.mod ├── MODULE34.lib ├── SO18E.mod ├── SO18W.mod ├── SO28.mod ├── SOT89-3_Housing_Handsoldering_RevA_02Sep2012.mod ├── SOT89-3_SOT89-5_Housing_RevA_02Sep2012.mod ├── mbt2222a.lib ├── mcp41x1.lib ├── millproject ├── telepathy ├── telepathy-cache.lib ├── telepathy.000 ├── telepathy.bak ├── telepathy.brd ├── telepathy.cmp ├── telepathy.net ├── telepathy.pro ├── telepathy.sch ├── telepathy.xml └── webtronics.mod /README.md: -------------------------------------------------------------------------------- 1 | THIS PROJECT IS DISCONTINUED FOR NOW. 2 | 3 | The research is proving more difficult than I have hoped and there are alternatives available. 4 | 5 | 6 | 7 | This is telepathy the mostly HARDWARE project not telepathy the software project 8 | Sorry for my lack of creativity in choosing a name. 9 | 10 | This poject contains an EXPERIMENTAL wireless eeg circuit. 11 | 12 | GOAL 13 | ------ 14 | This project is under development so it is not working. I welcome suggestions. 15 | 16 | 17 | The goal is to do brain computer interface experments.I want to make a wireless headband that runs 18 | on a battery. 19 | 20 | It contains. 21 | 22 | STATUS 23 | ------ 24 | I made one pcb but it didn't work. I'm still interested in the project so I am currently doing 25 | a complete redesign of the hardware. I will be etching the boards myself they will be single sided SMT 26 | and divided in sections.Here are some of the changes I'm planning. 27 | 28 | 1. Split the device into sections for power, amplifier and input/output. 29 | 2. Replace the wireless module and pic with a wireless capable microcontroller. (telepathy with esp8266?) 30 | 3. The whole design will be based on active electrodes. 31 | 32 | 33 | ELECTRODES: 34 | 35 | I have 2 designs for active electrodes. Active dry electrodes and active noncontact electrodes. 36 | The dry electrodes are based on the openeeg design. The noncontact electrodes are based on a design I found here: 37 | 38 | http://www.isn.ucsd.edu/pubs/bsn10.pdf 39 | 40 | I'm assuming it is creative commons. 41 | 42 | AMPLIFIER BOARD: 43 | 44 | The amplifier board is under testing I plan to use one filter for aliasing and filter the rest in software. None 45 | of the resistor and capacitor values are decided yet. 46 | I have the source voltage at 3.3v from a cell phone battery. So far I can pick up a heartbeat . 47 | 48 | 49 | EEGDATA: 50 | 51 | A GUI software program for linux that retreives the data from the /dev/rfcomm0 bluetooth serial terminal 52 | and analyzes and displays the data. I started the project in C but it was more convenient to write the data analysis portion in C++. 53 | 54 | On my system I use these commands to setup the bluetooth serial port. 55 | 56 | #find the address 57 | $hcitool scan 58 | #bind the address 59 | $sudo rfcomm bind rfcomm0 device_address 60 | 61 | For BLE 62 | 63 | #find the adapter address 64 | $hcitool dev 65 | #find the device address 66 | $sudo hcitool -i hci0 lescan 67 | 68 | 69 | Then you need to run any programs that access serial terminal as root unless you have sufficient permission. 70 | 71 | 72 | 73 | FIRMWARE: 74 | 75 | 76 | The firmware is for a PIC microcontroller 16f1788 and a bluetooth serial module hc-05. 77 | 78 | I have wrote a bootloader so I can more easily install firmware.The bootloader sets the hc-05 up at 38400 and waits for a program. 79 | When the program successfully loads it sets a byte in ee memory.when the FLASH command is sent to the program it erases the byte 80 | so the bootloader will again wait for a progam. You can use a standard serial terminal to send the program but you have to set a long delay (~30ms) between characters so the program has time to write. Custom coding the serial interface for the bootloader would be faster but this works for now. 81 | 82 | Hopefully I have no glitches in the bootloader or a firmware update could brick the device! 83 | If so the glitch would have to be fixed and the bootloader reprogrammed. 84 | 85 | 86 | The microcontroller first sets up the hc-05 at 230400, then wait for a request.When it receives a request it begins sampling the analog to digital converter and sending the samples to the hc-05. 87 | 88 | I have included the makefiles so they should build with the make command but they may require modification . MPLABX should be able to load them as a makefile project but I have not tried. 89 | 90 | 91 | SCHEMATIC: 92 | 93 | I'm developing the amplifier board first. amplifier-board.png is the current design. 94 | 95 | 96 | DISCLAIMER: 97 | 98 | This project is an EXPERIMENT. I make no claims that it actually does anything.It may be harmful to 99 | individuals or property. 100 | THIS DEVICE AND SOFTWARE MAY BE DANGEROUS. DO NOT BUILD IT. 101 | -------------------------------------------------------------------------------- /active-electrode/active-electrode-cache.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.3 Date: Mon 01 Feb 2016 09:08:17 AM CST 2 | #encoding utf-8 3 | # 4 | # +5V 5 | # 6 | DEF +5V #PWR 0 40 Y Y 1 F P 7 | F0 "#PWR" 0 90 20 H I C CNN 8 | F1 "+5V" 0 90 30 H V C CNN 9 | F2 "~" 0 0 60 H V C CNN 10 | F3 "~" 0 0 60 H V C CNN 11 | DRAW 12 | X +5V 1 0 0 0 U 20 20 0 0 W N 13 | C 0 50 20 0 1 0 N 14 | P 4 0 1 0 0 0 0 30 0 30 0 30 N 15 | ENDDRAW 16 | ENDDEF 17 | # 18 | # C 19 | # 20 | DEF C C 0 10 N Y 1 F N 21 | F0 "C" 0 100 40 H V L CNN 22 | F1 "C" 6 -85 40 H V L CNN 23 | F2 "~" 38 -150 30 H V C CNN 24 | F3 "~" 0 0 60 H V C CNN 25 | $FPLIST 26 | SM* 27 | C? 28 | C1-1 29 | $ENDFPLIST 30 | DRAW 31 | P 2 0 1 20 -80 -30 80 -30 N 32 | P 2 0 1 20 -80 30 80 30 N 33 | X ~ 1 0 200 170 D 40 40 1 1 P 34 | X ~ 2 0 -200 170 U 40 40 1 1 P 35 | ENDDRAW 36 | ENDDEF 37 | # 38 | # CONN_1 39 | # 40 | DEF ~CONN_1 P 0 30 N N 1 F N 41 | F0 "P" 80 0 40 H V L CNN 42 | F1 "CONN_1" 0 55 30 H I C CNN 43 | F2 "~" 0 0 60 H V C CNN 44 | F3 "~" 0 0 60 H V C CNN 45 | DRAW 46 | C 0 0 31 0 1 0 N 47 | P 2 0 1 0 -30 0 -50 0 N 48 | X 1 1 -150 0 100 R 60 60 1 1 P 49 | ENDDRAW 50 | ENDDEF 51 | # 52 | # GND 53 | # 54 | DEF ~GND #PWR 0 0 Y Y 1 F P 55 | F0 "#PWR" 0 0 30 H I C CNN 56 | F1 "GND" 0 -70 30 H I C CNN 57 | F2 "~" 0 0 60 H V C CNN 58 | F3 "~" 0 0 60 H V C CNN 59 | DRAW 60 | P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N 61 | X GND 1 0 0 0 U 30 30 1 1 W N 62 | ENDDRAW 63 | ENDDEF 64 | # 65 | # LM358 66 | # 67 | DEF LM358 U 0 20 Y Y 2 F N 68 | F0 "U" -50 200 60 H V L CNN 69 | F1 "LM358" -50 -250 60 H V L CNN 70 | F2 "~" 0 0 60 H V C CNN 71 | F3 "~" 0 0 60 H V C CNN 72 | ALIAS LMC6062 LMC6082 LM358N TL072 TL082 73 | DRAW 74 | P 4 0 1 6 -200 200 200 0 -200 -200 -200 200 f 75 | X V- 4 -100 -400 250 U 40 40 0 1 W 76 | X V+ 8 -100 400 250 D 40 40 0 1 W 77 | X ~ 1 500 0 300 L 40 40 1 1 O 78 | X - 2 -500 -100 300 R 40 40 1 1 I 79 | X + 3 -500 100 300 R 40 40 1 1 I 80 | X + 5 -500 100 300 R 40 40 2 1 I 81 | X - 6 -500 -100 300 R 40 40 2 1 I 82 | X ~ 7 500 0 300 L 40 40 2 1 O 83 | ENDDRAW 84 | ENDDEF 85 | # 86 | # R 87 | # 88 | DEF R R 0 0 N Y 1 F N 89 | F0 "R" 80 0 40 V V C CNN 90 | F1 "R" 7 1 40 V V C CNN 91 | F2 "~" -70 0 30 V V C CNN 92 | F3 "~" 0 0 30 H V C CNN 93 | $FPLIST 94 | R? 95 | SM0603 96 | SM0805 97 | R?-* 98 | SM1206 99 | $ENDFPLIST 100 | DRAW 101 | S -40 150 40 -150 0 1 12 N 102 | X ~ 1 0 250 100 D 60 60 1 1 P 103 | X ~ 2 0 -250 100 U 60 60 1 1 P 104 | ENDDRAW 105 | ENDDEF 106 | # 107 | #End Library 108 | -------------------------------------------------------------------------------- /active-electrode/active-electrode.bak: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 2 2 | LIBS:power 3 | LIBS:device 4 | LIBS:transistors 5 | LIBS:conn 6 | LIBS:linear 7 | LIBS:regul 8 | LIBS:74xx 9 | LIBS:cmos4000 10 | LIBS:adc-dac 11 | LIBS:memory 12 | LIBS:xilinx 13 | LIBS:special 14 | LIBS:microcontrollers 15 | LIBS:dsp 16 | LIBS:microchip 17 | LIBS:analog_switches 18 | LIBS:motorola 19 | LIBS:texas 20 | LIBS:intel 21 | LIBS:audio 22 | LIBS:interface 23 | LIBS:digital-audio 24 | LIBS:philips 25 | LIBS:display 26 | LIBS:cypress 27 | LIBS:siliconi 28 | LIBS:opto 29 | LIBS:atmel 30 | LIBS:contrib 31 | LIBS:valves 32 | LIBS:active-electrode-cache 33 | EELAYER 27 0 34 | EELAYER END 35 | $Descr A4 11693 8268 36 | encoding utf-8 37 | Sheet 1 1 38 | Title "" 39 | Date "15 aug 2015" 40 | Rev "" 41 | Comp "" 42 | Comment1 "" 43 | Comment2 "" 44 | Comment3 "" 45 | Comment4 "" 46 | $EndDescr 47 | $Comp 48 | L TL072 U1 49 | U 1 1 5592ECDD 50 | P 3600 2450 51 | F 0 "U1" H 3550 2650 60 0000 L CNN 52 | F 1 "TLC272" H 3550 2200 60 0000 L CNN 53 | F 2 "" H 3600 2450 60 0000 C CNN 54 | F 3 "" H 3600 2450 60 0000 C CNN 55 | 1 3600 2450 56 | 1 0 0 -1 57 | $EndComp 58 | $Comp 59 | L TL072 U1 60 | U 2 1 5592ED3E 61 | P 1550 2350 62 | F 0 "U1" H 1500 2550 60 0000 L CNN 63 | F 1 "TLC272" H 1500 2100 60 0000 L CNN 64 | F 2 "" H 1550 2350 60 0000 C CNN 65 | F 3 "" H 1550 2350 60 0000 C CNN 66 | 2 1550 2350 67 | 1 0 0 -1 68 | $EndComp 69 | $Comp 70 | L R R1 71 | U 1 1 5592EDD4 72 | P 4100 3650 73 | F 0 "R1" V 4180 3650 40 0000 C CNN 74 | F 1 "10k" V 4107 3651 40 0000 C CNN 75 | F 2 "~" V 4030 3650 30 0000 C CNN 76 | F 3 "~" H 4100 3650 30 0000 C CNN 77 | 1 4100 3650 78 | 1 0 0 -1 79 | $EndComp 80 | $Comp 81 | L R R2 82 | U 1 1 5592EDE3 83 | P 4550 2450 84 | F 0 "R2" V 4630 2450 40 0000 C CNN 85 | F 1 "100" V 4557 2451 40 0000 C CNN 86 | F 2 "~" V 4480 2450 30 0000 C CNN 87 | F 3 "~" H 4550 2450 30 0000 C CNN 88 | 1 4550 2450 89 | 0 -1 -1 0 90 | $EndComp 91 | $Comp 92 | L C C3 93 | U 1 1 5592EDF2 94 | P 4100 4250 95 | F 0 "C3" H 4100 4350 40 0000 L CNN 96 | F 1 "100pf" H 4106 4165 40 0000 L CNN 97 | F 2 "~" H 4138 4100 30 0000 C CNN 98 | F 3 "~" H 4100 4250 60 0000 C CNN 99 | 1 4100 4250 100 | 1 0 0 -1 101 | $EndComp 102 | $Comp 103 | L C C2 104 | U 1 1 5592EE01 105 | P 3650 4000 106 | F 0 "C2" H 3650 4100 40 0000 L CNN 107 | F 1 "100pf" H 3656 3915 40 0000 L CNN 108 | F 2 "~" H 3688 3850 30 0000 C CNN 109 | F 3 "~" H 3650 4000 60 0000 C CNN 110 | 1 3650 4000 111 | 0 -1 -1 0 112 | $EndComp 113 | $Comp 114 | L C C1 115 | U 1 1 5592EE10 116 | P 2400 2300 117 | F 0 "C1" H 2400 2400 40 0000 L CNN 118 | F 1 "10nf" H 2406 2215 40 0000 L CNN 119 | F 2 "~" H 2438 2150 30 0000 C CNN 120 | F 3 "~" H 2400 2300 60 0000 C CNN 121 | 1 2400 2300 122 | 1 0 0 -1 123 | $EndComp 124 | $Comp 125 | L GND #PWR01 126 | U 1 1 5592EE29 127 | P 3500 3050 128 | F 0 "#PWR01" H 3500 3050 30 0001 C CNN 129 | F 1 "GND" H 3500 2980 30 0001 C CNN 130 | F 2 "" H 3500 3050 60 0000 C CNN 131 | F 3 "" H 3500 3050 60 0000 C CNN 132 | 1 3500 3050 133 | 1 0 0 -1 134 | $EndComp 135 | $Comp 136 | L +5V #PWR02 137 | U 1 1 5592EE38 138 | P 3500 1800 139 | F 0 "#PWR02" H 3500 1890 20 0001 C CNN 140 | F 1 "+5V" H 3500 1890 30 0000 C CNN 141 | F 2 "" H 3500 1800 60 0000 C CNN 142 | F 3 "" H 3500 1800 60 0000 C CNN 143 | 1 3500 1800 144 | 1 0 0 -1 145 | $EndComp 146 | $Comp 147 | L GND #PWR03 148 | U 1 1 5592EE9B 149 | P 4100 4750 150 | F 0 "#PWR03" H 4100 4750 30 0001 C CNN 151 | F 1 "GND" H 4100 4680 30 0001 C CNN 152 | F 2 "" H 4100 4750 60 0000 C CNN 153 | F 3 "" H 4100 4750 60 0000 C CNN 154 | 1 4100 4750 155 | 1 0 0 -1 156 | $EndComp 157 | $Comp 158 | L +5V #PWR04 159 | U 1 1 5592EEFD 160 | P 2400 1950 161 | F 0 "#PWR04" H 2400 2040 20 0001 C CNN 162 | F 1 "+5V" H 2400 2040 30 0000 C CNN 163 | F 2 "" H 2400 1950 60 0000 C CNN 164 | F 3 "" H 2400 1950 60 0000 C CNN 165 | 1 2400 1950 166 | 1 0 0 -1 167 | $EndComp 168 | $Comp 169 | L GND #PWR05 170 | U 1 1 5592EF0C 171 | P 2400 2700 172 | F 0 "#PWR05" H 2400 2700 30 0001 C CNN 173 | F 1 "GND" H 2400 2630 30 0001 C CNN 174 | F 2 "" H 2400 2700 60 0000 C CNN 175 | F 3 "" H 2400 2700 60 0000 C CNN 176 | 1 2400 2700 177 | 1 0 0 -1 178 | $EndComp 179 | $Comp 180 | L CONN_1 P4 181 | U 1 1 5592EFD8 182 | P 3000 1500 183 | F 0 "P4" H 3080 1500 40 0000 L CNN 184 | F 1 "CONN_1" H 3000 1555 30 0001 C CNN 185 | F 2 "" H 3000 1500 60 0000 C CNN 186 | F 3 "" H 3000 1500 60 0000 C CNN 187 | 1 3000 1500 188 | 1 0 0 -1 189 | $EndComp 190 | $Comp 191 | L CONN_1 P3 192 | U 1 1 5592EFF6 193 | P 3000 1250 194 | F 0 "P3" H 3080 1250 40 0000 L CNN 195 | F 1 "CONN_1" H 3000 1305 30 0001 C CNN 196 | F 2 "" H 3000 1250 60 0000 C CNN 197 | F 3 "" H 3000 1250 60 0000 C CNN 198 | 1 3000 1250 199 | 1 0 0 -1 200 | $EndComp 201 | $Comp 202 | L GND #PWR06 203 | U 1 1 5592F0F6 204 | P 4850 3200 205 | F 0 "#PWR06" H 4850 3200 30 0001 C CNN 206 | F 1 "GND" H 4850 3130 30 0001 C CNN 207 | F 2 "" H 4850 3200 60 0000 C CNN 208 | F 3 "" H 4850 3200 60 0000 C CNN 209 | 1 4850 3200 210 | 1 0 0 -1 211 | $EndComp 212 | $Comp 213 | L +5V #PWR07 214 | U 1 1 5592F105 215 | P 5000 1550 216 | F 0 "#PWR07" H 5000 1640 20 0001 C CNN 217 | F 1 "+5V" H 5000 1640 30 0000 C CNN 218 | F 2 "" H 5000 1550 60 0000 C CNN 219 | F 3 "" H 5000 1550 60 0000 C CNN 220 | 1 5000 1550 221 | 1 0 0 -1 222 | $EndComp 223 | Wire Wire Line 224 | 3500 2050 3500 1800 225 | Wire Wire Line 226 | 3500 2850 3500 3050 227 | Wire Wire Line 228 | 2050 2350 2050 3050 229 | Wire Wire Line 230 | 2050 3050 1050 3050 231 | Wire Wire Line 232 | 1050 3050 1050 2450 233 | Wire Wire Line 234 | 4100 3900 4100 4050 235 | Wire Wire Line 236 | 4100 4450 4100 4750 237 | Wire Wire Line 238 | 3850 4000 4100 4000 239 | Connection ~ 4100 4000 240 | Wire Wire Line 241 | 2400 2700 2400 2500 242 | Wire Wire Line 243 | 2400 2100 2400 1950 244 | Wire Wire Line 245 | 3450 4000 2900 4000 246 | Wire Wire Line 247 | 2700 2350 3100 2350 248 | Wire Wire Line 249 | 5050 2950 4850 2950 250 | Wire Wire Line 251 | 4850 2950 4850 3200 252 | Wire Wire Line 253 | 5100 1900 5000 1900 254 | Wire Wire Line 255 | 5000 1900 5000 1550 256 | $Comp 257 | L CONN_1 P5 258 | U 1 1 55931154 259 | P 5200 2450 260 | F 0 "P5" H 5280 2450 40 0000 L CNN 261 | F 1 "CONN_1" H 5200 2505 30 0001 C CNN 262 | F 2 "" H 5200 2450 60 0000 C CNN 263 | F 3 "" H 5200 2450 60 0000 C CNN 264 | 1 5200 2450 265 | 1 0 0 -1 266 | $EndComp 267 | $Comp 268 | L CONN_1 P7 269 | U 1 1 55931163 270 | P 5250 1900 271 | F 0 "P7" H 5330 1900 40 0000 L CNN 272 | F 1 "CONN_1" H 5250 1955 30 0001 C CNN 273 | F 2 "" H 5250 1900 60 0000 C CNN 274 | F 3 "" H 5250 1900 60 0000 C CNN 275 | 1 5250 1900 276 | 1 0 0 -1 277 | $EndComp 278 | $Comp 279 | L CONN_1 P6 280 | U 1 1 55931172 281 | P 5200 2950 282 | F 0 "P6" H 5280 2950 40 0000 L CNN 283 | F 1 "CONN_1" H 5200 3005 30 0001 C CNN 284 | F 2 "" H 5200 2950 60 0000 C CNN 285 | F 3 "" H 5200 2950 60 0000 C CNN 286 | 1 5200 2950 287 | 1 0 0 -1 288 | $EndComp 289 | Wire Wire Line 290 | 4800 2450 5050 2450 291 | Connection ~ 2700 1250 292 | Connection ~ 2700 1500 293 | Wire Wire Line 294 | 2700 1250 2700 2350 295 | Wire Wire Line 296 | 2600 1500 2850 1500 297 | Wire Wire Line 298 | 2600 1250 2850 1250 299 | $Comp 300 | L CONN_1 P1 301 | U 1 1 5592EFE7 302 | P 2450 1250 303 | F 0 "P1" H 2530 1250 40 0000 L CNN 304 | F 1 "CONN_1" H 2450 1305 30 0001 C CNN 305 | F 2 "" H 2450 1250 60 0000 C CNN 306 | F 3 "" H 2450 1250 60 0000 C CNN 307 | 1 2450 1250 308 | -1 0 0 -1 309 | $EndComp 310 | $Comp 311 | L CONN_1 P2 312 | U 1 1 5592EFC9 313 | P 2450 1500 314 | F 0 "P2" H 2530 1500 40 0000 L CNN 315 | F 1 "CONN_1" H 2450 1555 30 0001 C CNN 316 | F 2 "" H 2450 1500 60 0000 C CNN 317 | F 3 "" H 2450 1500 60 0000 C CNN 318 | 1 2450 1500 319 | -1 0 0 1 320 | $EndComp 321 | $EndSCHEMATC 322 | -------------------------------------------------------------------------------- /active-electrode/active-electrode.cmp: -------------------------------------------------------------------------------- 1 | Cmp-Mod V01 Created by CvPcb (22-Jun-2014 BZR 4027)-stable date = Tue 30 Jun 2015 05:01:52 PM CDT 2 | 3 | BeginCmp 4 | TimeStamp = /5592EE10; 5 | Reference = C1; 6 | ValeurCmp = C; 7 | IdModule = SM0805; 8 | EndCmp 9 | 10 | BeginCmp 11 | TimeStamp = /5592EE01; 12 | Reference = C2; 13 | ValeurCmp = C; 14 | IdModule = SM0805; 15 | EndCmp 16 | 17 | BeginCmp 18 | TimeStamp = /5592EDF2; 19 | Reference = C3; 20 | ValeurCmp = C; 21 | IdModule = SM0805; 22 | EndCmp 23 | 24 | BeginCmp 25 | TimeStamp = /5592EFE7; 26 | Reference = P1; 27 | ValeurCmp = CONN_1; 28 | IdModule = SIL-1; 29 | EndCmp 30 | 31 | BeginCmp 32 | TimeStamp = /5592EFC9; 33 | Reference = P2; 34 | ValeurCmp = CONN_1; 35 | IdModule = SIL-1; 36 | EndCmp 37 | 38 | BeginCmp 39 | TimeStamp = /5592EFF6; 40 | Reference = P3; 41 | ValeurCmp = CONN_1; 42 | IdModule = SIL-1; 43 | EndCmp 44 | 45 | BeginCmp 46 | TimeStamp = /5592EFD8; 47 | Reference = P4; 48 | ValeurCmp = CONN_1; 49 | IdModule = SIL-1; 50 | EndCmp 51 | 52 | BeginCmp 53 | TimeStamp = /55931154; 54 | Reference = P5; 55 | ValeurCmp = CONN_1; 56 | IdModule = 1PIN_SMD; 57 | EndCmp 58 | 59 | BeginCmp 60 | TimeStamp = /55931172; 61 | Reference = P6; 62 | ValeurCmp = CONN_1; 63 | IdModule = 1PIN_SMD; 64 | EndCmp 65 | 66 | BeginCmp 67 | TimeStamp = /55931163; 68 | Reference = P7; 69 | ValeurCmp = CONN_1; 70 | IdModule = 1PIN_SMD; 71 | EndCmp 72 | 73 | BeginCmp 74 | TimeStamp = /5592EDD4; 75 | Reference = R1; 76 | ValeurCmp = R; 77 | IdModule = SM0805; 78 | EndCmp 79 | 80 | BeginCmp 81 | TimeStamp = /5592EDE3; 82 | Reference = R2; 83 | ValeurCmp = R; 84 | IdModule = SM0805; 85 | EndCmp 86 | 87 | BeginCmp 88 | TimeStamp = /5592ECDD; 89 | Reference = U1; 90 | ValeurCmp = TLC272; 91 | IdModule = SO8E; 92 | EndCmp 93 | 94 | EndListe 95 | -------------------------------------------------------------------------------- /active-electrode/active-electrode.net: -------------------------------------------------------------------------------- 1 | (export (version D) 2 | (design 3 | (source /home/electron/projects/telepathy/active-electrode/active-electrode.sch) 4 | (date "Tue 30 Jun 2015 05:01:03 PM CDT") 5 | (tool "eeschema (22-Jun-2014 BZR 4027)-stable")) 6 | (components 7 | (comp (ref U1) 8 | (value TLC272) 9 | (libsource (lib linear) (part TL072)) 10 | (sheetpath (names /) (tstamps /)) 11 | (tstamp 5592ECDD)) 12 | (comp (ref R1) 13 | (value R) 14 | (libsource (lib device) (part R)) 15 | (sheetpath (names /) (tstamps /)) 16 | (tstamp 5592EDD4)) 17 | (comp (ref R2) 18 | (value R) 19 | (libsource (lib device) (part R)) 20 | (sheetpath (names /) (tstamps /)) 21 | (tstamp 5592EDE3)) 22 | (comp (ref C3) 23 | (value C) 24 | (libsource (lib device) (part C)) 25 | (sheetpath (names /) (tstamps /)) 26 | (tstamp 5592EDF2)) 27 | (comp (ref C2) 28 | (value C) 29 | (libsource (lib device) (part C)) 30 | (sheetpath (names /) (tstamps /)) 31 | (tstamp 5592EE01)) 32 | (comp (ref C1) 33 | (value C) 34 | (libsource (lib device) (part C)) 35 | (sheetpath (names /) (tstamps /)) 36 | (tstamp 5592EE10)) 37 | (comp (ref P2) 38 | (value CONN_1) 39 | (libsource (lib conn) (part CONN_1)) 40 | (sheetpath (names /) (tstamps /)) 41 | (tstamp 5592EFC9)) 42 | (comp (ref P4) 43 | (value CONN_1) 44 | (libsource (lib conn) (part CONN_1)) 45 | (sheetpath (names /) (tstamps /)) 46 | (tstamp 5592EFD8)) 47 | (comp (ref P1) 48 | (value CONN_1) 49 | (libsource (lib conn) (part CONN_1)) 50 | (sheetpath (names /) (tstamps /)) 51 | (tstamp 5592EFE7)) 52 | (comp (ref P3) 53 | (value CONN_1) 54 | (libsource (lib conn) (part CONN_1)) 55 | (sheetpath (names /) (tstamps /)) 56 | (tstamp 5592EFF6)) 57 | (comp (ref P5) 58 | (value CONN_1) 59 | (libsource (lib conn) (part CONN_1)) 60 | (sheetpath (names /) (tstamps /)) 61 | (tstamp 55931154)) 62 | (comp (ref P7) 63 | (value CONN_1) 64 | (libsource (lib conn) (part CONN_1)) 65 | (sheetpath (names /) (tstamps /)) 66 | (tstamp 55931163)) 67 | (comp (ref P6) 68 | (value CONN_1) 69 | (libsource (lib conn) (part CONN_1)) 70 | (sheetpath (names /) (tstamps /)) 71 | (tstamp 55931172))) 72 | (libparts 73 | (libpart (lib device) (part C) 74 | (description "Condensateur non polarise") 75 | (footprints 76 | (fp SM*) 77 | (fp C?) 78 | (fp C1-1)) 79 | (fields 80 | (field (name Reference) C) 81 | (field (name Value) C) 82 | (field (name Footprint) ~) 83 | (field (name Datasheet) ~)) 84 | (pins 85 | (pin (num 1) (name ~) (type passive)) 86 | (pin (num 2) (name ~) (type passive)))) 87 | (libpart (lib device) (part R) 88 | (description Resistance) 89 | (footprints 90 | (fp R?) 91 | (fp SM0603) 92 | (fp SM0805) 93 | (fp R?-*) 94 | (fp SM1206)) 95 | (fields 96 | (field (name Reference) R) 97 | (field (name Value) R) 98 | (field (name Footprint) ~) 99 | (field (name Datasheet) ~)) 100 | (pins 101 | (pin (num 1) (name ~) (type passive)) 102 | (pin (num 2) (name ~) (type passive)))) 103 | (libpart (lib conn) (part CONN_1) 104 | (description "1 pin") 105 | (fields 106 | (field (name Reference) P) 107 | (field (name Value) CONN_1)) 108 | (pins 109 | (pin (num 1) (name 1) (type passive)))) 110 | (libpart (lib linear) (part LM358) 111 | (description "Dual Op amp (low power)") 112 | (docs ns/lm158.pdf) 113 | (fields 114 | (field (name Reference) U) 115 | (field (name Value) LM358)) 116 | (pins 117 | (pin (num 1) (name ~) (type output)) 118 | (pin (num 2) (name -) (type input)) 119 | (pin (num 3) (name +) (type input)) 120 | (pin (num 4) (name V-) (type power_in)) 121 | (pin (num 5) (name +) (type input)) 122 | (pin (num 6) (name -) (type input)) 123 | (pin (num 7) (name ~) (type output)) 124 | (pin (num 8) (name V+) (type power_in))))) 125 | (libraries 126 | (library (logical conn) 127 | (uri /usr/share/kicad/library/conn.lib)) 128 | (library (logical device) 129 | (uri /usr/share/kicad/library/device.lib)) 130 | (library (logical linear) 131 | (uri /usr/share/kicad/library/linear.lib))) 132 | (nets 133 | (net (code 1) (name "") 134 | (node (ref U1) (pin 7)) 135 | (node (ref U1) (pin 6))) 136 | (net (code 2) (name "") 137 | (node (ref R1) (pin 2)) 138 | (node (ref C2) (pin 2)) 139 | (node (ref C3) (pin 1))) 140 | (net (code 3) (name "") 141 | (node (ref R1) (pin 1)) 142 | (node (ref U1) (pin 1)) 143 | (node (ref U1) (pin 2)) 144 | (node (ref R2) (pin 1))) 145 | (net (code 4) (name +5V) 146 | (node (ref C1) (pin 1)) 147 | (node (ref U1) (pin 8)) 148 | (node (ref P7) (pin 1))) 149 | (net (code 5) (name "") 150 | (node (ref R2) (pin 2)) 151 | (node (ref P5) (pin 1))) 152 | (net (code 6) (name GND) 153 | (node (ref C1) (pin 2)) 154 | (node (ref U1) (pin 4)) 155 | (node (ref P6) (pin 1)) 156 | (node (ref C3) (pin 2))) 157 | (net (code 7) (name "") 158 | (node (ref P4) (pin 1)) 159 | (node (ref P2) (pin 1)) 160 | (node (ref P1) (pin 1)) 161 | (node (ref P3) (pin 1)) 162 | (node (ref U1) (pin 3)) 163 | (node (ref C2) (pin 1))) 164 | (net (code 8) (name "") 165 | (node (ref U1) (pin 5))))) -------------------------------------------------------------------------------- /active-electrode/active-electrode.pro: -------------------------------------------------------------------------------- 1 | update=Tue 30 Jun 2015 02:21:22 PM CDT 2 | version=1 3 | last_client=kicad 4 | [cvpcb] 5 | version=1 6 | NetIExt=net 7 | [cvpcb/libraries] 8 | EquName1=devcms 9 | [eeschema] 10 | version=1 11 | LibDir= 12 | NetFmtName= 13 | RptD_X=0 14 | RptD_Y=100 15 | RptLab=1 16 | LabSize=60 17 | [eeschema/libraries] 18 | LibName1=power 19 | LibName2=device 20 | LibName3=transistors 21 | LibName4=conn 22 | LibName5=linear 23 | LibName6=regul 24 | LibName7=74xx 25 | LibName8=cmos4000 26 | LibName9=adc-dac 27 | LibName10=memory 28 | LibName11=xilinx 29 | LibName12=special 30 | LibName13=microcontrollers 31 | LibName14=dsp 32 | LibName15=microchip 33 | LibName16=analog_switches 34 | LibName17=motorola 35 | LibName18=texas 36 | LibName19=intel 37 | LibName20=audio 38 | LibName21=interface 39 | LibName22=digital-audio 40 | LibName23=philips 41 | LibName24=display 42 | LibName25=cypress 43 | LibName26=siliconi 44 | LibName27=opto 45 | LibName28=atmel 46 | LibName29=contrib 47 | LibName30=valves 48 | [pcbnew] 49 | version=1 50 | LastNetListRead= 51 | UseCmpFile=1 52 | PadDrill=0.600000000000 53 | PadDrillOvalY=0.600000000000 54 | PadSizeH=1.500000000000 55 | PadSizeV=1.500000000000 56 | PcbTextSizeV=1.500000000000 57 | PcbTextSizeH=1.500000000000 58 | PcbTextThickness=0.300000000000 59 | ModuleTextSizeV=1.000000000000 60 | ModuleTextSizeH=1.000000000000 61 | ModuleTextSizeThickness=0.150000000000 62 | SolderMaskClearance=0.000000000000 63 | SolderMaskMinWidth=0.000000000000 64 | DrawSegmentWidth=0.200000000000 65 | BoardOutlineThickness=0.100000000000 66 | ModuleOutlineThickness=0.150000000000 67 | [pcbnew/libraries] 68 | LibDir= 69 | LibName1=sockets 70 | LibName2=connect 71 | LibName3=discret 72 | LibName4=pin_array 73 | LibName5=divers 74 | LibName6=smd_capacitors 75 | LibName7=smd_resistors 76 | LibName8=smd_crystal&oscillator 77 | LibName9=smd_dil 78 | LibName10=smd_transistors 79 | LibName11=libcms 80 | LibName12=display 81 | LibName13=led 82 | LibName14=dip_sockets 83 | LibName15=pga_sockets 84 | LibName16=valves 85 | [general] 86 | version=1 87 | -------------------------------------------------------------------------------- /active-electrode/active-electrode.sch: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 2 2 | LIBS:power 3 | LIBS:device 4 | LIBS:transistors 5 | LIBS:conn 6 | LIBS:linear 7 | LIBS:regul 8 | LIBS:74xx 9 | LIBS:cmos4000 10 | LIBS:adc-dac 11 | LIBS:memory 12 | LIBS:xilinx 13 | LIBS:special 14 | LIBS:microcontrollers 15 | LIBS:dsp 16 | LIBS:microchip 17 | LIBS:analog_switches 18 | LIBS:motorola 19 | LIBS:texas 20 | LIBS:intel 21 | LIBS:audio 22 | LIBS:interface 23 | LIBS:digital-audio 24 | LIBS:philips 25 | LIBS:display 26 | LIBS:cypress 27 | LIBS:siliconi 28 | LIBS:opto 29 | LIBS:atmel 30 | LIBS:contrib 31 | LIBS:valves 32 | LIBS:active-electrode-cache 33 | EELAYER 27 0 34 | EELAYER END 35 | $Descr A4 11693 8268 36 | encoding utf-8 37 | Sheet 1 1 38 | Title "" 39 | Date "1 feb 2016" 40 | Rev "" 41 | Comp "" 42 | Comment1 "" 43 | Comment2 "" 44 | Comment3 "" 45 | Comment4 "" 46 | $EndDescr 47 | $Comp 48 | L TL072 U1 49 | U 1 1 5592ECDD 50 | P 3600 2450 51 | F 0 "U1" H 3550 2650 60 0000 L CNN 52 | F 1 "TLC272" H 3550 2200 60 0000 L CNN 53 | F 2 "" H 3600 2450 60 0000 C CNN 54 | F 3 "" H 3600 2450 60 0000 C CNN 55 | 1 3600 2450 56 | 1 0 0 -1 57 | $EndComp 58 | $Comp 59 | L TL072 U1 60 | U 2 1 5592ED3E 61 | P 1550 2350 62 | F 0 "U1" H 1500 2550 60 0000 L CNN 63 | F 1 "TLC272" H 1500 2100 60 0000 L CNN 64 | F 2 "" H 1550 2350 60 0000 C CNN 65 | F 3 "" H 1550 2350 60 0000 C CNN 66 | 2 1550 2350 67 | 1 0 0 -1 68 | $EndComp 69 | $Comp 70 | L R R1 71 | U 1 1 5592EDD4 72 | P 4100 3650 73 | F 0 "R1" V 4180 3650 40 0000 C CNN 74 | F 1 "10k" V 4107 3651 40 0000 C CNN 75 | F 2 "~" V 4030 3650 30 0000 C CNN 76 | F 3 "~" H 4100 3650 30 0000 C CNN 77 | 1 4100 3650 78 | 1 0 0 -1 79 | $EndComp 80 | $Comp 81 | L R R2 82 | U 1 1 5592EDE3 83 | P 4550 2450 84 | F 0 "R2" V 4630 2450 40 0000 C CNN 85 | F 1 "100" V 4557 2451 40 0000 C CNN 86 | F 2 "~" V 4480 2450 30 0000 C CNN 87 | F 3 "~" H 4550 2450 30 0000 C CNN 88 | 1 4550 2450 89 | 0 -1 -1 0 90 | $EndComp 91 | $Comp 92 | L C C3 93 | U 1 1 5592EDF2 94 | P 4100 4250 95 | F 0 "C3" H 4100 4350 40 0000 L CNN 96 | F 1 "100pf" H 4106 4165 40 0000 L CNN 97 | F 2 "~" H 4138 4100 30 0000 C CNN 98 | F 3 "~" H 4100 4250 60 0000 C CNN 99 | 1 4100 4250 100 | 1 0 0 -1 101 | $EndComp 102 | $Comp 103 | L C C2 104 | U 1 1 5592EE01 105 | P 3650 4000 106 | F 0 "C2" H 3650 4100 40 0000 L CNN 107 | F 1 "100pf" H 3656 3915 40 0000 L CNN 108 | F 2 "~" H 3688 3850 30 0000 C CNN 109 | F 3 "~" H 3650 4000 60 0000 C CNN 110 | 1 3650 4000 111 | 0 -1 -1 0 112 | $EndComp 113 | $Comp 114 | L C C1 115 | U 1 1 5592EE10 116 | P 2400 2300 117 | F 0 "C1" H 2400 2400 40 0000 L CNN 118 | F 1 "10nf" H 2406 2215 40 0000 L CNN 119 | F 2 "~" H 2438 2150 30 0000 C CNN 120 | F 3 "~" H 2400 2300 60 0000 C CNN 121 | 1 2400 2300 122 | 1 0 0 -1 123 | $EndComp 124 | $Comp 125 | L GND #PWR01 126 | U 1 1 5592EE29 127 | P 3500 3050 128 | F 0 "#PWR01" H 3500 3050 30 0001 C CNN 129 | F 1 "GND" H 3500 2980 30 0001 C CNN 130 | F 2 "" H 3500 3050 60 0000 C CNN 131 | F 3 "" H 3500 3050 60 0000 C CNN 132 | 1 3500 3050 133 | 1 0 0 -1 134 | $EndComp 135 | $Comp 136 | L +5V #PWR02 137 | U 1 1 5592EE38 138 | P 3500 1800 139 | F 0 "#PWR02" H 3500 1890 20 0001 C CNN 140 | F 1 "+5V" H 3500 1890 30 0000 C CNN 141 | F 2 "" H 3500 1800 60 0000 C CNN 142 | F 3 "" H 3500 1800 60 0000 C CNN 143 | 1 3500 1800 144 | 1 0 0 -1 145 | $EndComp 146 | $Comp 147 | L GND #PWR03 148 | U 1 1 5592EE9B 149 | P 4100 4750 150 | F 0 "#PWR03" H 4100 4750 30 0001 C CNN 151 | F 1 "GND" H 4100 4680 30 0001 C CNN 152 | F 2 "" H 4100 4750 60 0000 C CNN 153 | F 3 "" H 4100 4750 60 0000 C CNN 154 | 1 4100 4750 155 | 1 0 0 -1 156 | $EndComp 157 | $Comp 158 | L +5V #PWR04 159 | U 1 1 5592EEFD 160 | P 2400 1950 161 | F 0 "#PWR04" H 2400 2040 20 0001 C CNN 162 | F 1 "+5V" H 2400 2040 30 0000 C CNN 163 | F 2 "" H 2400 1950 60 0000 C CNN 164 | F 3 "" H 2400 1950 60 0000 C CNN 165 | 1 2400 1950 166 | 1 0 0 -1 167 | $EndComp 168 | $Comp 169 | L GND #PWR05 170 | U 1 1 5592EF0C 171 | P 2400 2700 172 | F 0 "#PWR05" H 2400 2700 30 0001 C CNN 173 | F 1 "GND" H 2400 2630 30 0001 C CNN 174 | F 2 "" H 2400 2700 60 0000 C CNN 175 | F 3 "" H 2400 2700 60 0000 C CNN 176 | 1 2400 2700 177 | 1 0 0 -1 178 | $EndComp 179 | $Comp 180 | L CONN_1 P4 181 | U 1 1 5592EFD8 182 | P 3000 1500 183 | F 0 "P4" H 3080 1500 40 0000 L CNN 184 | F 1 "CONN_1" H 3000 1555 30 0001 C CNN 185 | F 2 "" H 3000 1500 60 0000 C CNN 186 | F 3 "" H 3000 1500 60 0000 C CNN 187 | 1 3000 1500 188 | 1 0 0 -1 189 | $EndComp 190 | $Comp 191 | L CONN_1 P3 192 | U 1 1 5592EFF6 193 | P 3000 1250 194 | F 0 "P3" H 3080 1250 40 0000 L CNN 195 | F 1 "CONN_1" H 3000 1305 30 0001 C CNN 196 | F 2 "" H 3000 1250 60 0000 C CNN 197 | F 3 "" H 3000 1250 60 0000 C CNN 198 | 1 3000 1250 199 | 1 0 0 -1 200 | $EndComp 201 | $Comp 202 | L GND #PWR06 203 | U 1 1 5592F0F6 204 | P 4850 3200 205 | F 0 "#PWR06" H 4850 3200 30 0001 C CNN 206 | F 1 "GND" H 4850 3130 30 0001 C CNN 207 | F 2 "" H 4850 3200 60 0000 C CNN 208 | F 3 "" H 4850 3200 60 0000 C CNN 209 | 1 4850 3200 210 | 1 0 0 -1 211 | $EndComp 212 | $Comp 213 | L +5V #PWR07 214 | U 1 1 5592F105 215 | P 5000 1550 216 | F 0 "#PWR07" H 5000 1640 20 0001 C CNN 217 | F 1 "+5V" H 5000 1640 30 0000 C CNN 218 | F 2 "" H 5000 1550 60 0000 C CNN 219 | F 3 "" H 5000 1550 60 0000 C CNN 220 | 1 5000 1550 221 | 1 0 0 -1 222 | $EndComp 223 | Wire Wire Line 224 | 3500 2050 3500 1800 225 | Wire Wire Line 226 | 3500 2850 3500 3050 227 | Wire Wire Line 228 | 2050 2350 2050 3050 229 | Wire Wire Line 230 | 2050 3050 1050 3050 231 | Wire Wire Line 232 | 1050 3050 1050 2450 233 | Wire Wire Line 234 | 4100 3900 4100 4050 235 | Wire Wire Line 236 | 4100 4450 4100 4750 237 | Wire Wire Line 238 | 3850 4000 4100 4000 239 | Connection ~ 4100 4000 240 | Wire Wire Line 241 | 2400 2700 2400 2500 242 | Wire Wire Line 243 | 2400 2100 2400 1950 244 | Wire Wire Line 245 | 3450 4000 2900 4000 246 | Wire Wire Line 247 | 2700 2350 3100 2350 248 | Wire Wire Line 249 | 5050 2950 4850 2950 250 | Wire Wire Line 251 | 4850 2950 4850 3200 252 | Wire Wire Line 253 | 5100 1900 5000 1900 254 | Wire Wire Line 255 | 5000 1900 5000 1550 256 | $Comp 257 | L CONN_1 P5 258 | U 1 1 55931154 259 | P 5200 2450 260 | F 0 "P5" H 5280 2450 40 0000 L CNN 261 | F 1 "CONN_1" H 5200 2505 30 0001 C CNN 262 | F 2 "" H 5200 2450 60 0000 C CNN 263 | F 3 "" H 5200 2450 60 0000 C CNN 264 | 1 5200 2450 265 | 1 0 0 -1 266 | $EndComp 267 | $Comp 268 | L CONN_1 P7 269 | U 1 1 55931163 270 | P 5250 1900 271 | F 0 "P7" H 5330 1900 40 0000 L CNN 272 | F 1 "CONN_1" H 5250 1955 30 0001 C CNN 273 | F 2 "" H 5250 1900 60 0000 C CNN 274 | F 3 "" H 5250 1900 60 0000 C CNN 275 | 1 5250 1900 276 | 1 0 0 -1 277 | $EndComp 278 | $Comp 279 | L CONN_1 P6 280 | U 1 1 55931172 281 | P 5200 2950 282 | F 0 "P6" H 5280 2950 40 0000 L CNN 283 | F 1 "CONN_1" H 5200 3005 30 0001 C CNN 284 | F 2 "" H 5200 2950 60 0000 C CNN 285 | F 3 "" H 5200 2950 60 0000 C CNN 286 | 1 5200 2950 287 | 1 0 0 -1 288 | $EndComp 289 | Wire Wire Line 290 | 4800 2450 5050 2450 291 | Connection ~ 2700 1250 292 | Connection ~ 2700 1500 293 | Wire Wire Line 294 | 2700 1250 2700 2350 295 | Wire Wire Line 296 | 2600 1500 2850 1500 297 | Wire Wire Line 298 | 2600 1250 2850 1250 299 | $Comp 300 | L CONN_1 P1 301 | U 1 1 5592EFE7 302 | P 2450 1250 303 | F 0 "P1" H 2530 1250 40 0000 L CNN 304 | F 1 "CONN_1" H 2450 1305 30 0001 C CNN 305 | F 2 "" H 2450 1250 60 0000 C CNN 306 | F 3 "" H 2450 1250 60 0000 C CNN 307 | 1 2450 1250 308 | -1 0 0 -1 309 | $EndComp 310 | $Comp 311 | L CONN_1 P2 312 | U 1 1 5592EFC9 313 | P 2450 1500 314 | F 0 "P2" H 2530 1500 40 0000 L CNN 315 | F 1 "CONN_1" H 2450 1555 30 0001 C CNN 316 | F 2 "" H 2450 1500 60 0000 C CNN 317 | F 3 "" H 2450 1500 60 0000 C CNN 318 | 1 2450 1500 319 | -1 0 0 1 320 | $EndComp 321 | Wire Wire Line 322 | 2900 4000 2900 2550 323 | Wire Wire Line 324 | 2900 2550 3100 2550 325 | Wire Wire Line 326 | 4100 3400 4100 2450 327 | Wire Wire Line 328 | 4100 2450 4300 2450 329 | $EndSCHEMATC 330 | -------------------------------------------------------------------------------- /active-electrode/active-electrodes.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/logical/telepathy/77cb7699be2163481d14c72d79cedc43f7f57bbc/active-electrode/active-electrodes.pdf -------------------------------------------------------------------------------- /amplifier-board.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/logical/telepathy/77cb7699be2163481d14c72d79cedc43f7f57bbc/amplifier-board.png -------------------------------------------------------------------------------- /amplifier-board/DIL8.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.2 Date: 06/07/2014-06:16:45 2 | # 3 | # DIL8 4 | # 5 | DEF DIL8 U 0 40 Y Y 1 0 N 6 | F0 "U" 0 -100 50 H V C C 7 | F1 "DIL8" 0 100 50 H V C C 8 | F2 "MODULE" 0 0 50 H I C C 9 | F3 "DOCUMENTATION" 0 0 50 H I C C 10 | DRAW 11 | S -450 -350 450 350 1 0 0 N 12 | X PIN1 1 -750 150 300 R 50 50 1 1 I 13 | X PIN2 2 -750 50 300 R 50 50 1 1 I 14 | X PIN3 3 -750 -50 300 R 50 50 1 1 I 15 | X PIN4 4 -750 -150 300 R 50 50 1 1 I 16 | X PIN5 5 750 -150 300 L 50 50 1 1 I 17 | X PIN6 6 750 -50 300 L 50 50 1 1 I 18 | X PIN7 7 750 50 300 L 50 50 1 1 I 19 | X PIN8 8 750 150 300 L 50 50 1 1 I 20 | ENDDRAW 21 | ENDDEF 22 | # 23 | #End Library 24 | -------------------------------------------------------------------------------- /amplifier-board/amp-board-F_Cu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/logical/telepathy/77cb7699be2163481d14c72d79cedc43f7f57bbc/amplifier-board/amp-board-F_Cu.png -------------------------------------------------------------------------------- /amplifier-board/amp-board-F_Cu.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/logical/telepathy/77cb7699be2163481d14c72d79cedc43f7f57bbc/amplifier-board/amp-board-F_Cu.xcf -------------------------------------------------------------------------------- /amplifier-board/amp-board-cache.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.3 Date: Fri 01 Apr 2016 06:11:22 PM CDT 2 | #encoding utf-8 3 | # 4 | # +3.3V 5 | # 6 | DEF +3.3V #PWR 0 0 Y Y 1 F P 7 | F0 "#PWR" 0 -40 30 H I C CNN 8 | F1 "+3.3V" 0 110 30 H V C CNN 9 | F2 "~" 0 0 60 H V C CNN 10 | F3 "~" 0 0 60 H V C CNN 11 | ALIAS +3,3V 12 | DRAW 13 | X +3.3V 1 0 0 0 U 30 30 0 0 W N 14 | C 0 60 20 0 1 0 N 15 | P 3 0 1 0 0 0 0 40 0 40 N 16 | ENDDRAW 17 | ENDDEF 18 | # 19 | # +5V 20 | # 21 | DEF +5V #PWR 0 40 Y Y 1 F P 22 | F0 "#PWR" 0 90 20 H I C CNN 23 | F1 "+5V" 0 90 30 H V C CNN 24 | F2 "~" 0 0 60 H V C CNN 25 | F3 "~" 0 0 60 H V C CNN 26 | DRAW 27 | X +5V 1 0 0 0 U 20 20 0 0 W N 28 | C 0 50 20 0 1 0 N 29 | P 4 0 1 0 0 0 0 30 0 30 0 30 N 30 | ENDDRAW 31 | ENDDEF 32 | # 33 | # AD620 34 | # 35 | DEF AD620 U 0 0 Y Y 1 F N 36 | F0 "U" 300 250 70 H V C CNN 37 | F1 "AD620" 400 -250 70 H V C CNN 38 | F2 "~" 0 0 60 H V C CNN 39 | F3 "~" 0 0 60 H V C CNN 40 | DRAW 41 | P 2 0 1 0 -200 -200 200 0 N 42 | P 2 0 1 0 -200 200 -200 -200 N 43 | P 2 0 1 0 100 -100 50 -75 N 44 | P 2 0 1 0 100 100 50 75 N 45 | P 2 0 1 0 200 0 -200 200 N 46 | X Rg 1 0 -300 200 U 40 30 1 1 P 47 | X - 2 -400 -100 200 R 40 40 1 1 I 48 | X + 3 -400 100 200 R 40 40 1 1 I 49 | X V_ 4 -100 -300 150 U 40 40 1 1 P 50 | X Ref 5 100 300 200 D 40 30 1 1 I 51 | X OUT 6 400 0 200 L 40 40 1 1 O 52 | X V+ 7 -100 300 150 D 40 40 1 1 P 53 | X Rg 8 100 -300 200 U 40 30 1 1 P 54 | ENDDRAW 55 | ENDDEF 56 | # 57 | # AGND 58 | # 59 | DEF AGND #PWR 0 10 Y Y 1 F P 60 | F0 "#PWR" 0 0 40 H I C CNN 61 | F1 "AGND" 0 -70 50 H V C CNN 62 | F2 "~" 0 0 60 H V C CNN 63 | F3 "~" 0 0 60 H V C CNN 64 | DRAW 65 | P 4 0 1 0 -40 0 40 0 0 -40 -40 0 N 66 | X AGND 1 0 0 0 U 40 40 1 1 W N 67 | ENDDRAW 68 | ENDDEF 69 | # 70 | # C 71 | # 72 | DEF C C 0 10 N Y 1 F N 73 | F0 "C" 0 100 40 H V L CNN 74 | F1 "C" 6 -85 40 H V L CNN 75 | F2 "~" 38 -150 30 H V C CNN 76 | F3 "~" 0 0 60 H V C CNN 77 | $FPLIST 78 | SM* 79 | C? 80 | C1-1 81 | $ENDFPLIST 82 | DRAW 83 | P 2 0 1 20 -80 -30 80 -30 N 84 | P 2 0 1 20 -80 30 80 30 N 85 | X ~ 1 0 200 170 D 40 40 1 1 P 86 | X ~ 2 0 -200 170 U 40 40 1 1 P 87 | ENDDRAW 88 | ENDDEF 89 | # 90 | # CONN_3 91 | # 92 | DEF CONN_3 K 0 40 Y N 1 F N 93 | F0 "K" -50 0 50 V V C CNN 94 | F1 "CONN_3" 50 0 40 V V C CNN 95 | F2 "~" 0 0 60 H V C CNN 96 | F3 "~" 0 0 60 H V C CNN 97 | DRAW 98 | S -100 150 100 -150 0 1 0 N 99 | X P1 1 -350 100 250 R 60 60 1 1 P I 100 | X PM 2 -350 0 250 R 60 60 1 1 P I 101 | X P3 3 -350 -100 250 R 60 60 1 1 P I 102 | ENDDRAW 103 | ENDDEF 104 | # 105 | # CONN_7 106 | # 107 | DEF CONN_7 P 0 40 Y N 1 F N 108 | F0 "P" -30 0 60 V V C CNN 109 | F1 "CONN_7" 70 0 60 V V C CNN 110 | F2 "~" 0 0 60 H V C CNN 111 | F3 "~" 0 0 60 H V C CNN 112 | DRAW 113 | S -100 350 150 -350 0 1 0 N 114 | X P1 1 -350 300 250 R 50 50 1 1 P I 115 | X P2 2 -350 200 250 R 50 50 1 1 P I 116 | X P3 3 -350 100 250 R 50 50 1 1 P I 117 | X P4 4 -350 0 250 R 50 50 1 1 P I 118 | X P5 5 -350 -100 250 R 50 50 1 1 P I 119 | X P6 6 -350 -200 250 R 50 50 1 1 P I 120 | X P7 7 -350 -300 250 R 50 50 1 1 P I 121 | ENDDRAW 122 | ENDDEF 123 | # 124 | # CP 125 | # 126 | DEF CP C 0 10 N N 1 F N 127 | F0 "C" 50 100 40 H V L CNN 128 | F1 "CP" 50 -100 40 H V L CNN 129 | F2 "~" 100 -150 30 H V C CNN 130 | F3 "~" 0 0 300 H V C CNN 131 | ALIAS CAPAPOL 132 | $FPLIST 133 | CP* 134 | SM* 135 | $ENDFPLIST 136 | DRAW 137 | P 4 0 1 8 -80 50 -80 -50 80 -50 80 50 N 138 | P 4 0 1 0 -50 50 -50 -20 50 -20 50 50 F 139 | X ~ 1 0 200 150 D 40 40 1 1 P 140 | X ~ 2 0 -200 150 U 40 40 1 1 P 141 | ENDDRAW 142 | ENDDEF 143 | # 144 | # DIL8 145 | # 146 | DEF DIL8 U 0 40 Y Y 1 F N 147 | F0 "U" 0 -100 50 H V C CNN 148 | F1 "DIL8" 0 100 50 H V C CNN 149 | F2 "MODULE" 0 0 50 H I C CNN 150 | F3 "DOCUMENTATION" 0 0 50 H I C CNN 151 | DRAW 152 | S -450 -350 450 350 1 0 0 N 153 | X PIN1 1 -750 150 300 R 50 50 1 1 I 154 | X PIN2 2 -750 50 300 R 50 50 1 1 I 155 | X PIN3 3 -750 -50 300 R 50 50 1 1 I 156 | X PIN4 4 -750 -150 300 R 50 50 1 1 I 157 | X PIN5 5 750 -150 300 L 50 50 1 1 I 158 | X PIN6 6 750 -50 300 L 50 50 1 1 I 159 | X PIN7 7 750 50 300 L 50 50 1 1 I 160 | X PIN8 8 750 150 300 L 50 50 1 1 I 161 | ENDDRAW 162 | ENDDEF 163 | # 164 | # DIODE 165 | # 166 | DEF DIODE D 0 40 N N 1 F N 167 | F0 "D" 0 100 40 H V C CNN 168 | F1 "DIODE" 0 -100 40 H V C CNN 169 | F2 "~" 0 0 60 H V C CNN 170 | F3 "~" 0 0 60 H V C CNN 171 | $FPLIST 172 | D? 173 | S* 174 | $ENDFPLIST 175 | DRAW 176 | P 2 0 1 6 50 50 50 -50 N 177 | P 3 0 1 0 -50 50 50 0 -50 -50 F 178 | X A 1 -200 0 150 R 40 40 1 1 P 179 | X K 2 200 0 150 L 40 40 1 1 P 180 | ENDDRAW 181 | ENDDEF 182 | # 183 | # GND 184 | # 185 | DEF ~GND #PWR 0 0 Y Y 1 F P 186 | F0 "#PWR" 0 0 30 H I C CNN 187 | F1 "GND" 0 -70 30 H I C CNN 188 | F2 "~" 0 0 60 H V C CNN 189 | F3 "~" 0 0 60 H V C CNN 190 | DRAW 191 | P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N 192 | X GND 1 0 0 0 U 30 30 1 1 W N 193 | ENDDRAW 194 | ENDDEF 195 | # 196 | # LM2902N 197 | # 198 | DEF LM2902N U 0 20 Y Y 4 F N 199 | F0 "U" 50 200 60 H V C CNN 200 | F1 "LM2902N" 150 -200 50 H V C CNN 201 | F2 "~" 0 0 60 H V C CNN 202 | F3 "~" 0 0 60 H V C CNN 203 | ALIAS LM324 TLC274 TL074 LM324N LM324AN 204 | DRAW 205 | P 4 0 1 6 -200 200 200 0 -200 -200 -200 200 f 206 | X V+ 4 -100 400 250 D 40 40 0 1 W 207 | X V- 11 -100 -400 250 U 40 40 0 1 W 208 | X ~ 1 500 0 300 L 40 40 1 1 O 209 | X - 2 -500 -100 300 R 40 40 1 1 I 210 | X + 3 -500 100 300 R 40 40 1 1 I 211 | X + 5 -500 100 300 R 40 40 2 1 I 212 | X - 6 -500 -100 300 R 40 40 2 1 I 213 | X ~ 7 500 0 300 L 40 40 2 1 O 214 | X ~ 8 500 0 300 L 40 40 3 1 O 215 | X - 9 -500 -100 300 R 40 40 3 1 I 216 | X + 10 -500 100 300 R 40 40 3 1 I 217 | X + 12 -500 100 300 R 40 40 4 1 I 218 | X - 13 -500 -100 300 R 40 40 4 1 I 219 | X ~ 14 500 0 300 L 40 40 4 1 O 220 | ENDDRAW 221 | ENDDEF 222 | # 223 | # R 224 | # 225 | DEF R R 0 0 N Y 1 F N 226 | F0 "R" 80 0 40 V V C CNN 227 | F1 "R" 7 1 40 V V C CNN 228 | F2 "~" -70 0 30 V V C CNN 229 | F3 "~" 0 0 30 H V C CNN 230 | $FPLIST 231 | R? 232 | SM0603 233 | SM0805 234 | R?-* 235 | SM1206 236 | $ENDFPLIST 237 | DRAW 238 | S -40 150 40 -150 0 1 12 N 239 | X ~ 1 0 250 100 D 60 60 1 1 P 240 | X ~ 2 0 -250 100 U 60 60 1 1 P 241 | ENDDRAW 242 | ENDDEF 243 | # 244 | #End Library 245 | -------------------------------------------------------------------------------- /amplifier-board/amp-board.cmp: -------------------------------------------------------------------------------- 1 | Cmp-Mod V01 Created by CvPcb (22-Jun-2014 BZR 4027)-stable date = Mon 15 Feb 2016 07:23:23 PM CST 2 | 3 | BeginCmp 4 | TimeStamp = /562BC967; 5 | Reference = C1; 6 | ValeurCmp = 1u; 7 | IdModule = SM0805; 8 | EndCmp 9 | 10 | BeginCmp 11 | TimeStamp = /562BC7CE; 12 | Reference = C2; 13 | ValeurCmp = 10u; 14 | IdModule = SM0805; 15 | EndCmp 16 | 17 | BeginCmp 18 | TimeStamp = /569FB166; 19 | Reference = C3; 20 | ValeurCmp = 10u; 21 | IdModule = SM0805; 22 | EndCmp 23 | 24 | BeginCmp 25 | TimeStamp = /562BCDA2; 26 | Reference = C4; 27 | ValeurCmp = 1n; 28 | IdModule = SM0805; 29 | EndCmp 30 | 31 | BeginCmp 32 | TimeStamp = /562BE592; 33 | Reference = C5; 34 | ValeurCmp = 1n; 35 | IdModule = SM0805; 36 | EndCmp 37 | 38 | BeginCmp 39 | TimeStamp = /56A27292; 40 | Reference = C6; 41 | ValeurCmp = 100n; 42 | IdModule = SM0805; 43 | EndCmp 44 | 45 | BeginCmp 46 | TimeStamp = /56A272CE; 47 | Reference = C7; 48 | ValeurCmp = 100n; 49 | IdModule = SM0805; 50 | EndCmp 51 | 52 | BeginCmp 53 | TimeStamp = /56A272B0; 54 | Reference = C8; 55 | ValeurCmp = 100n; 56 | IdModule = SM0805; 57 | EndCmp 58 | 59 | BeginCmp 60 | TimeStamp = /56A272BF; 61 | Reference = C9; 62 | ValeurCmp = 100n; 63 | IdModule = SM0805; 64 | EndCmp 65 | 66 | BeginCmp 67 | TimeStamp = /56A27FF0; 68 | Reference = C10; 69 | ValeurCmp = CAPAPOL; 70 | IdModule = c_elec_4x4.5; 71 | EndCmp 72 | 73 | BeginCmp 74 | TimeStamp = /56A27FFF; 75 | Reference = C11; 76 | ValeurCmp = CAPAPOL; 77 | IdModule = c_elec_4x4.5; 78 | EndCmp 79 | 80 | BeginCmp 81 | TimeStamp = /56C27B5C; 82 | Reference = C12; 83 | ValeurCmp = C; 84 | IdModule = SM0805; 85 | EndCmp 86 | 87 | BeginCmp 88 | TimeStamp = /56A23765; 89 | Reference = D1; 90 | ValeurCmp = DIODE; 91 | IdModule = SM1206; 92 | EndCmp 93 | 94 | BeginCmp 95 | TimeStamp = /56A23756; 96 | Reference = D2; 97 | ValeurCmp = DIODE; 98 | IdModule = SM1206; 99 | EndCmp 100 | 101 | BeginCmp 102 | TimeStamp = /56A2373D; 103 | Reference = D3; 104 | ValeurCmp = DIODE; 105 | IdModule = SM1206; 106 | EndCmp 107 | 108 | BeginCmp 109 | TimeStamp = /56A2372E; 110 | Reference = D4; 111 | ValeurCmp = DIODE; 112 | IdModule = SM1206; 113 | EndCmp 114 | 115 | BeginCmp 116 | TimeStamp = /56A4B6C8; 117 | Reference = K1; 118 | ValeurCmp = CONN_3; 119 | IdModule = SIL-3; 120 | EndCmp 121 | 122 | BeginCmp 123 | TimeStamp = /56A22BB9; 124 | Reference = P1; 125 | ValeurCmp = CONN_7; 126 | IdModule = SIL-7; 127 | EndCmp 128 | 129 | BeginCmp 130 | TimeStamp = /56A4B764; 131 | Reference = P2; 132 | ValeurCmp = CONN_7; 133 | IdModule = SIL-7; 134 | EndCmp 135 | 136 | BeginCmp 137 | TimeStamp = /562BC3D9; 138 | Reference = R1; 139 | ValeurCmp = 10k; 140 | IdModule = SM0805; 141 | EndCmp 142 | 143 | BeginCmp 144 | TimeStamp = /562BC3E8; 145 | Reference = R2; 146 | ValeurCmp = 10k; 147 | IdModule = SM0805; 148 | EndCmp 149 | 150 | BeginCmp 151 | TimeStamp = /562BC749; 152 | Reference = R3; 153 | ValeurCmp = 2.2k; 154 | IdModule = SM0805; 155 | EndCmp 156 | 157 | BeginCmp 158 | TimeStamp = /562BC758; 159 | Reference = R4; 160 | ValeurCmp = 2.2k; 161 | IdModule = SM0805; 162 | EndCmp 163 | 164 | BeginCmp 165 | TimeStamp = /562BE3B2; 166 | Reference = R5; 167 | ValeurCmp = 1M; 168 | IdModule = SM0805; 169 | EndCmp 170 | 171 | BeginCmp 172 | TimeStamp = /562BC7DD; 173 | Reference = R6; 174 | ValeurCmp = 1M; 175 | IdModule = SM0805; 176 | EndCmp 177 | 178 | BeginCmp 179 | TimeStamp = /569FB13E; 180 | Reference = R7; 181 | ValeurCmp = 10k; 182 | IdModule = SM0805; 183 | EndCmp 184 | 185 | BeginCmp 186 | TimeStamp = /569FB12F; 187 | Reference = R8; 188 | ValeurCmp = 100k; 189 | IdModule = SM0805; 190 | EndCmp 191 | 192 | BeginCmp 193 | TimeStamp = /562BCDB6; 194 | Reference = R9; 195 | ValeurCmp = 10k; 196 | IdModule = SM0805; 197 | EndCmp 198 | 199 | BeginCmp 200 | TimeStamp = /56A229E2; 201 | Reference = R10; 202 | ValeurCmp = 1M; 203 | IdModule = SM0805; 204 | EndCmp 205 | 206 | BeginCmp 207 | TimeStamp = /562BE583; 208 | Reference = R11; 209 | ValeurCmp = 200k; 210 | IdModule = SM0805; 211 | EndCmp 212 | 213 | BeginCmp 214 | TimeStamp = /56C118D3; 215 | Reference = R12; 216 | ValeurCmp = 10k; 217 | IdModule = SM0805; 218 | EndCmp 219 | 220 | BeginCmp 221 | TimeStamp = /56C118C4; 222 | Reference = R13; 223 | ValeurCmp = 100; 224 | IdModule = SM0805; 225 | EndCmp 226 | 227 | BeginCmp 228 | TimeStamp = /562BBE85; 229 | Reference = U1; 230 | ValeurCmp = AD8618; 231 | IdModule = TSSOP14; 232 | EndCmp 233 | 234 | BeginCmp 235 | TimeStamp = /562BBDC9; 236 | Reference = U3; 237 | ValeurCmp = INA128; 238 | IdModule = SO8N; 239 | EndCmp 240 | 241 | BeginCmp 242 | TimeStamp = /562BC19E; 243 | Reference = U4; 244 | ValeurCmp = ad7694; 245 | IdModule = MSOP_8; 246 | EndCmp 247 | 248 | EndListe 249 | -------------------------------------------------------------------------------- /amplifier-board/amp-board.lst: -------------------------------------------------------------------------------- 1 | eeschema (22-Jun-2014 BZR 4027)-stable >> Creation date: Fri 22 Jan 2016 01:23:30 PM CST 2 | #Cmp ( order = Reference ) 3 | | C1 C 4 | | C2 C 5 | | C3 C 6 | | C4 C 7 | | C5 C 8 | | C6 C 9 | | C7 C 10 | | C8 C 11 | | C9 C 12 | | C10 CAPAPOL 13 | | C11 CAPAPOL 14 | | D1 DIODE 15 | | D2 DIODE 16 | | D3 DIODE 17 | | D4 DIODE 18 | | P1 CONN_7 19 | | P2 CONN_6 20 | | P3 CONN_4 21 | | R1 R 22 | | R2 R 23 | | R3 R 24 | | R4 R 25 | | R5 R 26 | | R6 R 27 | | R7 R 28 | | R8 R 29 | | R9 R 30 | | R10 R 31 | | R11 R 32 | | U1 AD8618 33 | | U3 INA128 34 | | U4 ad7694 35 | #End Cmp 36 | 37 | #Cmp ( order = Value ) 38 | | C C1 39 | | C C2 40 | | C C3 41 | | C C4 42 | | C C5 43 | | C C6 44 | | C C7 45 | | C C8 46 | | C C9 47 | | CAPAPOL C10 48 | | CAPAPOL C11 49 | | DIODE D1 50 | | DIODE D2 51 | | DIODE D3 52 | | DIODE D4 53 | | CONN_7 P1 54 | | CONN_6 P2 55 | | CONN_4 P3 56 | | R R1 57 | | R R2 58 | | R R3 59 | | R R4 60 | | R R5 61 | | R R6 62 | | R R7 63 | | R R8 64 | | R R9 65 | | R R10 66 | | R R11 67 | | AD8618 U1 68 | | INA128 U3 69 | | ad7694 U4 70 | #End Cmp 71 | 72 | #End List 73 | -------------------------------------------------------------------------------- /amplifier-board/amp-board.pro: -------------------------------------------------------------------------------- 1 | update=Fri 06 Jan 2017 03:16:44 PM CST 2 | version=1 3 | last_client=kicad 4 | [cvpcb] 5 | version=1 6 | NetIExt=net 7 | [cvpcb/libraries] 8 | EquName1=devcms 9 | [pcbnew] 10 | version=1 11 | LastNetListRead= 12 | UseCmpFile=1 13 | PadDrill=0.600000000000 14 | PadDrillOvalY=0.600000000000 15 | PadSizeH=1.500000000000 16 | PadSizeV=1.500000000000 17 | PcbTextSizeV=1.500000000000 18 | PcbTextSizeH=1.500000000000 19 | PcbTextThickness=0.300000000000 20 | ModuleTextSizeV=1.000000000000 21 | ModuleTextSizeH=1.000000000000 22 | ModuleTextSizeThickness=0.150000000000 23 | SolderMaskClearance=0.000000000000 24 | SolderMaskMinWidth=0.000000000000 25 | DrawSegmentWidth=0.200000000000 26 | BoardOutlineThickness=0.100000000000 27 | ModuleOutlineThickness=0.150000000000 28 | [pcbnew/libraries] 29 | LibDir= 30 | LibName1=sockets 31 | LibName2=connect 32 | LibName3=discret 33 | LibName4=pin_array 34 | LibName5=divers 35 | LibName6=smd_capacitors 36 | LibName7=smd_resistors 37 | LibName8=smd_crystal&oscillator 38 | LibName9=smd_dil 39 | LibName10=smd_transistors 40 | LibName11=libcms 41 | LibName12=display 42 | LibName13=led 43 | LibName14=dip_sockets 44 | LibName15=pga_sockets 45 | LibName16=valves 46 | [general] 47 | version=1 48 | [eeschema] 49 | version=1 50 | LibDir= 51 | [eeschema/libraries] 52 | LibName1=amp-board-rescue 53 | LibName2=DIL8 54 | LibName3=power 55 | LibName4=device 56 | LibName5=transistors 57 | LibName6=conn 58 | LibName7=linear 59 | LibName8=regul 60 | LibName9=74xx 61 | LibName10=cmos4000 62 | LibName11=adc-dac 63 | LibName12=memory 64 | LibName13=xilinx 65 | LibName14=special 66 | LibName15=microcontrollers 67 | LibName16=dsp 68 | LibName17=microchip 69 | LibName18=analog_switches 70 | LibName19=motorola 71 | LibName20=texas 72 | LibName21=intel 73 | LibName22=audio 74 | LibName23=interface 75 | LibName24=digital-audio 76 | LibName25=philips 77 | LibName26=display 78 | LibName27=cypress 79 | LibName28=siliconi 80 | LibName29=opto 81 | LibName30=atmel 82 | LibName31=contrib 83 | LibName32=valves 84 | -------------------------------------------------------------------------------- /bootloader/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # There exist several targets which are by default empty and which can be 3 | # used for execution of your targets. These targets are usually executed 4 | # before and after some main targets. They are: 5 | # 6 | # .build-pre: called before 'build' target 7 | # .build-post: called after 'build' target 8 | # .clean-pre: called before 'clean' target 9 | # .clean-post: called after 'clean' target 10 | # .clobber-pre: called before 'clobber' target 11 | # .clobber-post: called after 'clobber' target 12 | # .all-pre: called before 'all' target 13 | # .all-post: called after 'all' target 14 | # .help-pre: called before 'help' target 15 | # .help-post: called after 'help' target 16 | # 17 | # Targets beginning with '.' are not intended to be called on their own. 18 | # 19 | # Main targets can be executed directly, and they are: 20 | # 21 | # build build a specific configuration 22 | # clean remove built files from a configuration 23 | # clobber remove all built files 24 | # all build all configurations 25 | # help print help mesage 26 | # 27 | # Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and 28 | # .help-impl are implemented in nbproject/makefile-impl.mk. 29 | # 30 | # Available make variables: 31 | # 32 | # CND_BASEDIR base directory for relative paths 33 | # CND_DISTDIR default top distribution directory (build artifacts) 34 | # CND_BUILDDIR default top build directory (object files, ...) 35 | # CONF name of current configuration 36 | # CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration) 37 | # CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration) 38 | # CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration) 39 | # CND_PACKAGE_DIR_${CONF} directory of package (current configuration) 40 | # CND_PACKAGE_NAME_${CONF} name of package (current configuration) 41 | # CND_PACKAGE_PATH_${CONF} path to package (current configuration) 42 | # 43 | # NOCDDL 44 | 45 | 46 | # Environment 47 | MKDIR=mkdir 48 | CP=cp 49 | CCADMIN=CCadmin 50 | RANLIB=ranlib 51 | # change this to point to your xc8 install 52 | MICROCHIP_XC8=/opt/microchip/xc8/v1.34/ 53 | 54 | # build 55 | build: .build-post 56 | 57 | .build-pre: 58 | # Add your pre 'build' code here... 59 | 60 | .build-post: .build-impl 61 | # Add your post 'build' code here... 62 | 63 | 64 | # clean 65 | clean: .clean-post 66 | 67 | .clean-pre: 68 | # Add your pre 'clean' code here... 69 | # WARNING: the IDE does not call this target since it takes a long time to 70 | # simply run make. Instead, the IDE removes the configuration directories 71 | # under build and dist directly without calling make. 72 | # This target is left here so people can do a clean when running a clean 73 | # outside the IDE. 74 | 75 | .clean-post: .clean-impl 76 | # Add your post 'clean' code here... 77 | 78 | 79 | # clobber 80 | clobber: .clobber-post 81 | 82 | .clobber-pre: 83 | # Add your pre 'clobber' code here... 84 | 85 | .clobber-post: .clobber-impl 86 | # Add your post 'clobber' code here... 87 | 88 | 89 | # all 90 | all: .all-post 91 | 92 | .all-pre: 93 | # Add your pre 'all' code here... 94 | 95 | .all-post: .all-impl 96 | # Add your post 'all' code here... 97 | 98 | 99 | # help 100 | help: .help-post 101 | 102 | .help-pre: 103 | # Add your pre 'help' code here... 104 | 105 | .help-post: .help-impl 106 | # Add your post 'help' code here... 107 | 108 | 109 | 110 | # include project implementation makefile 111 | include nbproject/Makefile-impl.mk 112 | 113 | # include project make variables 114 | include nbproject/Makefile-variables.mk 115 | -------------------------------------------------------------------------------- /bootloader/nbproject/Makefile-default.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a -pre and a -post target defined where you can add customized code. 6 | # 7 | # This makefile implements configuration specific macros and targets. 8 | 9 | 10 | # Include project Makefile 11 | ifeq "${IGNORE_LOCAL}" "TRUE" 12 | # do not include local makefile. User is passing all local related variables already 13 | else 14 | include Makefile 15 | # Include makefile containing local settings 16 | ifeq "$(wildcard nbproject/Makefile-local-default.mk)" "nbproject/Makefile-local-default.mk" 17 | include nbproject/Makefile-local-default.mk 18 | endif 19 | endif 20 | 21 | # Environment 22 | MKDIR=mkdir -p 23 | RM=rm -f 24 | MV=mv 25 | CP=cp 26 | 27 | # Macros 28 | CND_CONF=default 29 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 30 | IMAGE_TYPE=debug 31 | OUTPUT_SUFFIX=elf 32 | DEBUGGABLE_SUFFIX=elf 33 | FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/bootloader.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 34 | else 35 | IMAGE_TYPE=production 36 | OUTPUT_SUFFIX=hex 37 | DEBUGGABLE_SUFFIX=elf 38 | FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/bootloader.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 39 | endif 40 | 41 | # Object Directory 42 | OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE} 43 | 44 | # Distribution Directory 45 | DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE} 46 | 47 | # Source Files Quoted if spaced 48 | SOURCEFILES_QUOTED_IF_SPACED=main.c 49 | 50 | # Object Files Quoted if spaced 51 | OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.p1 52 | POSSIBLE_DEPFILES=${OBJECTDIR}/main.p1.d 53 | 54 | # Object Files 55 | OBJECTFILES=${OBJECTDIR}/main.p1 56 | 57 | # Source Files 58 | SOURCEFILES=main.c 59 | 60 | 61 | CFLAGS= 62 | ASFLAGS= 63 | LDLIBSOPTIONS= 64 | 65 | ############# Tool locations ########################################## 66 | # If you copy a project from one host to another, the path where the # 67 | # compiler is installed may be different. # 68 | # If you open this project with MPLAB X in the new host, this # 69 | # makefile will be regenerated and the paths will be corrected. # 70 | ####################################################################### 71 | # fixDeps replaces a bunch of sed/cat/printf statements that slow down the build 72 | FIXDEPS=fixDeps 73 | 74 | .build-conf: ${BUILD_SUBPROJECTS} 75 | ifneq ($(INFORMATION_MESSAGE), ) 76 | @echo $(INFORMATION_MESSAGE) 77 | endif 78 | ${MAKE} -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/bootloader.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 79 | 80 | MP_PROCESSOR_OPTION=16F1788 81 | # ------------------------------------------------------------------------------------ 82 | # Rules for buildStep: compile 83 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 84 | ${OBJECTDIR}/main.p1: main.c nbproject/Makefile-${CND_CONF}.mk 85 | @${MKDIR} "${OBJECTDIR}" 86 | @${RM} ${OBJECTDIR}/main.p1.d 87 | @${RM} ${OBJECTDIR}/main.p1 88 | ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G -D__DEBUG=1 --debugger=pickit3 --double=24 --float=24 --rom=0-6FF --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=ignore --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s" -o${OBJECTDIR}/main.p1 main.c 89 | @-${MV} ${OBJECTDIR}/main.d ${OBJECTDIR}/main.p1.d 90 | @${FIXDEPS} ${OBJECTDIR}/main.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ 91 | 92 | else 93 | ${OBJECTDIR}/main.p1: main.c nbproject/Makefile-${CND_CONF}.mk 94 | @${MKDIR} "${OBJECTDIR}" 95 | @${RM} ${OBJECTDIR}/main.p1.d 96 | @${RM} ${OBJECTDIR}/main.p1 97 | ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G --double=24 --float=24 --rom=0-6FF --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=ignore --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s" -o${OBJECTDIR}/main.p1 main.c 98 | @-${MV} ${OBJECTDIR}/main.d ${OBJECTDIR}/main.p1.d 99 | @${FIXDEPS} ${OBJECTDIR}/main.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ 100 | 101 | endif 102 | 103 | # ------------------------------------------------------------------------------------ 104 | # Rules for buildStep: assemble 105 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 106 | else 107 | endif 108 | 109 | # ------------------------------------------------------------------------------------ 110 | # Rules for buildStep: link 111 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 112 | dist/${CND_CONF}/${IMAGE_TYPE}/bootloader.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk 113 | @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 114 | ${MP_CC} $(MP_EXTRA_LD_PRE) --chip=$(MP_PROCESSOR_OPTION) -G -mdist/${CND_CONF}/${IMAGE_TYPE}/bootloader.X.${IMAGE_TYPE}.map -D__DEBUG=1 --debugger=pickit3 --double=24 --float=24 --rom=0-6FF --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=ignore --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s" --memorysummary dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml -odist/${CND_CONF}/${IMAGE_TYPE}/bootloader.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} 115 | @${RM} dist/${CND_CONF}/${IMAGE_TYPE}/bootloader.X.${IMAGE_TYPE}.hex 116 | 117 | else 118 | dist/${CND_CONF}/${IMAGE_TYPE}/bootloader.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk 119 | @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 120 | ${MP_CC} $(MP_EXTRA_LD_PRE) --chip=$(MP_PROCESSOR_OPTION) -G -mdist/${CND_CONF}/${IMAGE_TYPE}/bootloader.X.${IMAGE_TYPE}.map --double=24 --float=24 --rom=0-6FF --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=ignore --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s" --memorysummary dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml -odist/${CND_CONF}/${IMAGE_TYPE}/bootloader.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} 121 | 122 | endif 123 | 124 | 125 | # Subprojects 126 | .build-subprojects: 127 | 128 | 129 | # Subprojects 130 | .clean-subprojects: 131 | 132 | # Clean Targets 133 | .clean-conf: ${CLEAN_SUBPROJECTS} 134 | ${RM} -r build/default 135 | ${RM} -r dist/default 136 | 137 | # Enable dependency checking 138 | .dep.inc: .depcheck-impl 139 | 140 | DEPFILES=$(shell "${PATH_TO_IDE_BIN}"mplabwildcard ${POSSIBLE_DEPFILES}) 141 | ifneq (${DEPFILES},) 142 | include ${DEPFILES} 143 | endif 144 | -------------------------------------------------------------------------------- /bootloader/nbproject/Makefile-impl.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a pre- and a post- target defined where you can add customization code. 6 | # 7 | # This makefile implements macros and targets common to all configurations. 8 | # 9 | # NOCDDL 10 | 11 | 12 | # Building and Cleaning subprojects are done by default, but can be controlled with the SUB 13 | # macro. If SUB=no, subprojects will not be built or cleaned. The following macro 14 | # statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf 15 | # and .clean-reqprojects-conf unless SUB has the value 'no' 16 | SUB_no=NO 17 | SUBPROJECTS=${SUB_${SUB}} 18 | BUILD_SUBPROJECTS_=.build-subprojects 19 | BUILD_SUBPROJECTS_NO= 20 | BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}} 21 | CLEAN_SUBPROJECTS_=.clean-subprojects 22 | CLEAN_SUBPROJECTS_NO= 23 | CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} 24 | 25 | 26 | # Project Name 27 | PROJECTNAME=bootloader.X 28 | 29 | # Active Configuration 30 | DEFAULTCONF=default 31 | CONF=${DEFAULTCONF} 32 | 33 | # All Configurations 34 | ALLCONFS=default 35 | 36 | 37 | # build 38 | .build-impl: .build-pre 39 | ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf 40 | 41 | 42 | # clean 43 | .clean-impl: .clean-pre 44 | ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf 45 | 46 | # clobber 47 | .clobber-impl: .clobber-pre .depcheck-impl 48 | ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean 49 | 50 | 51 | 52 | # all 53 | .all-impl: .all-pre .depcheck-impl 54 | ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build 55 | 56 | 57 | 58 | # dependency checking support 59 | .depcheck-impl: 60 | # @echo "# This code depends on make tool being used" >.dep.inc 61 | # @if [ -n "${MAKE_VERSION}" ]; then \ 62 | # echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \ 63 | # echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \ 64 | # echo "include \$${DEPFILES}" >>.dep.inc; \ 65 | # echo "endif" >>.dep.inc; \ 66 | # else \ 67 | # echo ".KEEP_STATE:" >>.dep.inc; \ 68 | # echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \ 69 | # fi 70 | -------------------------------------------------------------------------------- /bootloader/nbproject/Makefile-local-default.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # 5 | # This file contains information about the location of compilers and other tools. 6 | # If you commmit this file into your revision control server, you will be able to 7 | # to checkout the project and build it from the command line with make. However, 8 | # if more than one person works on the same project, then this file might show 9 | # conflicts since different users are bound to have compilers in different places. 10 | # In that case you might choose to not commit this file and let MPLAB X recreate this file 11 | # for each user. The disadvantage of not commiting this file is that you must run MPLAB X at 12 | # least once so the file gets created and the project can be built. Finally, you can also 13 | # avoid using this file at all if you are only building from the command line with make. 14 | # You can invoke make with the values of the macros: 15 | # $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ... 16 | # 17 | PATH_TO_IDE_BIN=/opt/microchip/mplabx/v3.00/mplab_ide/mplab_ide/modules/../../bin/ 18 | # Adding MPLAB X bin directory to path. 19 | PATH:=/opt/microchip/mplabx/v3.00/mplab_ide/mplab_ide/modules/../../bin/:$(PATH) 20 | # Path to java used to run MPLAB X when this makefile was created 21 | MP_JAVA_PATH="/opt/microchip/mplabx/v3.00/sys/java/jre1.7.0_67/bin/" 22 | OS_CURRENT="$(shell uname -s)" 23 | MP_CC="/opt/microchip/xc8/v1.34/bin/xc8" 24 | # MP_CPPC is not defined 25 | # MP_BC is not defined 26 | MP_AS="/opt/microchip/xc8/v1.34/bin/xc8" 27 | # MP_LD is not defined 28 | # MP_AR is not defined 29 | DEP_GEN=${MP_JAVA_PATH}java -jar "/opt/microchip/mplabx/v3.00/mplab_ide/mplab_ide/modules/../../bin/extractobjectdependencies.jar" 30 | MP_CC_DIR="/opt/microchip/xc8/v1.34/bin" 31 | # MP_CPPC_DIR is not defined 32 | # MP_BC_DIR is not defined 33 | MP_AS_DIR="/opt/microchip/xc8/v1.34/bin" 34 | # MP_LD_DIR is not defined 35 | # MP_AR_DIR is not defined 36 | # MP_BC_DIR is not defined 37 | -------------------------------------------------------------------------------- /bootloader/nbproject/Makefile-variables.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated - do not edit! 3 | # 4 | # NOCDDL 5 | # 6 | CND_BASEDIR=`pwd` 7 | # default configuration 8 | CND_ARTIFACT_DIR_default=dist/default/production 9 | CND_ARTIFACT_NAME_default=bootloader.X.production.hex 10 | CND_ARTIFACT_PATH_default=dist/default/production/bootloader.X.production.hex 11 | CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package 12 | CND_PACKAGE_NAME_default=bootloader.x.tar 13 | CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/bootloader.x.tar 14 | -------------------------------------------------------------------------------- /eegdata/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CC= gcc 6 | 7 | LD=ld 8 | CFILES=eegdata.c eegdata_callbacks.c eegdatarxtx.c circular_buffer.c 9 | 10 | CFLAGS= --std=gnu99 -rdynamic -pthread 11 | CLIBS= -lm \ 12 | -lglib-2.0 \ 13 | -lpangocairo-1.0\ 14 | -lpango-1.0\ 15 | -latk-1.0\ 16 | -lcairo-gobject\ 17 | -lcairo\ 18 | -lgdk_pixbuf-2.0\ 19 | -lgio-2.0\ 20 | -lgobject-2.0\ 21 | -lgtk-3\ 22 | -lgdk-3\ 23 | -lgdk_pixbuf-2.0\ 24 | -lglib-2.0 25 | 26 | CPATHS= -pthread \ 27 | -I/usr/include \ 28 | -I/usr/include/opencv \ 29 | -I/usr/include/gtk-3.0 \ 30 | -I/usr/include/at-spi2-atk/2.0\ 31 | -I/usr/include/at-spi-2.0\ 32 | -I/usr/include/dbus-1.0\ 33 | -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include\ 34 | -I/usr/include/gtk-3.0\ 35 | -I/usr/include/gio-unix-2.0/\ 36 | -I/usr/include/mirclient\ 37 | -I/usr/include/mircommon\ 38 | -I/usr/include/cairo\ 39 | -I/usr/include/pango-1.0\ 40 | -I/usr/include/harfbuzz\ 41 | -I/usr/include/pango-1.0\ 42 | -I/usr/include/atk-1.0\ 43 | -I/usr/include/cairo\ 44 | -I/usr/include/pixman-1\ 45 | -I/usr/include/freetype2\ 46 | -I/usr/include/libpng12\ 47 | -I/usr/include/gdk-pixbuf-2.0\ 48 | -I/usr/include/libpng12\ 49 | -I/usr/include/glib-2.0\ 50 | -I/usr/lib/x86_64-linux-gnu/glib-2.0/include 51 | 52 | CPPFILES=cvanalyze.cpp 53 | 54 | CPPFLAGS = -O1 55 | 56 | CPPLIBS = -lstdc++\ 57 | -larmadillo\ 58 | 59 | OFILES= eegdata.o eegdatarxtx.o eegdata_callbacks.o cvanalyze.o circular_buffer.o 60 | 61 | all: 62 | 63 | $(CC) -c $(CPPFLAGS) $(CPPFILES) 64 | $(CC) -c $(CFLAGS) $(CFILES) $(CPATHS) 65 | $(CC) $(CFLAGS) $(OFILES) $(CLIBS) $(CPPLIBS) -o eegdata 66 | 67 | 68 | clean: 69 | rm -f *.o eegdata 70 | 71 | -------------------------------------------------------------------------------- /eegdata/circular_buffer.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include "circular_buffer.h" 5 | 6 | 7 | void cb_init(circular_buffer *cb) 8 | { 9 | cb->buffer_end = &cb->buffer[BUFFERSIZE-1]; 10 | cb->count = 0; 11 | cb->head = &cb->buffer[0]; 12 | cb->tail = &cb->buffer[0]; 13 | } 14 | /* 15 | void cb_free(circular_buffer *cb) 16 | { 17 | free(cb->buffer); 18 | // clear out other fields too, just to be safe 19 | } 20 | */ 21 | void cb_push_back(circular_buffer *cb, unsigned short *item) 22 | { 23 | if(cb->count == BUFFERSIZE){ 24 | fprintf(stderr,"full buffer\n"); 25 | return;// handle error 26 | } 27 | memcpy(cb->head, item, sizeof(unsigned short)); 28 | cb->head++; 29 | if(cb->head == cb->buffer_end) 30 | cb->head = cb->buffer; 31 | cb->count++; 32 | } 33 | 34 | void cb_pop_front(circular_buffer *cb,unsigned short *item) 35 | { 36 | if(cb->count == 0){ 37 | fprintf(stderr,"empty buffer\n"); 38 | return;// handle error 39 | } 40 | memcpy(item, cb->tail, sizeof(unsigned short)); 41 | cb->tail++; 42 | if(cb->tail == cb->buffer_end) 43 | cb->tail = cb->buffer; 44 | cb->count--; 45 | } 46 | 47 | -------------------------------------------------------------------------------- /eegdata/circular_buffer.h: -------------------------------------------------------------------------------- 1 | #ifndef CIRCULAR_BUFFER_H 2 | #define CIRCULAR_BUFFER_H 3 | 4 | #define BUFFERSIZE 1024 5 | typedef struct circular_buffer 6 | { 7 | unsigned short buffer[BUFFERSIZE]; // data buffer 8 | void *buffer_end; // end of data buffer 9 | size_t count; // number of items in the buffer 10 | void *head; // pointer to head 11 | void *tail; // pointer to tail 12 | } circular_buffer; 13 | 14 | void cb_init(circular_buffer *cb); 15 | void cb_free(circular_buffer *cb); 16 | void cb_push_back(circular_buffer *cb,unsigned short *item); 17 | void cb_pop_front(circular_buffer *cb,unsigned short *item); 18 | #endif 19 | -------------------------------------------------------------------------------- /eegdata/cvanalyze.cpp: -------------------------------------------------------------------------------- 1 | /* this analysis is a learning experience for me :) */ 2 | #include 3 | #include // for standard I/O 4 | #include 5 | 6 | #include "cvanalyze.h" 7 | 8 | /* 9 | #include 10 | #include 11 | 12 | using namespace std; 13 | using namespace arma; 14 | 15 | int main(int argc, char** argv) 16 | { 17 | mat A = randu(4,5); 18 | mat B = randu(4,5); 19 | 20 | cout << A*B.t() << endl; 21 | 22 | return 0; 23 | } 24 | */ 25 | 26 | 27 | 28 | 29 | #define TRIGGERVALUE 1 30 | 31 | using namespace std; 32 | using namespace arma; 33 | 34 | 35 | 36 | 37 | void fft(Col in,Col &out); 38 | //double getPSNR ( const mat& I1, const mat& I2); 39 | //Scalar getMSSIM( const mat& I1, const mat& I2); 40 | 41 | 42 | 43 | 44 | 45 | void getpatternimage(unsigned short index){ 46 | /* 47 | list(10) trigdata = new list(); 48 | list(10) trigspect = new list(); 49 | 50 | //data_array trigspect[4]; 51 | for(int i=0;i= a.n_rows - 1 ) return a[a.n_rows-1]; 73 | int j = int(x); 74 | return a[j] + (x - j) * (a[j+1] - a[j]); 75 | } 76 | 77 | 78 | 79 | void interpolate( fvec a, fvec &b ) 80 | { 81 | float step = float( a.n_rows - 1 ) / (b.n_rows - 1); 82 | for( unsigned int j = 0; j < b.n_rows; j ++ ){ 83 | b[j] = interp1( j*step, a ); 84 | 85 | 86 | } 87 | } 88 | 89 | 90 | 91 | void compare_signals(void){ 92 | 93 | int SAMPLERATE=8; 94 | fvec chdata(SAMPLESIZE); 95 | fvec resampled(SAMPLESIZE*SAMPLERATE); 96 | cx_fvec spectrum(SAMPLESIZE); 97 | fvec result(SAMPLESIZE); 98 | 99 | /* 100 | I want to draw a smooth line for the frequency components. 101 | I can only figure out how to do that if the samples and fft are equal length. 102 | Then I interpolate the data to get it the right scale for the screen. 103 | */ 104 | 105 | for(unsigned int i=0;i 0; nxp=nxp2) { 205 | double wpwr = M_TWO_PI / nxp; 206 | for (int m = 0; m < nxp2; ++m) { 207 | double argg = m * wpwr; 208 | COMPLEX w(cos(argg), s*sin(argg)); 209 | for (int jj1 = m; jj1+nxp-m <= n; jj1 += nxp) { 210 | int jj2 = jj1 + nxp2; 211 | COMPLEX t = x[jj1] - x[jj2]; 212 | x[jj1] += x[jj2]; 213 | x[jj2] = t * w; 214 | } 215 | } 216 | } 217 | // unscramble 218 | { 219 | int i, j; 220 | for ( i = j = 0; i < n-1; ++i) { 221 | if (i < j) { 222 | swap(x[i],x[j]); 223 | } 224 | int k; 225 | for (k = n/2; k <= j; k /= 2) { 226 | j -= k; 227 | } 228 | j += k; 229 | } 230 | } 231 | // fix level 232 | if (!inv) { 233 | for (int i = 0; i < n; ++i) { 234 | x[i] /= n; 235 | } 236 | } 237 | } 238 | 239 | /* 240 | double getPSNR(const mat& I1, const mat& I2) 241 | { 242 | mat s1; 243 | absdiff(I1, I2, s1); // |I1 - I2| 244 | s1.convertTo(s1, CV_32F); // cannot make a square on 8 bits 245 | s1 = s1.mul(s1); // |I1 - I2|^2 246 | 247 | Scalar s = sum(s1); // sum elements per channel 248 | 249 | double sse = s.val[0] + s.val[1] + s.val[2]; // sum channels 250 | 251 | if( sse <= 1e-10) // for small values return zero 252 | return 0; 253 | else 254 | { 255 | double mse = sse / (double)(I1.channels() * I1.total()); 256 | double psnr = 10.0 * log10((255 * 255) / mse); 257 | return psnr; 258 | } 259 | } 260 | 261 | Scalar getMSSIM( const mat& i1, const mat& i2) 262 | { 263 | const double C1 = 6.5025, C2 = 58.5225; 264 | int d = CV_32F; 265 | 266 | mat I1, I2; 267 | i1.convertTo(I1, d); // cannot calculate on one byte large values 268 | i2.convertTo(I2, d); 269 | 270 | mat I2_2 = I2.mul(I2); // I2^2 271 | mat I1_2 = I1.mul(I1); // I1^2 272 | mat I1_I2 = I1.mul(I2); // I1 * I2 273 | 274 | 275 | mat mu1, mu2; // 276 | GaussianBlur(I1, mu1, Size(11, 11), 1.5); 277 | GaussianBlur(I2, mu2, Size(11, 11), 1.5); 278 | 279 | mat mu1_2 = mu1.mul(mu1); 280 | mat mu2_2 = mu2.mul(mu2); 281 | mat mu1_mu2 = mu1.mul(mu2); 282 | 283 | mat sigma1_2, sigma2_2, sigma12; 284 | 285 | GaussianBlur(I1_2, sigma1_2, Size(11, 11), 1.5); 286 | sigma1_2 -= mu1_2; 287 | 288 | GaussianBlur(I2_2, sigma2_2, Size(11, 11), 1.5); 289 | sigma2_2 -= mu2_2; 290 | 291 | GaussianBlur(I1_I2, sigma12, Size(11, 11), 1.5); 292 | sigma12 -= mu1_mu2; 293 | 294 | ///////////////////////////////// FORMULA //////////////////////////////// 295 | mat t1, t2, t3; 296 | 297 | t1 = 2 * mu1_mu2 + C1; 298 | t2 = 2 * sigma12 + C2; 299 | t3 = t1.mul(t2); // t3 = ((2*mu1_mu2 + C1).*(2*sigma12 + C2)) 300 | 301 | t1 = mu1_2 + mu2_2 + C1; 302 | t2 = sigma1_2 + sigma2_2 + C2; 303 | t1 = t1.mul(t2); // t1 =((mu1_2 + mu2_2 + C1).*(sigma1_2 + sigma2_2 + C2)) 304 | 305 | mat ssim_map; 306 | divide(t3, t1, ssim_map); // ssim_map = t3./t1; 307 | 308 | Scalar mssim = mean( ssim_map ); // mssim = average of ssim map 309 | return mssim; 310 | } 311 | */ 312 | -------------------------------------------------------------------------------- /eegdata/cvanalyze.h: -------------------------------------------------------------------------------- 1 | #ifndef CVANALYZE_H 2 | #define CVANALYZE_H 3 | 4 | 5 | #define TRIGGERS 10 6 | #define SAMPLESIZE 640 7 | #define CHANNELS 4 8 | #define MAXSAMPLE 65535 //16 bits 9 | #define ZEROSAMPLE (MAXSAMPLE/2) 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | unsigned short *channel1,*channel2,*channel3,*channel4; 15 | unsigned short *spectrum1,*spectrum2,*spectrum3,*spectrum4;//just for drawing 16 | typedef struct{ 17 | unsigned char active; 18 | char name[16],action[16]; 19 | unsigned short channel1[SAMPLESIZE]; 20 | unsigned short channel2[SAMPLESIZE]; 21 | unsigned short channel3[SAMPLESIZE]; 22 | unsigned short channel4[SAMPLESIZE]; 23 | } TRIGGER; 24 | 25 | TRIGGER triggers[TRIGGERS]; 26 | 27 | //void frequencies(unsigned short **samples,unsigned short *spectrum); 28 | void getpatternimage(unsigned short index); 29 | void compare_signals(void); 30 | 31 | 32 | 33 | 34 | #ifdef __cplusplus 35 | } 36 | #endif 37 | 38 | #endif 39 | 40 | -------------------------------------------------------------------------------- /eegdata/eegdata.c: -------------------------------------------------------------------------------- 1 | // gcc -std=gnu99 -Wall -export-dynamic -g eegdata.c eegdata_callbacks.c kiss_fft/tools/kiss_fftr.c kiss_fft/kiss_fft.c -o eegdata -lbiosig -lcholmod -lm -Ikiss_fft -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect `pkg-config --cflags gtk+-3.0 --libs gtk+-3.0 ` 2 | #include 3 | //#include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include /* Standard input/output definitions */ 9 | #include /* String function definitions */ 10 | #include /* UNIX standard function definitions */ 11 | #include /* File control definitions */ 12 | #include /* Error number definitions */ 13 | #include /* POSIX terminal control definitions */ 14 | 15 | #include "eegdata.h" 16 | 17 | 18 | GtkWidget* create_window (void) 19 | { 20 | GtkBuilder *builder; 21 | GError* error = NULL; 22 | char name[16]; 23 | builder = gtk_builder_new (); 24 | if (!gtk_builder_add_from_file (builder, UI_FILE, &error)) 25 | { 26 | g_warning ("Couldn't load builder file: %s", error->message); 27 | g_error_free (error); 28 | } 29 | gtk_builder_connect_signals (builder, NULL); 30 | GtkWidget *window= GTK_WIDGET (gtk_builder_get_object (builder, "window1")); 31 | // gtk_window_set_resizable (GTK_WINDOW (window), FALSE); 32 | video = GTK_WIDGET (gtk_builder_get_object (builder, "drawingarea1")); 33 | signalview = GTK_WIDGET (gtk_builder_get_object (builder, "drawingarea2")); 34 | devicechoice=GTK_WIDGET(gtk_builder_get_object (builder, "radiobutton1")); 35 | startbutton=GTK_WIDGET(gtk_builder_get_object( builder,"togglebutton1")); 36 | chan1check=GTK_WIDGET(gtk_builder_get_object( builder,"checkbutton1")); 37 | chan2check=GTK_WIDGET(gtk_builder_get_object( builder,"checkbutton2")); 38 | chan3check=GTK_WIDGET(gtk_builder_get_object( builder,"checkbutton3")); 39 | chan4check=GTK_WIDGET(gtk_builder_get_object( builder,"checkbutton4")); 40 | timecheck=GTK_WIDGET(gtk_builder_get_object( builder,"radiobutton3")); 41 | // freqcheck=GTK_WIDGET(gtk_builder_get_object( builder,"radiobutton4")); 42 | rangespin=GTK_WIDGET(gtk_builder_get_object( builder,"spinbutton1")); 43 | 44 | savedialog=GTK_WIDGET(gtk_builder_get_object( builder,"window2")); 45 | for(unsigned int i=0;i<10;i++){ 46 | sprintf(name,"nameentry%d",i+1); 47 | savename[i]=GTK_WIDGET(gtk_builder_get_object( builder,name)); 48 | gtk_widget_set_name(savename[i],name); 49 | } 50 | for(unsigned int i=0;i<10;i++){ 51 | sprintf(name,"actionentry%d",i+1); 52 | saveaction[i]=GTK_WIDGET(gtk_builder_get_object( builder,name)); 53 | gtk_widget_set_name(saveaction[i],name); 54 | } 55 | for(unsigned int i=0;i<10;i++){ 56 | sprintf(name,"savebutton%d",i+1); 57 | savebutton[i]=GTK_WIDGET(gtk_builder_get_object( builder,name)); 58 | gtk_widget_set_name(savebutton[i],name); 59 | } 60 | for(unsigned int i=0;i<10;i++){ 61 | sprintf(name,"deletebutton%d",i+1); 62 | deletebutton[i]=GTK_WIDGET(gtk_builder_get_object( builder,name)); 63 | gtk_widget_set_name(deletebutton[i],name); 64 | } 65 | for(unsigned int i=0;i<10;i++){ 66 | sprintf(name,"activecheckbutton%d",i+1); 67 | activebutton[i]=GTK_WIDGET(gtk_builder_get_object( builder,name)); 68 | gtk_widget_set_name(activebutton[i],name); 69 | } 70 | g_object_unref (builder); 71 | background= cairo_image_surface_create_from_png ("./grid.png"); 72 | scope = cairo_image_surface_create(CAIRO_FORMAT_ARGB32,SCOPEWIDTH,SCOPEHEIGHT); 73 | 74 | return window; 75 | } 76 | 77 | void trace(cairo_t* sc,unsigned short *data,unsigned int size){ 78 | double x = SCOPEWIDTH-(size*XSCALE); 79 | double y= SCOPEHEIGHT-(data[0]*YSCALE); 80 | 81 | cairo_move_to (sc,x, y); 82 | cairo_set_line_width(sc,2); 83 | for(int i=0;iTYPE=EDF; 126 | 127 | edfout->CHANNEL[0].PhysMin=0; // physical minimum 128 | edfout->CHANNEL[0].PhysMax=3.3; // physical maximum 129 | edfout->CHANNEL[0].DigMin=0; // digital minimum 130 | edfout->CHANNEL[0].DigMax=4096; // digital maximum 131 | edfout->CHANNEL[0].Cal=1; // gain factor 132 | edfout->CHANNEL[0].Off=0; // bias 133 | edfout->CHANNEL[0].OnOff=1; 134 | edfout->CHANNEL[0].SPR=1; 135 | edfout->CHANNEL[0].TOffset=1/SAMPLESIZE; 136 | sprintf(edfout->CHANNEL[0].Label,"CHANNEL 1");; 137 | 138 | edfout->CHANNEL[1].PhysMin=0; // physical minimum 139 | edfout->CHANNEL[1].PhysMax=3.3; // physical maximum 140 | edfout->CHANNEL[1].DigMin=0; // digital minimum 141 | edfout->CHANNEL[1].DigMax=4096; // digital maximum 142 | edfout->CHANNEL[1].Cal=1; // gain factor 143 | edfout->CHANNEL[1].Off=0; // bias 144 | edfout->CHANNEL[1].OnOff=1; 145 | edfout->CHANNEL[1].SPR=1; 146 | edfout->CHANNEL[1].TOffset=1/SAMPLESIZE; 147 | sprintf(edfout->CHANNEL[1].Label,"CHANNEL 2");; 148 | 149 | sprintf(edfout->CHANNEL[2].Label,"EDF Annotations"); 150 | 151 | edfout->FLAG.ANONYMOUS=1; 152 | edfout->SPR = 1; 153 | edfout->SampleRate=SAMPLESIZE; 154 | // edfout->EVENT.SampleRate=1; 155 | 156 | mkfifo(filename, 0666); 157 | 158 | edfout = sopen(filename, "w", edfout); 159 | if (edfout == NULL) { 160 | perror("opening output file"); 161 | return; 162 | } 163 | 164 | edfout->NRec=1; 165 | 166 | // fakepackets(edfout,SAMPLESIZE); 167 | 168 | sclose(edfout); 169 | unlink(filename); 170 | 171 | 172 | 173 | } 174 | */ 175 | 176 | void allocate_buffers(void){ 177 | 178 | // allocate an "array of arrays" of int 179 | channel1 = (unsigned short*)malloc( sizeof(unsigned short)*SAMPLESIZE ) ; 180 | channel2 = (unsigned short*)malloc( sizeof(unsigned short)*SAMPLESIZE ) ; 181 | channel3 = (unsigned short*)malloc( sizeof(unsigned short)*SAMPLESIZE ) ; 182 | channel4 = (unsigned short*)malloc( sizeof(unsigned short)*SAMPLESIZE ) ; 183 | spectrum1 = (unsigned short*)malloc( sizeof(unsigned short)*(SAMPLESIZE/2) ) ; 184 | spectrum2 = (unsigned short*)malloc( sizeof(unsigned short)*(SAMPLESIZE/2) ) ; 185 | spectrum3 = (unsigned short*)malloc( sizeof(unsigned short)*(SAMPLESIZE/2) ) ; 186 | spectrum4 = (unsigned short*)malloc( sizeof(unsigned short)*(SAMPLESIZE/2) ) ; 187 | memset(channel1,0,SAMPLESIZE); 188 | memset(channel2,0,SAMPLESIZE); 189 | memset(channel3,0,SAMPLESIZE); 190 | memset(channel4,0,SAMPLESIZE); 191 | 192 | 193 | } 194 | 195 | 196 | void read_settings_file(void){ 197 | FILE *settings=NULL; 198 | settings=fopen(SAVE_FILE,"r"); 199 | if(settings==NULL)return; 200 | for(unsigned int i=0;i<10;i++){ 201 | fread(&triggers[i],sizeof(TRIGGER),1,settings); 202 | gtk_entry_set_text(GTK_ENTRY(savename[i]),triggers[i].name); 203 | gtk_entry_set_text(GTK_ENTRY(saveaction[i]),triggers[i].action); 204 | 205 | } 206 | fclose(settings); 207 | } 208 | 209 | void save_settings_file(void){ 210 | FILE *settings=NULL; 211 | settings=fopen(SAVE_FILE,"w"); 212 | if(settings==NULL)return; 213 | for(unsigned int i=0;i<10;i++){ 214 | fwrite(&triggers[i],sizeof(TRIGGER),1,settings); 215 | } 216 | fclose(settings); 217 | } 218 | 219 | void opendaemon(){ 220 | 221 | 222 | int result=pthread_create(&rxthread,NULL,portio,NULL); 223 | if(result!=0){ 224 | perror("creating rxthread"); 225 | exit(1); 226 | } 227 | //set resistor to default 228 | sprintf(command,"r %d",RESISTOR); 229 | gtk_spin_button_set_value((GtkSpinButton*)rangespin,RESISTOR); 230 | 231 | } 232 | // SetupConnection sets the port's baud, parity, etc. 233 | int SetupConnection(int port, int baudRate){ 234 | struct termios attribs; 235 | memset(&attribs,0,sizeof(attribs)); 236 | cfsetispeed(&attribs, baudRate);//B1500000 237 | cfsetospeed(&attribs, baudRate); 238 | attribs.c_iflag &= ~( IGNCR | IGNBRK | BRKINT | PARMRK | INPCK | ISTRIP | INLCR | ICRNL | IXON | IXOFF ); 239 | attribs.c_iflag=(IGNPAR | IXANY) ; 240 | attribs.c_oflag &= ~OPOST; 241 | attribs.c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN); 242 | attribs.c_cflag &= ~(CSTOPB | CSIZE | PARENB); 243 | attribs.c_cflag |= CS8; 244 | attribs.c_cc[VMIN]=PACKETSIZE*2; 245 | attribs.c_cc[VTIME]=0; 246 | sleep(2); 247 | tcflush(port, TCIOFLUSH); 248 | tcsetattr(port, TCSANOW, &attribs); 249 | tcgetattr(port, &attribs); 250 | return 1; 251 | 252 | } 253 | 254 | int main( int argc,char *argv[]){ 255 | 256 | port=-1; 257 | 258 | port = open(DEFAULT_COM, O_RDWR | O_NOCTTY ); 259 | if (port == -1){ 260 | perror("Opening COM port"); 261 | exit(0); 262 | } 263 | if (!SetupConnection(port, DEFAULT_BAUD)) { 264 | perror("SetupConnection"); 265 | close(port); 266 | exit(0); 267 | } 268 | 269 | 270 | 271 | allocate_buffers(); 272 | GtkWidget *window; 273 | gtk_init(&argc, &argv); 274 | window = create_window (); 275 | read_settings_file(); 276 | // for(unsigned int i=0;i<10;i++)getpatternimage(i); 277 | opendaemon(); 278 | 279 | gtk_widget_show (window); 280 | gtk_main(); 281 | 282 | 283 | sprintf(command,"s"); 284 | while(strlen(command)); 285 | sprintf(command,"x"); 286 | while(strlen(command)); 287 | 288 | if(port!=-1){ 289 | close(port); 290 | } 291 | 292 | pthread_join(rxthread,NULL); 293 | 294 | sleep(2); 295 | return 0; 296 | 297 | } 298 | -------------------------------------------------------------------------------- /eegdata/eegdata.h: -------------------------------------------------------------------------------- 1 | #ifndef EEGDATA_H 2 | #define EEGDATA_H 3 | 4 | #include 5 | #include 6 | 7 | #include 8 | #include "cvanalyze.h" 9 | #include "eegdatarxtx.h" 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | #define FRAMEDELAY 50 16 | #define DEFAULT_FILE "./telepathy-eeg.dat" 17 | #define RXTXPROCESS "./eegdatarxtx" 18 | #define FIFONAME "./eegdatafifo" 19 | #define SAVE_FILE "./eegdatasettings" 20 | 21 | 22 | 23 | #define UI_FILE "ui3.ui" 24 | #define SCOPEWIDTH 640 25 | #define SCOPEHEIGHT 480 26 | #define WRITESIZE 32 //number of samples to write at once 27 | #define YSCALE ((float)SCOPEHEIGHT/(float)MAXSAMPLE) 28 | #define XSCALE (SCOPEWIDTH/(SAMPLESIZE/2)) 29 | #define RESISTOR 255 //this sets the resistor value that sets the final amplifier gain 30 | 31 | #define DEFAULT_COM "/dev/rfcomm1" 32 | #define DEFAULT_BAUD B230400 33 | 34 | 35 | pthread_t rxthread; 36 | 37 | char mode; 38 | 39 | GtkWidget *video,*signalview,*chan1check,*chan2check,*chan3check,*chan4check,*timecheck,*freqcheck,*savedialog,*startbutton,*devicechoice,*rangespin; 40 | GtkWidget *savename[TRIGGERS],*saveaction[TRIGGERS],*savebutton[TRIGGERS],*deletebutton[TRIGGERS],*activebutton[TRIGGERS]; 41 | GdkPixbuf *grid; 42 | 43 | 44 | 45 | 46 | double volts,trig,chron; 47 | unsigned short selectedrow; 48 | unsigned char RequestedRange; 49 | 50 | cairo_surface_t *background,*scope; 51 | 52 | union{ 53 | struct{ 54 | unsigned DONE :1; 55 | unsigned DATA :1; 56 | }; 57 | 58 | }controlbits; 59 | 60 | 61 | 62 | GtkWidget* create_window (void); 63 | void drawingarea1_draw_event_cb(GtkWidget *widget, gpointer gdata); 64 | void drawingarea2_draw_event_cb(GtkWidget *widget, gpointer gdata); 65 | void open_save_patterns( GtkWidget *widget , gpointer data); 66 | void save_pattern( GtkWidget *widget , gpointer data); 67 | void start( GtkWidget *widget , gpointer data); 68 | void destroy (GtkWidget *widget, gpointer data); 69 | 70 | void microsleep(unsigned int us); 71 | void trace(cairo_t* sc,unsigned short *data,unsigned int size); 72 | int SetupConnection(int port, int baudRate); 73 | int receive(int port,unsigned char *rxbuffer,unsigned int length); 74 | void fakepackets(unsigned int length); 75 | void read_settings_file(void); 76 | void save_settings_file(void); 77 | void getdata(void); 78 | int setrange(int range); 79 | void writepackets(void); 80 | 81 | 82 | #ifdef __cplusplus 83 | } 84 | #endif 85 | 86 | 87 | #endif 88 | -------------------------------------------------------------------------------- /eegdata/eegdata_callbacks.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include /* Standard input/output definitions */ 9 | #include /* String function definitions */ 10 | #include /* UNIX standard function definitions */ 11 | #include /* File control definitions */ 12 | #include /* Error number definitions */ 13 | #include /* POSIX terminal control definitions */ 14 | #include 15 | #include 16 | #include 17 | 18 | 19 | #include "eegdata.h" 20 | //#include "cvanalyze.h" 21 | 22 | 23 | static gint timeout (gpointer data){ 24 | //static gboolean data_ready(GIOChannel *channel, GIOCondition cond, gpointer data){ 25 | if(rxbuffer.count>=WRITESIZE*CHANNELS){ 26 | writepackets(); 27 | if(!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(timecheck))){ 28 | compare_signals(); 29 | } 30 | gtk_widget_queue_draw(video); 31 | } 32 | else { 33 | fprintf(stderr,"Received %d bytes\n",rxbuffer.count); 34 | } 35 | // compare_signals(); 36 | return controlbits.DATA; 37 | } 38 | 39 | 40 | 41 | void drawingarea2_draw_event_cb(GtkWidget *widget, gpointer gdata){ 42 | /* 43 | * cairo_t* cr=gdk_cairo_create(gtk_widget_get_window(widget)); 44 | * 45 | * 46 | * cairo_set_source_rgb (cr,0, 0, 1); 47 | * trace(cr,triggers[selectedrow].channel1,SCOPEWIDTH/2,SCOPEHEIGHT/2); 48 | * cairo_stroke (cr); 49 | * cairo_set_source_rgb (cr,1, 0, 0); 50 | * trace(cr,triggers[selectedrow].channel2,SCOPEWIDTH/2,SCOPEHEIGHT/2); 51 | * cairo_stroke (cr); 52 | */ 53 | 54 | } 55 | 56 | void drawingarea1_draw_event_cb(GtkWidget *widget, gpointer gdata){ 57 | 58 | // cairo_t* cr=cairo_create(scope); 59 | // 60 | // cairo_set_source_surface(cr,scope,(double)(PACKET*XSCALE),0); 61 | // cairo_translate(cr ,(double)-(PACKET*XSCALE),0.0); 62 | // cairo_set_source_surface (cr,scope, 0, 0); 63 | // cairo_paint(cr); 64 | // cairo_translate(cr ,(double)(PACKET*XSCALE),0.0); 65 | 66 | 67 | 68 | 69 | 70 | 71 | if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(timecheck))){ 72 | cairo_surface_t* slide = cairo_image_surface_create(CAIRO_FORMAT_ARGB32,SCOPEWIDTH,SCOPEHEIGHT); 73 | cairo_t* cr=cairo_create(slide); 74 | 75 | cairo_set_source_surface(cr,scope,(double)(WRITESIZE*XSCALE),0); 76 | cairo_translate(cr ,(double)-(WRITESIZE*XSCALE),0.0); 77 | cairo_set_source_surface(cr,scope,0,0); 78 | cairo_paint(cr); 79 | 80 | 81 | cairo_destroy(cr); 82 | 83 | cr=cairo_create(scope); 84 | 85 | cairo_set_source_rgba (cr, 0, 0, 0, 0); 86 | cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); 87 | cairo_paint (cr); 88 | cairo_set_operator (cr, CAIRO_OPERATOR_OVER); 89 | 90 | cairo_set_source_surface (cr,slide, 0, 0); 91 | cairo_paint(cr); 92 | 93 | int start=SAMPLESIZE-WRITESIZE-1; 94 | if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chan1check))){ 95 | cairo_set_source_rgb (cr,1, 0, 0); 96 | trace(cr,&channel1[start],WRITESIZE); 97 | cairo_stroke (cr); 98 | } 99 | if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chan2check))){ 100 | cairo_set_source_rgb (cr,0, 0, 1); 101 | trace(cr,&channel2[start],WRITESIZE); 102 | cairo_stroke (cr); 103 | } 104 | if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chan3check))){ 105 | cairo_set_source_rgb (cr,0, 1, 0); 106 | trace(cr,&channel3[start],WRITESIZE); 107 | cairo_stroke (cr); 108 | } 109 | if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chan4check))){ 110 | cairo_set_source_rgb (cr,1, 1, 0); 111 | trace(cr,&channel4[start],WRITESIZE); 112 | cairo_stroke (cr); 113 | } 114 | cairo_surface_flush(scope); 115 | cairo_destroy (cr); 116 | 117 | cr=gdk_cairo_create(gtk_widget_get_window(widget)); 118 | 119 | // cairo_set_source_surface (cr,background, 0, 0); 120 | // cairo_paint(cr); 121 | 122 | 123 | cairo_set_source_surface (cr,scope, 0, 0); 124 | cairo_paint(cr); 125 | cairo_destroy (cr); 126 | } 127 | else{ 128 | cairo_t* cr=gdk_cairo_create(gtk_widget_get_window(widget)); 129 | 130 | // cairo_set_source_surface (cr,background, 0, 0); 131 | // cairo_paint(cr); 132 | unsigned int size = (SAMPLESIZE/2)+1; 133 | if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chan1check))){ 134 | cairo_set_source_rgb (cr,1, 0, 0); 135 | trace(cr,spectrum1,size); 136 | cairo_stroke (cr); 137 | } 138 | if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chan2check))){ 139 | cairo_set_source_rgb (cr,0, 0, 1); 140 | trace(cr,spectrum2,size); 141 | cairo_stroke (cr); 142 | } 143 | if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chan3check))){ 144 | cairo_set_source_rgb (cr,0, 1, 0); 145 | trace(cr,spectrum3,size); 146 | cairo_stroke (cr); 147 | } 148 | if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chan4check))){ 149 | cairo_set_source_rgb (cr,1, 1, 0); 150 | trace(cr,spectrum4,size); 151 | cairo_stroke (cr); 152 | } 153 | cairo_destroy (cr); 154 | } 155 | 156 | 157 | } 158 | 159 | 160 | void devicechanged(GtkWidget *widget, gpointer gdata){ 161 | // this is the signal from the first radio button 162 | if(!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))){ 163 | mode='d'; 164 | } 165 | else{ 166 | mode='f'; 167 | } 168 | 169 | } 170 | 171 | void spinbutton1_value_changed_cb(GtkWidget *widget,gpointer gdata){ 172 | int spinvalue=gtk_spin_button_get_value_as_int((GtkSpinButton*)widget); 173 | sprintf(command,"r %d\n",spinvalue); 174 | } 175 | 176 | void start( GtkWidget *widget , gpointer data){ 177 | // sprintf(buffer,"%s %s",RXTXPROCESS,mode); 178 | if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(startbutton))){ 179 | cb_init(&rxbuffer); 180 | if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(devicechoice)))sprintf(command,"f"); 181 | else sprintf(command,"d"); 182 | 183 | controlbits.DATA=1; 184 | gtk_button_set_label((GtkButton*)startbutton,"stop"); 185 | g_timeout_add(150,timeout,NULL);//200ms == 5fps 186 | 187 | } 188 | else{ 189 | sprintf(command,"s"); 190 | controlbits.DATA=0; 191 | gtk_button_set_label((GtkButton*)startbutton,"start"); 192 | } 193 | } 194 | 195 | 196 | void rowselect( GtkWidget *widget , gpointer data){ 197 | GdkRGBA red; 198 | red.red=1.0; 199 | red.blue=0; 200 | red.green=0; 201 | red.alpha=1.0; 202 | char *name=(char*)gtk_widget_get_name(widget); 203 | 204 | name=strtok(name,"nameentry"); 205 | int index=atoi(name)-1; 206 | for(unsigned int i=0;i<10;i++){ 207 | gtk_widget_override_background_color(savename[i],0,NULL); 208 | gtk_widget_override_background_color(saveaction[i],0,NULL); 209 | } 210 | gtk_widget_override_background_color(savename[index],0,&red); 211 | gtk_widget_override_background_color(saveaction[index],0,&red); 212 | selectedrow=index; 213 | gtk_widget_queue_draw(signalview); 214 | 215 | } 216 | 217 | 218 | void activaterow( GtkWidget *widget , gpointer data){ 219 | char *name=(char*)gtk_widget_get_name(widget); 220 | 221 | name=strtok(name,"activecheckbutton"); 222 | int index=atoi(name)-1; 223 | printf("%s = %d\n",name,index); 224 | triggers[index].active=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(activebutton[index])); 225 | 226 | } 227 | 228 | void saveentry( GtkWidget *widget , gpointer data){ 229 | 230 | char *widgetname=(char*)gtk_widget_get_name(widget); 231 | 232 | widgetname=strtok(widgetname,"savebutton"); 233 | int index=atoi(widgetname)-1; 234 | 235 | char* name = (char*)gtk_entry_get_text(GTK_ENTRY(savename[index])); 236 | char* action = (char*)gtk_entry_get_text(GTK_ENTRY(saveaction[index])); 237 | //save if the name and action are present 238 | if((strcmp(name,"")!=0) && (strcmp(action,"")!=0)){ 239 | strcpy(triggers[index].name,name); 240 | strcpy(triggers[index].action,action); 241 | for(unsigned int k=0;k<4*SAMPLESIZE;k++){ 242 | triggers[index].channel1[k]=channel1[k]; 243 | triggers[index].channel2[k]=channel2[k]; 244 | } 245 | } 246 | selectedrow=index; 247 | getpatternimage(index); 248 | gtk_widget_queue_draw(signalview); 249 | save_settings_file(); 250 | } 251 | 252 | void deleteentry( GtkWidget *widget , gpointer data){ 253 | char *widgetname=(char*)gtk_widget_get_name(widget); 254 | 255 | widgetname=strtok(widgetname,"deletebutton"); 256 | int index=atoi(widgetname)-1; 257 | 258 | //save if the name and action are present 259 | strcpy(triggers[index].name,""); 260 | strcpy(triggers[index].action,""); 261 | gtk_entry_set_text(GTK_ENTRY(savename[index]),""); 262 | gtk_entry_set_text(GTK_ENTRY(saveaction[index]),""); 263 | 264 | for(unsigned int k=0;k<4*SAMPLESIZE;k++){ 265 | triggers[index].channel1[k]=0; 266 | triggers[index].channel2[k]=0; 267 | triggers[index].channel3[k]=0; 268 | triggers[index].channel4[k]=0; 269 | } 270 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(activebutton[index]),FALSE); 271 | triggers[index].active=0; 272 | save_settings_file(); 273 | } 274 | 275 | 276 | void open_save_patterns( GtkWidget *widget , gpointer data){ 277 | // this will stop the program from updating and preserve the reading 278 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(startbutton),FALSE); 279 | // find the emplty row and change the color to red 280 | selectedrow=0; 281 | 282 | for(unsigned int i=0;i<10;i++){ 283 | 284 | gtk_entry_set_text(GTK_ENTRY(savename[i]),triggers[i].name); 285 | gtk_entry_set_text(GTK_ENTRY(saveaction[i]),triggers[i].action); 286 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(activebutton[i]),triggers[i].active); 287 | } 288 | gtk_widget_show(savedialog); 289 | gtk_widget_queue_draw(signalview); 290 | } 291 | 292 | void close_save( GtkWidget *widget , gpointer data){ 293 | gtk_widget_hide(savedialog); 294 | 295 | } 296 | 297 | 298 | 299 | void destroy (GtkWidget *widget, gpointer data) 300 | { 301 | gtk_main_quit (); 302 | controlbits.DONE=1; 303 | } 304 | 305 | void test (GtkWidget *widget, gpointer data) 306 | { 307 | // getdata(); 308 | // compare_signals(); 309 | // gtk_widget_queue_draw(video); 310 | } 311 | 312 | -------------------------------------------------------------------------------- /eegdata/eegdatarxtx.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include /* Standard input/output definitions */ 7 | #include /* String function definitions */ 8 | #include /* UNIX standard function definitions */ 9 | #include /* File control definitions */ 10 | #include /* Error number definitions */ 11 | #include /* POSIX terminal control definitions */ 12 | 13 | #include "eegdatarxtx.h" 14 | 15 | 16 | #define XON 0x11 17 | #define XOFF 0x13 18 | #define START 0x12 19 | #define STOP 0x14 20 | #define TESTMODE 0x07 21 | 22 | 23 | 24 | 25 | 26 | void receivedata(const char mode){ 27 | int length=PACKETSIZE+2;//8 bytes of data with start and stop bytes 28 | char control; 29 | char packet[PACKETSIZE*2]; 30 | command[0]='\0'; 31 | 32 | 33 | int result=write(port, &mode, 1); 34 | tcdrain(port); 35 | if(result!=1){ 36 | perror("write start"); 37 | close(port); 38 | return; 39 | 40 | } 41 | 42 | while(!strlen(command)){ 43 | 44 | result = read(port,packet,length); 45 | 46 | if(result==length){ 47 | if(packet[0]==XON && packet[length-1]==XOFF){ 48 | unsigned short data=((unsigned short)packet[1]<<8)+packet[2]; 49 | cb_push_back(&rxbuffer,&data); 50 | data=((unsigned short)packet[3]<<8)+packet[4]; 51 | cb_push_back(&rxbuffer,&data); 52 | data=((unsigned short)packet[5]<<8)+packet[6]; 53 | cb_push_back(&rxbuffer,&data); 54 | data=((unsigned short)packet[7]<<8)+packet[8]; 55 | cb_push_back(&rxbuffer,&data); 56 | } 57 | else{ 58 | printf("start=%d ,stop=%d \n",packet[0],packet[length-1]); 59 | fprintf(stderr,"read failed\n"); 60 | while(packet[0]!=XOFF){ 61 | read(port,packet,1);//wait for stop 62 | } 63 | } 64 | } 65 | 66 | } 67 | control=STOP; 68 | result=write(port, &control, 1); 69 | tcdrain(port); 70 | if(result!=1){ 71 | perror("write stop"); 72 | } 73 | } 74 | 75 | 76 | void transfercommand(char* c){ 77 | int length=strlen(c); 78 | if(length){ 79 | int result=write(port,c,length); 80 | tcdrain(port); 81 | if(result!=length)fprintf(stderr,"write command failed\n"); 82 | } 83 | command[0]='\0'; 84 | } 85 | 86 | 87 | void* portio(void* arg){ 88 | 89 | 90 | 91 | while(1){ 92 | printf("received command %s\n",command); 93 | switch(command[0]){ 94 | case 'f': 95 | receivedata(TESTMODE); 96 | break; 97 | case 'd': 98 | receivedata(START); 99 | break; 100 | case 's'://stop 101 | command[0]='\0'; 102 | while(!strlen(command)){usleep(2000);} 103 | break; 104 | case 'x': 105 | command[0]='\0'; 106 | return 0; 107 | default: 108 | transfercommand(command); 109 | while(!strlen(command)){usleep(2000);} 110 | break; 111 | } 112 | 113 | } 114 | 115 | 116 | 117 | 118 | } 119 | -------------------------------------------------------------------------------- /eegdata/eegdatarxtx.h: -------------------------------------------------------------------------------- 1 | #ifndef EEGDATARXTX_H 2 | #define EEGDATARXTX_H 3 | 4 | #include "circular_buffer.h" 5 | 6 | 7 | #define PACKETSIZE 8 //packet is 8 bytes or 4 short int 8 | 9 | circular_buffer rxbuffer; 10 | char command[8]; 11 | int port; 12 | void* portio(void* arg); 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /eegdata/grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/logical/telepathy/77cb7699be2163481d14c72d79cedc43f7f57bbc/eegdata/grid.png -------------------------------------------------------------------------------- /firmware/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # There exist several targets which are by default empty and which can be 3 | # used for execution of your targets. These targets are usually executed 4 | # before and after some main targets. They are: 5 | # 6 | # .build-pre: called before 'build' target 7 | # .build-post: called after 'build' target 8 | # .clean-pre: called before 'clean' target 9 | # .clean-post: called after 'clean' target 10 | # .clobber-pre: called before 'clobber' target 11 | # .clobber-post: called after 'clobber' target 12 | # .all-pre: called before 'all' target 13 | # .all-post: called after 'all' target 14 | # .help-pre: called before 'help' target 15 | # .help-post: called after 'help' target 16 | # 17 | # Targets beginning with '.' are not intended to be called on their own. 18 | # 19 | # Main targets can be executed directly, and they are: 20 | # 21 | # build build a specific configuration 22 | # clean remove built files from a configuration 23 | # clobber remove all built files 24 | # all build all configurations 25 | # help print help mesage 26 | # 27 | # Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and 28 | # .help-impl are implemented in nbproject/makefile-impl.mk. 29 | # 30 | # Available make variables: 31 | # 32 | # CND_BASEDIR base directory for relative paths 33 | # CND_DISTDIR default top distribution directory (build artifacts) 34 | # CND_BUILDDIR default top build directory (object files, ...) 35 | # CONF name of current configuration 36 | # CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration) 37 | # CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration) 38 | # CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration) 39 | # CND_PACKAGE_DIR_${CONF} directory of package (current configuration) 40 | # CND_PACKAGE_NAME_${CONF} name of package (current configuration) 41 | # CND_PACKAGE_PATH_${CONF} path to package (current configuration) 42 | # 43 | # NOCDDL 44 | 45 | 46 | # Environment 47 | MKDIR=mkdir 48 | CP=cp 49 | CCADMIN=CCadmin 50 | RANLIB=ranlib 51 | 52 | 53 | # build 54 | build: .build-post 55 | 56 | .build-pre: 57 | # Add your pre 'build' code here... 58 | 59 | .build-post: .build-impl 60 | # Add your post 'build' code here... 61 | 62 | 63 | # clean 64 | clean: .clean-post 65 | 66 | .clean-pre: 67 | # Add your pre 'clean' code here... 68 | # WARNING: the IDE does not call this target since it takes a long time to 69 | # simply run make. Instead, the IDE removes the configuration directories 70 | # under build and dist directly without calling make. 71 | # This target is left here so people can do a clean when running a clean 72 | # outside the IDE. 73 | 74 | .clean-post: .clean-impl 75 | # Add your post 'clean' code here... 76 | 77 | 78 | # clobber 79 | clobber: .clobber-post 80 | 81 | .clobber-pre: 82 | # Add your pre 'clobber' code here... 83 | 84 | .clobber-post: .clobber-impl 85 | # Add your post 'clobber' code here... 86 | 87 | 88 | # all 89 | all: .all-post 90 | 91 | .all-pre: 92 | # Add your pre 'all' code here... 93 | 94 | .all-post: .all-impl 95 | # Add your post 'all' code here... 96 | 97 | 98 | # help 99 | help: .help-post 100 | 101 | .help-pre: 102 | # Add your pre 'help' code here... 103 | 104 | .help-post: .help-impl 105 | # Add your post 'help' code here... 106 | 107 | 108 | 109 | # include project implementation makefile 110 | include nbproject/Makefile-impl.mk 111 | 112 | # include project make variables 113 | include nbproject/Makefile-variables.mk 114 | -------------------------------------------------------------------------------- /firmware/nbproject/Makefile-default.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a -pre and a -post target defined where you can add customized code. 6 | # 7 | # This makefile implements configuration specific macros and targets. 8 | 9 | 10 | # Include project Makefile 11 | ifeq "${IGNORE_LOCAL}" "TRUE" 12 | # do not include local makefile. User is passing all local related variables already 13 | else 14 | include Makefile 15 | # Include makefile containing local settings 16 | ifeq "$(wildcard nbproject/Makefile-local-default.mk)" "nbproject/Makefile-local-default.mk" 17 | include nbproject/Makefile-local-default.mk 18 | endif 19 | endif 20 | 21 | # Environment 22 | MKDIR=mkdir -p 23 | RM=rm -f 24 | MV=mv 25 | CP=cp 26 | 27 | # Macros 28 | CND_CONF=default 29 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 30 | IMAGE_TYPE=debug 31 | OUTPUT_SUFFIX=elf 32 | DEBUGGABLE_SUFFIX=elf 33 | FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/spi_adc_to_hm-10.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 34 | else 35 | IMAGE_TYPE=production 36 | OUTPUT_SUFFIX=hex 37 | DEBUGGABLE_SUFFIX=elf 38 | FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/spi_adc_to_hm-10.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 39 | endif 40 | 41 | # Object Directory 42 | OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE} 43 | 44 | # Distribution Directory 45 | DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE} 46 | 47 | # Source Files Quoted if spaced 48 | SOURCEFILES_QUOTED_IF_SPACED=main.c 49 | 50 | # Object Files Quoted if spaced 51 | OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.p1 52 | POSSIBLE_DEPFILES=${OBJECTDIR}/main.p1.d 53 | 54 | # Object Files 55 | OBJECTFILES=${OBJECTDIR}/main.p1 56 | 57 | # Source Files 58 | SOURCEFILES=main.c 59 | 60 | 61 | CFLAGS= 62 | ASFLAGS= 63 | LDLIBSOPTIONS= 64 | 65 | ############# Tool locations ########################################## 66 | # If you copy a project from one host to another, the path where the # 67 | # compiler is installed may be different. # 68 | # If you open this project with MPLAB X in the new host, this # 69 | # makefile will be regenerated and the paths will be corrected. # 70 | ####################################################################### 71 | # fixDeps replaces a bunch of sed/cat/printf statements that slow down the build 72 | FIXDEPS=fixDeps 73 | 74 | .build-conf: ${BUILD_SUBPROJECTS} 75 | ifneq ($(INFORMATION_MESSAGE), ) 76 | @echo $(INFORMATION_MESSAGE) 77 | endif 78 | ${MAKE} -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/spi_adc_to_hm-10.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 79 | 80 | MP_PROCESSOR_OPTION=16F1788 81 | # ------------------------------------------------------------------------------------ 82 | # Rules for buildStep: compile 83 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 84 | ${OBJECTDIR}/main.p1: main.c nbproject/Makefile-${CND_CONF}.mk 85 | @${MKDIR} "${OBJECTDIR}" 86 | @${RM} ${OBJECTDIR}/main.p1.d 87 | @${RM} ${OBJECTDIR}/main.p1 88 | ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G -D__DEBUG=1 --debugger=pickit3 --double=24 --float=24 --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=ignore --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --codeoffset=0x700 --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,+download,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s" -o${OBJECTDIR}/main.p1 main.c 89 | @-${MV} ${OBJECTDIR}/main.d ${OBJECTDIR}/main.p1.d 90 | @${FIXDEPS} ${OBJECTDIR}/main.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ 91 | 92 | else 93 | ${OBJECTDIR}/main.p1: main.c nbproject/Makefile-${CND_CONF}.mk 94 | @${MKDIR} "${OBJECTDIR}" 95 | @${RM} ${OBJECTDIR}/main.p1.d 96 | @${RM} ${OBJECTDIR}/main.p1 97 | ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G --double=24 --float=24 --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=ignore --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --codeoffset=0x700 --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,+download,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s" -o${OBJECTDIR}/main.p1 main.c 98 | @-${MV} ${OBJECTDIR}/main.d ${OBJECTDIR}/main.p1.d 99 | @${FIXDEPS} ${OBJECTDIR}/main.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ 100 | 101 | endif 102 | 103 | # ------------------------------------------------------------------------------------ 104 | # Rules for buildStep: assemble 105 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 106 | else 107 | endif 108 | 109 | # ------------------------------------------------------------------------------------ 110 | # Rules for buildStep: link 111 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 112 | dist/${CND_CONF}/${IMAGE_TYPE}/spi_adc_to_hm-10.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk 113 | @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 114 | ${MP_CC} $(MP_EXTRA_LD_PRE) --chip=$(MP_PROCESSOR_OPTION) -G -mdist/${CND_CONF}/${IMAGE_TYPE}/spi_adc_to_hm-10.X.${IMAGE_TYPE}.map -D__DEBUG=1 --debugger=pickit3 --double=24 --float=24 --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=ignore --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --codeoffset=0x700 --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,+download,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s" --memorysummary dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml -odist/${CND_CONF}/${IMAGE_TYPE}/spi_adc_to_hm-10.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} 115 | @${RM} dist/${CND_CONF}/${IMAGE_TYPE}/spi_adc_to_hm-10.X.${IMAGE_TYPE}.hex 116 | 117 | else 118 | dist/${CND_CONF}/${IMAGE_TYPE}/spi_adc_to_hm-10.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk 119 | @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 120 | ${MP_CC} $(MP_EXTRA_LD_PRE) --chip=$(MP_PROCESSOR_OPTION) -G -mdist/${CND_CONF}/${IMAGE_TYPE}/spi_adc_to_hm-10.X.${IMAGE_TYPE}.map --double=24 --float=24 --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=ignore --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --codeoffset=0x700 --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,+download,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s" --memorysummary dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml -odist/${CND_CONF}/${IMAGE_TYPE}/spi_adc_to_hm-10.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} 121 | 122 | endif 123 | 124 | 125 | # Subprojects 126 | .build-subprojects: 127 | 128 | 129 | # Subprojects 130 | .clean-subprojects: 131 | 132 | # Clean Targets 133 | .clean-conf: ${CLEAN_SUBPROJECTS} 134 | ${RM} -r build/default 135 | ${RM} -r dist/default 136 | 137 | # Enable dependency checking 138 | .dep.inc: .depcheck-impl 139 | 140 | DEPFILES=$(shell "${PATH_TO_IDE_BIN}"mplabwildcard ${POSSIBLE_DEPFILES}) 141 | ifneq (${DEPFILES},) 142 | include ${DEPFILES} 143 | endif 144 | -------------------------------------------------------------------------------- /firmware/nbproject/Makefile-impl.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a pre- and a post- target defined where you can add customization code. 6 | # 7 | # This makefile implements macros and targets common to all configurations. 8 | # 9 | # NOCDDL 10 | 11 | 12 | # Building and Cleaning subprojects are done by default, but can be controlled with the SUB 13 | # macro. If SUB=no, subprojects will not be built or cleaned. The following macro 14 | # statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf 15 | # and .clean-reqprojects-conf unless SUB has the value 'no' 16 | SUB_no=NO 17 | SUBPROJECTS=${SUB_${SUB}} 18 | BUILD_SUBPROJECTS_=.build-subprojects 19 | BUILD_SUBPROJECTS_NO= 20 | BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}} 21 | CLEAN_SUBPROJECTS_=.clean-subprojects 22 | CLEAN_SUBPROJECTS_NO= 23 | CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} 24 | 25 | 26 | # Project Name 27 | PROJECTNAME=spi_adc_to_hm-10.X 28 | 29 | # Active Configuration 30 | DEFAULTCONF=default 31 | CONF=${DEFAULTCONF} 32 | 33 | # All Configurations 34 | ALLCONFS=default 35 | 36 | 37 | # build 38 | .build-impl: .build-pre 39 | ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf 40 | 41 | 42 | # clean 43 | .clean-impl: .clean-pre 44 | ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf 45 | 46 | # clobber 47 | .clobber-impl: .clobber-pre .depcheck-impl 48 | ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean 49 | 50 | 51 | 52 | # all 53 | .all-impl: .all-pre .depcheck-impl 54 | ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build 55 | 56 | 57 | 58 | # dependency checking support 59 | .depcheck-impl: 60 | # @echo "# This code depends on make tool being used" >.dep.inc 61 | # @if [ -n "${MAKE_VERSION}" ]; then \ 62 | # echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \ 63 | # echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \ 64 | # echo "include \$${DEPFILES}" >>.dep.inc; \ 65 | # echo "endif" >>.dep.inc; \ 66 | # else \ 67 | # echo ".KEEP_STATE:" >>.dep.inc; \ 68 | # echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \ 69 | # fi 70 | -------------------------------------------------------------------------------- /firmware/nbproject/Makefile-local-default.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # 5 | # This file contains information about the location of compilers and other tools. 6 | # If you commmit this file into your revision control server, you will be able to 7 | # to checkout the project and build it from the command line with make. However, 8 | # if more than one person works on the same project, then this file might show 9 | # conflicts since different users are bound to have compilers in different places. 10 | # In that case you might choose to not commit this file and let MPLAB X recreate this file 11 | # for each user. The disadvantage of not commiting this file is that you must run MPLAB X at 12 | # least once so the file gets created and the project can be built. Finally, you can also 13 | # avoid using this file at all if you are only building from the command line with make. 14 | # You can invoke make with the values of the macros: 15 | # $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ... 16 | # 17 | PATH_TO_IDE_BIN=/opt/microchip/mplabx/v3.00/mplab_ide/mplab_ide/modules/../../bin/ 18 | # Adding MPLAB X bin directory to path. 19 | PATH:=/opt/microchip/mplabx/v3.00/mplab_ide/mplab_ide/modules/../../bin/:$(PATH) 20 | # Path to java used to run MPLAB X when this makefile was created 21 | MP_JAVA_PATH="/opt/microchip/mplabx/v3.00/sys/java/jre1.7.0_67/bin/" 22 | OS_CURRENT="$(shell uname -s)" 23 | MP_CC="/opt/microchip/xc8/v1.34/bin/xc8" 24 | # MP_CPPC is not defined 25 | # MP_BC is not defined 26 | MP_AS="/opt/microchip/xc8/v1.34/bin/xc8" 27 | # MP_LD is not defined 28 | # MP_AR is not defined 29 | DEP_GEN=${MP_JAVA_PATH}java -jar "/opt/microchip/mplabx/v3.00/mplab_ide/mplab_ide/modules/../../bin/extractobjectdependencies.jar" 30 | MP_CC_DIR="/opt/microchip/xc8/v1.34/bin" 31 | # MP_CPPC_DIR is not defined 32 | # MP_BC_DIR is not defined 33 | MP_AS_DIR="/opt/microchip/xc8/v1.34/bin" 34 | # MP_LD_DIR is not defined 35 | # MP_AR_DIR is not defined 36 | # MP_BC_DIR is not defined 37 | -------------------------------------------------------------------------------- /firmware/nbproject/Makefile-variables.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated - do not edit! 3 | # 4 | # NOCDDL 5 | # 6 | CND_BASEDIR=`pwd` 7 | # default configuration 8 | CND_ARTIFACT_DIR_default=dist/default/production 9 | CND_ARTIFACT_NAME_default=spi_adc_to_hm-10.X.production.hex 10 | CND_ARTIFACT_PATH_default=dist/default/production/spi_adc_to_hm-10.X.production.hex 11 | CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package 12 | CND_PACKAGE_NAME_default=spiadctohm-10.x.tar 13 | CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/spiadctohm-10.x.tar 14 | -------------------------------------------------------------------------------- /noncontact-electrodes/1PINSMD.kicad_mod: -------------------------------------------------------------------------------- 1 | (module 1PIN_SMD (layer F.Cu) 2 | (at 0 0) 3 | (descr "module 1 pin (ou trou mecanique de percage)") 4 | (tags DEV) 5 | (path /55931154) 6 | (fp_text reference P4 (at 0 -1.7145) (layer F.SilkS) 7 | (effects (font (size 0.5 0.5) (thickness 0.1))) 8 | ) 9 | (fp_text value CONN_1 (at 0 1.9685) (layer F.SilkS) 10 | (effects (font (size 0.5 0.5) (thickness 0.1))) 11 | ) 12 | (pad 1 smd rect (at 0 0) (size 1 1) 13 | (layers F.Cu F.Paste F.SilkS F.Mask) 14 | ) 15 | ) 16 | -------------------------------------------------------------------------------- /noncontact-electrodes/1PIN_SMD.kicad_mod: -------------------------------------------------------------------------------- 1 | (module 1PIN_SMD (layer F.Cu) 2 | (at 0 0) 3 | (descr "module 1 pin (ou trou mecanique de percage)") 4 | (tags DEV) 5 | (path /55931154) 6 | (fp_text reference P4 (at 0 -1.7145) (layer F.SilkS) 7 | (effects (font (size 0.5 0.5) (thickness 0.1))) 8 | ) 9 | (fp_text value CONN_1 (at 0 1.9685) (layer F.SilkS) 10 | (effects (font (size 0.5 0.5) (thickness 0.1))) 11 | ) 12 | (pad 1 smd rect (at 0 0) (size 1 1) 13 | (layers F.Cu F.Paste F.SilkS F.Mask) 14 | ) 15 | ) 16 | -------------------------------------------------------------------------------- /noncontact-electrodes/_autosave-noncontact-electrode.pro: -------------------------------------------------------------------------------- 1 | update=Sat 15 Aug 2015 10:16:27 AM CDT 2 | last_client=pcbnew 3 | [pcbnew] 4 | version=1 5 | LastNetListRead= 6 | UseCmpFile=1 7 | PadDrill=0.000000000000 8 | PadDrillOvalY=0.000000000000 9 | PadSizeH=1.000000000000 10 | PadSizeV=1.000000000000 11 | PcbTextSizeV=1.500000000000 12 | PcbTextSizeH=1.500000000000 13 | PcbTextThickness=0.300000000000 14 | ModuleTextSizeV=1.000000000000 15 | ModuleTextSizeH=1.000000000000 16 | ModuleTextSizeThickness=0.150000000000 17 | SolderMaskClearance=0.000000000000 18 | SolderMaskMinWidth=0.000000000000 19 | DrawSegmentWidth=0.200000000000 20 | BoardOutlineThickness=0.100000000000 21 | ModuleOutlineThickness=0.150000000000 22 | [pcbnew/libraries] 23 | LibDir= 24 | LibName1=sockets 25 | LibName2=connect 26 | LibName3=discret 27 | LibName4=pin_array 28 | LibName5=divers 29 | LibName6=smd_capacitors 30 | LibName7=smd_resistors 31 | LibName8=smd_crystal&oscillator 32 | LibName9=smd_dil 33 | LibName10=smd_transistors 34 | LibName11=libcms 35 | LibName12=display 36 | LibName13=led 37 | LibName14=dip_sockets 38 | LibName15=pga_sockets 39 | LibName16=valves 40 | -------------------------------------------------------------------------------- /noncontact-electrodes/noncontact-electrode-cache.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.3 Date: Sat 15 Aug 2015 09:37:16 AM CDT 2 | #encoding utf-8 3 | # 4 | # +5V 5 | # 6 | DEF +5V #PWR 0 40 Y Y 1 F P 7 | F0 "#PWR" 0 90 20 H I C CNN 8 | F1 "+5V" 0 90 30 H V C CNN 9 | F2 "~" 0 0 60 H V C CNN 10 | F3 "~" 0 0 60 H V C CNN 11 | DRAW 12 | X +5V 1 0 0 0 U 20 20 0 0 W N 13 | C 0 50 20 0 1 0 N 14 | P 4 0 1 0 0 0 0 30 0 30 0 30 N 15 | ENDDRAW 16 | ENDDEF 17 | # 18 | # C 19 | # 20 | DEF C C 0 10 N Y 1 F N 21 | F0 "C" 0 100 40 H V L CNN 22 | F1 "C" 6 -85 40 H V L CNN 23 | F2 "~" 38 -150 30 H V C CNN 24 | F3 "~" 0 0 60 H V C CNN 25 | $FPLIST 26 | SM* 27 | C? 28 | C1-1 29 | $ENDFPLIST 30 | DRAW 31 | P 2 0 1 20 -80 -30 80 -30 N 32 | P 2 0 1 20 -80 30 80 30 N 33 | X ~ 1 0 200 170 D 40 40 1 1 P 34 | X ~ 2 0 -200 170 U 40 40 1 1 P 35 | ENDDRAW 36 | ENDDEF 37 | # 38 | # CONN_1 39 | # 40 | DEF ~CONN_1 P 0 30 N N 1 F N 41 | F0 "P" 80 0 40 H V L CNN 42 | F1 "CONN_1" 0 55 30 H I C CNN 43 | F2 "~" 0 0 60 H V C CNN 44 | F3 "~" 0 0 60 H V C CNN 45 | DRAW 46 | C 0 0 31 0 1 0 N 47 | P 2 0 1 0 -30 0 -50 0 N 48 | X 1 1 -150 0 100 R 60 60 1 1 P 49 | ENDDRAW 50 | ENDDEF 51 | # 52 | # GND 53 | # 54 | DEF ~GND #PWR 0 0 Y Y 1 F P 55 | F0 "#PWR" 0 0 30 H I C CNN 56 | F1 "GND" 0 -70 30 H I C CNN 57 | F2 "~" 0 0 60 H V C CNN 58 | F3 "~" 0 0 60 H V C CNN 59 | DRAW 60 | P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N 61 | X GND 1 0 0 0 U 30 30 1 1 W N 62 | ENDDRAW 63 | ENDDEF 64 | # 65 | # LM358 66 | # 67 | DEF LM358 U 0 20 Y Y 2 F N 68 | F0 "U" -50 200 60 H V L CNN 69 | F1 "LM358" -50 -250 60 H V L CNN 70 | F2 "~" 0 0 60 H V C CNN 71 | F3 "~" 0 0 60 H V C CNN 72 | ALIAS LMC6062 LMC6082 LM358N TL072 TL082 73 | DRAW 74 | P 4 0 1 6 -200 200 200 0 -200 -200 -200 200 f 75 | X V- 4 -100 -400 250 U 40 40 0 1 W 76 | X V+ 8 -100 400 250 D 40 40 0 1 W 77 | X ~ 1 500 0 300 L 40 40 1 1 O 78 | X - 2 -500 -100 300 R 40 40 1 1 I 79 | X + 3 -500 100 300 R 40 40 1 1 I 80 | X + 5 -500 100 300 R 40 40 2 1 I 81 | X - 6 -500 -100 300 R 40 40 2 1 I 82 | X ~ 7 500 0 300 L 40 40 2 1 O 83 | ENDDRAW 84 | ENDDEF 85 | # 86 | # R 87 | # 88 | DEF R R 0 0 N Y 1 F N 89 | F0 "R" 80 0 40 V V C CNN 90 | F1 "R" 7 1 40 V V C CNN 91 | F2 "~" -70 0 30 V V C CNN 92 | F3 "~" 0 0 30 H V C CNN 93 | $FPLIST 94 | R? 95 | SM0603 96 | SM0805 97 | R?-* 98 | SM1206 99 | $ENDFPLIST 100 | DRAW 101 | S -40 150 40 -150 0 1 12 N 102 | X ~ 1 0 250 100 D 60 60 1 1 P 103 | X ~ 2 0 -250 100 U 60 60 1 1 P 104 | ENDDRAW 105 | ENDDEF 106 | # 107 | #End Library 108 | -------------------------------------------------------------------------------- /noncontact-electrodes/noncontact-electrode.bak: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 2 2 | LIBS:power 3 | LIBS:device 4 | LIBS:transistors 5 | LIBS:conn 6 | LIBS:linear 7 | LIBS:regul 8 | LIBS:74xx 9 | LIBS:cmos4000 10 | LIBS:adc-dac 11 | LIBS:memory 12 | LIBS:xilinx 13 | LIBS:special 14 | LIBS:microcontrollers 15 | LIBS:dsp 16 | LIBS:microchip 17 | LIBS:analog_switches 18 | LIBS:motorola 19 | LIBS:texas 20 | LIBS:intel 21 | LIBS:audio 22 | LIBS:interface 23 | LIBS:digital-audio 24 | LIBS:philips 25 | LIBS:display 26 | LIBS:cypress 27 | LIBS:siliconi 28 | LIBS:opto 29 | LIBS:atmel 30 | LIBS:contrib 31 | LIBS:valves 32 | LIBS:active-electrode-cache 33 | EELAYER 27 0 34 | EELAYER END 35 | $Descr A4 11693 8268 36 | encoding utf-8 37 | Sheet 1 1 38 | Title "" 39 | Date "15 aug 2015" 40 | Rev "" 41 | Comp "" 42 | Comment1 "" 43 | Comment2 "" 44 | Comment3 "" 45 | Comment4 "" 46 | $EndDescr 47 | $Comp 48 | L TL072 U1 49 | U 1 1 5592ECDD 50 | P 4350 2800 51 | F 0 "U1" H 4300 3000 60 0000 L CNN 52 | F 1 "TLC272" H 4300 2550 60 0000 L CNN 53 | F 2 "" H 4350 2800 60 0000 C CNN 54 | F 3 "" H 4350 2800 60 0000 C CNN 55 | 1 4350 2800 56 | 1 0 0 -1 57 | $EndComp 58 | $Comp 59 | L TL072 U1 60 | U 2 1 5592ED3E 61 | P 2450 2700 62 | F 0 "U1" H 2400 2900 60 0000 L CNN 63 | F 1 "TLC272" H 2400 2450 60 0000 L CNN 64 | F 2 "" H 2450 2700 60 0000 C CNN 65 | F 3 "" H 2450 2700 60 0000 C CNN 66 | 2 2450 2700 67 | 1 0 0 -1 68 | $EndComp 69 | $Comp 70 | L R R1 71 | U 1 1 5592EDD4 72 | P 2600 3950 73 | F 0 "R1" V 2680 3950 40 0000 C CNN 74 | F 1 "10k" V 2607 3951 40 0000 C CNN 75 | F 2 "~" V 2530 3950 30 0000 C CNN 76 | F 3 "~" H 2600 3950 30 0000 C CNN 77 | 1 2600 3950 78 | 1 0 0 -1 79 | $EndComp 80 | $Comp 81 | L R R2 82 | U 1 1 5592EDE3 83 | P 5200 2800 84 | F 0 "R2" V 5280 2800 40 0000 C CNN 85 | F 1 "100" V 5207 2801 40 0000 C CNN 86 | F 2 "~" V 5130 2800 30 0000 C CNN 87 | F 3 "~" H 5200 2800 30 0000 C CNN 88 | 1 5200 2800 89 | 0 -1 -1 0 90 | $EndComp 91 | $Comp 92 | L C C3 93 | U 1 1 5592EDF2 94 | P 4100 4250 95 | F 0 "C3" H 4100 4350 40 0000 L CNN 96 | F 1 "100pf" H 4106 4165 40 0000 L CNN 97 | F 2 "~" H 4138 4100 30 0000 C CNN 98 | F 3 "~" H 4100 4250 60 0000 C CNN 99 | 1 4100 4250 100 | 1 0 0 -1 101 | $EndComp 102 | $Comp 103 | L C C2 104 | U 1 1 5592EE01 105 | P 1550 2600 106 | F 0 "C2" H 1550 2700 40 0000 L CNN 107 | F 1 "10nf" H 1556 2515 40 0000 L CNN 108 | F 2 "~" H 1588 2450 30 0000 C CNN 109 | F 3 "~" H 1550 2600 60 0000 C CNN 110 | 1 1550 2600 111 | 0 -1 -1 0 112 | $EndComp 113 | $Comp 114 | L C C1 115 | U 1 1 5592EE10 116 | P 2550 1650 117 | F 0 "C1" H 2550 1750 40 0000 L CNN 118 | F 1 "100nf" H 2556 1565 40 0000 L CNN 119 | F 2 "~" H 2588 1500 30 0000 C CNN 120 | F 3 "~" H 2550 1650 60 0000 C CNN 121 | 1 2550 1650 122 | 1 0 0 -1 123 | $EndComp 124 | $Comp 125 | L GND #PWR01 126 | U 1 1 5592EE29 127 | P 4250 3400 128 | F 0 "#PWR01" H 4250 3400 30 0001 C CNN 129 | F 1 "GND" H 4250 3330 30 0001 C CNN 130 | F 2 "" H 4250 3400 60 0000 C CNN 131 | F 3 "" H 4250 3400 60 0000 C CNN 132 | 1 4250 3400 133 | 1 0 0 -1 134 | $EndComp 135 | $Comp 136 | L +5V #PWR02 137 | U 1 1 5592EE38 138 | P 4250 2150 139 | F 0 "#PWR02" H 4250 2240 20 0001 C CNN 140 | F 1 "+5V" H 4250 2240 30 0000 C CNN 141 | F 2 "" H 4250 2150 60 0000 C CNN 142 | F 3 "" H 4250 2150 60 0000 C CNN 143 | 1 4250 2150 144 | 1 0 0 -1 145 | $EndComp 146 | $Comp 147 | L GND #PWR03 148 | U 1 1 5592EE9B 149 | P 4100 4750 150 | F 0 "#PWR03" H 4100 4750 30 0001 C CNN 151 | F 1 "GND" H 4100 4680 30 0001 C CNN 152 | F 2 "" H 4100 4750 60 0000 C CNN 153 | F 3 "" H 4100 4750 60 0000 C CNN 154 | 1 4100 4750 155 | 1 0 0 -1 156 | $EndComp 157 | $Comp 158 | L +5V #PWR04 159 | U 1 1 5592EEFD 160 | P 2550 1300 161 | F 0 "#PWR04" H 2550 1390 20 0001 C CNN 162 | F 1 "+5V" H 2550 1390 30 0000 C CNN 163 | F 2 "" H 2550 1300 60 0000 C CNN 164 | F 3 "" H 2550 1300 60 0000 C CNN 165 | 1 2550 1300 166 | 1 0 0 -1 167 | $EndComp 168 | $Comp 169 | L GND #PWR05 170 | U 1 1 5592EF0C 171 | P 2550 2050 172 | F 0 "#PWR05" H 2550 2050 30 0001 C CNN 173 | F 1 "GND" H 2550 1980 30 0001 C CNN 174 | F 2 "" H 2550 2050 60 0000 C CNN 175 | F 3 "" H 2550 2050 60 0000 C CNN 176 | 1 2550 2050 177 | 1 0 0 -1 178 | $EndComp 179 | $Comp 180 | L GND #PWR06 181 | U 1 1 5592F0F6 182 | P 5500 3550 183 | F 0 "#PWR06" H 5500 3550 30 0001 C CNN 184 | F 1 "GND" H 5500 3480 30 0001 C CNN 185 | F 2 "" H 5500 3550 60 0000 C CNN 186 | F 3 "" H 5500 3550 60 0000 C CNN 187 | 1 5500 3550 188 | 1 0 0 -1 189 | $EndComp 190 | $Comp 191 | L +5V #PWR07 192 | U 1 1 5592F105 193 | P 5650 1900 194 | F 0 "#PWR07" H 5650 1990 20 0001 C CNN 195 | F 1 "+5V" H 5650 1990 30 0000 C CNN 196 | F 2 "" H 5650 1900 60 0000 C CNN 197 | F 3 "" H 5650 1900 60 0000 C CNN 198 | 1 5650 1900 199 | 1 0 0 -1 200 | $EndComp 201 | Wire Wire Line 202 | 4250 2400 4250 2150 203 | Wire Wire Line 204 | 4250 3200 4250 3400 205 | Wire Wire Line 206 | 2950 2700 2950 3400 207 | Wire Wire Line 208 | 2950 3400 1950 3400 209 | Wire Wire Line 210 | 1950 3400 1950 2800 211 | Wire Wire Line 212 | 4100 4450 4100 4750 213 | Wire Wire Line 214 | 2550 2050 2550 1850 215 | Wire Wire Line 216 | 2550 1450 2550 1300 217 | Wire Wire Line 218 | 5700 3300 5500 3300 219 | Wire Wire Line 220 | 5500 3300 5500 3550 221 | Wire Wire Line 222 | 5750 2250 5650 2250 223 | Wire Wire Line 224 | 5650 2250 5650 1900 225 | $Comp 226 | L CONN_1 P5 227 | U 1 1 55931154 228 | P 5850 2800 229 | F 0 "P5" H 5930 2800 40 0000 L CNN 230 | F 1 "CONN_1" H 5850 2855 30 0001 C CNN 231 | F 2 "" H 5850 2800 60 0000 C CNN 232 | F 3 "" H 5850 2800 60 0000 C CNN 233 | 1 5850 2800 234 | 1 0 0 -1 235 | $EndComp 236 | $Comp 237 | L CONN_1 P7 238 | U 1 1 55931163 239 | P 5900 2250 240 | F 0 "P7" H 5980 2250 40 0000 L CNN 241 | F 1 "CONN_1" H 5900 2305 30 0001 C CNN 242 | F 2 "" H 5900 2250 60 0000 C CNN 243 | F 3 "" H 5900 2250 60 0000 C CNN 244 | 1 5900 2250 245 | 1 0 0 -1 246 | $EndComp 247 | $Comp 248 | L CONN_1 P6 249 | U 1 1 55931172 250 | P 5850 3300 251 | F 0 "P6" H 5930 3300 40 0000 L CNN 252 | F 1 "CONN_1" H 5850 3355 30 0001 C CNN 253 | F 2 "" H 5850 3300 60 0000 C CNN 254 | F 3 "" H 5850 3300 60 0000 C CNN 255 | 1 5850 3300 256 | 1 0 0 -1 257 | $EndComp 258 | Wire Wire Line 259 | 5450 2800 5700 2800 260 | $Comp 261 | L CONN_1 P1 262 | U 1 1 5592EFE7 263 | P 950 2600 264 | F 0 "P1" H 1030 2600 40 0000 L CNN 265 | F 1 "CONN_1" H 950 2655 30 0001 C CNN 266 | F 2 "" H 950 2600 60 0000 C CNN 267 | F 3 "" H 950 2600 60 0000 C CNN 268 | 1 950 2600 269 | -1 0 0 -1 270 | $EndComp 271 | $Comp 272 | L CONN_1 P2 273 | U 1 1 55CF4A56 274 | P 2600 4550 275 | F 0 "P2" H 2680 4550 40 0000 L CNN 276 | F 1 "CONN_1" H 2600 4605 30 0001 C CNN 277 | F 2 "" H 2600 4550 60 0000 C CNN 278 | F 3 "" H 2600 4550 60 0000 C CNN 279 | 1 2600 4550 280 | 0 1 1 0 281 | $EndComp 282 | Wire Wire Line 283 | 1100 2600 1350 2600 284 | Wire Wire Line 285 | 1750 2600 1950 2600 286 | Wire Wire Line 287 | 2600 3700 2600 3400 288 | Connection ~ 2600 3400 289 | Wire Wire Line 290 | 2600 4200 2600 4400 291 | Wire Wire Line 292 | 3850 2900 3850 3550 293 | Wire Wire Line 294 | 3850 3550 4850 3550 295 | Wire Wire Line 296 | 4850 3550 4850 2800 297 | Wire Wire Line 298 | 4850 2800 4950 2800 299 | $EndSCHEMATC 300 | -------------------------------------------------------------------------------- /noncontact-electrodes/noncontact-electrodes-F_Cu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/logical/telepathy/77cb7699be2163481d14c72d79cedc43f7f57bbc/noncontact-electrodes/noncontact-electrodes-F_Cu.png -------------------------------------------------------------------------------- /noncontact-electrodes/noncontact-electrodes-cache.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.3 Date: Sat 22 Aug 2015 09:06:01 PM CDT 2 | #encoding utf-8 3 | # 4 | # +5V 5 | # 6 | DEF +5V #PWR 0 40 Y Y 1 F P 7 | F0 "#PWR" 0 90 20 H I C CNN 8 | F1 "+5V" 0 90 30 H V C CNN 9 | F2 "~" 0 0 60 H V C CNN 10 | F3 "~" 0 0 60 H V C CNN 11 | DRAW 12 | X +5V 1 0 0 0 U 20 20 0 0 W N 13 | C 0 50 20 0 1 0 N 14 | P 4 0 1 0 0 0 0 30 0 30 0 30 N 15 | ENDDRAW 16 | ENDDEF 17 | # 18 | # C 19 | # 20 | DEF C C 0 10 N Y 1 F N 21 | F0 "C" 0 100 40 H V L CNN 22 | F1 "C" 6 -85 40 H V L CNN 23 | F2 "~" 38 -150 30 H V C CNN 24 | F3 "~" 0 0 60 H V C CNN 25 | $FPLIST 26 | SM* 27 | C? 28 | C1-1 29 | $ENDFPLIST 30 | DRAW 31 | P 2 0 1 20 -80 -30 80 -30 N 32 | P 2 0 1 20 -80 30 80 30 N 33 | X ~ 1 0 200 170 D 40 40 1 1 P 34 | X ~ 2 0 -200 170 U 40 40 1 1 P 35 | ENDDRAW 36 | ENDDEF 37 | # 38 | # CONN_1 39 | # 40 | DEF ~CONN_1 P 0 30 N N 1 F N 41 | F0 "P" 80 0 40 H V L CNN 42 | F1 "CONN_1" 0 55 30 H I C CNN 43 | F2 "~" 0 0 60 H V C CNN 44 | F3 "~" 0 0 60 H V C CNN 45 | DRAW 46 | C 0 0 31 0 1 0 N 47 | P 2 0 1 0 -30 0 -50 0 N 48 | X 1 1 -150 0 100 R 60 60 1 1 P 49 | ENDDRAW 50 | ENDDEF 51 | # 52 | # GND 53 | # 54 | DEF ~GND #PWR 0 0 Y Y 1 F P 55 | F0 "#PWR" 0 0 30 H I C CNN 56 | F1 "GND" 0 -70 30 H I C CNN 57 | F2 "~" 0 0 60 H V C CNN 58 | F3 "~" 0 0 60 H V C CNN 59 | DRAW 60 | P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N 61 | X GND 1 0 0 0 U 30 30 1 1 W N 62 | ENDDRAW 63 | ENDDEF 64 | # 65 | # LM358 66 | # 67 | DEF LM358 U 0 20 Y Y 2 F N 68 | F0 "U" -50 200 60 H V L CNN 69 | F1 "LM358" -50 -250 60 H V L CNN 70 | F2 "~" 0 0 60 H V C CNN 71 | F3 "~" 0 0 60 H V C CNN 72 | ALIAS LMC6062 LMC6082 LM358N TL072 TL082 73 | DRAW 74 | P 4 0 1 6 -200 200 200 0 -200 -200 -200 200 f 75 | X V- 4 -100 -400 250 U 40 40 0 1 W 76 | X V+ 8 -100 400 250 D 40 40 0 1 W 77 | X ~ 1 500 0 300 L 40 40 1 1 O 78 | X - 2 -500 -100 300 R 40 40 1 1 I 79 | X + 3 -500 100 300 R 40 40 1 1 I 80 | X + 5 -500 100 300 R 40 40 2 1 I 81 | X - 6 -500 -100 300 R 40 40 2 1 I 82 | X ~ 7 500 0 300 L 40 40 2 1 O 83 | ENDDRAW 84 | ENDDEF 85 | # 86 | # R 87 | # 88 | DEF R R 0 0 N Y 1 F N 89 | F0 "R" 80 0 40 V V C CNN 90 | F1 "R" 7 1 40 V V C CNN 91 | F2 "~" -70 0 30 V V C CNN 92 | F3 "~" 0 0 30 H V C CNN 93 | $FPLIST 94 | R? 95 | SM0603 96 | SM0805 97 | R?-* 98 | SM1206 99 | $ENDFPLIST 100 | DRAW 101 | S -40 150 40 -150 0 1 12 N 102 | X ~ 1 0 250 100 D 60 60 1 1 P 103 | X ~ 2 0 -250 100 U 60 60 1 1 P 104 | ENDDRAW 105 | ENDDEF 106 | # 107 | #End Library 108 | -------------------------------------------------------------------------------- /noncontact-electrodes/noncontact-electrodes.bak: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 2 2 | LIBS:power 3 | LIBS:device 4 | LIBS:transistors 5 | LIBS:conn 6 | LIBS:linear 7 | LIBS:regul 8 | LIBS:74xx 9 | LIBS:cmos4000 10 | LIBS:adc-dac 11 | LIBS:memory 12 | LIBS:xilinx 13 | LIBS:special 14 | LIBS:microcontrollers 15 | LIBS:dsp 16 | LIBS:microchip 17 | LIBS:analog_switches 18 | LIBS:motorola 19 | LIBS:texas 20 | LIBS:intel 21 | LIBS:audio 22 | LIBS:interface 23 | LIBS:digital-audio 24 | LIBS:philips 25 | LIBS:display 26 | LIBS:cypress 27 | LIBS:siliconi 28 | LIBS:opto 29 | LIBS:atmel 30 | LIBS:contrib 31 | LIBS:valves 32 | EELAYER 27 0 33 | EELAYER END 34 | $Descr A4 11693 8268 35 | encoding utf-8 36 | Sheet 1 1 37 | Title "" 38 | Date "22 aug 2015" 39 | Rev "" 40 | Comp "" 41 | Comment1 "" 42 | Comment2 "" 43 | Comment3 "" 44 | Comment4 "" 45 | $EndDescr 46 | $Comp 47 | L TL072 U1 48 | U 2 1 5592ECDD 49 | P 4350 2800 50 | F 0 "U1" H 4300 3000 60 0000 L CNN 51 | F 1 "lmp7702" H 4300 2550 60 0000 L CNN 52 | F 2 "" H 4350 2800 60 0000 C CNN 53 | F 3 "" H 4350 2800 60 0000 C CNN 54 | 2 4350 2800 55 | 1 0 0 -1 56 | $EndComp 57 | $Comp 58 | L TL072 U1 59 | U 1 1 5592ED3E 60 | P 2450 2700 61 | F 0 "U1" H 2400 2900 60 0000 L CNN 62 | F 1 "lmp7702" H 2400 2450 60 0000 L CNN 63 | F 2 "" H 2450 2700 60 0000 C CNN 64 | F 3 "" H 2450 2700 60 0000 C CNN 65 | 1 2450 2700 66 | 1 0 0 -1 67 | $EndComp 68 | $Comp 69 | L R R1 70 | U 1 1 5592EDD4 71 | P 2600 3950 72 | F 0 "R1" V 2680 3950 40 0000 C CNN 73 | F 1 "10k" V 2607 3951 40 0000 C CNN 74 | F 2 "~" V 2530 3950 30 0000 C CNN 75 | F 3 "~" H 2600 3950 30 0000 C CNN 76 | 1 2600 3950 77 | 1 0 0 -1 78 | $EndComp 79 | $Comp 80 | L R R3 81 | U 1 1 5592EDE3 82 | P 5200 2800 83 | F 0 "R3" V 5280 2800 40 0000 C CNN 84 | F 1 "100" V 5207 2801 40 0000 C CNN 85 | F 2 "~" V 5130 2800 30 0000 C CNN 86 | F 3 "~" H 5200 2800 30 0000 C CNN 87 | 1 5200 2800 88 | 0 -1 -1 0 89 | $EndComp 90 | $Comp 91 | L C C3 92 | U 1 1 5592EDF2 93 | P 3250 2700 94 | F 0 "C3" H 3250 2800 40 0000 L CNN 95 | F 1 ".22upf" H 3256 2615 40 0000 L CNN 96 | F 2 "~" H 3288 2550 30 0000 C CNN 97 | F 3 "~" H 3250 2700 60 0000 C CNN 98 | 1 3250 2700 99 | 0 1 1 0 100 | $EndComp 101 | $Comp 102 | L C C1 103 | U 1 1 5592EE01 104 | P 1550 2600 105 | F 0 "C1" H 1550 2700 40 0000 L CNN 106 | F 1 "10nf" H 1556 2515 40 0000 L CNN 107 | F 2 "~" H 1588 2450 30 0000 C CNN 108 | F 3 "~" H 1550 2600 60 0000 C CNN 109 | 1 1550 2600 110 | 0 -1 -1 0 111 | $EndComp 112 | $Comp 113 | L C C2 114 | U 1 1 5592EE10 115 | P 2550 1650 116 | F 0 "C2" H 2550 1750 40 0000 L CNN 117 | F 1 "100nf" H 2556 1565 40 0000 L CNN 118 | F 2 "~" H 2588 1500 30 0000 C CNN 119 | F 3 "~" H 2550 1650 60 0000 C CNN 120 | 1 2550 1650 121 | 1 0 0 -1 122 | $EndComp 123 | $Comp 124 | L GND #PWR01 125 | U 1 1 5592EE29 126 | P 4250 3400 127 | F 0 "#PWR01" H 4250 3400 30 0001 C CNN 128 | F 1 "GND" H 4250 3330 30 0001 C CNN 129 | F 2 "" H 4250 3400 60 0000 C CNN 130 | F 3 "" H 4250 3400 60 0000 C CNN 131 | 1 4250 3400 132 | 1 0 0 -1 133 | $EndComp 134 | $Comp 135 | L +5V #PWR02 136 | U 1 1 5592EE38 137 | P 4250 2150 138 | F 0 "#PWR02" H 4250 2240 20 0001 C CNN 139 | F 1 "+5V" H 4250 2240 30 0000 C CNN 140 | F 2 "" H 4250 2150 60 0000 C CNN 141 | F 3 "" H 4250 2150 60 0000 C CNN 142 | 1 4250 2150 143 | 1 0 0 -1 144 | $EndComp 145 | $Comp 146 | L +5V #PWR03 147 | U 1 1 5592EEFD 148 | P 2550 1300 149 | F 0 "#PWR03" H 2550 1390 20 0001 C CNN 150 | F 1 "+5V" H 2550 1390 30 0000 C CNN 151 | F 2 "" H 2550 1300 60 0000 C CNN 152 | F 3 "" H 2550 1300 60 0000 C CNN 153 | 1 2550 1300 154 | 1 0 0 -1 155 | $EndComp 156 | $Comp 157 | L GND #PWR04 158 | U 1 1 5592EF0C 159 | P 2550 2050 160 | F 0 "#PWR04" H 2550 2050 30 0001 C CNN 161 | F 1 "GND" H 2550 1980 30 0001 C CNN 162 | F 2 "" H 2550 2050 60 0000 C CNN 163 | F 3 "" H 2550 2050 60 0000 C CNN 164 | 1 2550 2050 165 | 1 0 0 -1 166 | $EndComp 167 | $Comp 168 | L GND #PWR05 169 | U 1 1 5592F0F6 170 | P 5500 3550 171 | F 0 "#PWR05" H 5500 3550 30 0001 C CNN 172 | F 1 "GND" H 5500 3480 30 0001 C CNN 173 | F 2 "" H 5500 3550 60 0000 C CNN 174 | F 3 "" H 5500 3550 60 0000 C CNN 175 | 1 5500 3550 176 | 1 0 0 -1 177 | $EndComp 178 | $Comp 179 | L +5V #PWR06 180 | U 1 1 5592F105 181 | P 5650 1900 182 | F 0 "#PWR06" H 5650 1990 20 0001 C CNN 183 | F 1 "+5V" H 5650 1990 30 0000 C CNN 184 | F 2 "" H 5650 1900 60 0000 C CNN 185 | F 3 "" H 5650 1900 60 0000 C CNN 186 | 1 5650 1900 187 | 1 0 0 -1 188 | $EndComp 189 | Wire Wire Line 190 | 4250 2400 4250 2150 191 | Wire Wire Line 192 | 4250 3200 4250 3400 193 | Wire Wire Line 194 | 2950 3400 2950 2700 195 | Wire Wire Line 196 | 1950 3400 2950 3400 197 | Wire Wire Line 198 | 1950 3400 1950 2800 199 | Wire Wire Line 200 | 3600 3400 3600 3700 201 | Wire Wire Line 202 | 2550 2050 2550 1850 203 | Wire Wire Line 204 | 2550 1450 2550 1300 205 | Wire Wire Line 206 | 5700 3300 5500 3300 207 | Wire Wire Line 208 | 5500 3300 5500 3550 209 | Wire Wire Line 210 | 5750 2250 5650 2250 211 | Wire Wire Line 212 | 5650 2250 5650 1900 213 | $Comp 214 | L CONN_1 P4 215 | U 1 1 55931154 216 | P 5850 2800 217 | F 0 "P4" H 5930 2800 40 0000 L CNN 218 | F 1 "CONN_1" H 5850 2855 30 0001 C CNN 219 | F 2 "" H 5850 2800 60 0000 C CNN 220 | F 3 "" H 5850 2800 60 0000 C CNN 221 | 1 5850 2800 222 | 1 0 0 -1 223 | $EndComp 224 | $Comp 225 | L CONN_1 P6 226 | U 1 1 55931163 227 | P 5900 2250 228 | F 0 "P6" H 5980 2250 40 0000 L CNN 229 | F 1 "CONN_1" H 5900 2305 30 0001 C CNN 230 | F 2 "" H 5900 2250 60 0000 C CNN 231 | F 3 "" H 5900 2250 60 0000 C CNN 232 | 1 5900 2250 233 | 1 0 0 -1 234 | $EndComp 235 | $Comp 236 | L CONN_1 P5 237 | U 1 1 55931172 238 | P 5850 3300 239 | F 0 "P5" H 5930 3300 40 0000 L CNN 240 | F 1 "CONN_1" H 5850 3355 30 0001 C CNN 241 | F 2 "" H 5850 3300 60 0000 C CNN 242 | F 3 "" H 5850 3300 60 0000 C CNN 243 | 1 5850 3300 244 | 1 0 0 -1 245 | $EndComp 246 | Wire Wire Line 247 | 5450 2800 5700 2800 248 | $Comp 249 | L CONN_1 P1 250 | U 1 1 5592EFE7 251 | P 950 2600 252 | F 0 "P1" H 1030 2600 40 0000 L CNN 253 | F 1 "CONN_1" H 950 2655 30 0001 C CNN 254 | F 2 "" H 950 2600 60 0000 C CNN 255 | F 3 "" H 950 2600 60 0000 C CNN 256 | 1 950 2600 257 | -1 0 0 -1 258 | $EndComp 259 | $Comp 260 | L CONN_1 P2 261 | U 1 1 55CF4A56 262 | P 2600 4550 263 | F 0 "P2" H 2680 4550 40 0000 L CNN 264 | F 1 "CONN_1" H 2600 4605 30 0001 C CNN 265 | F 2 "" H 2600 4550 60 0000 C CNN 266 | F 3 "" H 2600 4550 60 0000 C CNN 267 | 1 2600 4550 268 | 0 1 1 0 269 | $EndComp 270 | Wire Wire Line 271 | 1100 2600 1350 2600 272 | Wire Wire Line 273 | 1750 2600 1950 2600 274 | Wire Wire Line 275 | 2600 3700 2600 3400 276 | Connection ~ 2600 3400 277 | Wire Wire Line 278 | 2600 4200 2600 4400 279 | Wire Wire Line 280 | 3850 2900 3850 3550 281 | Wire Wire Line 282 | 3850 3550 4850 3550 283 | Wire Wire Line 284 | 4850 3550 4850 2800 285 | Wire Wire Line 286 | 4850 2800 4950 2800 287 | $Comp 288 | L CONN_1 P3 289 | U 1 1 55CF4C25 290 | P 3600 3850 291 | F 0 "P3" H 3680 3850 40 0000 L CNN 292 | F 1 "CONN_1" H 3600 3905 30 0001 C CNN 293 | F 2 "" H 3600 3850 60 0000 C CNN 294 | F 3 "" H 3600 3850 60 0000 C CNN 295 | 1 3600 3850 296 | 0 1 1 0 297 | $EndComp 298 | $Comp 299 | L R R2 300 | U 1 1 55CF4C85 301 | P 3600 3150 302 | F 0 "R2" V 3680 3150 40 0000 C CNN 303 | F 1 "1Meg" V 3607 3151 40 0000 C CNN 304 | F 2 "~" V 3530 3150 30 0000 C CNN 305 | F 3 "~" H 3600 3150 30 0000 C CNN 306 | 1 3600 3150 307 | 1 0 0 -1 308 | $EndComp 309 | Wire Wire Line 310 | 2950 2700 3050 2700 311 | Wire Wire Line 312 | 3450 2700 3850 2700 313 | Wire Wire Line 314 | 3600 2900 3600 2700 315 | Connection ~ 3600 2700 316 | $EndSCHEMATC 317 | -------------------------------------------------------------------------------- /noncontact-electrodes/noncontact-electrodes.cmp: -------------------------------------------------------------------------------- 1 | Cmp-Mod V01 Created by CvPcb (22-Jun-2014 BZR 4027)-stable date = Sat 15 Aug 2015 09:40:57 AM CDT 2 | 3 | BeginCmp 4 | TimeStamp = /5592EE01; 5 | Reference = C1; 6 | ValeurCmp = 10nf; 7 | IdModule = c_0805; 8 | EndCmp 9 | 10 | BeginCmp 11 | TimeStamp = /5592EE10; 12 | Reference = C2; 13 | ValeurCmp = 100nf; 14 | IdModule = c_0805; 15 | EndCmp 16 | 17 | BeginCmp 18 | TimeStamp = /5592EDF2; 19 | Reference = C3; 20 | ValeurCmp = .22upf; 21 | IdModule = c_0805; 22 | EndCmp 23 | 24 | BeginCmp 25 | TimeStamp = /5592EFE7; 26 | Reference = P1; 27 | ValeurCmp = CONN_1; 28 | IdModule = PIN_ARRAY_1; 29 | EndCmp 30 | 31 | BeginCmp 32 | TimeStamp = /55CF4A56; 33 | Reference = P2; 34 | ValeurCmp = CONN_1; 35 | IdModule = 1PIN_SMD; 36 | EndCmp 37 | 38 | BeginCmp 39 | TimeStamp = /55CF4C25; 40 | Reference = P3; 41 | ValeurCmp = CONN_1; 42 | IdModule = 1PIN_SMD; 43 | EndCmp 44 | 45 | BeginCmp 46 | TimeStamp = /55931154; 47 | Reference = P4; 48 | ValeurCmp = CONN_1; 49 | IdModule = 1PIN_SMD; 50 | EndCmp 51 | 52 | BeginCmp 53 | TimeStamp = /55931172; 54 | Reference = P5; 55 | ValeurCmp = CONN_1; 56 | IdModule = 1PIN_SMD; 57 | EndCmp 58 | 59 | BeginCmp 60 | TimeStamp = /55931163; 61 | Reference = P6; 62 | ValeurCmp = CONN_1; 63 | IdModule = 1PIN_SMD; 64 | EndCmp 65 | 66 | BeginCmp 67 | TimeStamp = /5592EDD4; 68 | Reference = R1; 69 | ValeurCmp = 10k; 70 | IdModule = SM0805; 71 | EndCmp 72 | 73 | BeginCmp 74 | TimeStamp = /55CF4C85; 75 | Reference = R2; 76 | ValeurCmp = 1Meg; 77 | IdModule = SM0805; 78 | EndCmp 79 | 80 | BeginCmp 81 | TimeStamp = /5592EDE3; 82 | Reference = R3; 83 | ValeurCmp = 100; 84 | IdModule = SM0805; 85 | EndCmp 86 | 87 | BeginCmp 88 | TimeStamp = /5592ECDD; 89 | Reference = U1; 90 | ValeurCmp = TLC272; 91 | IdModule = SO8E; 92 | EndCmp 93 | 94 | EndListe 95 | -------------------------------------------------------------------------------- /noncontact-electrodes/noncontact-electrodes.net: -------------------------------------------------------------------------------- 1 | (export (version D) 2 | (design 3 | (source /home/electron/projects/telepathy/noncontact-electrodes/noncontact-electrode.sch) 4 | (date "Sat 15 Aug 2015 09:32:07 AM CDT") 5 | (tool "eeschema (22-Jun-2014 BZR 4027)-stable")) 6 | (components 7 | (comp (ref U1) 8 | (value TLC272) 9 | (libsource (lib linear) (part TL072)) 10 | (sheetpath (names /) (tstamps /)) 11 | (tstamp 5592ECDD)) 12 | (comp (ref R1) 13 | (value 10k) 14 | (libsource (lib device) (part R)) 15 | (sheetpath (names /) (tstamps /)) 16 | (tstamp 5592EDD4)) 17 | (comp (ref R3) 18 | (value 100) 19 | (libsource (lib device) (part R)) 20 | (sheetpath (names /) (tstamps /)) 21 | (tstamp 5592EDE3)) 22 | (comp (ref C3) 23 | (value .22upf) 24 | (libsource (lib device) (part C)) 25 | (sheetpath (names /) (tstamps /)) 26 | (tstamp 5592EDF2)) 27 | (comp (ref C1) 28 | (value 10nf) 29 | (libsource (lib device) (part C)) 30 | (sheetpath (names /) (tstamps /)) 31 | (tstamp 5592EE01)) 32 | (comp (ref C2) 33 | (value 100nf) 34 | (libsource (lib device) (part C)) 35 | (sheetpath (names /) (tstamps /)) 36 | (tstamp 5592EE10)) 37 | (comp (ref P4) 38 | (value CONN_1) 39 | (libsource (lib conn) (part CONN_1)) 40 | (sheetpath (names /) (tstamps /)) 41 | (tstamp 55931154)) 42 | (comp (ref P6) 43 | (value CONN_1) 44 | (libsource (lib conn) (part CONN_1)) 45 | (sheetpath (names /) (tstamps /)) 46 | (tstamp 55931163)) 47 | (comp (ref P5) 48 | (value CONN_1) 49 | (libsource (lib conn) (part CONN_1)) 50 | (sheetpath (names /) (tstamps /)) 51 | (tstamp 55931172)) 52 | (comp (ref P1) 53 | (value CONN_1) 54 | (libsource (lib conn) (part CONN_1)) 55 | (sheetpath (names /) (tstamps /)) 56 | (tstamp 5592EFE7)) 57 | (comp (ref P2) 58 | (value CONN_1) 59 | (libsource (lib conn) (part CONN_1)) 60 | (sheetpath (names /) (tstamps /)) 61 | (tstamp 55CF4A56)) 62 | (comp (ref P3) 63 | (value CONN_1) 64 | (libsource (lib conn) (part CONN_1)) 65 | (sheetpath (names /) (tstamps /)) 66 | (tstamp 55CF4C25)) 67 | (comp (ref R2) 68 | (value 1Meg) 69 | (libsource (lib device) (part R)) 70 | (sheetpath (names /) (tstamps /)) 71 | (tstamp 55CF4C85))) 72 | (libparts 73 | (libpart (lib device) (part C) 74 | (description "Condensateur non polarise") 75 | (footprints 76 | (fp SM*) 77 | (fp C?) 78 | (fp C1-1)) 79 | (fields 80 | (field (name Reference) C) 81 | (field (name Value) C) 82 | (field (name Footprint) ~) 83 | (field (name Datasheet) ~)) 84 | (pins 85 | (pin (num 1) (name ~) (type passive)) 86 | (pin (num 2) (name ~) (type passive)))) 87 | (libpart (lib device) (part R) 88 | (description Resistance) 89 | (footprints 90 | (fp R?) 91 | (fp SM0603) 92 | (fp SM0805) 93 | (fp R?-*) 94 | (fp SM1206)) 95 | (fields 96 | (field (name Reference) R) 97 | (field (name Value) R) 98 | (field (name Footprint) ~) 99 | (field (name Datasheet) ~)) 100 | (pins 101 | (pin (num 1) (name ~) (type passive)) 102 | (pin (num 2) (name ~) (type passive)))) 103 | (libpart (lib conn) (part CONN_1) 104 | (description "1 pin") 105 | (fields 106 | (field (name Reference) P) 107 | (field (name Value) CONN_1)) 108 | (pins 109 | (pin (num 1) (name 1) (type passive)))) 110 | (libpart (lib linear) (part LM358) 111 | (description "Dual Op amp (low power)") 112 | (docs ns/lm158.pdf) 113 | (fields 114 | (field (name Reference) U) 115 | (field (name Value) LM358)) 116 | (pins 117 | (pin (num 1) (name ~) (type output)) 118 | (pin (num 2) (name -) (type input)) 119 | (pin (num 3) (name +) (type input)) 120 | (pin (num 4) (name V-) (type power_in)) 121 | (pin (num 5) (name +) (type input)) 122 | (pin (num 6) (name -) (type input)) 123 | (pin (num 7) (name ~) (type output)) 124 | (pin (num 8) (name V+) (type power_in))))) 125 | (libraries 126 | (library (logical conn) 127 | (uri /usr/share/kicad/library/conn.lib)) 128 | (library (logical device) 129 | (uri /usr/share/kicad/library/device.lib)) 130 | (library (logical linear) 131 | (uri /usr/share/kicad/library/linear.lib))) 132 | (nets 133 | (net (code 1) (name "") 134 | (node (ref P2) (pin 1)) 135 | (node (ref R1) (pin 2))) 136 | (net (code 2) (name "") 137 | (node (ref P1) (pin 1)) 138 | (node (ref C1) (pin 1))) 139 | (net (code 3) (name "") 140 | (node (ref P4) (pin 1)) 141 | (node (ref R3) (pin 2))) 142 | (net (code 4) (name "") 143 | (node (ref R2) (pin 2)) 144 | (node (ref P3) (pin 1))) 145 | (net (code 5) (name GND) 146 | (node (ref U1) (pin 4)) 147 | (node (ref C2) (pin 2)) 148 | (node (ref P5) (pin 1))) 149 | (net (code 6) (name "") 150 | (node (ref C1) (pin 2)) 151 | (node (ref U1) (pin 3))) 152 | (net (code 7) (name "") 153 | (node (ref U1) (pin 1)) 154 | (node (ref R1) (pin 1)) 155 | (node (ref C3) (pin 2)) 156 | (node (ref U1) (pin 2))) 157 | (net (code 8) (name "") 158 | (node (ref U1) (pin 6)) 159 | (node (ref U1) (pin 7)) 160 | (node (ref R3) (pin 1))) 161 | (net (code 9) (name "") 162 | (node (ref R2) (pin 1)) 163 | (node (ref U1) (pin 5)) 164 | (node (ref C3) (pin 1))) 165 | (net (code 12) (name +5V) 166 | (node (ref P6) (pin 1)) 167 | (node (ref C2) (pin 1)) 168 | (node (ref U1) (pin 8))))) -------------------------------------------------------------------------------- /noncontact-electrodes/noncontact-electrodes.pro: -------------------------------------------------------------------------------- 1 | update=Fri 03 Mar 2017 07:17:34 PM CST 2 | version=1 3 | last_client=eeschema 4 | [cvpcb] 5 | version=1 6 | NetIExt=net 7 | [cvpcb/libraries] 8 | EquName1=devcms 9 | [general] 10 | version=1 11 | [pcbnew] 12 | version=1 13 | LastNetListRead=noncontact-electrodes.net 14 | UseCmpFile=1 15 | PadDrill=0.000000000000 16 | PadDrillOvalY=0.000000000000 17 | PadSizeH=1.000000000000 18 | PadSizeV=1.000000000000 19 | PcbTextSizeV=1.500000000000 20 | PcbTextSizeH=1.500000000000 21 | PcbTextThickness=0.300000000000 22 | ModuleTextSizeV=1.000000000000 23 | ModuleTextSizeH=1.000000000000 24 | ModuleTextSizeThickness=0.150000000000 25 | SolderMaskClearance=0.000000000000 26 | SolderMaskMinWidth=0.000000000000 27 | DrawSegmentWidth=0.200000000000 28 | BoardOutlineThickness=0.100000000000 29 | ModuleOutlineThickness=0.150000000000 30 | [pcbnew/libraries] 31 | LibDir= 32 | LibName1=smd_pads 33 | LibName2=sockets 34 | LibName3=connect 35 | LibName4=discret 36 | LibName5=pin_array 37 | LibName6=divers 38 | LibName7=smd_capacitors 39 | LibName8=smd_resistors 40 | LibName9=smd_crystal&oscillator 41 | LibName10=smd_dil 42 | LibName11=smd_transistors 43 | LibName12=libcms 44 | LibName13=display 45 | LibName14=led 46 | LibName15=dip_sockets 47 | LibName16=pga_sockets 48 | LibName17=valves 49 | [eeschema] 50 | version=1 51 | LibDir= 52 | [eeschema/libraries] 53 | LibName1=noncontact-electrodes-rescue 54 | LibName2=power 55 | LibName3=device 56 | LibName4=transistors 57 | LibName5=conn 58 | LibName6=linear 59 | LibName7=regul 60 | LibName8=74xx 61 | LibName9=cmos4000 62 | LibName10=adc-dac 63 | LibName11=memory 64 | LibName12=xilinx 65 | LibName13=special 66 | LibName14=microcontrollers 67 | LibName15=dsp 68 | LibName16=microchip 69 | LibName17=analog_switches 70 | LibName18=motorola 71 | LibName19=texas 72 | LibName20=intel 73 | LibName21=audio 74 | LibName22=interface 75 | LibName23=digital-audio 76 | LibName24=philips 77 | LibName25=display 78 | LibName26=cypress 79 | LibName27=siliconi 80 | LibName28=opto 81 | LibName29=atmel 82 | LibName30=contrib 83 | LibName31=valves 84 | -------------------------------------------------------------------------------- /noncontact-electrodes/noncontact-electrodes.sch: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 2 2 | LIBS:power 3 | LIBS:device 4 | LIBS:transistors 5 | LIBS:conn 6 | LIBS:linear 7 | LIBS:regul 8 | LIBS:74xx 9 | LIBS:cmos4000 10 | LIBS:adc-dac 11 | LIBS:memory 12 | LIBS:xilinx 13 | LIBS:special 14 | LIBS:microcontrollers 15 | LIBS:dsp 16 | LIBS:microchip 17 | LIBS:analog_switches 18 | LIBS:motorola 19 | LIBS:texas 20 | LIBS:intel 21 | LIBS:audio 22 | LIBS:interface 23 | LIBS:digital-audio 24 | LIBS:philips 25 | LIBS:display 26 | LIBS:cypress 27 | LIBS:siliconi 28 | LIBS:opto 29 | LIBS:atmel 30 | LIBS:contrib 31 | LIBS:valves 32 | LIBS:noncontact-electrodes-cache 33 | EELAYER 27 0 34 | EELAYER END 35 | $Descr A4 11693 8268 36 | encoding utf-8 37 | Sheet 1 1 38 | Title "" 39 | Date "23 aug 2015" 40 | Rev "" 41 | Comp "" 42 | Comment1 "" 43 | Comment2 "" 44 | Comment3 "" 45 | Comment4 "" 46 | $EndDescr 47 | $Comp 48 | L TL072 U1 49 | U 2 1 5592ECDD 50 | P 4350 2800 51 | F 0 "U1" H 4300 3000 60 0000 L CNN 52 | F 1 "lmp7702" H 4300 2550 60 0000 L CNN 53 | F 2 "" H 4350 2800 60 0000 C CNN 54 | F 3 "" H 4350 2800 60 0000 C CNN 55 | 2 4350 2800 56 | 1 0 0 -1 57 | $EndComp 58 | $Comp 59 | L TL072 U1 60 | U 1 1 5592ED3E 61 | P 2450 2700 62 | F 0 "U1" H 2400 2900 60 0000 L CNN 63 | F 1 "lmp7702" H 2400 2450 60 0000 L CNN 64 | F 2 "" H 2450 2700 60 0000 C CNN 65 | F 3 "" H 2450 2700 60 0000 C CNN 66 | 1 2450 2700 67 | 1 0 0 -1 68 | $EndComp 69 | $Comp 70 | L R R1 71 | U 1 1 5592EDD4 72 | P 2600 3950 73 | F 0 "R1" V 2680 3950 40 0000 C CNN 74 | F 1 "10k" V 2607 3951 40 0000 C CNN 75 | F 2 "~" V 2530 3950 30 0000 C CNN 76 | F 3 "~" H 2600 3950 30 0000 C CNN 77 | 1 2600 3950 78 | 1 0 0 -1 79 | $EndComp 80 | $Comp 81 | L R R3 82 | U 1 1 5592EDE3 83 | P 5200 2800 84 | F 0 "R3" V 5280 2800 40 0000 C CNN 85 | F 1 "100" V 5207 2801 40 0000 C CNN 86 | F 2 "~" V 5130 2800 30 0000 C CNN 87 | F 3 "~" H 5200 2800 30 0000 C CNN 88 | 1 5200 2800 89 | 0 -1 -1 0 90 | $EndComp 91 | $Comp 92 | L C C3 93 | U 1 1 5592EDF2 94 | P 3250 2700 95 | F 0 "C3" H 3250 2800 40 0000 L CNN 96 | F 1 ".22uf" H 3256 2615 40 0000 L CNN 97 | F 2 "~" H 3288 2550 30 0000 C CNN 98 | F 3 "~" H 3250 2700 60 0000 C CNN 99 | 1 3250 2700 100 | 0 1 1 0 101 | $EndComp 102 | $Comp 103 | L C C1 104 | U 1 1 5592EE01 105 | P 1550 2600 106 | F 0 "C1" H 1550 2700 40 0000 L CNN 107 | F 1 "10nf" H 1556 2515 40 0000 L CNN 108 | F 2 "~" H 1588 2450 30 0000 C CNN 109 | F 3 "~" H 1550 2600 60 0000 C CNN 110 | 1 1550 2600 111 | 0 -1 -1 0 112 | $EndComp 113 | $Comp 114 | L C C2 115 | U 1 1 5592EE10 116 | P 2550 1650 117 | F 0 "C2" H 2550 1750 40 0000 L CNN 118 | F 1 "100nf" H 2556 1565 40 0000 L CNN 119 | F 2 "~" H 2588 1500 30 0000 C CNN 120 | F 3 "~" H 2550 1650 60 0000 C CNN 121 | 1 2550 1650 122 | 1 0 0 -1 123 | $EndComp 124 | $Comp 125 | L GND #PWR01 126 | U 1 1 5592EE29 127 | P 4250 3400 128 | F 0 "#PWR01" H 4250 3400 30 0001 C CNN 129 | F 1 "GND" H 4250 3330 30 0001 C CNN 130 | F 2 "" H 4250 3400 60 0000 C CNN 131 | F 3 "" H 4250 3400 60 0000 C CNN 132 | 1 4250 3400 133 | 1 0 0 -1 134 | $EndComp 135 | $Comp 136 | L +5V #PWR02 137 | U 1 1 5592EE38 138 | P 4250 2150 139 | F 0 "#PWR02" H 4250 2240 20 0001 C CNN 140 | F 1 "+5V" H 4250 2240 30 0000 C CNN 141 | F 2 "" H 4250 2150 60 0000 C CNN 142 | F 3 "" H 4250 2150 60 0000 C CNN 143 | 1 4250 2150 144 | 1 0 0 -1 145 | $EndComp 146 | $Comp 147 | L +5V #PWR03 148 | U 1 1 5592EEFD 149 | P 2550 1300 150 | F 0 "#PWR03" H 2550 1390 20 0001 C CNN 151 | F 1 "+5V" H 2550 1390 30 0000 C CNN 152 | F 2 "" H 2550 1300 60 0000 C CNN 153 | F 3 "" H 2550 1300 60 0000 C CNN 154 | 1 2550 1300 155 | 1 0 0 -1 156 | $EndComp 157 | $Comp 158 | L GND #PWR04 159 | U 1 1 5592EF0C 160 | P 2550 2050 161 | F 0 "#PWR04" H 2550 2050 30 0001 C CNN 162 | F 1 "GND" H 2550 1980 30 0001 C CNN 163 | F 2 "" H 2550 2050 60 0000 C CNN 164 | F 3 "" H 2550 2050 60 0000 C CNN 165 | 1 2550 2050 166 | 1 0 0 -1 167 | $EndComp 168 | $Comp 169 | L GND #PWR05 170 | U 1 1 5592F0F6 171 | P 5500 3550 172 | F 0 "#PWR05" H 5500 3550 30 0001 C CNN 173 | F 1 "GND" H 5500 3480 30 0001 C CNN 174 | F 2 "" H 5500 3550 60 0000 C CNN 175 | F 3 "" H 5500 3550 60 0000 C CNN 176 | 1 5500 3550 177 | 1 0 0 -1 178 | $EndComp 179 | $Comp 180 | L +5V #PWR06 181 | U 1 1 5592F105 182 | P 5650 1900 183 | F 0 "#PWR06" H 5650 1990 20 0001 C CNN 184 | F 1 "+5V" H 5650 1990 30 0000 C CNN 185 | F 2 "" H 5650 1900 60 0000 C CNN 186 | F 3 "" H 5650 1900 60 0000 C CNN 187 | 1 5650 1900 188 | 1 0 0 -1 189 | $EndComp 190 | Wire Wire Line 191 | 4250 2400 4250 2150 192 | Wire Wire Line 193 | 4250 3200 4250 3400 194 | Wire Wire Line 195 | 2950 3400 2950 2700 196 | Wire Wire Line 197 | 1950 3400 2950 3400 198 | Wire Wire Line 199 | 1950 3400 1950 2800 200 | Wire Wire Line 201 | 3600 3400 3600 3700 202 | Wire Wire Line 203 | 2550 2050 2550 1850 204 | Wire Wire Line 205 | 2550 1450 2550 1300 206 | Wire Wire Line 207 | 5700 3300 5500 3300 208 | Wire Wire Line 209 | 5500 3300 5500 3550 210 | Wire Wire Line 211 | 5750 2250 5650 2250 212 | Wire Wire Line 213 | 5650 2250 5650 1900 214 | $Comp 215 | L CONN_1 P4 216 | U 1 1 55931154 217 | P 5850 2800 218 | F 0 "P4" H 5930 2800 40 0000 L CNN 219 | F 1 "CONN_1" H 5850 2855 30 0001 C CNN 220 | F 2 "" H 5850 2800 60 0000 C CNN 221 | F 3 "" H 5850 2800 60 0000 C CNN 222 | 1 5850 2800 223 | 1 0 0 -1 224 | $EndComp 225 | $Comp 226 | L CONN_1 P6 227 | U 1 1 55931163 228 | P 5900 2250 229 | F 0 "P6" H 5980 2250 40 0000 L CNN 230 | F 1 "CONN_1" H 5900 2305 30 0001 C CNN 231 | F 2 "" H 5900 2250 60 0000 C CNN 232 | F 3 "" H 5900 2250 60 0000 C CNN 233 | 1 5900 2250 234 | 1 0 0 -1 235 | $EndComp 236 | $Comp 237 | L CONN_1 P5 238 | U 1 1 55931172 239 | P 5850 3300 240 | F 0 "P5" H 5930 3300 40 0000 L CNN 241 | F 1 "CONN_1" H 5850 3355 30 0001 C CNN 242 | F 2 "" H 5850 3300 60 0000 C CNN 243 | F 3 "" H 5850 3300 60 0000 C CNN 244 | 1 5850 3300 245 | 1 0 0 -1 246 | $EndComp 247 | Wire Wire Line 248 | 5450 2800 5700 2800 249 | $Comp 250 | L CONN_1 P1 251 | U 1 1 5592EFE7 252 | P 950 2600 253 | F 0 "P1" H 1030 2600 40 0000 L CNN 254 | F 1 "CONN_1" H 950 2655 30 0001 C CNN 255 | F 2 "" H 950 2600 60 0000 C CNN 256 | F 3 "" H 950 2600 60 0000 C CNN 257 | 1 950 2600 258 | -1 0 0 -1 259 | $EndComp 260 | $Comp 261 | L CONN_1 P2 262 | U 1 1 55CF4A56 263 | P 2600 4550 264 | F 0 "P2" H 2680 4550 40 0000 L CNN 265 | F 1 "CONN_1" H 2600 4605 30 0001 C CNN 266 | F 2 "" H 2600 4550 60 0000 C CNN 267 | F 3 "" H 2600 4550 60 0000 C CNN 268 | 1 2600 4550 269 | 0 1 1 0 270 | $EndComp 271 | Wire Wire Line 272 | 1100 2600 1350 2600 273 | Wire Wire Line 274 | 1750 2600 1950 2600 275 | Wire Wire Line 276 | 2600 3700 2600 3400 277 | Connection ~ 2600 3400 278 | Wire Wire Line 279 | 2600 4200 2600 4400 280 | Wire Wire Line 281 | 3850 2900 3850 3550 282 | Wire Wire Line 283 | 3850 3550 4850 3550 284 | Wire Wire Line 285 | 4850 3550 4850 2800 286 | Wire Wire Line 287 | 4850 2800 4950 2800 288 | $Comp 289 | L CONN_1 P3 290 | U 1 1 55CF4C25 291 | P 3600 3850 292 | F 0 "P3" H 3680 3850 40 0000 L CNN 293 | F 1 "CONN_1" H 3600 3905 30 0001 C CNN 294 | F 2 "" H 3600 3850 60 0000 C CNN 295 | F 3 "" H 3600 3850 60 0000 C CNN 296 | 1 3600 3850 297 | 0 1 1 0 298 | $EndComp 299 | $Comp 300 | L R R2 301 | U 1 1 55CF4C85 302 | P 3600 3150 303 | F 0 "R2" V 3680 3150 40 0000 C CNN 304 | F 1 "1Meg" V 3607 3151 40 0000 C CNN 305 | F 2 "~" V 3530 3150 30 0000 C CNN 306 | F 3 "~" H 3600 3150 30 0000 C CNN 307 | 1 3600 3150 308 | 1 0 0 -1 309 | $EndComp 310 | Wire Wire Line 311 | 2950 2700 3050 2700 312 | Wire Wire Line 313 | 3450 2700 3850 2700 314 | Wire Wire Line 315 | 3600 2900 3600 2700 316 | Connection ~ 3600 2700 317 | $EndSCHEMATC 318 | -------------------------------------------------------------------------------- /noncontact-electrodes/smd_pads.mod: -------------------------------------------------------------------------------- 1 | PCBNEW-LibModule-V1 Sat 15 Aug 2015 10:30:02 AM CDT 2 | # encoding utf-8 3 | Units mm 4 | $INDEX 5 | 1.5mm_SMD 6 | 1PIN_SMD 7 | $EndINDEX 8 | $MODULE 1.5mm_SMD 9 | Po 0 0 0 15 55CF5AA8 00000000 ~~ 10 | Li 1.5mm_SMD 11 | Cd module 1 pin (ou trou mecanique de percage) 12 | Kw DEV 13 | Sc 0 14 | AR /55931154 15 | Op 0 0 0 16 | T0 0 -3.50012 0.5 0.5 0 0.1 N V 21 N "P4" 17 | T1 0.24892 3.74904 0.5 0.5 0 0.1 N V 21 N "CONN_1" 18 | $PAD 19 | Sh "1" R 1.5 1.5 0 0 0 20 | Dr 0 0 0 21 | At SMD N 00A88000 22 | Ne 1 "N-000003" 23 | Po 0 0 24 | $EndPAD 25 | $EndMODULE 1.5mm_SMD 26 | $MODULE 1PIN_SMD 27 | Po 0 0 0 15 55CF5AA8 00000000 ~~ 28 | Li 1PIN_SMD 29 | Cd module 1 pin (ou trou mecanique de percage) 30 | Kw DEV 31 | Sc 0 32 | AR /55931154 33 | Op 0 0 0 34 | T0 0 -3.50012 0.5 0.5 0 0.1 N V 21 N "P4" 35 | T1 0.24892 3.74904 0.5 0.5 0 0.1 N V 21 N "CONN_1" 36 | $PAD 37 | Sh "1" R 1.5 1.5 0 0 0 38 | Dr 0 0 0 39 | At SMD N 00A88000 40 | Ne 1 "N-000003" 41 | Po 0 0 42 | $EndPAD 43 | $EndMODULE 1PIN_SMD 44 | $EndLIBRARY 45 | -------------------------------------------------------------------------------- /telepathy-kicad/C_SDM_4x4.mod: -------------------------------------------------------------------------------- 1 | PCBNEW-LibModule-V1 Sat 21 Mar 2015 07:31:15 PM CDT 2 | # encoding utf-8 3 | $INDEX 4 | C_SMD_4x4 5 | $EndINDEX 6 | $MODULE C_SMD_4x4 7 | Po 0 0 0 15 550E0D3E 550E0D1E ~~ 8 | Li C_SMD_4x4 9 | Sc 550E0D1E 10 | AR C_SDM_4x4 11 | Op 0 0 0 12 | T0 0 -1650 600 600 0 120 N V 21 N "C_SMD_4x4" 13 | T1 0 1650 600 600 0 120 N V 21 N "VAL**" 14 | DS -800 -800 800 -800 150 21 15 | DS 800 -800 800 800 150 21 16 | DS 800 800 -800 800 150 21 17 | DS -800 800 -800 -800 150 21 18 | $PAD 19 | Sh "1" R 787 600 0 0 0 20 | Dr 0 0 0 21 | At SMD N 00888000 22 | Ne 0 "" 23 | Po 800 0 24 | $EndPAD 25 | $PAD 26 | Sh "2" R 787 600 0 0 0 27 | Dr 0 0 0 28 | At SMD N 00888000 29 | Ne 0 "" 30 | Po -800 0 31 | $EndPAD 32 | $EndMODULE C_SMD_4x4 33 | $EndLIBRARY 34 | -------------------------------------------------------------------------------- /telepathy-kicad/C_SMD_7x7.mod: -------------------------------------------------------------------------------- 1 | PCBNEW-LibModule-V1 Mon 23 Mar 2015 10:27:17 AM CDT 2 | # encoding utf-8 3 | $INDEX 4 | C_SMD_7x7 5 | $EndINDEX 6 | $MODULE C_SMD_7x7 7 | Po 0 0 0 15 551030B8 55102FB7 ~~ 8 | Li C_SMD_7x7 9 | Sc 55102FB7 10 | AR C_SMD_7x7 11 | Op 0 0 0 12 | T0 0 -1994 600 600 0 120 N V 21 N "C_SMD_7x7" 13 | T1 0 1650 600 600 0 120 N V 21 N "VAL**" 14 | DS -1400 -1400 -1400 1400 150 21 15 | DS -1400 1400 1400 1400 150 21 16 | DS 1400 1400 1400 -1400 150 21 17 | DS 1400 -1400 -1400 -1400 150 21 18 | $PAD 19 | Sh "1" R 787 787 0 0 0 20 | Dr 0 0 0 21 | At SMD N 00888000 22 | Ne 0 "" 23 | Po 1400 0 24 | $EndPAD 25 | $PAD 26 | Sh "2" R 787 787 0 0 0 27 | Dr 0 0 0 28 | At SMD N 00888000 29 | Ne 0 "" 30 | Po -1400 0 31 | $EndPAD 32 | $EndMODULE C_SMD_7x7 33 | $EndLIBRARY 34 | -------------------------------------------------------------------------------- /telepathy-kicad/DIL16.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.2 Date: 20/03/2015-06:25:46 2 | # 3 | # DIL16 4 | # 5 | DEF DIL16 U 0 40 Y Y 1 0 N 6 | F0 "U" 0 -100 50 H V C C 7 | F1 "DIL16" 0 100 50 H V C C 8 | F2 "MODULE" 0 0 50 H I C C 9 | F3 "DOCUMENTATION" 0 0 50 H I C C 10 | DRAW 11 | S -450 -550 450 550 1 0 0 N 12 | X PIN1 1 -750 350 300 R 50 50 1 1 U 13 | X PIN2 2 -750 250 300 R 50 50 1 1 U 14 | X PIN3 3 -750 150 300 R 50 50 1 1 U 15 | X PIN4 4 -750 50 300 R 50 50 1 1 U 16 | X PIN5 5 -750 -50 300 R 50 50 1 1 U 17 | X PIN6 6 -750 -150 300 R 50 50 1 1 U 18 | X PIN7 7 -750 -250 300 R 50 50 1 1 U 19 | X PIN8 8 -750 -350 300 R 50 50 1 1 U 20 | X PIN9 9 750 -350 300 L 50 50 1 1 U 21 | X PIN10 10 750 -250 300 L 50 50 1 1 U 22 | X PIN11 11 750 -150 300 L 50 50 1 1 U 23 | X PIN12 12 750 -50 300 L 50 50 1 1 U 24 | X PIN13 13 750 50 300 L 50 50 1 1 U 25 | X PIN14 14 750 150 300 L 50 50 1 1 U 26 | X PIN15 15 750 250 300 L 50 50 1 1 U 27 | X PIN16 16 750 350 300 L 50 50 1 1 U 28 | ENDDRAW 29 | ENDDEF 30 | # 31 | #End Library 32 | -------------------------------------------------------------------------------- /telepathy-kicad/DIL18.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.2 Date: 20/03/2015-06:24:59 2 | # 3 | # DIL18 4 | # 5 | DEF DIL18 U 0 40 Y Y 1 0 N 6 | F0 "U" 0 -100 50 H V C C 7 | F1 "DIL18" 0 100 50 H V C C 8 | F2 "MODULE" 0 0 50 H I C C 9 | F3 "DOCUMENTATION" 0 0 50 H I C C 10 | DRAW 11 | S -450 -600 450 600 1 0 0 N 12 | X PIN1 1 -750 400 300 R 50 50 1 1 U 13 | X PIN2 2 -750 300 300 R 50 50 1 1 U 14 | X PIN3 3 -750 200 300 R 50 50 1 1 U 15 | X PIN4 4 -750 100 300 R 50 50 1 1 U 16 | X PIN5 5 -750 0 300 R 50 50 1 1 U 17 | X PIN6 6 -750 -100 300 R 50 50 1 1 U 18 | X PIN7 7 -750 -200 300 R 50 50 1 1 U 19 | X PIN8 8 -750 -300 300 R 50 50 1 1 U 20 | X PIN9 9 -750 -400 300 R 50 50 1 1 U 21 | X PIN10 10 750 -400 300 L 50 50 1 1 U 22 | X PIN11 11 750 -300 300 L 50 50 1 1 U 23 | X PIN12 12 750 -200 300 L 50 50 1 1 U 24 | X PIN13 13 750 -100 300 L 50 50 1 1 U 25 | X PIN14 14 750 0 300 L 50 50 1 1 U 26 | X PIN15 15 750 100 300 L 50 50 1 1 U 27 | X PIN16 16 750 200 300 L 50 50 1 1 U 28 | X PIN17 17 750 300 300 L 50 50 1 1 U 29 | X PIN18 18 750 400 300 L 50 50 1 1 U 30 | ENDDRAW 31 | ENDDEF 32 | # 33 | #End Library 34 | -------------------------------------------------------------------------------- /telepathy-kicad/DIL28.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.2 Date: 20/03/2015-06:26:14 2 | # 3 | # DIL28 4 | # 5 | DEF DIL28 U 0 40 Y Y 1 0 N 6 | F0 "U" 0 -100 50 H V C C 7 | F1 "DIL28" 0 100 50 H V C C 8 | F2 "MODULE" 0 0 50 H I C C 9 | F3 "DOCUMENTATION" 0 0 50 H I C C 10 | DRAW 11 | S -450 -850 450 850 1 0 0 N 12 | X PIN1 1 -750 650 300 R 50 50 1 1 U 13 | X PIN2 2 -750 550 300 R 50 50 1 1 U 14 | X PIN3 3 -750 450 300 R 50 50 1 1 U 15 | X PIN4 4 -750 350 300 R 50 50 1 1 U 16 | X PIN5 5 -750 250 300 R 50 50 1 1 U 17 | X PIN6 6 -750 150 300 R 50 50 1 1 U 18 | X PIN7 7 -750 50 300 R 50 50 1 1 U 19 | X PIN8 8 -750 -50 300 R 50 50 1 1 U 20 | X PIN9 9 -750 -150 300 R 50 50 1 1 U 21 | X PIN10 10 -750 -250 300 R 50 50 1 1 U 22 | X PIN11 11 -750 -350 300 R 50 50 1 1 U 23 | X PIN12 12 -750 -450 300 R 50 50 1 1 U 24 | X PIN13 13 -750 -550 300 R 50 50 1 1 U 25 | X PIN14 14 -750 -650 300 R 50 50 1 1 U 26 | X PIN15 15 750 -650 300 L 50 50 1 1 U 27 | X PIN16 16 750 -550 300 L 50 50 1 1 U 28 | X PIN17 17 750 -450 300 L 50 50 1 1 U 29 | X PIN18 18 750 -350 300 L 50 50 1 1 U 30 | X PIN19 19 750 -250 300 L 50 50 1 1 U 31 | X PIN20 20 750 -150 300 L 50 50 1 1 U 32 | X PIN21 21 750 -50 300 L 50 50 1 1 U 33 | X PIN22 22 750 50 300 L 50 50 1 1 U 34 | X PIN23 23 750 150 300 L 50 50 1 1 U 35 | X PIN24 24 750 250 300 L 50 50 1 1 U 36 | X PIN25 25 750 350 300 L 50 50 1 1 U 37 | X PIN26 26 750 450 300 L 50 50 1 1 U 38 | X PIN27 27 750 550 300 L 50 50 1 1 U 39 | X PIN28 28 750 650 300 L 50 50 1 1 U 40 | ENDDRAW 41 | ENDDEF 42 | # 43 | #End Library 44 | -------------------------------------------------------------------------------- /telepathy-kicad/DIL8.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.2 Date: 06/07/2014-06:16:45 2 | # 3 | # DIL8 4 | # 5 | DEF DIL8 U 0 40 Y Y 1 0 N 6 | F0 "U" 0 -100 50 H V C C 7 | F1 "DIL8" 0 100 50 H V C C 8 | F2 "MODULE" 0 0 50 H I C C 9 | F3 "DOCUMENTATION" 0 0 50 H I C C 10 | DRAW 11 | S -450 -350 450 350 1 0 0 N 12 | X PIN1 1 -750 150 300 R 50 50 1 1 I 13 | X PIN2 2 -750 50 300 R 50 50 1 1 I 14 | X PIN3 3 -750 -50 300 R 50 50 1 1 I 15 | X PIN4 4 -750 -150 300 R 50 50 1 1 I 16 | X PIN5 5 750 -150 300 L 50 50 1 1 I 17 | X PIN6 6 750 -50 300 L 50 50 1 1 I 18 | X PIN7 7 750 50 300 L 50 50 1 1 I 19 | X PIN8 8 750 150 300 L 50 50 1 1 I 20 | ENDDRAW 21 | ENDDEF 22 | # 23 | #End Library 24 | -------------------------------------------------------------------------------- /telepathy-kicad/HM-10.mod: -------------------------------------------------------------------------------- 1 | PCBNEW-LibModule-V1 Tue 31 Mar 2015 11:15:27 AM CDT 2 | # encoding utf-8 3 | $INDEX 4 | HM-10 5 | $EndINDEX 6 | $MODULE HM-10 7 | Po 0 0 0 15 551AC646 551AC683 ~~ 8 | Li HM-10 9 | Sc 551AC683 10 | AR /550BB205 11 | Op 0 0 0 12 | T0 0 -6100 394 394 0 99 N V 21 N "U9" 13 | T1 0 0 600 600 0 120 N V 21 N "MODULE34" 14 | DS -2450 -5400 -2450 5200 150 21 15 | DS -2450 -5400 2550 -5400 150 21 16 | DS 2550 -5400 2550 5200 150 21 17 | DS 2550 5225 -2450 5225 150 21 18 | $PAD 19 | Sh "14" R 472 591 0 0 1800 20 | Dr 0 0 0 21 | At SMD N 00888000 22 | Ne 0 "" 23 | Po -1975 5475 24 | $EndPAD 25 | $PAD 26 | Sh "15" R 472 591 0 0 1800 27 | Dr 0 0 0 28 | At SMD N 00888000 29 | Ne 0 "" 30 | Po -1400 5475 31 | $EndPAD 32 | $PAD 33 | Sh "16" R 472 591 0 0 1800 34 | Dr 0 0 0 35 | At SMD N 00888000 36 | Ne 0 "" 37 | Po -825 5475 38 | $EndPAD 39 | $PAD 40 | Sh "17" R 472 591 0 0 1800 41 | Dr 0 0 0 42 | At SMD N 00888000 43 | Ne 0 "" 44 | Po -250 5475 45 | $EndPAD 46 | $PAD 47 | Sh "18" R 472 591 0 0 1800 48 | Dr 0 0 0 49 | At SMD N 00888000 50 | Ne 0 "" 51 | Po 325 5475 52 | $EndPAD 53 | $PAD 54 | Sh "19" R 472 591 0 0 1800 55 | Dr 0 0 0 56 | At SMD N 00888000 57 | Ne 0 "" 58 | Po 900 5475 59 | $EndPAD 60 | $PAD 61 | Sh "20" R 472 591 0 0 1800 62 | Dr 0 0 0 63 | At SMD N 00888000 64 | Ne 0 "" 65 | Po 1475 5475 66 | $EndPAD 67 | $PAD 68 | Sh "21" R 472 591 0 0 1800 69 | Dr 0 0 0 70 | At SMD N 00888000 71 | Ne 0 "" 72 | Po 2050 5475 73 | $EndPAD 74 | $PAD 75 | Sh "22" R 600 472 0 0 1800 76 | Dr 0 0 0 77 | At SMD N 00888000 78 | Ne 0 "" 79 | Po 2650 4850 80 | $EndPAD 81 | $PAD 82 | Sh "23" R 600 472 0 0 1800 83 | Dr 0 0 0 84 | At SMD N 00888000 85 | Ne 0 "" 86 | Po 2650 4275 87 | $EndPAD 88 | $PAD 89 | Sh "24" R 600 472 0 0 1800 90 | Dr 0 0 0 91 | At SMD N 00888000 92 | Ne 0 "" 93 | Po 2650 3700 94 | $EndPAD 95 | $PAD 96 | Sh "25" R 600 472 0 0 1800 97 | Dr 0 0 0 98 | At SMD N 00888000 99 | Ne 0 "" 100 | Po 2650 3125 101 | $EndPAD 102 | $PAD 103 | Sh "26" R 600 472 0 0 1800 104 | Dr 0 0 0 105 | At SMD N 00888000 106 | Ne 0 "" 107 | Po 2650 2550 108 | $EndPAD 109 | $PAD 110 | Sh "27" R 600 472 0 0 1800 111 | Dr 0 0 0 112 | At SMD N 00888000 113 | Ne 0 "" 114 | Po 2650 1975 115 | $EndPAD 116 | $PAD 117 | Sh "28" R 600 472 0 0 1800 118 | Dr 0 0 0 119 | At SMD N 00888000 120 | Ne 0 "" 121 | Po 2650 1400 122 | $EndPAD 123 | $PAD 124 | Sh "29" R 600 472 0 0 1800 125 | Dr 0 0 0 126 | At SMD N 00888000 127 | Ne 0 "" 128 | Po 2650 825 129 | $EndPAD 130 | $PAD 131 | Sh "30" R 600 472 0 0 1800 132 | Dr 0 0 0 133 | At SMD N 00888000 134 | Ne 0 "" 135 | Po 2650 250 136 | $EndPAD 137 | $PAD 138 | Sh "31" R 600 472 0 0 1800 139 | Dr 0 0 0 140 | At SMD N 00888000 141 | Ne 4 "N-000067" 142 | Po 2650 -325 143 | $EndPAD 144 | $PAD 145 | Sh "32" R 600 472 0 0 1800 146 | Dr 0 0 0 147 | At SMD N 00888000 148 | Ne 0 "" 149 | Po 2650 -900 150 | $EndPAD 151 | $PAD 152 | Sh "33" R 600 472 0 0 1800 153 | Dr 0 0 0 154 | At SMD N 00888000 155 | Ne 0 "" 156 | Po 2650 -1475 157 | $EndPAD 158 | $PAD 159 | Sh "34" R 600 472 0 0 1800 160 | Dr 0 0 0 161 | At SMD N 00888000 162 | Ne 3 "N-000032" 163 | Po 2650 -2050 164 | $EndPAD 165 | $PAD 166 | Sh "1" R 600 472 0 0 1800 167 | Dr 0 0 0 168 | At SMD N 00888000 169 | Ne 5 "N-000082" 170 | Po -2550 -2050 171 | $EndPAD 172 | $PAD 173 | Sh "2" R 600 472 0 0 1800 174 | Dr 0 0 0 175 | At SMD N 00888000 176 | Ne 2 "N-000015" 177 | Po -2550 -1475 178 | $EndPAD 179 | $PAD 180 | Sh "3" R 600 472 0 0 1800 181 | Dr 0 0 0 182 | At SMD N 00888000 183 | Ne 0 "" 184 | Po -2550 -900 185 | $EndPAD 186 | $PAD 187 | Sh "4" R 600 472 0 0 1800 188 | Dr 0 0 0 189 | At SMD N 00888000 190 | Ne 0 "" 191 | Po -2550 -325 192 | $EndPAD 193 | $PAD 194 | Sh "5" R 600 472 0 0 1800 195 | Dr 0 0 0 196 | At SMD N 00888000 197 | Ne 0 "" 198 | Po -2550 250 199 | $EndPAD 200 | $PAD 201 | Sh "6" R 600 472 0 0 1800 202 | Dr 0 0 0 203 | At SMD N 00888000 204 | Ne 0 "" 205 | Po -2550 825 206 | $EndPAD 207 | $PAD 208 | Sh "7" R 600 472 0 0 1800 209 | Dr 0 0 0 210 | At SMD N 00888000 211 | Ne 0 "" 212 | Po -2550 1400 213 | $EndPAD 214 | $PAD 215 | Sh "8" R 600 472 0 0 1800 216 | Dr 0 0 0 217 | At SMD N 00888000 218 | Ne 0 "" 219 | Po -2550 1975 220 | $EndPAD 221 | $PAD 222 | Sh "9" R 600 472 0 0 1800 223 | Dr 0 0 0 224 | At SMD N 00888000 225 | Ne 0 "" 226 | Po -2550 2550 227 | $EndPAD 228 | $PAD 229 | Sh "10" R 600 472 0 0 1800 230 | Dr 0 0 0 231 | At SMD N 00888000 232 | Ne 0 "" 233 | Po -2550 3125 234 | $EndPAD 235 | $PAD 236 | Sh "11" R 600 472 0 0 1800 237 | Dr 0 0 0 238 | At SMD N 00888000 239 | Ne 0 "" 240 | Po -2550 3700 241 | $EndPAD 242 | $PAD 243 | Sh "12" R 600 472 0 0 1800 244 | Dr 0 0 0 245 | At SMD N 00888000 246 | Ne 6 "N-000089" 247 | Po -2550 4275 248 | $EndPAD 249 | $PAD 250 | Sh "13" R 600 472 0 0 1800 251 | Dr 0 0 0 252 | At SMD N 00888000 253 | Ne 1 "GND" 254 | Po -2550 4850 255 | $EndPAD 256 | $EndMODULE HM-10 257 | $EndLIBRARY 258 | -------------------------------------------------------------------------------- /telepathy-kicad/MODULE34.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.2 Date: 20/03/2015-06:26:52 2 | # 3 | # MODULE34 4 | # 5 | DEF MODULE34 U 0 40 Y Y 1 0 N 6 | F0 "U" 0 -100 50 H V C C 7 | F1 "MODULE34" 0 100 50 H V C C 8 | F2 "MODULE" 0 0 50 H I C C 9 | F3 "DOCUMENTATION" 0 0 50 H I C C 10 | DRAW 11 | S -450 -1000 450 1000 1 0 0 N 12 | X PIN1 1 -750 800 300 R 50 50 1 1 U 13 | X PIN2 2 -750 700 300 R 50 50 1 1 U 14 | X PIN3 3 -750 600 300 R 50 50 1 1 U 15 | X PIN4 4 -750 500 300 R 50 50 1 1 U 16 | X PIN5 5 -750 400 300 R 50 50 1 1 U 17 | X PIN6 6 -750 300 300 R 50 50 1 1 U 18 | X PIN7 7 -750 200 300 R 50 50 1 1 U 19 | X PIN8 8 -750 100 300 R 50 50 1 1 U 20 | X PIN9 9 -750 0 300 R 50 50 1 1 U 21 | X PIN10 10 -750 -100 300 R 50 50 1 1 U 22 | X PIN11 11 -750 -200 300 R 50 50 1 1 U 23 | X PIN12 12 -750 -300 300 R 50 50 1 1 U 24 | X PIN13 13 -750 -400 300 R 50 50 1 1 U 25 | X PIN14 14 -750 -500 300 R 50 50 1 1 U 26 | X PIN15 15 -750 -600 300 R 50 50 1 1 U 27 | X PIN16 16 -750 -700 300 R 50 50 1 1 U 28 | X PIN17 17 -750 -800 300 R 50 50 1 1 U 29 | X PIN18 18 750 -800 300 L 50 50 1 1 U 30 | X PIN19 19 750 -700 300 L 50 50 1 1 U 31 | X PIN20 20 750 -600 300 L 50 50 1 1 U 32 | X PIN21 21 750 -500 300 L 50 50 1 1 U 33 | X PIN22 22 750 -400 300 L 50 50 1 1 U 34 | X PIN23 23 750 -300 300 L 50 50 1 1 U 35 | X PIN24 24 750 -200 300 L 50 50 1 1 U 36 | X PIN25 25 750 -100 300 L 50 50 1 1 U 37 | X PIN26 26 750 0 300 L 50 50 1 1 U 38 | X PIN27 27 750 100 300 L 50 50 1 1 U 39 | X PIN28 28 750 200 300 L 50 50 1 1 U 40 | X PIN29 29 750 300 300 L 50 50 1 1 U 41 | X PIN30 30 750 400 300 L 50 50 1 1 U 42 | X PIN31 31 750 500 300 L 50 50 1 1 U 43 | X PIN32 32 750 600 300 L 50 50 1 1 U 44 | X PIN33 33 750 700 300 L 50 50 1 1 U 45 | X PIN34 34 750 800 300 L 50 50 1 1 U 46 | ENDDRAW 47 | ENDDEF 48 | # 49 | #End Library 50 | -------------------------------------------------------------------------------- /telepathy-kicad/SO18E.mod: -------------------------------------------------------------------------------- 1 | PCBNEW-LibModule-V1 Sat 21 Mar 2015 04:33:33 PM CDT 2 | # encoding utf-8 3 | $INDEX 4 | SO18E 5 | $EndINDEX 6 | $MODULE SO18E 7 | Po 0 0 0 15 550DE318 550DE31A ~~ 8 | Li SO18E 9 | Cd Module CMS SOJ 16 pins etroit 10 | Kw CMS SOJ 11 | Sc 550DE31A 12 | AR 13 | Op 0 0 0 14 | At SMD 15 | T0 0 -300 400 450 0 50 N V 21 N "SO18E" 16 | T1 0 300 400 450 0 50 N V 21 N "Val**" 17 | DS -2150 -700 2650 -700 150 21 18 | DS 2650 -700 2650 700 150 21 19 | DS 2650 700 -2150 700 150 21 20 | DS -2150 700 -2150 -700 150 21 21 | DS -2150 -700 2150 -700 80 21 22 | DS 2650 -725 2650 675 80 21 23 | DS 2150 700 -2150 700 80 21 24 | DS -2150 700 -2150 -700 80 21 25 | DS -2150 -200 -1850 -200 80 21 26 | DS -1850 -200 -1850 200 80 21 27 | DS -1850 200 -2150 200 80 21 28 | $PAD 29 | Sh "18" R 200 450 0 0 0 30 | Dr 0 0 0 31 | At SMD N 00888000 32 | Ne 0 "" 33 | Po -1750 -1000 34 | $EndPAD 35 | $PAD 36 | Sh "17" R 200 450 0 0 0 37 | Dr 0 0 0 38 | At SMD N 00888000 39 | Ne 0 "" 40 | Po -1250 -1000 41 | $EndPAD 42 | $PAD 43 | Sh "1" R 200 450 0 0 0 44 | Dr 0 0 0 45 | At SMD N 00888000 46 | Ne 0 "" 47 | Po -1750 1000 48 | $EndPAD 49 | $PAD 50 | Sh "2" R 200 450 0 0 0 51 | Dr 0 0 0 52 | At SMD N 00888000 53 | Ne 0 "" 54 | Po -1250 1000 55 | $EndPAD 56 | $PAD 57 | Sh "3" R 200 450 0 0 0 58 | Dr 0 0 0 59 | At SMD N 00888000 60 | Ne 0 "" 61 | Po -750 1000 62 | $EndPAD 63 | $PAD 64 | Sh "4" R 200 450 0 0 0 65 | Dr 0 0 0 66 | At SMD N 00888000 67 | Ne 0 "" 68 | Po -250 1000 69 | $EndPAD 70 | $PAD 71 | Sh "5" R 200 450 0 0 0 72 | Dr 0 0 0 73 | At SMD N 00888000 74 | Ne 0 "" 75 | Po 250 1000 76 | $EndPAD 77 | $PAD 78 | Sh "6" R 200 450 0 0 0 79 | Dr 0 0 0 80 | At SMD N 00888000 81 | Ne 0 "" 82 | Po 750 1000 83 | $EndPAD 84 | $PAD 85 | Sh "7" R 200 450 0 0 0 86 | Dr 0 0 0 87 | At SMD N 00888000 88 | Ne 0 "" 89 | Po 1250 1000 90 | $EndPAD 91 | $PAD 92 | Sh "8" R 200 450 0 0 0 93 | Dr 0 0 0 94 | At SMD N 00888000 95 | Ne 0 "" 96 | Po 1750 1000 97 | $EndPAD 98 | $PAD 99 | Sh "9" R 200 450 0 0 0 100 | Dr 0 0 0 101 | At SMD N 00888000 102 | Ne 0 "" 103 | Po 2250 1000 104 | $EndPAD 105 | $PAD 106 | Sh "10" R 200 450 0 0 0 107 | Dr 0 0 0 108 | At SMD N 00888000 109 | Ne 0 "" 110 | Po 2250 -1000 111 | $EndPAD 112 | $PAD 113 | Sh "11" R 200 450 0 0 0 114 | Dr 0 0 0 115 | At SMD N 00888000 116 | Ne 0 "" 117 | Po 1750 -1000 118 | $EndPAD 119 | $PAD 120 | Sh "12" R 200 450 0 0 0 121 | Dr 0 0 0 122 | At SMD N 00888000 123 | Ne 0 "" 124 | Po 1250 -1000 125 | $EndPAD 126 | $PAD 127 | Sh "13" R 200 450 0 0 0 128 | Dr 0 0 0 129 | At SMD N 00888000 130 | Ne 0 "" 131 | Po 750 -1000 132 | $EndPAD 133 | $PAD 134 | Sh "14" R 200 450 0 0 0 135 | Dr 0 0 0 136 | At SMD N 00888000 137 | Ne 0 "" 138 | Po 250 -1000 139 | $EndPAD 140 | $PAD 141 | Sh "15" R 200 450 0 0 0 142 | Dr 0 0 0 143 | At SMD N 00888000 144 | Ne 0 "" 145 | Po -250 -1000 146 | $EndPAD 147 | $PAD 148 | Sh "16" R 200 450 0 0 0 149 | Dr 0 0 0 150 | At SMD N 00888000 151 | Ne 0 "" 152 | Po -750 -1000 153 | $EndPAD 154 | $SHAPE3D 155 | Na "smd/cms_so16.wrl" 156 | Sc 0.500000 0.300000 0.500000 157 | Of 0.000000 0.000000 0.000000 158 | Ro 0.000000 0.000000 0.000000 159 | $EndSHAPE3D 160 | $EndMODULE SO18E 161 | $EndLIBRARY 162 | -------------------------------------------------------------------------------- /telepathy-kicad/SO18W.mod: -------------------------------------------------------------------------------- 1 | PCBNEW-LibModule-V1 Mon 30 Mar 2015 05:58:56 PM CDT 2 | # encoding utf-8 3 | $INDEX 4 | SO18W 5 | $EndINDEX 6 | $MODULE SO18W 7 | Po 0 0 0 15 5519BE0C 5519D4FD ~~ 8 | Li SO18W 9 | Cd Module CMS SOJ 16 pins tres large 10 | Kw CMS SOJ 11 | Sc 5519D4FD 12 | AR /550BB1AA 13 | Op 0 0 0 14 | At SMD 15 | T0 100 -350 500 500 0 50 N V 21 N "U3" 16 | T1 50 900 500 500 0 50 N V 21 N "DIL18" 17 | DS -2350 1550 2350 1550 150 21 18 | DS -2350 -1600 2350 -1600 150 21 19 | DS -2350 1550 -2350 -1600 80 21 20 | DS 2400 -1600 2400 1550 80 21 21 | DS -2350 -200 -2050 -200 80 21 22 | DS -2050 -200 -2050 200 80 21 23 | DS -2050 200 -2350 200 80 21 24 | $PAD 25 | Sh "18" R 394 450 0 0 0 26 | Dr 0 0 0 27 | At SMD N 00888000 28 | Ne 12 "N-000087" 29 | Po -2000 -2000 30 | $EndPAD 31 | $PAD 32 | Sh "17" R 394 450 0 0 0 33 | Dr 0 0 0 34 | At SMD N 00888000 35 | Ne 10 "N-000012" 36 | Po -1500 -2000 37 | $EndPAD 38 | $PAD 39 | Sh "1" R 394 450 0 0 0 40 | Dr 0 0 0 41 | At SMD N 00888000 42 | Ne 2 "N-000001" 43 | Po -1950 2000 44 | $EndPAD 45 | $PAD 46 | Sh "2" R 394 450 0 0 0 47 | Dr 0 0 0 48 | At SMD N 00888000 49 | Ne 3 "N-000002" 50 | Po -1450 2000 51 | $EndPAD 52 | $PAD 53 | Sh "3" R 394 450 0 0 0 54 | Dr 0 0 0 55 | At SMD N 00888000 56 | Ne 4 "N-000003" 57 | Po -950 2000 58 | $EndPAD 59 | $PAD 60 | Sh "4" R 394 450 0 0 0 61 | Dr 0 0 0 62 | At SMD N 00888000 63 | Ne 5 "N-000004" 64 | Po -450 2000 65 | $EndPAD 66 | $PAD 67 | Sh "5" R 394 450 0 0 0 68 | Dr 0 0 0 69 | At SMD N 00888000 70 | Ne 5 "N-000004" 71 | Po 50 2000 72 | $EndPAD 73 | $PAD 74 | Sh "6" R 394 450 0 0 0 75 | Dr 0 0 0 76 | At SMD N 00888000 77 | Ne 4 "N-000003" 78 | Po 550 2000 79 | $EndPAD 80 | $PAD 81 | Sh "7" R 394 450 0 0 0 82 | Dr 0 0 0 83 | At SMD N 00888000 84 | Ne 3 "N-000002" 85 | Po 1050 2000 86 | $EndPAD 87 | $PAD 88 | Sh "8" R 394 450 0 0 0 89 | Dr 0 0 0 90 | At SMD N 00888000 91 | Ne 2 "N-000001" 92 | Po 1550 2000 93 | $EndPAD 94 | $PAD 95 | Sh "9" R 394 450 0 0 0 96 | Dr 0 0 0 97 | At SMD N 00888000 98 | Ne 1 "GNDA" 99 | Po 2050 2000 100 | $EndPAD 101 | $PAD 102 | Sh "10" R 394 450 0 0 0 103 | Dr 0 0 0 104 | At SMD N 00888000 105 | Ne 0 "" 106 | Po 2000 -2000 107 | $EndPAD 108 | $PAD 109 | Sh "11" R 394 450 0 0 0 110 | Dr 0 0 0 111 | At SMD N 00888000 112 | Ne 6 "N-000006" 113 | Po 1500 -2000 114 | $EndPAD 115 | $PAD 116 | Sh "12" R 394 450 0 0 0 117 | Dr 0 0 0 118 | At SMD N 00888000 119 | Ne 7 "N-000007" 120 | Po 1000 -2000 121 | $EndPAD 122 | $PAD 123 | Sh "13" R 394 450 0 0 0 124 | Dr 0 0 0 125 | At SMD N 00888000 126 | Ne 11 "N-000085" 127 | Po 500 -2000 128 | $EndPAD 129 | $PAD 130 | Sh "14" R 394 450 0 0 0 131 | Dr 0 0 0 132 | At SMD N 00888000 133 | Ne 8 "N-000008" 134 | Po 0 -2000 135 | $EndPAD 136 | $PAD 137 | Sh "15" R 394 450 0 0 0 138 | Dr 0 0 0 139 | At SMD N 00888000 140 | Ne 9 "N-000009" 141 | Po -500 -2000 142 | $EndPAD 143 | $PAD 144 | Sh "16" R 394 450 0 0 0 145 | Dr 0 0 0 146 | At SMD N 00888000 147 | Ne 13 "N-000088" 148 | Po -1000 -2000 149 | $EndPAD 150 | $EndMODULE SO18W 151 | $EndLIBRARY 152 | -------------------------------------------------------------------------------- /telepathy-kicad/SO28.mod: -------------------------------------------------------------------------------- 1 | PCBNEW-LibModule-V1 Tue 31 Mar 2015 10:20:52 AM CDT 2 | # encoding utf-8 3 | $INDEX 4 | SO28 5 | $EndINDEX 6 | $MODULE SO28 7 | Po 0 0 0 15 55152E1A 551ABAC7 ~~ 8 | Li SO28 9 | Cd Module CMS SO 28 pins large 10 | Kw CMS SOJ SO SOIC 11 | Sc 551ABAC7 12 | AR /550BB1E2 13 | Op 0 0 0 14 | At SMD 15 | T0 -2600 -2600 394 394 0 99 N V 21 N "U7" 16 | T1 0 500 600 600 0 60 N V 21 N "DIL28" 17 | DS 3500 -1000 3500 1500 120 21 18 | DS 3500 1500 -3500 1500 120 21 19 | DS -3500 1450 -3500 -1550 120 21 20 | DS -3500 -1550 3500 -1550 120 21 21 | DS 3500 -1550 3500 -1050 120 21 22 | DS -3500 -250 -3000 -250 120 21 23 | DS -3000 -250 -3000 250 120 21 24 | DS -3000 250 -3500 250 120 21 25 | $PAD 26 | Sh "1" R 394 500 0 0 0 27 | Dr 0 0 0 28 | At SMD N 00888000 29 | Ne 0 "" 30 | Po -3250 1950 31 | $EndPAD 32 | $PAD 33 | Sh "2" R 394 500 0 0 0 34 | Dr 0 0 0 35 | At SMD N 00888000 36 | Ne 0 "" 37 | Po -2750 1950 38 | $EndPAD 39 | $PAD 40 | Sh "3" R 394 500 0 0 0 41 | Dr 0 0 0 42 | At SMD N 00888000 43 | Ne 0 "" 44 | Po -2250 1950 45 | $EndPAD 46 | $PAD 47 | Sh "4" R 394 500 0 0 0 48 | Dr 0 0 0 49 | At SMD N 00888000 50 | Ne 0 "" 51 | Po -1750 1950 52 | $EndPAD 53 | $PAD 54 | Sh "5" R 394 500 0 0 0 55 | Dr 0 0 0 56 | At SMD N 00888000 57 | Ne 0 "" 58 | Po -1250 1950 59 | $EndPAD 60 | $PAD 61 | Sh "6" R 394 500 0 0 0 62 | Dr 0 0 0 63 | At SMD N 00888000 64 | Ne 0 "" 65 | Po -750 1950 66 | $EndPAD 67 | $PAD 68 | Sh "7" R 394 500 0 0 0 69 | Dr 0 0 0 70 | At SMD N 00888000 71 | Ne 0 "" 72 | Po -250 1950 73 | $EndPAD 74 | $PAD 75 | Sh "8" R 394 500 0 0 0 76 | Dr 0 0 0 77 | At SMD N 00888000 78 | Ne 2 "GND" 79 | Po 250 1950 80 | $EndPAD 81 | $PAD 82 | Sh "9" R 394 500 0 0 0 83 | Dr 0 0 0 84 | At SMD N 00888000 85 | Ne 0 "" 86 | Po 750 1950 87 | $EndPAD 88 | $PAD 89 | Sh "10" R 394 500 0 0 0 90 | Dr 0 0 0 91 | At SMD N 00888000 92 | Ne 13 "N-000052" 93 | Po 1250 1950 94 | $EndPAD 95 | $PAD 96 | Sh "11" R 394 500 0 0 0 97 | Dr 0 0 0 98 | At SMD N 00888000 99 | Ne 7 "N-000032" 100 | Po 1750 1950 101 | $EndPAD 102 | $PAD 103 | Sh "12" R 394 500 0 0 0 104 | Dr 0 0 0 105 | At SMD N 00888000 106 | Ne 9 "N-000034" 107 | Po 2250 1950 108 | $EndPAD 109 | $PAD 110 | Sh "13" R 394 500 0 0 0 111 | Dr 0 0 0 112 | At SMD N 00888000 113 | Ne 11 "N-000036" 114 | Po 2750 1950 115 | $EndPAD 116 | $PAD 117 | Sh "14" R 394 500 0 0 0 118 | Dr 0 0 0 119 | At SMD N 00888000 120 | Ne 12 "N-000037" 121 | Po 3250 1950 122 | $EndPAD 123 | $PAD 124 | Sh "15" R 394 500 0 0 0 125 | Dr 0 0 0 126 | At SMD N 00888000 127 | Ne 15 "N-000062" 128 | Po 3250 -1950 129 | $EndPAD 130 | $PAD 131 | Sh "16" R 394 500 0 0 0 132 | Dr 0 0 0 133 | At SMD N 00888000 134 | Ne 14 "N-000053" 135 | Po 2750 -1950 136 | $EndPAD 137 | $PAD 138 | Sh "17" R 394 500 0 0 0 139 | Dr 0 0 0 140 | At SMD N 00888000 141 | Ne 6 "N-000015" 142 | Po 2250 -1950 143 | $EndPAD 144 | $PAD 145 | Sh "18" R 394 500 0 0 0 146 | Dr 0 0 0 147 | At SMD N 00888000 148 | Ne 16 "N-000082" 149 | Po 1750 -1950 150 | $EndPAD 151 | $PAD 152 | Sh "19" R 394 500 0 0 0 153 | Dr 0 0 0 154 | At SMD N 00888000 155 | Ne 2 "GND" 156 | Po 1250 -1950 157 | $EndPAD 158 | $PAD 159 | Sh "20" R 394 500 0 0 0 160 | Dr 0 0 0 161 | At SMD N 00888000 162 | Ne 1 "+5V" 163 | Po 750 -1950 164 | $EndPAD 165 | $PAD 166 | Sh "21" R 394 500 0 0 0 167 | Dr 0 0 0 168 | At SMD N 00888000 169 | Ne 8 "N-000033" 170 | Po 250 -1950 171 | $EndPAD 172 | $PAD 173 | Sh "22" R 394 500 0 0 0 174 | Dr 0 0 0 175 | At SMD N 00888000 176 | Ne 10 "N-000035" 177 | Po -250 -1950 178 | $EndPAD 179 | $PAD 180 | Sh "23" R 394 500 0 0 0 181 | Dr 0 0 0 182 | At SMD N 00888000 183 | Ne 3 "N-000001" 184 | Po -750 -1950 185 | $EndPAD 186 | $PAD 187 | Sh "24" R 394 500 0 0 0 188 | Dr 0 0 0 189 | At SMD N 00888000 190 | Ne 4 "N-000002" 191 | Po -1250 -1950 192 | $EndPAD 193 | $PAD 194 | Sh "25" R 394 500 0 0 0 195 | Dr 0 0 0 196 | At SMD N 00888000 197 | Ne 17 "N-000088" 198 | Po -1750 -1950 199 | $EndPAD 200 | $PAD 201 | Sh "26" R 394 500 0 0 0 202 | Dr 0 0 0 203 | At SMD N 00888000 204 | Ne 5 "N-000003" 205 | Po -2250 -1950 206 | $EndPAD 207 | $PAD 208 | Sh "27" R 394 500 0 0 0 209 | Dr 0 0 0 210 | At SMD N 00888000 211 | Ne 0 "" 212 | Po -2750 -1950 213 | $EndPAD 214 | $PAD 215 | Sh "28" R 394 500 0 0 0 216 | Dr 0 0 0 217 | At SMD N 00888000 218 | Ne 0 "" 219 | Po -3250 -1950 220 | $EndPAD 221 | $SHAPE3D 222 | Na "smd/cms_soj28.wrl" 223 | Sc 0.500000 0.550000 0.500000 224 | Of 0.000000 0.000000 0.000000 225 | Ro 0.000000 0.000000 0.000000 226 | $EndSHAPE3D 227 | $EndMODULE SO28 228 | $EndLIBRARY 229 | -------------------------------------------------------------------------------- /telepathy-kicad/SOT89-3_Housing_Handsoldering_RevA_02Sep2012.mod: -------------------------------------------------------------------------------- 1 | PCBNEW-LibModule-V1 Sun 22 Mar 2015 10:36:04 AM CDT 2 | # encoding utf-8 3 | $INDEX 4 | SOT89-3_Housing_Handsoldering_RevA_02Sep2012 5 | $EndINDEX 6 | $MODULE SOT89-3_Housing_Handsoldering_RevA_02Sep2012 7 | Po 0 0 0 15 550EE127 550EE10E ~~ 8 | Li SOT89-3_Housing_Handsoldering_RevA_02Sep2012 9 | Cd SOT89-3, Housing, Handsoldering, 10 | Kw SOT89-3, Housing, Handsoldering, 11 | Sc 550EE10E 12 | AR /550BACB7 13 | Op 0 0 0 14 | At SMD 15 | T0 -20 -1969 600 600 0 120 N V 21 N "U1" 16 | T1 -59 2087 600 600 0 120 N I 21 N "LM7805" 17 | DS -748 79 -650 -39 150 21 18 | DS -650 -39 -610 -98 150 21 19 | DS -610 -98 -610 236 150 21 20 | DS -886 -512 -886 197 150 21 21 | DS -886 -512 -630 -512 150 21 22 | DS 886 -512 886 197 150 21 23 | DS 886 -512 630 -512 150 21 24 | $PAD 25 | Sh "VO" R 394 985 0 0 0 26 | Dr 0 0 0 27 | At SMD N 00888000 28 | Ne 1 "+5V" 29 | Po -591 926 30 | $EndPAD 31 | $PAD 32 | Sh "GND" R 394 985 0 0 0 33 | Dr 0 0 0 34 | At SMD N 00888000 35 | Ne 3 "GND" 36 | Po 0 926 37 | $EndPAD 38 | $PAD 39 | Sh "VI" R 394 985 0 0 0 40 | Dr 0 0 0 41 | At SMD N 00888000 42 | Ne 2 "+BATT" 43 | Po 591 926 44 | $EndPAD 45 | $PAD 46 | Sh "GND" R 787 1575 0 0 0 47 | Dr 0 0 0 48 | At SMD N 00888000 49 | Ne 0 "" 50 | Po 0 -630 51 | $EndPAD 52 | $PAD 53 | Sh "GND" T 591 295 0 197 1800 54 | Dr 0 0 0 55 | At SMD N 00888000 56 | Ne 0 "" 57 | Po 0 295 58 | $EndPAD 59 | $SHAPE3D 60 | Na "SOT89-3_SOT89-5_Housing_Wings3d_RevA_02Sep2012/SOT89-3_Housing_Faktor03937_RevA_02Sep2012.wrl" 61 | Sc 0.393700 0.393700 0.393700 62 | Of 0.000000 0.000000 0.000000 63 | Ro 0.000000 0.000000 0.000000 64 | $EndSHAPE3D 65 | $EndMODULE SOT89-3_Housing_Handsoldering_RevA_02Sep2012 66 | $EndLIBRARY 67 | -------------------------------------------------------------------------------- /telepathy-kicad/SOT89-3_SOT89-5_Housing_RevA_02Sep2012.mod: -------------------------------------------------------------------------------- 1 | PCBNEW-LibModule-V1 Sat 21 Mar 2015 07:50:04 PM CDT 2 | # encoding utf-8 3 | $INDEX 4 | SOT89-3_Housing_Handsoldering_RevA_02Sep2012 5 | $EndINDEX 6 | $MODULE SOT89-3_Housing_Handsoldering_RevA_02Sep2012 7 | Po 0 0 0 15 550E11AD 550E1133 ~~ 8 | Li SOT89-3_Housing_Handsoldering_RevA_02Sep2012 9 | Cd SOT89-3, Housing, Handsoldering, 10 | Kw SOT89-3, Housing, Handsoldering, 11 | Sc 550E1133 12 | AR SOT89-3_Housing_Handsoldering_RevA_02Sep2012 13 | Op 0 0 0 14 | At SMD 15 | T0 -20 -1969 600 600 0 120 N V 21 N "IC" 16 | T1 -59 2087 600 600 0 120 N I 21 N "SOT89-3_Housing_Handsoldering_RevA_02Sep2012" 17 | DS -748 79 -650 -39 150 21 18 | DS -650 -39 -610 -98 150 21 19 | DS -610 -98 -610 236 150 21 20 | DS -886 -512 -886 197 150 21 21 | DS -886 -512 -630 -512 150 21 22 | DS 886 -512 886 197 150 21 23 | DS 886 -512 630 -512 150 21 24 | $PAD 25 | Sh "VO" R 394 985 0 0 0 26 | Dr 0 0 0 27 | At SMD N 00888000 28 | Ne 0 "" 29 | Po -591 926 30 | $EndPAD 31 | $PAD 32 | Sh "GND" R 394 985 0 0 0 33 | Dr 0 0 0 34 | At SMD N 00888000 35 | Ne 0 "" 36 | Po 0 926 37 | $EndPAD 38 | $PAD 39 | Sh "VI" R 394 985 0 0 0 40 | Dr 0 0 0 41 | At SMD N 00888000 42 | Ne 0 "" 43 | Po 591 926 44 | $EndPAD 45 | $PAD 46 | Sh "2" R 787 1575 0 0 0 47 | Dr 0 0 0 48 | At SMD N 00888000 49 | Ne 0 "" 50 | Po 0 -630 51 | $EndPAD 52 | $PAD 53 | Sh "2" T 591 295 0 197 1800 54 | Dr 0 0 0 55 | At SMD N 00888000 56 | Ne 0 "" 57 | Po 0 295 58 | $EndPAD 59 | $SHAPE3D 60 | Na "SOT89-3_SOT89-5_Housing_Wings3d_RevA_02Sep2012/SOT89-3_Housing_Faktor03937_RevA_02Sep2012.wrl" 61 | Sc 0.393700 0.393700 0.393700 62 | Of 0.000000 0.000000 0.000000 63 | Ro 0.000000 0.000000 0.000000 64 | $EndSHAPE3D 65 | $EndMODULE SOT89-3_Housing_Handsoldering_RevA_02Sep2012 66 | $EndLIBRARY 67 | -------------------------------------------------------------------------------- /telepathy-kicad/millproject: -------------------------------------------------------------------------------- 1 | # this is an example config file for pcb2gcode. 2 | # place this in the same directory as your gerber files to save typing 3 | 4 | metric=1 5 | metricoutput=1 6 | zero-start=1 7 | nog81=1 8 | onedrill=1 9 | drill-front=1 10 | 11 | # You may want to uncomment and change those in local project files 12 | back=telepathy-Front.gtl 13 | front=telepathy-Back.gbl 14 | #drill=telepathy.drl 15 | 16 | # parameters for isolation routing / engraving / etching 17 | zwork=-1 18 | zsafe=15 19 | zchange=15 20 | mill-feed=200 21 | mill-speed=30000 22 | 23 | 24 | # drilling parameters 25 | #zcut=2 26 | cutter-diameter=0.01 27 | #zdrill=-3 28 | #drill-feed=300 29 | #drill-speed=20000 30 | 31 | # generate voronoi regions 32 | offset=0 33 | dpi=1000 34 | -------------------------------------------------------------------------------- /telepathy-kicad/telepathy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/logical/telepathy/77cb7699be2163481d14c72d79cedc43f7f57bbc/telepathy-kicad/telepathy -------------------------------------------------------------------------------- /telepathy-kicad/telepathy.cmp: -------------------------------------------------------------------------------- 1 | Cmp-Mod V01 Created by CvPcb (2012-apr-16-27)-stable date = Sat 04 Apr 2015 05:18:37 PM CDT 2 | 3 | BeginCmp 4 | TimeStamp = /5510329C; 5 | Reference = C1; 6 | ValeurCmp = CP; 7 | IdModule = C_SMD_4x4; 8 | EndCmp 9 | 10 | BeginCmp 11 | TimeStamp = /55103297; 12 | Reference = C2; 13 | ValeurCmp = CP; 14 | IdModule = C_SMD_4x4; 15 | EndCmp 16 | 17 | BeginCmp 18 | TimeStamp = /551032A5; 19 | Reference = C3; 20 | ValeurCmp = CP; 21 | IdModule = C_SMD_4x4; 22 | EndCmp 23 | 24 | BeginCmp 25 | TimeStamp = /550C0DA7; 26 | Reference = C4; 27 | ValeurCmp = C; 28 | IdModule = SM0805; 29 | EndCmp 30 | 31 | BeginCmp 32 | TimeStamp = /550C93C2; 33 | Reference = C5; 34 | ValeurCmp = C; 35 | IdModule = SM0805; 36 | EndCmp 37 | 38 | BeginCmp 39 | TimeStamp = /55103357; 40 | Reference = C6; 41 | ValeurCmp = CP; 42 | IdModule = SM0805; 43 | EndCmp 44 | 45 | BeginCmp 46 | TimeStamp = /550CA612; 47 | Reference = C7; 48 | ValeurCmp = C; 49 | IdModule = SM0805; 50 | EndCmp 51 | 52 | BeginCmp 53 | TimeStamp = /550CA2FC; 54 | Reference = C8; 55 | ValeurCmp = C; 56 | IdModule = SM0805; 57 | EndCmp 58 | 59 | BeginCmp 60 | TimeStamp = /550DE72A; 61 | Reference = C9; 62 | ValeurCmp = C; 63 | IdModule = SM0805; 64 | EndCmp 65 | 66 | BeginCmp 67 | TimeStamp = /550DE6F1; 68 | Reference = C10; 69 | ValeurCmp = C; 70 | IdModule = SM0805; 71 | EndCmp 72 | 73 | BeginCmp 74 | TimeStamp = /550DE6F7; 75 | Reference = C11; 76 | ValeurCmp = C; 77 | IdModule = SM0805; 78 | EndCmp 79 | 80 | BeginCmp 81 | TimeStamp = /550DE710; 82 | Reference = C12; 83 | ValeurCmp = C; 84 | IdModule = SM0805; 85 | EndCmp 86 | 87 | BeginCmp 88 | TimeStamp = /550DE736; 89 | Reference = C13; 90 | ValeurCmp = C; 91 | IdModule = SM0805; 92 | EndCmp 93 | 94 | BeginCmp 95 | TimeStamp = /550DE6FD; 96 | Reference = C14; 97 | ValeurCmp = C; 98 | IdModule = SM0805; 99 | EndCmp 100 | 101 | BeginCmp 102 | TimeStamp = /550DE707; 103 | Reference = C15; 104 | ValeurCmp = C; 105 | IdModule = SM0805; 106 | EndCmp 107 | 108 | BeginCmp 109 | TimeStamp = /550DE71C; 110 | Reference = C16; 111 | ValeurCmp = C; 112 | IdModule = SM0805; 113 | EndCmp 114 | 115 | BeginCmp 116 | TimeStamp = /55172313; 117 | Reference = C17; 118 | ValeurCmp = C; 119 | IdModule = SM0805; 120 | EndCmp 121 | 122 | BeginCmp 123 | TimeStamp = /551815DA; 124 | Reference = C18; 125 | ValeurCmp = CP; 126 | IdModule = C_SMD_4x4; 127 | EndCmp 128 | 129 | BeginCmp 130 | TimeStamp = /551ADBC2; 131 | Reference = C19; 132 | ValeurCmp = C; 133 | IdModule = SM0805; 134 | EndCmp 135 | 136 | BeginCmp 137 | TimeStamp = /550C0D52; 138 | Reference = D1; 139 | ValeurCmp = DIODE; 140 | IdModule = SM1206; 141 | EndCmp 142 | 143 | BeginCmp 144 | TimeStamp = /550C0D7F; 145 | Reference = D2; 146 | ValeurCmp = DIODE; 147 | IdModule = SM1206; 148 | EndCmp 149 | 150 | BeginCmp 151 | TimeStamp = /550C0D6B; 152 | Reference = D3; 153 | ValeurCmp = DIODE; 154 | IdModule = SM1206; 155 | EndCmp 156 | 157 | BeginCmp 158 | TimeStamp = /550C0D93; 159 | Reference = D4; 160 | ValeurCmp = DIODE; 161 | IdModule = SM1206; 162 | EndCmp 163 | 164 | BeginCmp 165 | TimeStamp = /550C39FB; 166 | Reference = D5; 167 | ValeurCmp = LED; 168 | IdModule = LED-0805; 169 | EndCmp 170 | 171 | BeginCmp 172 | TimeStamp = /550C3A0F; 173 | Reference = D7; 174 | ValeurCmp = LED; 175 | IdModule = LED-0805; 176 | EndCmp 177 | 178 | BeginCmp 179 | TimeStamp = /550DE6A4; 180 | Reference = D8; 181 | ValeurCmp = DIODE; 182 | IdModule = SM1206; 183 | EndCmp 184 | 185 | BeginCmp 186 | TimeStamp = /551511D9; 187 | Reference = K1; 188 | ValeurCmp = CONN_3; 189 | IdModule = SIL-3; 190 | EndCmp 191 | 192 | BeginCmp 193 | TimeStamp = /5515122F; 194 | Reference = P1; 195 | ValeurCmp = CONN_2; 196 | IdModule = SIL-2; 197 | EndCmp 198 | 199 | BeginCmp 200 | TimeStamp = /5515125B; 201 | Reference = P2; 202 | ValeurCmp = CONN_4; 203 | IdModule = SIL-4; 204 | EndCmp 205 | 206 | BeginCmp 207 | TimeStamp = /55151267; 208 | Reference = P3; 209 | ValeurCmp = CONN_4; 210 | IdModule = SIL-4; 211 | EndCmp 212 | 213 | BeginCmp 214 | TimeStamp = /55151280; 215 | Reference = P4; 216 | ValeurCmp = CONN_4; 217 | IdModule = SIL-4; 218 | EndCmp 219 | 220 | BeginCmp 221 | TimeStamp = /55151299; 222 | Reference = P5; 223 | ValeurCmp = CONN_4; 224 | IdModule = SIL-4; 225 | EndCmp 226 | 227 | BeginCmp 228 | TimeStamp = /552060A7; 229 | Reference = P6; 230 | ValeurCmp = CONN_1; 231 | IdModule = smdtest; 232 | EndCmp 233 | 234 | BeginCmp 235 | TimeStamp = /552060BB; 236 | Reference = P7; 237 | ValeurCmp = CONN_1; 238 | IdModule = smdtest; 239 | EndCmp 240 | 241 | BeginCmp 242 | TimeStamp = /552060C6; 243 | Reference = P8; 244 | ValeurCmp = CONN_1; 245 | IdModule = smdtest; 246 | EndCmp 247 | 248 | BeginCmp 249 | TimeStamp = /551DA914; 250 | Reference = Q1; 251 | ValeurCmp = NPN; 252 | IdModule = SOT23; 253 | EndCmp 254 | 255 | BeginCmp 256 | TimeStamp = /551DA915; 257 | Reference = Q2; 258 | ValeurCmp = NPN; 259 | IdModule = SOT23; 260 | EndCmp 261 | 262 | BeginCmp 263 | TimeStamp = /551DA917; 264 | Reference = Q3; 265 | ValeurCmp = NPN; 266 | IdModule = SOT23; 267 | EndCmp 268 | 269 | BeginCmp 270 | TimeStamp = /551DA916; 271 | Reference = Q4; 272 | ValeurCmp = NPN; 273 | IdModule = SOT23; 274 | EndCmp 275 | 276 | BeginCmp 277 | TimeStamp = /551DA905; 278 | Reference = Q5; 279 | ValeurCmp = NPN; 280 | IdModule = SOT23; 281 | EndCmp 282 | 283 | BeginCmp 284 | TimeStamp = /551DA904; 285 | Reference = Q6; 286 | ValeurCmp = NPN; 287 | IdModule = SOT23; 288 | EndCmp 289 | 290 | BeginCmp 291 | TimeStamp = /551DA8B7; 292 | Reference = Q7; 293 | ValeurCmp = NPN; 294 | IdModule = SOT23; 295 | EndCmp 296 | 297 | BeginCmp 298 | TimeStamp = /551DA8DC; 299 | Reference = Q8; 300 | ValeurCmp = NPN; 301 | IdModule = SOT23; 302 | EndCmp 303 | 304 | BeginCmp 305 | TimeStamp = /550BFACE; 306 | Reference = R1; 307 | ValeurCmp = R; 308 | IdModule = SM0805; 309 | EndCmp 310 | 311 | BeginCmp 312 | TimeStamp = /550BFAE2; 313 | Reference = R2; 314 | ValeurCmp = R; 315 | IdModule = SM0805; 316 | EndCmp 317 | 318 | BeginCmp 319 | TimeStamp = /550C93D6; 320 | Reference = R3; 321 | ValeurCmp = R; 322 | IdModule = SM0805; 323 | EndCmp 324 | 325 | BeginCmp 326 | TimeStamp = /550C09E0; 327 | Reference = R4; 328 | ValeurCmp = R; 329 | IdModule = SM0805; 330 | EndCmp 331 | 332 | BeginCmp 333 | TimeStamp = /550C09C7; 334 | Reference = R5; 335 | ValeurCmp = R; 336 | IdModule = SM0805; 337 | EndCmp 338 | 339 | BeginCmp 340 | TimeStamp = /550C0C03; 341 | Reference = R6; 342 | ValeurCmp = R; 343 | IdModule = SM0805; 344 | EndCmp 345 | 346 | BeginCmp 347 | TimeStamp = /550C95BD; 348 | Reference = R7; 349 | ValeurCmp = R; 350 | IdModule = SM0805; 351 | EndCmp 352 | 353 | BeginCmp 354 | TimeStamp = /550C95D6; 355 | Reference = R8; 356 | ValeurCmp = R; 357 | IdModule = SM0805; 358 | EndCmp 359 | 360 | BeginCmp 361 | TimeStamp = /550C9F1A; 362 | Reference = R9; 363 | ValeurCmp = R; 364 | IdModule = SM0805; 365 | EndCmp 366 | 367 | BeginCmp 368 | TimeStamp = /550BF8EE; 369 | Reference = R10; 370 | ValeurCmp = R; 371 | IdModule = SM0805; 372 | EndCmp 373 | 374 | BeginCmp 375 | TimeStamp = /550BF902; 376 | Reference = R11; 377 | ValeurCmp = R; 378 | IdModule = SM0805; 379 | EndCmp 380 | 381 | BeginCmp 382 | TimeStamp = /550C3A23; 383 | Reference = R12; 384 | ValeurCmp = R; 385 | IdModule = SM0805; 386 | EndCmp 387 | 388 | BeginCmp 389 | TimeStamp = /550CA31F; 390 | Reference = R13; 391 | ValeurCmp = R; 392 | IdModule = SM0805; 393 | EndCmp 394 | 395 | BeginCmp 396 | TimeStamp = /550CA9E9; 397 | Reference = R14; 398 | ValeurCmp = R; 399 | IdModule = SM0805; 400 | EndCmp 401 | 402 | BeginCmp 403 | TimeStamp = /550C3A37; 404 | Reference = R15; 405 | ValeurCmp = R; 406 | IdModule = SM0805; 407 | EndCmp 408 | 409 | BeginCmp 410 | TimeStamp = /551720D4; 411 | Reference = R16; 412 | ValeurCmp = R; 413 | IdModule = SM0805; 414 | EndCmp 415 | 416 | BeginCmp 417 | TimeStamp = /551ADA8B; 418 | Reference = R17; 419 | ValeurCmp = R; 420 | IdModule = SM0805; 421 | EndCmp 422 | 423 | BeginCmp 424 | TimeStamp = /551D8320; 425 | Reference = R18; 426 | ValeurCmp = R; 427 | IdModule = SM0805; 428 | EndCmp 429 | 430 | BeginCmp 431 | TimeStamp = /551DABC2; 432 | Reference = R19; 433 | ValeurCmp = R; 434 | IdModule = SM0805; 435 | EndCmp 436 | 437 | BeginCmp 438 | TimeStamp = /551DABAD; 439 | Reference = R20; 440 | ValeurCmp = R; 441 | IdModule = SM0805; 442 | EndCmp 443 | 444 | BeginCmp 445 | TimeStamp = /551DAB92; 446 | Reference = R21; 447 | ValeurCmp = R; 448 | IdModule = SM0805; 449 | EndCmp 450 | 451 | BeginCmp 452 | TimeStamp = /551DAB69; 453 | Reference = R22; 454 | ValeurCmp = R; 455 | IdModule = SM0805; 456 | EndCmp 457 | 458 | BeginCmp 459 | TimeStamp = /5519F739; 460 | Reference = U1; 461 | ValeurCmp = AMS1117; 462 | IdModule = SOT223; 463 | EndCmp 464 | 465 | BeginCmp 466 | TimeStamp = /550BA936; 467 | Reference = U2; 468 | ValeurCmp = ad8630; 469 | IdModule = SO14E; 470 | EndCmp 471 | 472 | BeginCmp 473 | TimeStamp = /550BB0F4; 474 | Reference = U4; 475 | ValeurCmp = ADG409; 476 | IdModule = SO16E; 477 | EndCmp 478 | 479 | BeginCmp 480 | TimeStamp = /550C70F0; 481 | Reference = U5; 482 | ValeurCmp = DIL8; 483 | IdModule = SO8E; 484 | EndCmp 485 | 486 | BeginCmp 487 | TimeStamp = /550BAC20; 488 | Reference = U6; 489 | ValeurCmp = MCP4131; 490 | IdModule = SO8E; 491 | EndCmp 492 | 493 | BeginCmp 494 | TimeStamp = /550BB1E2; 495 | Reference = U7; 496 | ValeurCmp = DIL28; 497 | IdModule = SO28; 498 | EndCmp 499 | 500 | BeginCmp 501 | TimeStamp = /550BFB4A; 502 | Reference = U8; 503 | ValeurCmp = DIL8; 504 | IdModule = SO8E; 505 | EndCmp 506 | 507 | BeginCmp 508 | TimeStamp = /550BB205; 509 | Reference = U9; 510 | ValeurCmp = MODULE34; 511 | IdModule = HM-10; 512 | EndCmp 513 | 514 | BeginCmp 515 | TimeStamp = /551D83C8; 516 | Reference = U10; 517 | ValeurCmp = 7833; 518 | IdModule = SOT223; 519 | EndCmp 520 | 521 | EndListe 522 | -------------------------------------------------------------------------------- /telepathy-kicad/telepathy.net: -------------------------------------------------------------------------------- 1 | # EESchema Netlist Version 1.1 created Sat 04 Apr 2015 05:18:37 PM CDT 2 | ( 3 | ( /5510329C C_SMD_4x4 C1 CP 4 | ( 1 +BATT ) 5 | ( 2 GND ) 6 | ) 7 | ( /55103297 C_SMD_4x4 C2 CP 8 | ( 1 +5V ) 9 | ( 2 GND ) 10 | ) 11 | ( /551032A5 C_SMD_4x4 C3 CP 12 | ( 1 GNDA ) 13 | ( 2 GND ) 14 | ) 15 | ( /550C0DA7 SM0805 C4 C 16 | ( 1 N-000046 ) 17 | ( 2 N-000024 ) 18 | ) 19 | ( /550C93C2 SM0805 C5 C 20 | ( 1 N-000094 ) 21 | ( 2 N-000045 ) 22 | ) 23 | ( /55103357 SM0805 C6 CP 24 | ( 1 N-000047 ) 25 | ( 2 N-000034 ) 26 | ) 27 | ( /550CA612 SM0805 C7 C 28 | ( 1 N-000096 ) 29 | ( 2 N-000098 ) 30 | ) 31 | ( /550CA2FC SM0805 C8 C 32 | ( 1 N-000097 ) 33 | ( 2 N-000098 ) 34 | ) 35 | ( /550DE72A SM0805 C9 C 36 | ( 1 +5V ) 37 | ( 2 GND ) 38 | ) 39 | ( /550DE6F1 SM0805 C10 C 40 | ( 1 GNDA ) 41 | ( 2 +5V ) 42 | ) 43 | ( /550DE6F7 SM0805 C11 C 44 | ( 1 GND ) 45 | ( 2 GNDA ) 46 | ) 47 | ( /550DE710 SM0805 C12 C 48 | ( 1 GND ) 49 | ( 2 +5V ) 50 | ) 51 | ( /550DE736 SM0805 C13 C 52 | ( 1 GND ) 53 | ( 2 +5V ) 54 | ) 55 | ( /550DE6FD SM0805 C14 C 56 | ( 1 GND ) 57 | ( 2 +5V ) 58 | ) 59 | ( /550DE707 SM0805 C15 C 60 | ( 1 GND ) 61 | ( 2 +5V ) 62 | ) 63 | ( /550DE71C SM0805 C16 C 64 | ( 1 +3.3V ) 65 | ( 2 GND ) 66 | ) 67 | ( /55172313 SM0805 C17 C 68 | ( 1 N-000027 ) 69 | ( 2 N-000003 ) 70 | ) 71 | ( /551815DA C_SMD_4x4 C18 CP 72 | ( 1 +5V ) 73 | ( 2 GNDA ) 74 | ) 75 | ( /551ADBC2 SM0805 C19 C 76 | ( 1 N-000088 ) 77 | ( 2 GNDA ) 78 | ) 79 | ( /550C0D52 SM1206 D1 DIODE 80 | ( 1 N-000046 ) 81 | ( 2 GNDA ) 82 | ) 83 | ( /550C0D7F SM1206 D2 DIODE 84 | ( 1 GNDA ) 85 | ( 2 N-000024 ) 86 | ) 87 | ( /550C0D6B SM1206 D3 DIODE 88 | ( 1 GNDA ) 89 | ( 2 N-000046 ) 90 | ) 91 | ( /550C0D93 SM1206 D4 DIODE 92 | ( 1 N-000024 ) 93 | ( 2 GNDA ) 94 | ) 95 | ( /550C39FB LED-0805 D5 LED 96 | ( 1 N-000038 ) 97 | ( 2 N-000039 ) 98 | ) 99 | ( /550C3A0F LED-0805 D7 LED 100 | ( 1 N-000049 ) 101 | ( 2 N-000040 ) 102 | ) 103 | ( /550DE6A4 SM1206 D8 DIODE 104 | ( 1 N-000035 ) 105 | ( 2 +BATT ) 106 | ) 107 | ( /551511D9 SIL-3 K1 CONN_3 108 | ( 1 GNDA ) 109 | ( 2 N-000099 ) 110 | ( 3 N-000098 ) 111 | ) 112 | ( /5515122F SIL-2 P1 CONN_2 113 | ( 1 N-000035 ) 114 | ( 2 GND ) 115 | ) 116 | ( /5515125B SIL-4 P2 CONN_4 117 | ( 1 N-000086 ) 118 | ( 2 N-000028 ) 119 | ( 3 N-000091 ) 120 | ( 4 N-000037 ) 121 | ) 122 | ( /55151267 SIL-4 P3 CONN_4 123 | ( 1 N-000033 ) 124 | ( 2 N-000032 ) 125 | ( 3 N-000082 ) 126 | ( 4 N-000090 ) 127 | ) 128 | ( /55151280 SIL-4 P4 CONN_4 129 | ( 1 N-000099 ) 130 | ( 2 N-000099 ) 131 | ( 3 N-000099 ) 132 | ( 4 N-000099 ) 133 | ) 134 | ( /55151299 SIL-4 P5 CONN_4 135 | ( 1 N-000099 ) 136 | ( 2 N-000099 ) 137 | ( 3 N-000099 ) 138 | ( 4 N-000099 ) 139 | ) 140 | ( /552060A7 smdtest P6 CONN_1 141 | ( 1 N-000093 ) 142 | ) 143 | ( /552060BB smdtest P7 CONN_1 144 | ( 1 N-000068 ) 145 | ) 146 | ( /552060C6 smdtest P8 CONN_1 147 | ( 1 N-000083 ) 148 | ) 149 | ( /551DA914 SOT23 Q1 NPN 150 | ( 1 N-000030 ) 151 | ( 2 GNDA ) 152 | ( 3 N-000086 ) 153 | ) 154 | ( /551DA915 SOT23 Q2 NPN 155 | ( 1 N-000030 ) 156 | ( 2 GNDA ) 157 | ( 3 N-000033 ) 158 | ) 159 | ( /551DA917 SOT23 Q3 NPN 160 | ( 1 N-000031 ) 161 | ( 2 GNDA ) 162 | ( 3 N-000028 ) 163 | ) 164 | ( /551DA916 SOT23 Q4 NPN 165 | ( 1 N-000031 ) 166 | ( 2 GNDA ) 167 | ( 3 N-000032 ) 168 | ) 169 | ( /551DA905 SOT23 Q5 NPN 170 | ( 1 N-000081 ) 171 | ( 2 GNDA ) 172 | ( 3 N-000091 ) 173 | ) 174 | ( /551DA904 SOT23 Q6 NPN 175 | ( 1 N-000081 ) 176 | ( 2 GNDA ) 177 | ( 3 N-000082 ) 178 | ) 179 | ( /551DA8B7 SOT23 Q7 NPN 180 | ( 1 N-000029 ) 181 | ( 2 GNDA ) 182 | ( 3 N-000037 ) 183 | ) 184 | ( /551DA8DC SOT23 Q8 NPN 185 | ( 1 N-000029 ) 186 | ( 2 GNDA ) 187 | ( 3 N-000090 ) 188 | ) 189 | ( /550BFACE SM0805 R1 R 190 | ( 1 +5V ) 191 | ( 2 N-000008 ) 192 | ) 193 | ( /550BFAE2 SM0805 R2 R 194 | ( 1 N-000008 ) 195 | ( 2 GND ) 196 | ) 197 | ( /550C93D6 SM0805 R3 R 198 | ( 1 N-000045 ) 199 | ( 2 GNDA ) 200 | ) 201 | ( /550C09E0 SM0805 R4 R 202 | ( 1 N-000094 ) 203 | ( 2 N-000042 ) 204 | ) 205 | ( /550C09C7 SM0805 R5 R 206 | ( 1 N-000094 ) 207 | ( 2 N-000041 ) 208 | ) 209 | ( /550C0C03 SM0805 R6 R 210 | ( 1 N-000043 ) 211 | ( 2 N-000044 ) 212 | ) 213 | ( /550C95BD SM0805 R7 R 214 | ( 1 N-000095 ) 215 | ( 2 N-000099 ) 216 | ) 217 | ( /550C95D6 SM0805 R8 R 218 | ( 1 N-000099 ) 219 | ( 2 GNDA ) 220 | ) 221 | ( /550C9F1A SM0805 R9 R 222 | ( 1 N-000095 ) 223 | ( 2 N-000096 ) 224 | ) 225 | ( /550BF8EE SM0805 R10 R 226 | ( 1 N-000088 ) 227 | ( 2 GNDA ) 228 | ) 229 | ( /550BF902 SM0805 R11 R 230 | ( 1 N-000003 ) 231 | ( 2 N-000027 ) 232 | ) 233 | ( /550C3A23 SM0805 R12 R 234 | ( 1 N-000039 ) 235 | ( 2 GND ) 236 | ) 237 | ( /550CA31F SM0805 R13 R 238 | ( 1 N-000097 ) 239 | ( 2 N-000098 ) 240 | ) 241 | ( /550CA9E9 SM0805 R14 R 242 | ( 1 N-000070 ) 243 | ( 2 +3.3V ) 244 | ) 245 | ( /550C3A37 SM0805 R15 R 246 | ( 1 N-000040 ) 247 | ( 2 GND ) 248 | ) 249 | ( /551720D4 SM0805 R16 R 250 | ( 1 N-000027 ) 251 | ( 2 GNDA ) 252 | ) 253 | ( /551ADA8B SM0805 R17 R 254 | ( 1 N-000088 ) 255 | ( 2 N-000034 ) 256 | ) 257 | ( /551D8320 SM0805 R18 R 258 | ( 1 +3.3V ) 259 | ( 2 N-000089 ) 260 | ) 261 | ( /551DABC2 SM0805 R19 R 262 | ( 1 N-000021 ) 263 | ( 2 N-000081 ) 264 | ) 265 | ( /551DABAD SM0805 R20 R 266 | ( 1 N-000085 ) 267 | ( 2 N-000029 ) 268 | ) 269 | ( /551DAB92 SM0805 R21 R 270 | ( 1 N-000067 ) 271 | ( 2 N-000030 ) 272 | ) 273 | ( /551DAB69 SM0805 R22 R 274 | ( 1 N-000084 ) 275 | ( 2 N-000031 ) 276 | ) 277 | ( /5519F739 SOT223 U1 AMS1117 278 | ( 1 GND ) 279 | ( 2 +5V ) 280 | ( 3 +BATT ) 281 | ) 282 | ( /550BA936 SO14E U2 ad8630 283 | ( 1 N-000095 ) 284 | ( 2 N-000095 ) 285 | ( 3 N-000045 ) 286 | ( 4 +5V ) 287 | ( 5 N-000008 ) 288 | ( 6 GNDA ) 289 | ( 7 GNDA ) 290 | ( 8 N-000097 ) 291 | ( 9 N-000096 ) 292 | ( 10 GNDA ) 293 | ( 11 GND ) 294 | ( 12 N-000088 ) 295 | ( 13 N-000003 ) 296 | ( 14 N-000027 ) 297 | ) 298 | ( /550BB0F4 SO16E U4 ADG409 299 | ( 1 N-000018 ) 300 | ( 2 +5V ) 301 | ( 3 GND ) 302 | ( 4 N-000086 ) 303 | ( 5 N-000028 ) 304 | ( 6 N-000091 ) 305 | ( 7 N-000037 ) 306 | ( 8 N-000046 ) 307 | ( 9 N-000024 ) 308 | ( 10 N-000090 ) 309 | ( 11 N-000082 ) 310 | ( 12 N-000032 ) 311 | ( 13 N-000033 ) 312 | ( 14 +5V ) 313 | ( 15 GND ) 314 | ( 16 N-000020 ) 315 | ) 316 | ( /550C70F0 SO8E U5 DIL8 317 | ( 1 N-000046 ) 318 | ( 2 N-000042 ) 319 | ( 3 N-000041 ) 320 | ( 4 N-000024 ) 321 | ( 5 GND ) 322 | ( 6 GNDA ) 323 | ( 7 N-000047 ) 324 | ( 8 +5V ) 325 | ) 326 | ( /550BAC20 SO8E U6 MCP4131 327 | ( 1 N-000019 ) 328 | ( 2 N-000022 ) 329 | ( 3 N-000044 ) 330 | ( 4 GND ) 331 | ( 5 N-000003 ) 332 | ( 6 GNDA ) 333 | ( 7 ? ) 334 | ( 8 +5V ) 335 | ) 336 | ( /550BB1E2 SO28 U7 DIL28 337 | ( 1 N-000083 ) 338 | ( 2 ? ) 339 | ( 3 ? ) 340 | ( 4 ? ) 341 | ( 5 ? ) 342 | ( 6 ? ) 343 | ( 7 ? ) 344 | ( 8 GND ) 345 | ( 9 ? ) 346 | ( 10 N-000038 ) 347 | ( 11 N-000089 ) 348 | ( 12 N-000019 ) 349 | ( 13 N-000092 ) 350 | ( 14 N-000022 ) 351 | ( 15 N-000036 ) 352 | ( 16 N-000043 ) 353 | ( 17 N-000070 ) 354 | ( 18 N-000069 ) 355 | ( 19 GND ) 356 | ( 20 +5V ) 357 | ( 21 N-000018 ) 358 | ( 22 N-000020 ) 359 | ( 23 N-000021 ) 360 | ( 24 N-000085 ) 361 | ( 25 N-000067 ) 362 | ( 26 N-000084 ) 363 | ( 27 N-000093 ) 364 | ( 28 N-000068 ) 365 | ) 366 | ( /550BFB4A SO8E U8 DIL8 367 | ( 1 +5V ) 368 | ( 2 N-000027 ) 369 | ( 3 GND ) 370 | ( 4 GND ) 371 | ( 5 N-000092 ) 372 | ( 6 N-000036 ) 373 | ( 7 N-000022 ) 374 | ( 8 +5V ) 375 | ) 376 | ( /550BB205 HM-10 U9 MODULE34 377 | ( 1 N-000069 ) 378 | ( 2 N-000070 ) 379 | ( 3 ? ) 380 | ( 4 ? ) 381 | ( 5 ? ) 382 | ( 6 ? ) 383 | ( 7 ? ) 384 | ( 8 ? ) 385 | ( 9 ? ) 386 | ( 10 ? ) 387 | ( 11 ? ) 388 | ( 12 +3.3V ) 389 | ( 13 GND ) 390 | ( 14 ? ) 391 | ( 15 ? ) 392 | ( 16 ? ) 393 | ( 17 ? ) 394 | ( 18 ? ) 395 | ( 19 ? ) 396 | ( 20 ? ) 397 | ( 21 ? ) 398 | ( 22 ? ) 399 | ( 23 ? ) 400 | ( 24 ? ) 401 | ( 25 ? ) 402 | ( 26 ? ) 403 | ( 27 ? ) 404 | ( 28 ? ) 405 | ( 29 ? ) 406 | ( 30 ? ) 407 | ( 31 N-000049 ) 408 | ( 32 ? ) 409 | ( 33 ? ) 410 | ( 34 N-000089 ) 411 | ) 412 | ( /551D83C8 SOT223 U10 7833 413 | ( GND GND ) 414 | ( VI +5V ) 415 | ( VO +3.3V ) 416 | ) 417 | ) 418 | * 419 | { Allowed footprints by component: 420 | $component C1 421 | CP* 422 | SM* 423 | $endlist 424 | $component C2 425 | CP* 426 | SM* 427 | $endlist 428 | $component C3 429 | CP* 430 | SM* 431 | $endlist 432 | $component C4 433 | SM* 434 | C? 435 | C1-1 436 | $endlist 437 | $component C5 438 | SM* 439 | C? 440 | C1-1 441 | $endlist 442 | $component C6 443 | SM* 444 | C? 445 | C1-1 446 | $endlist 447 | $component C7 448 | SM* 449 | C? 450 | C1-1 451 | $endlist 452 | $component C8 453 | SM* 454 | C? 455 | C1-1 456 | $endlist 457 | $component C9 458 | SM* 459 | C? 460 | C1-1 461 | $endlist 462 | $component C10 463 | SM* 464 | C? 465 | C1-1 466 | $endlist 467 | $component C11 468 | SM* 469 | C? 470 | C1-1 471 | $endlist 472 | $component C12 473 | SM* 474 | C? 475 | C1-1 476 | $endlist 477 | $component C13 478 | SM* 479 | C? 480 | C1-1 481 | $endlist 482 | $component C14 483 | SM* 484 | C? 485 | C1-1 486 | $endlist 487 | $component C15 488 | SM* 489 | C? 490 | C1-1 491 | $endlist 492 | $component C16 493 | SM* 494 | C? 495 | C1-1 496 | $endlist 497 | $component C17 498 | SM* 499 | C? 500 | C1-1 501 | $endlist 502 | $component C18 503 | CP* 504 | SM* 505 | $endlist 506 | $component C19 507 | SM* 508 | C? 509 | C1-1 510 | $endlist 511 | $component D1 512 | D? 513 | S* 514 | $endlist 515 | $component D2 516 | D? 517 | S* 518 | $endlist 519 | $component D3 520 | D? 521 | S* 522 | $endlist 523 | $component D4 524 | D? 525 | S* 526 | $endlist 527 | $component D5 528 | LED-3MM 529 | LED-5MM 530 | LED-10MM 531 | LED-0603 532 | LED-0805 533 | LED-1206 534 | LEDV 535 | $endlist 536 | $component D7 537 | LED-3MM 538 | LED-5MM 539 | LED-10MM 540 | LED-0603 541 | LED-0805 542 | LED-1206 543 | LEDV 544 | $endlist 545 | $component D8 546 | D? 547 | S* 548 | $endlist 549 | $component R1 550 | R? 551 | SM0603 552 | SM0805 553 | R?-* 554 | SM1206 555 | $endlist 556 | $component R2 557 | R? 558 | SM0603 559 | SM0805 560 | R?-* 561 | SM1206 562 | $endlist 563 | $component R3 564 | R? 565 | SM0603 566 | SM0805 567 | R?-* 568 | SM1206 569 | $endlist 570 | $component R4 571 | R? 572 | SM0603 573 | SM0805 574 | R?-* 575 | SM1206 576 | $endlist 577 | $component R5 578 | R? 579 | SM0603 580 | SM0805 581 | R?-* 582 | SM1206 583 | $endlist 584 | $component R6 585 | R? 586 | SM0603 587 | SM0805 588 | R?-* 589 | SM1206 590 | $endlist 591 | $component R7 592 | R? 593 | SM0603 594 | SM0805 595 | R?-* 596 | SM1206 597 | $endlist 598 | $component R8 599 | R? 600 | SM0603 601 | SM0805 602 | R?-* 603 | SM1206 604 | $endlist 605 | $component R9 606 | R? 607 | SM0603 608 | SM0805 609 | R?-* 610 | SM1206 611 | $endlist 612 | $component R10 613 | R? 614 | SM0603 615 | SM0805 616 | R?-* 617 | SM1206 618 | $endlist 619 | $component R11 620 | R? 621 | SM0603 622 | SM0805 623 | R?-* 624 | SM1206 625 | $endlist 626 | $component R12 627 | R? 628 | SM0603 629 | SM0805 630 | R?-* 631 | SM1206 632 | $endlist 633 | $component R13 634 | R? 635 | SM0603 636 | SM0805 637 | R?-* 638 | SM1206 639 | $endlist 640 | $component R14 641 | R? 642 | SM0603 643 | SM0805 644 | R?-* 645 | SM1206 646 | $endlist 647 | $component R15 648 | R? 649 | SM0603 650 | SM0805 651 | R?-* 652 | SM1206 653 | $endlist 654 | $component R16 655 | R? 656 | SM0603 657 | SM0805 658 | R?-* 659 | SM1206 660 | $endlist 661 | $component R17 662 | R? 663 | SM0603 664 | SM0805 665 | R?-* 666 | SM1206 667 | $endlist 668 | $component R18 669 | R? 670 | SM0603 671 | SM0805 672 | R?-* 673 | SM1206 674 | $endlist 675 | $component R19 676 | R? 677 | SM0603 678 | SM0805 679 | R?-* 680 | SM1206 681 | $endlist 682 | $component R20 683 | R? 684 | SM0603 685 | SM0805 686 | R?-* 687 | SM1206 688 | $endlist 689 | $component R21 690 | R? 691 | SM0603 692 | SM0805 693 | R?-* 694 | SM1206 695 | $endlist 696 | $component R22 697 | R? 698 | SM0603 699 | SM0805 700 | R?-* 701 | SM1206 702 | $endlist 703 | $component U6 704 | DIP-8__300 705 | DIP-8__300_ELL 706 | SOIC-8-N 707 | $endlist 708 | $endfootprintlist 709 | } 710 | -------------------------------------------------------------------------------- /telepathy-kicad/telepathy.pro: -------------------------------------------------------------------------------- 1 | update=Tue 21 Jul 2015 11:43:09 AM CDT 2 | version=1 3 | last_client=kicad 4 | [eeschema] 5 | version=1 6 | LibDir= 7 | NetFmt=1 8 | HPGLSpd=20 9 | HPGLDm=15 10 | HPGLNum=1 11 | offX_A4=0 12 | offY_A4=0 13 | offX_A3=0 14 | offY_A3=0 15 | offX_A2=0 16 | offY_A2=0 17 | offX_A1=0 18 | offY_A1=0 19 | offX_A0=0 20 | offY_A0=0 21 | offX_A=0 22 | offY_A=0 23 | offX_B=0 24 | offY_B=0 25 | offX_C=0 26 | offY_C=0 27 | offX_D=0 28 | offY_D=0 29 | offX_E=0 30 | offY_E=0 31 | RptD_X=0 32 | RptD_Y=100 33 | RptLab=1 34 | LabSize=60 35 | [eeschema/libraries] 36 | LibName1=mbt2222a 37 | LibName2=MODULE34 38 | LibName3=DIL28 39 | LibName4=DIL18 40 | LibName5=DIL16 41 | LibName6=DIL8 42 | LibName7=power 43 | LibName8=device 44 | LibName9=transistors 45 | LibName10=conn 46 | LibName11=linear 47 | LibName12=regul 48 | LibName13=74xx 49 | LibName14=cmos4000 50 | LibName15=adc-dac 51 | LibName16=memory 52 | LibName17=xilinx 53 | LibName18=special 54 | LibName19=microcontrollers 55 | LibName20=dsp 56 | LibName21=microchip 57 | LibName22=analog_switches 58 | LibName23=motorola 59 | LibName24=texas 60 | LibName25=intel 61 | LibName26=audio 62 | LibName27=interface 63 | LibName28=digital-audio 64 | LibName29=philips 65 | LibName30=display 66 | LibName31=cypress 67 | LibName32=siliconi 68 | LibName33=opto 69 | LibName34=atmel 70 | LibName35=contrib 71 | LibName36=valves 72 | LibName37=mcp41x1 73 | LibName38=ams1117 74 | [cvpcb] 75 | version=1 76 | NetIExt=net 77 | [pcbnew] 78 | version=1 79 | PadDrlX=0 80 | PadDimH=787 81 | PadDimV=787 82 | BoardThickness=630 83 | TxtPcbV=800 84 | TxtPcbH=600 85 | TxtModV=394 86 | TxtModH=394 87 | TxtModW=120 88 | VEgarde=100 89 | DrawLar=150 90 | EdgeLar=150 91 | TxtLar=120 92 | MSegLar=150 93 | LastNetListRead=telepathy.net 94 | [pcbnew/libraries] 95 | LibDir=../telepathy-kicad 96 | LibName1=smdtest 97 | LibName2=SO28 98 | LibName3=sockets 99 | LibName4=connect 100 | LibName5=discret 101 | LibName6=pin_array 102 | LibName7=divers 103 | LibName8=libcms 104 | LibName9=display 105 | LibName10=led 106 | LibName11=dip_sockets 107 | LibName12=pga_sockets 108 | LibName13=valves 109 | LibName14=C_SDM_4x4 110 | LibName15=C_SMD_7x7 111 | LibName16=HM-10 112 | LibName17=SO18E 113 | LibName18=webtronics 114 | LibName19=contrib/BNC-Sockets_RevA 115 | LibName20=contrib/Buzzer_Beeper_RevA_25Oct2010 116 | LibName21=contrib/Capacitors_SMD_RevA 117 | LibName22=contrib/Capacitors_ThroughHole_RevA 118 | LibName23=contrib/Choke_Axial_ThroughHole_RevB 119 | LibName24=contrib/Choke_Radial_ThroughHole_C&D_Bobin_RevA 120 | LibName25=contrib/Choke_SMD_RevB_28July2010 121 | LibName26=contrib/Choke_Toroid_ThroughHole_RevB_06Aug2010 122 | LibName27=contrib/CommonModeChoke_Wuerth_Type-WE-CMB_RevA_24Oct2010 123 | LibName28=contrib/Crystals_RevB_25Apr2012 124 | LibName29=contrib/DCDC-Converter_RevB_06Apr2011-cache 125 | LibName30=contrib/Dioden_SMD_RevA_27July2010 126 | LibName31=contrib/Dioden_ThroughHole_RevC 127 | LibName32=contrib/Elko_ThroughHole_RevB-3_30Dec2011 128 | LibName33=contrib/EuroBoardoutline_RevB 129 | LibName34=contrib/Fiducials_RevB 130 | LibName35=contrib/Footprint-Symbols_RevD 131 | LibName36=contrib/Fuseholder_ThroughHole_RevD_24Feb2011 132 | LibName37=contrib/Heatsinks_RevC 133 | LibName38=contrib/Label_RevA_21Mar2011 134 | LibName39=contrib/Measurement_Point_RevA 135 | LibName40=contrib/Measurement-Scala_RevA 136 | LibName41=contrib/Mechanical_Socket-Plug_DIN41612-Stuff_RevA 137 | LibName42=contrib/MountingHole_RevA 138 | LibName43=contrib/Neosid_Air-Coil_SML_HAMxx31A_HDMxx31A_RevA_25Apr2012 139 | LibName44=contrib/Neosid_Filter_HF-Coil_25Apr2012 140 | LibName45=contrib/Neosid_Inductor_21Apr2012 141 | LibName46=contrib/Opto-Devices_RevC_30Apr2011 142 | LibName47=contrib/Oscillator-Modul_RevA 143 | LibName48=contrib/Pentawatt_RevB_30Apr2011 144 | LibName49=contrib/Potentiometer_RevB_02Aug2010 145 | LibName50=contrib/Printtrafo_CHK_RevA_04Aug2010 146 | LibName51=contrib/Relay_ThroughHole_RevB 147 | LibName52=contrib/Resistor_SMD_RevA 148 | LibName53=contrib/Resistor_ThroughHole_RevB_22Apr2011 149 | LibName54=contrib/Resistor_Universal-Experimental_RevA 150 | LibName55=contrib/Socket_MOLEX-KK-System 151 | LibName56=contrib/Socket_WAGO734_RevA 152 | LibName57=contrib/SOT23_Diode_RevA_03Aug2010 153 | LibName58=contrib/SOT23_Transistor_RevA_03Aug2010 154 | LibName59=contrib/TerminalBlock_WAGO236-RM5mm_RevA2 155 | LibName60=contrib/TO-92-All-Free_RevB 156 | LibName61=contrib/TransformerSMPS_ThroughHole_RevA 157 | LibName62=contrib/Transformer_ThroughHole_RevA 158 | LibName63=contrib/Transistor_TO-92-Bipolar-inline-narrow-oval_RevB 159 | LibName64=contrib/Transistor_TO-92-Bipolar-inline-wide_RevB 160 | LibName65=contrib/Transistor_TO-92-Bipolar-molded-narrow-oval_RevB 161 | LibName66=contrib/Transistor_TO-92-Bipolar-molded-narrow_RevB 162 | LibName67=contrib/Transistor_TO-92-Bipolar-molded-wide-oval_RevB 163 | LibName68=contrib/Transistor_TO-92-Bipolar-molded-wide_RevB 164 | LibName69=contrib/Transistor_TO-92-Bipolar-molded-wide-universal_RevB 165 | LibName70=contrib/Transistor_TO-92-Bipolar-rugged_RevB 166 | LibName71=contrib/Transistor_TO-92-FET_RevB 167 | LibName72=contrib/Transistor_TO-220_RevA 168 | LibName73=contrib/Transistor_TO-247_RevC 169 | LibName74=contrib/WireConnections-Bridges_RevA 170 | LibName75=contrib/WirePads_RevA 171 | LibName76=SOT89-3_SOT89-5_Housing_RevA_02Sep2012 172 | LibName77=SO18W 173 | [general] 174 | version=1 175 | -------------------------------------------------------------------------------- /telepathy-kicad/webtronics.mod: -------------------------------------------------------------------------------- 1 | PCBNEW-LibModule-V1 2 | $INDEX 3 | LOGO 4 | $EndINDEX 5 | # 6 | # LOGO 7 | # pixmap w = 110, h = 141 8 | # 9 | $MODULE LOGO 10 | Po 0 0 0 15 00000000 00000000 ~~ 11 | Li LOGO 12 | T0 0 2633 600 600 0 120 N I 21 "G***" 13 | T1 0 -2633 600 600 0 120 N I 21 "LOGO" 14 | DP 0 0 0 0 268 1 15 15 | Dl 1833 2333 16 | Dl 1600 2333 17 | Dl 1600 184 18 | Dl 1600 87 19 | Dl 1600 -499 20 | Dl 1058 -508 21 | Dl 857 -511 22 | Dl 713 -516 23 | Dl 616 -522 24 | Dl 556 -531 25 | Dl 525 -546 26 | Dl 511 -567 27 | Dl 506 -592 28 | Dl 495 -667 29 | Dl 1048 -667 30 | Dl 1600 -667 31 | Dl 1600 -1253 32 | Dl 1599 -1473 33 | Dl 1595 -1633 34 | Dl 1589 -1740 35 | Dl 1579 -1802 36 | Dl 1565 -1825 37 | Dl 1558 -1825 38 | Dl 1540 -1797 39 | Dl 1525 -1720 40 | Dl 1513 -1590 41 | Dl 1503 -1402 42 | Dl 1500 -1303 43 | Dl 1483 -794 44 | Dl 1000 -794 45 | Dl 812 -794 46 | Dl 680 -796 47 | Dl 595 -802 48 | Dl 546 -812 49 | Dl 523 -828 50 | Dl 517 -852 51 | Dl 517 -867 52 | Dl 519 -898 53 | Dl 536 -918 54 | Dl 577 -931 55 | Dl 653 -939 56 | Dl 776 -943 57 | Dl 917 -945 58 | Dl 1317 -950 59 | Dl 1326 -1525 60 | Dl 1328 -1736 61 | Dl 1328 -1889 62 | Dl 1325 -1993 63 | Dl 1317 -2057 64 | Dl 1305 -2090 65 | Dl 1287 -2100 66 | Dl 1284 -2100 67 | Dl 1264 -2092 68 | Dl 1250 -2060 69 | Dl 1241 -1996 70 | Dl 1236 -1891 71 | Dl 1234 -1734 72 | Dl 1233 -1583 73 | Dl 1233 -1067 74 | Dl 867 -1067 75 | Dl 500 -1067 76 | Dl 500 -1167 77 | Dl 500 -1267 78 | Dl -50 -1267 79 | Dl -600 -1267 80 | Dl -600 -1167 81 | Dl -600 -1067 82 | Dl -967 -1067 83 | Dl -1333 -1067 84 | Dl -1333 -1586 85 | Dl -1334 -1783 86 | Dl -1336 -1922 87 | Dl -1342 -2014 88 | Dl -1351 -2067 89 | Dl -1365 -2091 90 | Dl -1386 -2095 91 | Dl -1392 -2094 92 | Dl -1413 -2084 93 | Dl -1429 -2059 94 | Dl -1439 -2008 95 | Dl -1446 -1923 96 | Dl -1449 -1794 97 | Dl -1450 -1612 98 | Dl -1450 -1516 99 | Dl -1450 -950 100 | Dl -1023 -941 101 | Dl -848 -936 102 | Dl -729 -931 103 | Dl -656 -923 104 | Dl -618 -910 105 | Dl -605 -890 106 | Dl -606 -863 107 | Dl -614 -836 108 | Dl -633 -817 109 | Dl -674 -805 110 | Dl -748 -798 111 | Dl -865 -795 112 | Dl -1035 -794 113 | Dl -1100 -794 114 | Dl -1583 -794 115 | Dl -1600 -1303 116 | Dl -1609 -1518 117 | Dl -1620 -1672 118 | Dl -1633 -1770 119 | Dl -1650 -1818 120 | Dl -1658 -1825 121 | Dl -1674 -1816 122 | Dl -1686 -1770 123 | Dl -1693 -1683 124 | Dl -1698 -1545 125 | Dl -1700 -1351 126 | Dl -1700 -1253 127 | Dl -1700 -667 128 | Dl -1148 -667 129 | Dl -596 -667 130 | Dl -606 -592 131 | Dl -612 -564 132 | Dl -628 -544 133 | Dl -663 -530 134 | Dl -726 -521 135 | Dl -829 -515 136 | Dl -980 -511 137 | Dl -1158 -508 138 | Dl -1700 -499 139 | Dl -1700 87 140 | Dl -1699 306 141 | Dl -1696 466 142 | Dl -1689 573 143 | Dl -1679 635 144 | Dl -1665 658 145 | Dl -1658 658 146 | Dl -1641 632 147 | Dl -1628 561 148 | Dl -1618 440 149 | Dl -1611 263 150 | Dl -1608 122 151 | Dl -1598 -400 152 | Dl -1099 -400 153 | Dl -600 -400 154 | Dl -600 -318 155 | Dl -600 -235 156 | Dl -1025 -226 157 | Dl -1450 -217 158 | Dl -1450 350 159 | Dl -1449 560 160 | Dl -1447 712 161 | Dl -1441 815 162 | Dl -1432 877 163 | Dl -1418 908 164 | Dl -1400 917 165 | Dl -1381 907 166 | Dl -1367 873 167 | Dl -1356 805 168 | Dl -1349 694 169 | Dl -1344 532 170 | Dl -1341 390 171 | Dl -1332 -136 172 | Dl -974 -126 173 | Dl -816 -121 174 | Dl -713 -115 175 | Dl -652 -104 176 | Dl -621 -85 177 | Dl -609 -57 178 | Dl -606 -42 179 | Dl -580 17 180 | Dl -548 33 181 | Dl -505 52 182 | Dl -500 67 183 | Dl -527 97 184 | Dl -547 100 185 | Dl -614 126 186 | Dl -705 197 187 | Dl -805 298 188 | Dl -904 418 189 | Dl -989 544 190 | Dl -1027 613 191 | Dl -1083 738 192 | Dl -1116 844 193 | Dl -1130 958 194 | Dl -1133 1100 195 | Dl -1129 1256 196 | Dl -1112 1376 197 | Dl -1075 1489 198 | Dl -1038 1576 199 | Dl -950 1726 200 | Dl -833 1872 201 | Dl -699 2005 202 | Dl -560 2111 203 | Dl -430 2179 204 | Dl -334 2200 205 | Dl -271 2216 206 | Dl -250 2233 207 | Dl -205 2254 208 | Dl -115 2264 209 | Dl -3 2264 210 | Dl 112 2255 211 | Dl 206 2235 212 | Dl 223 2229 213 | Dl 504 2093 214 | Dl 726 1933 215 | Dl 893 1747 216 | Dl 989 1579 217 | Dl 1033 1472 218 | Dl 1058 1369 219 | Dl 1070 1247 220 | Dl 1072 1098 221 | Dl 1069 941 222 | Dl 1057 827 223 | Dl 1031 730 224 | Dl 987 628 225 | Dl 979 612 226 | Dl 877 427 227 | Dl 772 294 228 | Dl 652 200 229 | Dl 580 162 230 | Dl 493 115 231 | Dl 459 77 232 | Dl 466 39 233 | Dl 502 -43 234 | Dl 513 -75 235 | Dl 529 -102 236 | Dl 566 -119 237 | Dl 635 -128 238 | Dl 749 -133 239 | Dl 882 -133 240 | Dl 1233 -133 241 | Dl 1233 400 242 | Dl 1234 603 243 | Dl 1237 748 244 | Dl 1243 845 245 | Dl 1253 902 246 | Dl 1268 928 247 | Dl 1283 933 248 | Dl 1301 925 249 | Dl 1315 893 250 | Dl 1324 830 251 | Dl 1329 728 252 | Dl 1332 576 253 | Dl 1333 367 254 | Dl 1333 350 255 | Dl 1333 -233 256 | Dl 917 -233 257 | Dl 500 -233 258 | Dl 500 -317 259 | Dl 500 -400 260 | Dl 999 -400 261 | Dl 1498 -400 262 | Dl 1507 122 263 | Dl 1513 338 264 | Dl 1521 493 265 | Dl 1532 594 266 | Dl 1547 647 267 | Dl 1558 658 268 | Dl 1574 649 269 | Dl 1585 603 270 | Dl 1593 516 271 | Dl 1598 378 272 | Dl 1600 184 273 | Dl 1600 2333 274 | Dl 0 2333 275 | Dl -1833 2333 276 | Dl -1833 17 277 | Dl -1833 -2300 278 | Dl 0 -2300 279 | Dl 1833 -2300 280 | Dl 1833 17 281 | Dl 1833 2333 282 | Dl 1833 2333 283 | DP 0 0 0 0 90 1 15 284 | Dl 953 1143 285 | Dl 941 1330 286 | Dl 910 1487 287 | Dl 888 1545 288 | Dl 811 1667 289 | Dl 699 1798 290 | Dl 569 1921 291 | Dl 442 2015 292 | Dl 375 2052 293 | Dl 300 2073 294 | Dl 300 1649 295 | Dl 274 1557 296 | Dl 198 1433 297 | Dl 77 1284 298 | Dl -6 1194 299 | Dl -133 1060 300 | Dl -218 961 301 | Dl -268 886 302 | Dl -289 824 303 | Dl -289 764 304 | Dl -284 735 305 | Dl -244 652 306 | Dl -157 569 307 | Dl -98 528 308 | Dl -10 467 309 | Dl 50 417 310 | Dl 67 394 311 | Dl 59 371 312 | Dl 27 376 313 | Dl -41 413 314 | Dl -92 445 315 | Dl -193 521 316 | Dl -288 613 317 | Dl -361 704 318 | Dl -398 778 319 | Dl -400 793 320 | Dl -378 854 321 | Dl -319 948 322 | Dl -232 1063 323 | Dl -128 1185 324 | Dl -17 1300 325 | Dl 74 1394 326 | Dl 150 1486 327 | Dl 187 1542 328 | Dl 216 1612 329 | Dl 210 1674 330 | Dl 180 1742 331 | Dl 128 1832 332 | Dl 77 1905 333 | Dl 74 1908 334 | Dl 46 1952 335 | Dl 54 1967 336 | Dl 91 1942 337 | Dl 150 1880 338 | Dl 193 1827 339 | Dl 253 1741 340 | Dl 292 1673 341 | Dl 300 1649 342 | Dl 300 2073 343 | Dl 211 2098 344 | Dl 15 2119 345 | Dl -182 2113 346 | Dl -342 2082 347 | Dl -499 2005 348 | Dl -660 1883 349 | Dl -806 1732 350 | Dl -920 1570 351 | Dl -968 1467 352 | Dl -1013 1290 353 | Dl -1032 1105 354 | Dl -1021 937 355 | Dl -996 843 356 | Dl -886 605 357 | Dl -765 422 358 | Dl -623 285 359 | Dl -451 182 360 | Dl -411 164 361 | Dl -247 119 362 | Dl -49 101 363 | Dl 154 111 364 | Dl 337 150 365 | Dl 342 152 366 | Dl 513 238 367 | Dl 678 369 368 | Dl 813 525 369 | Dl 872 627 370 | Dl 918 769 371 | Dl 945 949 372 | Dl 953 1143 373 | Dl 953 1143 374 | DP 0 0 0 0 26 1 15 375 | Dl 404 -83 376 | Dl -48 -74 377 | Dl -237 -71 378 | Dl -237 -941 379 | Dl -265 -1014 380 | Dl -284 -1034 381 | Dl -332 -1057 382 | Dl -384 -1031 383 | Dl -401 -1016 384 | Dl -459 -942 385 | Dl -454 -875 386 | Dl -427 -840 387 | Dl -377 -805 388 | Dl -317 -809 389 | Dl -286 -820 390 | Dl -244 -867 391 | Dl -237 -941 392 | Dl -237 -71 393 | Dl -500 -65 394 | Dl -500 -617 395 | Dl -500 -1169 396 | Dl -48 -1159 397 | Dl 404 -1150 398 | Dl 404 -617 399 | Dl 404 -83 400 | Dl 404 -83 401 | $EndMODULE LOGO 402 | $EndLIBRARY 403 | --------------------------------------------------------------------------------