diff --git a/pcb/ball-spider/ball-spider-mouser.csv b/pcb/ball-spider/ball-spider-mouser.csv new file mode 100644 index 0000000..22c8ac7 --- /dev/null +++ b/pcb/ball-spider/ball-spider-mouser.csv @@ -0,0 +1,35 @@ +Mouser,Quantity +963-TMK212BBJ106MGHT,2 +603-AC0402KRX77BB332,5 +603-CC603KRX7R7BB105,1 +603-AC402KRX7R8BB471,1 +963-JMK212BJ226MG-T,1 +963-TMK212BBJ106MGHT,2 +80-C0402C100K5RACTU,2 +80-C0402C220J4GAUTO,2 +647-UWX1C220MCL1,2 +80-C0402C101J5G7411,1 +963-EMF105B7104KVHF,17 +511-BAT54AWFILMY,1 +710-150060VS75000,3 +710-150060RS75000,1 +571-2337019-1,1 +649-67997-410HLF,1 +855-M20-9980646,1 +855-M20-9990346,12 + 81-1255AY-2R2NP3,2 +621-2N7002-F,2 +621-DMP4051LK3-13,1 +71-CRCW0603100KFKEAC,12 +71-CRCW04021M00FKEDC,2 +71-CRCW04024K70FKEDC,11 +612-TL3305CF260QG,2 +482-90393ELWABA011RE,1 + 949-NRF52810-QCAA-R,1 +511-LSM6DSMTR,1 +998-MIC5205-3.3YM5TR,1 +771-74AXP4T245PWJ,2 + 595-TPS62133RGTR ,2 + 556-ATMEGA328P-MU,1 + 520-320-10-33B-7KM-T,1 +732-TSX322516.F10UB3,1 diff --git a/pcb/ball-spider/ball-spider.csv b/pcb/ball-spider/ball-spider.csv index 1c43147..c1aecfb 100644 --- a/pcb/ball-spider/ball-spider.csv +++ b/pcb/ball-spider/ball-spider.csv @@ -1,114 +1,40 @@ -Reference, Value, Footprint, Datasheet, Mouser -"L3","2.2 uH","Inductor_SMD:L_6.3x6.3_H3","~"," 81-1255AY-2R2NP3" -"R9","4k7R","Resistor_SMD:R_0402_1005Metric","~","71-CRCW04024K70FKEDC" -"C24","10 uF X5R 10V","Capacitor_SMD:C_0805_2012Metric","~","963-TMK212BBJ106MGHT" -"U2","nRF52810-QCAA-R","Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.6x3.6mm","http://infocenter.nordicsemi.com/pdf/nRF52810_PS_v1.1.pdf"," 949-NRF52810-QCAA-R" -"J1","uFL","Connector_Coaxial:U.FL_Hirose_U.FL-R-SMT-1_Vertical"," ~","571-2337019-1" -"C11","10 uF","Capacitor_SMD:C_0805_2012Metric","~","963-TMK212BBJ106MGHT" -"C9","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"C8","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"C7","100 pF","Capacitor_SMD:C_0402_1005Metric","~","80-C0402C101J5G7411" -"C6","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"L2","2.2 nH","Inductor_SMD:L_0402_1005Metric","~","NoPart" -"L1","3.3 nH","Inductor_SMD:L_0402_1005Metric","~","NoPart" -"C2","1.2 pF","Capacitor_SMD:C_0402_1005Metric","~","NoPart" -"R1","100kR","Resistor_SMD:R_0603_1608Metric","~","71-CRCW0603100KFKEAC" -"Y1","ECS-320-10-33B-7KM-TR","Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm","~"," 520-320-10-33B-7KM-T" -"C3","10 pF","Capacitor_SMD:C_0402_1005Metric","~","80-C0402C100K5RACTU" -"C4","10 pF","Capacitor_SMD:C_0402_1005Metric","~","80-C0402C100K5RACTU" -"J2","Conn_01x02","Connector_AMASS:AMASS_XT30U-F_1x02_P5.0mm_Vertical","~","NoPart" -"R4","1MR","Resistor_SMD:R_0402_1005Metric","~","71-CRCW04021M00FKEDC" -"R5","1MR","Resistor_SMD:R_0402_1005Metric","~","71-CRCW04021M00FKEDC" -"C12","3.3 nF","Capacitor_SMD:C_0402_1005Metric","~","603-AC0402KRX77BB332" -"R15","100kR","Resistor_SMD:R_0603_1608Metric","~","71-CRCW0603100KFKEAC" -"C28","3.3 nF","Capacitor_SMD:C_0402_1005Metric","~","603-AC0402KRX77BB332" -"R6","100kR","Resistor_SMD:R_0603_1608Metric","~","71-CRCW0603100KFKEAC" -"R3","100kR","Resistor_SMD:R_0603_1608Metric","~","71-CRCW0603100KFKEAC" -"J4","Conn_02x06_Odd_Even","Connector_PinSocket_2.54mm:PinSocket_2x06_P2.54mm_Vertical","~","855-M20-9980646" -"Y2","TSX-3225 16.0000MF10U-B3","Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm","~","732-TSX322516.F10UB3" -"C33","22 pF","Capacitor_SMD:C_0402_1005Metric","~","80-C0402C220J4GAUTO" -"C32","22 pF","Capacitor_SMD:C_0402_1005Metric","~","80-C0402C220J4GAUTO" -"J5","Conn_01x03","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~","855-M20-9990346" -"J6","Conn_01x03","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~","855-M20-9990346" -"J7","Conn_01x03","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~","855-M20-9990346" -"J8","Conn_01x03","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~","855-M20-9990346" -"J11","Conn_01x03","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~","855-M20-9990346" -"J12","Conn_01x03","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~","855-M20-9990346" -"J13","Conn_01x03","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~","855-M20-9990346" -"J14","Conn_01x03","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~","855-M20-9990346" -"J9","Conn_01x03","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~","855-M20-9990346" -"J10","Conn_01x03","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~","855-M20-9990346" -"J15","Conn_01x03","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~","855-M20-9990346" -"J16","Conn_01x03","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~","855-M20-9990346" -"C29","10 uF","Capacitor_SMD:C_0805_2012Metric","~","963-TMK212BBJ106MGHT" -"C30","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"D2","Green","LED_SMD:LED_0603_1608Metric_Castellated","~","710-150060VS75000" -"R14","4k7R","Resistor_SMD:R_0402_1005Metric","~","71-CRCW04024K70FKEDC" -"C14","1 uF X5R","Capacitor_SMD:C_0603_1608Metric","~","603-CC603KRX7R7BB105" -"U5","74AXP4T245PWJ","Package_SO:SSOP-16_4.4x5.2mm_P0.65mm","https://www.mouser.com/datasheet/2/916/74AXP4T245-1648415.pdf","771-74AXP4T245PWJ" -"U6","74AXP4T245PWJ","Package_SO:SSOP-16_4.4x5.2mm_P0.65mm","https://www.mouser.com/datasheet/2/916/74AXP4T245-1648415.pdf","771-74AXP4T245PWJ" -"R12","4k7R","Resistor_SMD:R_0402_1005Metric","~","71-CRCW04024K70FKEDC" -"C16","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"C21","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"C22","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"C17","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"R21","4k7R","Resistor_SMD:R_0402_1005Metric","~","71-CRCW04024K70FKEDC" -"R22","4k7R","Resistor_SMD:R_0402_1005Metric","~","71-CRCW04024K70FKEDC" -"U1","MLX90393","spider-parts:Melexis-QFN-16","","482-90393ELWABA011RE" -"U3","LSM6DSM","spider-parts:ST_LGA14_L","www.st.com/resource/en/datasheet/lsm6dsm.pdf","511-LSM6DSMTR" -"C13","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"C10","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"C5","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"C1","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"D3","Red","LED_SMD:LED_0603_1608Metric_Castellated","~","710-150060RS75000" -"R16","4k7R","Resistor_SMD:R_0402_1005Metric","~","71-CRCW04024K70FKEDC" -"D4","Green","LED_SMD:LED_0603_1608Metric_Castellated","~","710-150060VS75000" -"R17","4k7R","Resistor_SMD:R_0402_1005Metric","~","71-CRCW04024K70FKEDC" -"C26","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"R8","100kR","Resistor_SMD:R_0603_1608Metric","~","71-CRCW0603100KFKEAC" -"R7","100kR","Resistor_SMD:R_0603_1608Metric","~","71-CRCW0603100KFKEAC" -"U7","TPS62133","Package_DFN_QFN:VQFN-16-1EP_3x3mm_P0.5mm_EP1.68x1.68mm_ThermalVias","http://www.ti.com/lit/ds/symlink/tps62130.pdf"," 595-TPS62133RGTR " -"C19","3.3 nF","Capacitor_SMD:C_0402_1005Metric","~","603-AC0402KRX77BB332" -"C20","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"R10","4k7R","Resistor_SMD:R_0402_1005Metric","~","71-CRCW04024K70FKEDC" -"L4","2.2 uH","Inductor_SMD:L_6.3x6.3_H3","~"," 81-1255AY-2R2NP3" -"R18","4k7R","Resistor_SMD:R_0402_1005Metric","~","71-CRCW04024K70FKEDC" -"C35","10 uF X5R 10V","Capacitor_SMD:C_0805_2012Metric","~","963-TMK212BBJ106MGHT" -"D5","Green","LED_SMD:LED_0603_1608Metric_Castellated","~","710-150060VS75000" -"R20","4k7R","Resistor_SMD:R_0402_1005Metric","~","71-CRCW04024K70FKEDC" -"U9","TPS62133","Package_DFN_QFN:VQFN-16-1EP_3x3mm_P0.5mm_EP1.68x1.68mm_ThermalVias","http://www.ti.com/lit/ds/symlink/tps62130.pdf"," 595-TPS62133RGTR " -"C31","3.3 nF","Capacitor_SMD:C_0402_1005Metric","~","603-AC0402KRX77BB332" -"C34","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"R19","4k7R","Resistor_SMD:R_0402_1005Metric","~","71-CRCW04024K70FKEDC" -"U4","MIC5205-3.3YM5","Package_TO_SOT_SMD:SOT-23-5","http://ww1.microchip.com/downloads/en/DeviceDoc/20005785A.pdf","998-MIC5205-3.3YM5TR" -"C15","470 pF","Capacitor_SMD:C_0402_1005Metric","~","603-AC402KRX7R8BB471" -"C18","22 uF","Capacitor_SMD:C_0805_2012Metric","~","963-JMK212BJ226MG-T" -"R13","100kR","Resistor_SMD:R_0603_1608Metric","~","71-CRCW0603100KFKEAC" -"C36","22 uF 10V","Capacitor_SMD:CP_Elec_5x5.4","~","647-UWX1C220MCL1" -"C25","22 uF 10V","Capacitor_SMD:CP_Elec_5x5.4","~","647-UWX1C220MCL1" -"C27","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"Q2","DMP4051LK3-13","Package_TO_SOT_SMD:TO-252-3_TabPin2","~","621-DMP4051LK3-13" -"Q1","2N7002-7-F","Package_TO_SOT_SMD:SOT-323_SC-70","~","621-2N7002-F" -"D1","BAT54AWFILMY","Package_TO_SOT_SMD:SOT-323_SC-70","~","511-BAT54AWFILMY" -"SW2","TL3305CF260QG","Button_Switch_SMD:SW_SPST_TL3305C","~","612-TL3305CF260QG" -"R2","100kR","Resistor_SMD:R_0603_1608Metric","~","71-CRCW0603100KFKEAC" -"SW1","TL3305CF260QG","Button_Switch_SMD:SW_SPST_TL3305C","~","612-TL3305CF260QG" -"J3","Conn_02x05_Odd_Even","Connector_PinSocket_2.54mm:PinSocket_2x05_P2.54mm_Vertical","~","649-67997-410HLF" -"TP1","TestPoint","TestPoint:TestPoint_Pad_D1.0mm","~","NoPart" -"C23","0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" -"U8","ATmega328P-MU","Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.1x3.1mm","http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega328_P%20AVR%20MCU%20with%20picoPower%20Technology%20Data%20Sheet%2040001984A.pdf"," 556-ATMEGA328P-MU" -"TP5","TestPoint","TestPoint:TestPoint_Pad_D1.0mm","~","NoPart" -"TP6","TestPoint","TestPoint:TestPoint_Pad_D1.0mm","~","NoPart" -"TP4","TestPoint","TestPoint:TestPoint_Pad_D1.0mm","~","NoPart" -"TP7","TestPoint","TestPoint:TestPoint_Pad_D1.0mm","~","NoPart" -"TP3","TestPoint","TestPoint:TestPoint_Pad_D1.0mm","~","NoPart" -"TP9","TestPoint","TestPoint:TestPoint_Pad_D1.0mm","~","NoPart" -"TP2","TestPoint","TestPoint:TestPoint_Pad_D1.0mm","~","NoPart" -"TP10","TestPoint","TestPoint:TestPoint_Pad_D1.0mm","~","NoPart" -"R23","100kR","Resistor_SMD:R_0603_1608Metric","~","71-CRCW0603100KFKEAC" -"R24","100kR","Resistor_SMD:R_0603_1608Metric","~","71-CRCW0603100KFKEAC" -"C37","3.3 nF","Capacitor_SMD:C_0402_1005Metric","~","603-AC0402KRX77BB332" -"TP8","TestPoint","TestPoint:TestPoint_Pad_D1.0mm","~","NoPart" -"Q3","2N7002-7-F","Package_TO_SOT_SMD:SOT-323_SC-70","~","621-2N7002-F" -"R11","100kR","Resistor_SMD:R_0603_1608Metric","~","71-CRCW0603100KFKEAC" -"R25","100kR","Resistor_SMD:R_0603_1608Metric","~","71-CRCW0603100KFKEAC" +Reference, Quantity, Value, Footprint, Datasheet, Mouser +C11 C29 ,2,"10 uF","Capacitor_SMD:C_0805_2012Metric","~","963-TMK212BBJ106MGHT" +C12 C28 C19 C31 C37 ,5,"3.3 nF","Capacitor_SMD:C_0402_1005Metric","~","603-AC0402KRX77BB332" +C14 ,1,"1 uF X5R","Capacitor_SMD:C_0603_1608Metric","~","603-CC603KRX7R7BB105" +C15 ,1,"470 pF","Capacitor_SMD:C_0402_1005Metric","~","603-AC402KRX7R8BB471" +C18 ,1,"22 uF","Capacitor_SMD:C_0805_2012Metric","~","963-JMK212BJ226MG-T" +C2 ,1,"1.2 pF","Capacitor_SMD:C_0402_1005Metric","~","NoPart" +C24 C35 ,2,"10 uF X5R 10V","Capacitor_SMD:C_0805_2012Metric","~","963-TMK212BBJ106MGHT" +C3 C4 ,2,"10 pF","Capacitor_SMD:C_0402_1005Metric","~","80-C0402C100K5RACTU" +C33 C32 ,2,"22 pF","Capacitor_SMD:C_0402_1005Metric","~","80-C0402C220J4GAUTO" +C36 C25 ,2,"22 uF 10V","Capacitor_SMD:CP_Elec_5x5.4","~","647-UWX1C220MCL1" +C7 ,1,"100 pF","Capacitor_SMD:C_0402_1005Metric","~","80-C0402C101J5G7411" +C9 C8 C6 C30 C16 C21 C22 C17 C13 C10 C5 C1 C26 C20 C34 C27 C23 ,17,"0.1 uF","Capacitor_SMD:C_0402_1005Metric","~","963-EMF105B7104KVHF" +D1 ,1,"BAT54AWFILMY","Package_TO_SOT_SMD:SOT-323_SC-70","~","511-BAT54AWFILMY" +D2 D4 D5 ,3,"Green","LED_SMD:LED_0603_1608Metric_Castellated","~","710-150060VS75000" +D3 ,1,"Red","LED_SMD:LED_0603_1608Metric_Castellated","~","710-150060RS75000" +J1 ,1,"uFL","Connector_Coaxial:U.FL_Hirose_U.FL-R-SMT-1_Vertical"," ~","571-2337019-1" +J2 ,1,"Conn_01x02","Connector_AMASS:AMASS_XT30U-F_1x02_P5.0mm_Vertical","~","NoPart" +J3 ,1,"Conn_02x05_Odd_Even","Connector_PinSocket_2.54mm:PinSocket_2x05_P2.54mm_Vertical","~","649-67997-410HLF" +J4 ,1,"Conn_02x06_Odd_Even","Connector_PinSocket_2.54mm:PinSocket_2x06_P2.54mm_Vertical","~","855-M20-9980646" +J5 J6 J7 J8 J11 J12 J13 J14 J9 J10 J15 J16 ,12,"Conn_01x03","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~","855-M20-9990346" +L1 ,1,"3.3 nH","Inductor_SMD:L_0402_1005Metric","~","NoPart" +L2 ,1,"2.2 nH","Inductor_SMD:L_0402_1005Metric","~","NoPart" +L3 L4 ,2,"2.2 uH","Inductor_SMD:L_6.3x6.3_H3","~"," 81-1255AY-2R2NP3" +Q1 Q3 ,2,"2N7002-7-F","Package_TO_SOT_SMD:SOT-323_SC-70","~","621-2N7002-F" +Q2 ,1,"DMP4051LK3-13","Package_TO_SOT_SMD:TO-252-3_TabPin2","~","621-DMP4051LK3-13" +R1 R15 R6 R3 R8 R7 R13 R2 R23 R24 R11 R25 ,12,"100kR","Resistor_SMD:R_0603_1608Metric","~","71-CRCW0603100KFKEAC" +R4 R5 ,2,"1MR","Resistor_SMD:R_0402_1005Metric","~","71-CRCW04021M00FKEDC" +R9 R14 R12 R21 R22 R16 R17 R10 R18 R20 R19 ,11,"4k7R","Resistor_SMD:R_0402_1005Metric","~","71-CRCW04024K70FKEDC" +SW2 SW1 ,2,"TL3305CF260QG","Button_Switch_SMD:SW_SPST_TL3305C","~","612-TL3305CF260QG" +TP1 TP5 TP6 TP4 TP7 TP3 TP9 TP2 TP10 TP8 ,10,"TestPoint","TestPoint:TestPoint_Pad_D1.0mm","~","NoPart" +U1 ,1,"MLX90393","spider-parts:Melexis-QFN-16","","482-90393ELWABA011RE" +U2 ,1,"nRF52810-QCAA-R","Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.6x3.6mm","http://infocenter.nordicsemi.com/pdf/nRF52810_PS_v1.1.pdf"," 949-NRF52810-QCAA-R" +U3 ,1,"LSM6DSM","spider-parts:ST_LGA14_L","www.st.com/resource/en/datasheet/lsm6dsm.pdf","511-LSM6DSMTR" +U4 ,1,"MIC5205-3.3YM5","Package_TO_SOT_SMD:SOT-23-5","http://ww1.microchip.com/downloads/en/DeviceDoc/20005785A.pdf","998-MIC5205-3.3YM5TR" +U5 U6 ,2,"74AXP4T245PWJ","Package_SO:SSOP-16_4.4x5.2mm_P0.65mm","https://www.mouser.com/datasheet/2/916/74AXP4T245-1648415.pdf","771-74AXP4T245PWJ" +U7 U9 ,2,"TPS62133","Package_DFN_QFN:VQFN-16-1EP_3x3mm_P0.5mm_EP1.68x1.68mm_ThermalVias","http://www.ti.com/lit/ds/symlink/tps62130.pdf"," 595-TPS62133RGTR " +U8 ,1,"ATmega328P-MU","Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.1x3.1mm","http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega328_P%20AVR%20MCU%20with%20picoPower%20Technology%20Data%20Sheet%2040001984A.pdf"," 556-ATMEGA328P-MU" +Y1 ,1,"ECS-320-10-33B-7KM-TR","Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm","~"," 520-320-10-33B-7KM-T" +Y2 ,1,"TSX-3225 16.0000MF10U-B3","Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm","~","732-TSX322516.F10UB3" \ No newline at end of file diff --git a/pcb/ball-spider/ball-spider.xml b/pcb/ball-spider/ball-spider.xml index cac77b4..331e0fd 100644 --- a/pcb/ball-spider/ball-spider.xml +++ b/pcb/ball-spider/ball-spider.xml @@ -2,7 +2,7 @@ /home/kelvin/src/ball-spider/pcb/ball-spider/ball-spider.sch - Mon 04 May 2020 08:49:59 AM EDT + Mon 04 May 2020 08:54:07 AM EDT Eeschema 5.1.5 diff --git a/pcb/ball-spider/bom/ibom.html b/pcb/ball-spider/bom/ibom.html new file mode 100644 index 0000000..6834130 --- /dev/null +++ b/pcb/ball-spider/bom/ibom.html @@ -0,0 +1,3432 @@ + + + + + + + Interactive BOM for KiCAD + + + + + +
+
+
+ +
+ + + +
+
+ + + +
+
+ + + +
+ + +
+
+ + + + + + + + + + + +
+ Title + + Revision +
+ Company + + Date +
+
+
+
+
+
+ + +
+ +
+
+
+ + + + + +
+
+
+
+
+ + + + +
+
+
+
+ + + + +
+
+
+
+
+ + + diff --git a/pcb/ball-spider/gen_mouser.py b/pcb/ball-spider/gen_mouser.py new file mode 100644 index 0000000..6102f23 --- /dev/null +++ b/pcb/ball-spider/gen_mouser.py @@ -0,0 +1,54 @@ +import argparse +import csv + +def main(): + parser = argparse.ArgumentParser(description="Generates a Mouser BOM from Joost's KiCAD BOM") + parser.add_argument("input", help="input BOM") + parser.add_argument("output", help="output BOM") + parser.add_argument("--m", help="quantity multiplier", default="1") + + args = parser.parse_args() + multiplier = 1 if args.m is None else int(args.m) + + print("multiplier: {}".format(multiplier)) + + mouser_idx = None + count_idx = None + components = [] + with open(args.input, 'r') as f: + reader = csv.reader(f) + parts = next(reader) + for i, part in enumerate(parts): + if 'Mouser' == part.strip(): + mouser_idx = i + elif 'Quantity' == part.strip(): + count_idx = i + + if mouser_idx is None or count_idx is None: + print("Unable to find headers") + return + + for i, parts in enumerate(reader): + if len(parts) < max(mouser_idx, count_idx): + print("[WARN] line {} is missing fields".format(i + 1)) + continue + part_num = parts[mouser_idx] + count = parts[count_idx] + if len(part_num) == 0: + print("[WARN] line {} is missing part number".format(i + 1)) + print(parts) + continue + if count == 0: + print("[WARN] line {} has zero quantity".format(i + 1)) + if part_num == 'NoPart': + continue + components.append((part_num, count)) + + with open(args.output, 'w') as f: + # header is necessary if you don't want to miss the first part + f.write("Mouser,Quantity\n") + for c in components: + f.write("{},{}\n".format(c[0], multiplier*int(c[1]))) + +if __name__ == "__main__": + main()