├── .github └── workflows │ ├── 3d.yml │ ├── ato.yml │ └── pio.yml ├── .gitignore ├── LICENSE ├── README.md ├── ato.yaml ├── debug.ato ├── docs ├── assets │ ├── VECTOR_YPR.jpg │ └── controller_hand_V3.jpeg └── swoop_data_flow_diagram.drawio ├── elec ├── footprints │ ├── footprints.3dshapes │ │ ├── CONN-TH_DB125-2.54-2P-GN.wrl │ │ ├── RES-ADJ-TH_RK09K1130AJ3.wrl │ │ └── SMA_L4.2-W2.6-LS5.3-RD.wrl │ ├── footprints.kicad_sym │ └── footprints.pretty │ │ ├── CONN-TH_DB125-2.54-2P-GN.kicad_mod │ │ ├── RES-ADJ-TH_RK09K1130AJ3.kicad_mod │ │ └── SMA_L4.2-W2.6-LS5.3-RD.kicad_mod ├── layout │ ├── debug │ │ ├── debug.kicad_pcb │ │ ├── debug.kicad_pro │ │ ├── debug.kicad_sch │ │ ├── fp-lib-table │ │ └── sym-lib-table │ └── default │ │ ├── fp-lib-table │ │ ├── swoop.kicad_pcb │ │ ├── swoop.kicad_pro │ │ └── swoop.kicad_sch └── src │ ├── DB125-2.54-2P-GN.ato │ ├── RK09K1130AJ3.ato │ ├── ah3772-sa-7 │ ├── .github │ │ └── workflows │ │ │ └── ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── ato.yaml │ ├── elec │ │ ├── footprints │ │ │ ├── footprints.3dshapes │ │ │ │ └── SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR-CW.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ └── SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR-CW.kicad_mod │ │ ├── layout │ │ │ └── default │ │ │ │ ├── ah3772-sa-7.kicad_pcb │ │ │ │ ├── ah3772-sa-7.kicad_pro │ │ │ │ ├── ah3772-sa-7.kicad_sch │ │ │ │ └── fp-lib-table │ │ └── src │ │ │ └── AH372-SA-7.ato │ ├── mech │ │ ├── bitmap.svg │ │ ├── template_40x40.dxf │ │ ├── template_outline.dxf │ │ └── tree.svg │ └── metadata │ │ └── pos-header │ ├── ams1117-33 │ ├── .github │ │ └── workflows │ │ │ └── ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── ato.yaml │ ├── elec │ │ ├── footprints │ │ │ ├── footprints.3dshapes │ │ │ │ └── SOT-223-4P_L6.5-W3.5-H1.6-LS7.0-P2.30.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ └── SOT-223-3_L6.5-W3.4-P2.30-LS7.0-BR.kicad_mod │ │ ├── layout │ │ │ └── default │ │ │ │ ├── ams1117-33.kicad_pcb │ │ │ │ ├── ams1117-33.kicad_pro │ │ │ │ ├── ams1117-33.kicad_sch │ │ │ │ ├── bq24045dsqr.kicad_pro │ │ │ │ ├── fp-lib-table │ │ │ │ └── tps63020dsjr.kicad_pro │ │ └── src │ │ │ └── ams1117-33.ato │ ├── mech │ │ ├── bitmap.svg │ │ ├── template_40x40.dxf │ │ ├── template_outline.dxf │ │ └── tree.svg │ └── metadata │ │ └── pos-header │ ├── batteries │ ├── .gitignore │ ├── README.md │ ├── ato.yaml │ ├── batteries.ato │ ├── data │ │ └── .gitkeep │ ├── elec │ │ ├── footprints │ │ │ ├── .gitkeep │ │ │ ├── BAT-TH_BH-18650-A1AJ005.kicad_mod │ │ │ ├── BAT-TH_BS-02-A1AJ010.kicad_mod │ │ │ └── CONN-SMD_P2.00_S2B-PH-SM4-TB-LF-SN.kicad_mod │ │ └── src │ │ │ └── BH-18650-A1AJ005.ato │ └── firmware │ │ └── .gitkeep │ ├── bmi088 │ ├── .github │ │ └── workflows │ │ │ └── ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── ato.yaml │ ├── elec │ │ ├── footprints │ │ │ ├── footprints.3dshapes │ │ │ │ └── LGA-16_L4.5-W3.0-H1.0-P0.50-BL.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ └── LGA-16_L4.5-W3.0-P0.50-BL.kicad_mod │ │ ├── layout │ │ │ └── default │ │ │ │ ├── bmi088.kicad_pcb │ │ │ │ ├── bmi088.kicad_pro │ │ │ │ ├── bmi088.kicad_sch │ │ │ │ └── fp-lib-table │ │ └── src │ │ │ └── bmi088.ato │ ├── mech │ │ ├── bitmap.svg │ │ ├── template_40x40.dxf │ │ ├── template_outline.dxf │ │ └── tree.svg │ └── metadata │ │ └── pos-header │ ├── bno055 │ ├── .github │ │ └── workflows │ │ │ └── ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── ato.yaml │ ├── elec │ │ ├── footprints │ │ │ ├── footprints.3dshapes │ │ │ │ ├── LGA-28_L5.2-W3.8-H1.2-P0.50-BL.wrl │ │ │ │ └── SMD-3215_2P_L3.2-W1.5-H0.8.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ ├── FC-135R_L3.2-W1.5.kicad_mod │ │ │ │ └── LGA-28_L5.2-W3.8-P0.50-BL.kicad_mod │ │ ├── layout │ │ │ └── default │ │ │ │ ├── bno055.kicad_pcb │ │ │ │ ├── bno055.kicad_pro │ │ │ │ ├── bno055.kicad_sch │ │ │ │ ├── fp-lib-table │ │ │ │ └── rp2040.kicad_pro │ │ └── src │ │ │ ├── Q13FC1350000400.ato │ │ │ └── bno055.ato │ ├── mech │ │ ├── bitmap.svg │ │ ├── template_40x40.dxf │ │ ├── template_outline.dxf │ │ └── tree.svg │ └── metadata │ │ └── pos-header │ ├── bq24045dsqr │ ├── .github │ │ └── workflows │ │ │ └── ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── ato.yaml │ ├── elec │ │ ├── footprints │ │ │ ├── footprints.3dshapes │ │ │ │ └── WSON-10_L2.0-W2.0-H0.8-P0.40.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ └── WSON-10_L2.0-W2.0-P0.40-BL-EP.kicad_mod │ │ ├── layout │ │ │ └── default │ │ │ │ ├── bq24045dsqr.kicad_pcb │ │ │ │ ├── bq24045dsqr.kicad_pro │ │ │ │ ├── bq24045dsqr.kicad_sch │ │ │ │ └── fp-lib-table │ │ └── src │ │ │ └── bq24045dsqr.ato │ ├── mech │ │ ├── bitmap.svg │ │ ├── template_40x40.dxf │ │ ├── template_outline.dxf │ │ └── tree.svg │ └── metadata │ │ └── pos-header │ ├── debug.ato │ ├── drv2605ldgsr │ ├── .github │ │ └── workflows │ │ │ └── ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── ato.yaml │ ├── elec │ │ ├── footprints │ │ │ ├── footprints.3dshapes │ │ │ │ └── VSSOP-10_L3.0-W3.0-H1.1-LS4.9-P0.50.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ └── VSSOP-10_L3.0-W3.0-P0.50-LS4.9-BL.kicad_mod │ │ ├── layout │ │ │ └── default │ │ │ │ ├── drv2605ldgsr.kicad_pcb │ │ │ │ ├── drv2605ldgsr.kicad_pro │ │ │ │ ├── drv2605ldgsr.kicad_sch │ │ │ │ ├── fp-lib-table │ │ │ │ └── sx1280imltrt.kicad_pro │ │ └── src │ │ │ └── drv2605ldgsr.ato │ ├── mech │ │ ├── bitmap.svg │ │ ├── template_40x40.dxf │ │ ├── template_outline.dxf │ │ └── tree.svg │ └── metadata │ │ └── pos-header │ ├── drv5053raqdbzr │ ├── .github │ │ └── workflows │ │ │ └── ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── ato.yaml │ ├── elec │ │ ├── footprints │ │ │ ├── footprints.3dshapes │ │ │ │ └── SOT-23-3P_L2.9-W1.3-H1.0-LS2.4-P0.95.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ └── SOT-23-3_L2.9-W1.3-P0.95-LS2.4-BR.kicad_mod │ │ ├── layout │ │ │ └── default │ │ │ │ ├── drv5053raqdbzr.kicad_pcb │ │ │ │ ├── drv5053raqdbzr.kicad_pro │ │ │ │ ├── drv5053raqdbzr.kicad_sch │ │ │ │ └── fp-lib-table │ │ └── src │ │ │ └── drv5053raqdbzr.ato │ ├── firmware │ │ └── .gitkeep │ ├── mech │ │ ├── bitmap.svg │ │ ├── template_40x40.dxf │ │ ├── template_outline.dxf │ │ └── tree.svg │ └── metadata │ │ └── pos-header │ ├── esp32-s3 │ ├── .github │ │ └── workflows │ │ │ └── ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── ato.yaml │ ├── elec │ │ ├── footprints │ │ │ ├── footprints.3dshapes │ │ │ │ └── WIRELM-SMD_ESP32-S3-WROOM-1.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ └── WIRELM-SMD_ESP32-S3-WROOM-1.kicad_mod │ │ ├── layout │ │ │ └── default │ │ │ │ ├── esp32-s3.kicad_pcb │ │ │ │ ├── esp32-s3.kicad_pro │ │ │ │ ├── esp32-s3.kicad_sch │ │ │ │ └── fp-lib-table │ │ └── src │ │ │ └── esp32-s3.ato │ ├── mech │ │ ├── bitmap.svg │ │ ├── template_40x40.dxf │ │ ├── template_outline.dxf │ │ └── tree.svg │ └── metadata │ │ └── pos-header │ ├── generics │ ├── README.md │ ├── ato.yaml │ ├── buttons.ato │ ├── capacitors.ato │ ├── connectors.ato │ ├── data │ │ └── .gitkeep │ ├── debug.ato │ ├── diodes.ato │ ├── elec │ │ ├── footprints │ │ │ ├── C01005.kicad_mod │ │ │ ├── C0201.kicad_mod │ │ │ ├── C0402.kicad_mod │ │ │ ├── C0504.kicad_mod │ │ │ ├── C0603.kicad_mod │ │ │ ├── C0805.kicad_mod │ │ │ ├── C1206.kicad_mod │ │ │ ├── C1210.kicad_mod │ │ │ ├── C1812.kicad_mod │ │ │ ├── C1825.kicad_mod │ │ │ ├── C2220.kicad_mod │ │ │ ├── C2225.kicad_mod │ │ │ ├── C3640.kicad_mod │ │ │ ├── L0201.kicad_mod │ │ │ ├── L0402.kicad_mod │ │ │ ├── L0603.kicad_mod │ │ │ ├── L0805.kicad_mod │ │ │ ├── L1206.kicad_mod │ │ │ ├── L1210.kicad_mod │ │ │ ├── L1806.kicad_mod │ │ │ ├── L1812.kicad_mod │ │ │ ├── L2010.kicad_mod │ │ │ ├── L2512.kicad_mod │ │ │ ├── LED0603-RD.kicad_mod │ │ │ ├── R01005.kicad_mod │ │ │ ├── R0201.kicad_mod │ │ │ ├── R0402.kicad_mod │ │ │ ├── R0603.kicad_mod │ │ │ ├── R0805.kicad_mod │ │ │ ├── R1206.kicad_mod │ │ │ ├── R1210.kicad_mod │ │ │ ├── R2512.kicad_mod │ │ │ ├── footprints.3dshapes │ │ │ │ ├── CONN-TH_2P_L8.5-W9.2-H7.0-P3.81.wrl │ │ │ │ ├── CONN-TH_3P-P5.08_DB2EVC-5.08-3P.wrl │ │ │ │ ├── KEY-SMD_4P-L4.2-W3.2-H2.5-LS4.6-P2.2.wrl │ │ │ │ ├── KEY-SMD_L4.6-W2.3-H1.8-P3.4.wrl │ │ │ │ ├── KEY-SMD_SKTDLDE010.wrl │ │ │ │ ├── POWERPAK-1212-8_L3.1-W3.1-P0.65-LS3.3-BL.wrl │ │ │ │ ├── SMA_L4.3-W2.6--H2.1-LS5.2.wrl │ │ │ │ ├── SMA_L4.3-W2.6-LS5.2-RD.wrl │ │ │ │ ├── SOT-23-3L_L2.9-W1.6-H1.1-LS2.8-P0.95.wrl │ │ │ │ └── SW-SMD_4P-L5.2-W5.2-H1.5-LS6.4-P3.70.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ ├── CONN-TH_2P-P3.81_WJ15EDGRC-3.81-2P.kicad_mod │ │ │ │ ├── CONN-TH_3P-P5.08_DB2EVC-5.08-3P.kicad_mod │ │ │ │ ├── KEY-SMD_1TS003B.kicad_mod │ │ │ │ ├── KEY-SMD_4P-L4.2-W3.2-P2.20-LS4.6.kicad_mod │ │ │ │ ├── KEY-SMD_SKTDLDE010.kicad_mod │ │ │ │ ├── POWERPAK-1212-8_L3.1-W3.1-P0.65-LS3.3-BL.kicad_mod │ │ │ │ ├── SMA_L4.3-W2.6-LS5.2-FD.kicad_mod │ │ │ │ ├── SMA_L4.3-W2.6-LS5.2-RD.kicad_mod │ │ │ │ ├── SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR.kicad_mod │ │ │ │ └── SW-SMD_4P-L5.1-W5.1-P3.70-LS6.5-TL-2.kicad_mod │ │ └── src │ │ │ ├── 1TS003B-1400-3500A.ato │ │ │ ├── AO3400A.ato │ │ │ ├── DB2EVC-5.08-3P.ato │ │ │ ├── KT-0603B.ato │ │ │ ├── KT-0603G.ato │ │ │ ├── KT-0603R.ato │ │ │ ├── NRVA4007T3G.ato │ │ │ ├── NTTFS4C25NTWG.ato │ │ │ ├── SKRPACE010.ato │ │ │ ├── SKTDLDE010.ato │ │ │ ├── SS34_C8678.ato │ │ │ ├── TS-1187A-B-A-B.ato │ │ │ └── WJ15EDGRC-3.81-2P.ato │ ├── filters.ato │ ├── inductors.ato │ ├── interfaces.ato │ ├── leds.ato │ ├── mosfets.ato │ ├── opamps.ato │ ├── oscillators.ato │ ├── regulators.ato │ ├── resistors.ato │ ├── transistors.ato │ └── vdivs.ato │ ├── imu.ato │ ├── ios.ato │ ├── lis3mdltr │ ├── .github │ │ └── workflows │ │ │ └── ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── ato.yaml │ ├── elec │ │ ├── footprints │ │ │ ├── footprints.3dshapes │ │ │ │ └── LGA-12_L2.0-W2.0-H1.0-P0.50.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ └── LGA-12_L2.0-W2.0-P0.50-BL.kicad_mod │ │ ├── layout │ │ │ └── default │ │ │ │ ├── fp-lib-table │ │ │ │ ├── lis3mdltr.kicad_pcb │ │ │ │ ├── lis3mdltr.kicad_pro │ │ │ │ └── lis3mdltr.kicad_sch │ │ └── src │ │ │ └── lis3mdltr.ato │ ├── mech │ │ ├── bitmap.svg │ │ ├── template_40x40.dxf │ │ ├── template_outline.dxf │ │ └── tree.svg │ └── metadata │ │ └── pos-header │ ├── micro.ato │ ├── mpu6050 │ ├── .github │ │ └── workflows │ │ │ └── ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── ato.yaml │ ├── elec │ │ ├── footprints │ │ │ ├── footprints.3dshapes │ │ │ │ └── QFN-24_L4.0-W4.0-H0.9-P0.50-.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ └── QFN-24_L4.0-W4.0-P0.50-BL-EP2.7.kicad_mod │ │ ├── layout │ │ │ └── default │ │ │ │ ├── fp-lib-table │ │ │ │ ├── mpu6050.kicad_pcb │ │ │ │ ├── mpu6050.kicad_pro │ │ │ │ └── mpu6050.kicad_sch │ │ └── src │ │ │ └── mpu6050.ato │ ├── firmware │ │ └── .gitkeep │ ├── mech │ │ ├── bitmap.svg │ │ ├── template_40x40.dxf │ │ ├── template_outline.dxf │ │ └── tree.svg │ └── metadata │ │ └── pos-header │ ├── power-supply.ato │ ├── programming-headers │ ├── .github │ │ └── workflows │ │ │ └── ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── ato.yaml │ ├── elec │ │ ├── footprints │ │ │ ├── TAG-CONNECT_TC2050-IDC.kicad_mod │ │ │ ├── footprints.3dshapes │ │ │ │ └── HDR-SMD_10P-P1.27-V-M-R2-C5-LS5.3.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ └── HDR-SMD_10P-P1.27-V-M-R2-C5-LS5.3.kicad_mod │ │ ├── layout │ │ │ └── default │ │ │ │ ├── fp-lib-table │ │ │ │ ├── programming-headers.kicad_pcb │ │ │ │ ├── programming-headers.kicad_pro │ │ │ │ └── programming-headers.kicad_sch │ │ └── src │ │ │ └── programming-headers.ato │ ├── mech │ │ ├── bitmap.svg │ │ ├── template_40x40.dxf │ │ ├── template_outline.dxf │ │ └── tree.svg │ └── metadata │ │ └── pos-header │ ├── qwiic-connectors │ ├── .github │ │ └── workflows │ │ │ └── ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── ato.yaml │ ├── elec │ │ ├── footprints │ │ │ ├── footprints.3dshapes │ │ │ │ └── CONN-SMD_SR1.00-WS-4P.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ └── CONN-SMD_4P-P1.00_SM04B-SRSS-TB-LF-SN.kicad_mod │ │ ├── layout │ │ │ └── default │ │ │ │ ├── fp-lib-table │ │ │ │ ├── qwiic-connectors.kicad_pcb │ │ │ │ ├── qwiic-connectors.kicad_pro │ │ │ │ └── qwiic-connectors.kicad_sch │ │ └── src │ │ │ └── qwiic-connectors.ato │ ├── mech │ │ ├── bitmap.svg │ │ ├── template_40x40.dxf │ │ ├── template_outline.dxf │ │ └── tree.svg │ └── metadata │ │ └── pos-header │ ├── radio.ato │ ├── rp2040 │ ├── .gitignore │ ├── README.md │ ├── RP2040.ato │ ├── RP2040Kit.ato │ ├── ato.yaml │ ├── data │ │ └── .gitkeep │ ├── docs │ │ ├── layout-example.png │ │ └── rp2040Kit.png │ ├── elec │ │ ├── footprints │ │ │ ├── footprints.3dshapes │ │ │ │ ├── LQFN-56_L7.0-W7.0-P0.4-EP.wrl │ │ │ │ ├── OSC-SMD_4P-L3.2-W2.5-H1.0.wrl │ │ │ │ ├── SOIC-8_L5.3-W5.3-H1.9-LS7.9-P1.27.wrl │ │ │ │ ├── USB-C-SMD_KH-TYPE-C-16P.wrl │ │ │ │ └── WSON-8_L6.0-W5.0-H0.7-P1.27.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ ├── LQFN-56_L7.0-W7.0-P0.4-EP.kicad_mod │ │ │ │ ├── OSC-SMD_4P-L3.2-W2.5-BL.kicad_mod │ │ │ │ ├── SOIC-8_L5.3-W5.3-P1.27-LS8.0-BL.kicad_mod │ │ │ │ ├── USB-C-SMD_KH-TYPE-C-16P.kicad_mod │ │ │ │ └── WSON-8_L6.0-W5.0-P1.27-BL-EP.kicad_mod │ │ └── layout │ │ │ └── default │ │ │ ├── rp2040.kicad_pcb │ │ │ ├── rp2040.kicad_pro │ │ │ └── rp2040.kicad_sch │ └── firmware │ │ └── .gitkeep │ ├── saleae-header │ ├── .github │ │ └── workflows │ │ │ └── ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── ato.yaml │ ├── elec │ │ ├── footprints │ │ │ ├── footprints.3dshapes │ │ │ │ ├── HDR-SMD_10P-P2.54-V-M-R2-C5-LS7.5.wrl │ │ │ │ └── HDR-SMD_8P-P2.54-V-M-R2-C4-LS7.4.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ ├── HDR-SMD_10P-P2.54-V-M-R2-C5-LS7.5.kicad_mod │ │ │ │ └── HDR-SMD_8P-P2.54-V-M-R2-C4-LS7.4.kicad_mod │ │ ├── layout │ │ │ └── default │ │ │ │ ├── fp-lib-table │ │ │ │ ├── saleae-header.kicad_pcb │ │ │ │ ├── saleae-header.kicad_pro │ │ │ │ └── saleae-header.kicad_sch │ │ └── src │ │ │ └── PZ254-2-04-S.ato │ ├── mech │ │ ├── bitmap.svg │ │ ├── template_40x40.dxf │ │ ├── template_outline.dxf │ │ └── tree.svg │ ├── metadata │ │ └── pos-header │ └── saleae-header.ato │ ├── sk6805-ec20 │ ├── .github │ │ └── workflows │ │ │ └── ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── ato.yaml │ ├── elec │ │ ├── footprints │ │ │ ├── footprints.3dshapes │ │ │ │ └── LED-SMD_4P-L2.0-W2.0-BR.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ └── LED-SMD_4P-L2.0-W2.0-BR.kicad_mod │ │ ├── layout │ │ │ └── default │ │ │ │ ├── fp-lib-table │ │ │ │ ├── sk6805-ec20.kicad_pcb │ │ │ │ ├── sk6805-ec20.kicad_pro │ │ │ │ └── sk6805-ec20.kicad_sch │ │ └── src │ │ │ └── sk6805-ec20.ato │ ├── mech │ │ ├── bitmap.svg │ │ ├── template_40x40.dxf │ │ ├── template_outline.dxf │ │ └── tree.svg │ └── metadata │ │ └── pos-header │ ├── swoop.ato │ ├── sx1280imltrt │ ├── .github │ │ └── workflows │ │ │ └── ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── ato.yaml │ ├── elec │ │ ├── footprints │ │ │ ├── footprints.3dshapes │ │ │ │ ├── IPEX-SMD_BWIPX-1-001E.wrl │ │ │ │ ├── L0402_L1.0-W0.5-H0.5_BEAD.wrl │ │ │ │ ├── OSC-SMD_4P-L2.0-W1.6-H0.8.wrl │ │ │ │ └── QFN-24_L4.0-W4.0-H0.9-P0.50.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ ├── IPEX-SMD_BWIPX-1-001E.kicad_mod │ │ │ │ ├── L0402.kicad_mod │ │ │ │ ├── OSC-SMD_4P-L2.0-W1.6-BL.kicad_mod │ │ │ │ └── QFN-24_L4.0-W4.0-P0.50-BL-EP2.6.kicad_mod │ │ ├── layout │ │ │ └── default │ │ │ │ ├── fp-lib-table │ │ │ │ ├── sx1280imltrt.kicad_pcb │ │ │ │ ├── sx1280imltrt.kicad_pro │ │ │ │ └── sx1280imltrt.kicad_sch │ │ └── src │ │ │ └── sx1280imltrt.ato │ ├── mech │ │ ├── bitmap.svg │ │ ├── template_40x40.dxf │ │ ├── template_outline.dxf │ │ └── tree.svg │ └── metadata │ │ └── pos-header │ ├── tps63020dsjr │ ├── .github │ │ └── workflows │ │ │ └── ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── ato.yaml │ ├── elec │ │ ├── footprints │ │ │ ├── footprints.3dshapes │ │ │ │ ├── IND-SMD_L2.5-W2.0-H1.2-252012.wrl │ │ │ │ └── VSON-14_L4.0-W3.0-H1.0-P0.50.wrl │ │ │ ├── footprints.kicad_sym │ │ │ └── footprints.pretty │ │ │ │ ├── IND-SMD_L2.5-W2.0_WPN252012H.kicad_mod │ │ │ │ └── VSON-14_L4.0-W3.0-P0.50-BL-EP_TI_DSJ.kicad_mod │ │ ├── layout │ │ │ └── default │ │ │ │ ├── fp-lib-table │ │ │ │ ├── tps63020dsjr.kicad_pcb │ │ │ │ ├── tps63020dsjr.kicad_pro │ │ │ │ └── tps63020dsjr.kicad_sch │ │ └── src │ │ │ ├── WPN252012H1R5MT.ato │ │ │ └── tps63020dsjr.ato │ ├── mech │ │ ├── bitmap.svg │ │ ├── template_40x40.dxf │ │ ├── template_outline.dxf │ │ └── tree.svg │ └── metadata │ │ └── pos-header │ └── usb-connectors │ ├── .gitignore │ ├── README.md │ ├── ato.yaml │ ├── data │ └── .gitkeep │ ├── elec │ ├── footprints │ │ ├── .gitkeep │ │ ├── footprints.3dshapes │ │ │ └── USB-C-SMD_KH-TYPE-C-16P.wrl │ │ ├── footprints.kicad_sym │ │ └── footprints.pretty │ │ │ └── USB-C-SMD_KH-TYPE-C-16P.kicad_mod │ ├── layout │ │ └── default │ │ │ ├── fp-lib-table │ │ │ ├── usbc.kicad_pcb │ │ │ ├── usbc.kicad_pro │ │ │ └── usbc.kicad_sch │ └── src │ │ └── KH-TYPE-C-16P.ato │ ├── firmware │ └── .gitkeep │ └── usb-connectors.ato ├── firmware ├── .gitignore ├── README.md ├── debug │ └── teapot.py ├── include │ └── README ├── lib │ ├── LED │ │ ├── LED.cpp │ │ └── LED.hpp │ └── README ├── src │ ├── main.cpp │ └── main.h └── test │ └── README ├── mech ├── Shell_right.stl ├── bitmap.svg ├── buttons.stl ├── shell_left.stl ├── template_40x40.dxf ├── template_outline.dxf ├── top.stl ├── tree.svg └── trigger.stl ├── metadata └── pos-header └── platformio.ini /.github/workflows/3d.yml: -------------------------------------------------------------------------------- 1 | name: 3D files CI 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | 9 | steps: 10 | - name: Checkout repository 11 | uses: actions/checkout@v3 12 | 13 | - name: Set up Python 14 | uses: actions/setup-python@v4 15 | with: 16 | python-version: '3.x' 17 | 18 | - name: Search for STEP files and move to artifacts 19 | run: | 20 | mkdir -p 3D_files 21 | find ./mech -type f \( -name "*.step" -o -name "*.stp" -o -name "*.stl" -o -name "*.dxf" \) -exec mv {} 3D_files/ \; 22 | 23 | - name: Zip 3D files 24 | run: | 25 | mkdir -p artifacts 26 | zip -r artifacts/3D_files.zip 3D_files 27 | 28 | - name: Upload Combined Artifacts 29 | uses: actions/upload-artifact@v3 30 | with: 31 | name: 3D_files 32 | path: artifacts/3D_files.zip 33 | if-no-files-found: warn 34 | 35 | - name: Configure AWS Credentials 36 | if: github.event_name == 'push' && github.ref == 'refs/heads/main' 37 | uses: aws-actions/configure-aws-credentials@v1 38 | with: 39 | aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} 40 | aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} 41 | aws-region: us-east-1 42 | 43 | - name: Sync artifacts to S3 44 | if: github.event_name == 'push' && github.ref == 'refs/heads/main' 45 | run: | 46 | aws s3 sync artifacts s3://atopile/swoop/mechanics --delete --cache-control max-age=0,no-cache 47 | -------------------------------------------------------------------------------- /.github/workflows/ato.yml: -------------------------------------------------------------------------------- 1 | name: atopile electronics CI 2 | 3 | on: 4 | push: 5 | pull_request: 6 | workflow_dispatch: 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - name: Checkout code 14 | uses: actions/checkout@v4 15 | 16 | - name: Build 17 | uses: docker://ghcr.io/atopile/atopile-kicad 18 | 19 | - name: Upload Combined Artifacts 20 | uses: actions/upload-artifact@v4 21 | with: 22 | name: build 23 | path: build 24 | 25 | - name: Zip 3D files and CSVs 26 | run: | 27 | mkdir -p artifacts 28 | zip -r artifacts/electronics_build_artifacts.zip build/*.zip build/*.csv 29 | 30 | - name: Configure AWS Credentials 31 | if: github.event_name == 'push' && github.ref == 'refs/heads/main' 32 | uses: aws-actions/configure-aws-credentials@v1 33 | with: 34 | aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} 35 | aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} 36 | aws-region: us-east-1 37 | 38 | - name: Sync artifacts to S3 39 | if: github.event_name == 'push' && github.ref == 'refs/heads/main' 40 | run: | 41 | aws s3 sync artifacts s3://atopile/swoop/electronics --delete --cache-control max-age=0,no-cache -------------------------------------------------------------------------------- /.github/workflows/pio.yml: -------------------------------------------------------------------------------- 1 | name: PlatformIO firmware CI 2 | 3 | on: [push] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | 9 | steps: 10 | - uses: actions/checkout@v3 11 | - uses: actions/cache@v3 12 | with: 13 | path: | 14 | ~/.cache/pip 15 | ~/.platformio/.cache 16 | key: ${{ runner.os }}-pio 17 | - uses: actions/setup-python@v4 18 | with: 19 | python-version: '3.11' 20 | - name: Install PlatformIO Core 21 | run: pip install --upgrade platformio 22 | 23 | - name: Build PlatformIO Project 24 | run: pio run 25 | 26 | - name: Upload Build Artifacts for Debug Environment 27 | if: success() 28 | uses: actions/upload-artifact@v4 29 | with: 30 | name: firmware-debug 31 | path: .pio/build/debug/firmware.* 32 | 33 | - name: Zip 3D files and CSVs 34 | run: | 35 | mkdir -p artifacts 36 | zip -r artifacts/firmware_build_artifacts.zip .pio/build/debug/firmware.* 37 | 38 | - name: Configure AWS Credentials 39 | if: github.event_name == 'push' && github.ref == 'refs/heads/main' 40 | uses: aws-actions/configure-aws-credentials@v1 41 | with: 42 | aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} 43 | aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} 44 | aws-region: us-east-1 45 | 46 | - name: Sync artifacts to S3 47 | if: github.event_name == 'push' && github.ref == 'refs/heads/main' 48 | run: | 49 | aws s3 sync artifacts s3://atopile/swoop/firmware --delete --cache-control max-age=0,no-cache -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | .pio/ 45 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 napowderly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^v0.2.0 2 | builds: 3 | default: 4 | entry: elec/src/swoop.ato:Swoop 5 | debug: 6 | entry: elec/src/debug.ato:Debug 7 | dependencies: 8 | - name: mpu6050 9 | version_spec: 10 | link_broken: true 11 | path: elec/src/mpu6050 12 | - name: drv5053raqdbzr 13 | version_spec: 14 | link_broken: true 15 | path: elec/src/drv5053raqdbzr 16 | -------------------------------------------------------------------------------- /debug.ato: -------------------------------------------------------------------------------- 1 | module Debug: 2 | signal gnd 3 | -------------------------------------------------------------------------------- /docs/assets/VECTOR_YPR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/docs/assets/VECTOR_YPR.jpg -------------------------------------------------------------------------------- /docs/assets/controller_hand_V3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/docs/assets/controller_hand_V3.jpeg -------------------------------------------------------------------------------- /elec/footprints/footprints.pretty/CONN-TH_DB125-2.54-2P-GN.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:CONN-TH_DB125-2.54-2P-GN (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr through_hole) 3 | (fp_text reference REF** (at 0 -4.0) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value CONN-TH_DB125-2.54-2P-GN (at 0 4.0) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -2.78 -3.14) (end -2.78 3.14) (layer F.SilkS) (width 0.25)) 13 | (fp_line (start 2.78 -3.14) (end 2.78 3.14) (layer F.SilkS) (width 0.25)) 14 | (fp_line (start 2.78 -3.14) (end -2.78 -3.14) (layer F.SilkS) (width 0.25)) 15 | (fp_line (start 2.78 1.44) (end -2.78 1.44) (layer F.SilkS) (width 0.25)) 16 | (fp_line (start 2.78 -1.39) (end -2.78 -1.39) (layer F.SilkS) (width 0.25)) 17 | (fp_line (start 2.78 3.14) (end -2.78 3.14) (layer F.SilkS) (width 0.25)) 18 | (fp_line (start -1.84 -3.05) (end -0.63 -3.05) (layer F.Fab) (width 3.00)) 19 | (fp_line (start -0.63 -3.05) (end -0.63 -2.41) (layer F.Fab) (width 3.00)) 20 | (fp_line (start -0.63 -2.41) (end -1.84 -2.41) (layer F.Fab) (width 3.00)) 21 | (fp_line (start -1.84 -3.05) (end -1.84 -3.05) (layer F.Fab) (width 3.00)) 22 | (fp_line (start 0.57 -3.05) (end 1.78 -3.05) (layer F.Fab) (width 3.00)) 23 | (fp_line (start 1.78 -3.05) (end 1.78 -2.41) (layer F.Fab) (width 3.00)) 24 | (fp_line (start 1.78 -2.41) (end 0.57 -2.41) (layer F.Fab) (width 3.00)) 25 | (fp_line (start 0.57 -3.05) (end 0.57 -3.05) (layer F.Fab) (width 3.00)) 26 | (pad 2 thru_hole circle (at 1.27 0.00 0.00) (size 1.80 1.80) (layers *.Cu *.Mask)(drill 1.1000231999999999)) 27 | (pad 1 thru_hole rect (at -1.27 0.00 0.00) (size 1.80 1.80) (layers *.Cu *.Mask)(drill 1.1000231999999999)) 28 | (fp_circle (center -2.91 3.27) (end -2.88 3.27) (layer F.Fab) (width 0.06)) 29 | (model "/Users/narayanpowderly/Documents/atopile-workspace/swoop/elec/footprints/footprints.3dshapes/CONN-TH_DB125-2.54-2P-GN.wrl" 30 | (offset (xyz 0.000 -0.000 0.000)) 31 | (scale (xyz 1 1 1)) 32 | (rotate (xyz 0 0 0)) 33 | ) 34 | ) -------------------------------------------------------------------------------- /elec/footprints/footprints.pretty/RES-ADJ-TH_RK09K1130AJ3.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:RES-ADJ-TH_RK09K1130AJ3 (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr through_hole) 3 | (fp_text reference REF** (at 0 -7.5) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value RES-ADJ-TH_RK09K1130AJ3 (at 0 7.5) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start 3.55 3.55) (end 5.08 3.55) (layer F.SilkS) (width 0.25)) 13 | (fp_line (start 5.08 3.55) (end 5.08 -1.78) (layer F.SilkS) (width 0.25)) 14 | (fp_line (start -5.08 -1.78) (end -5.08 3.55) (layer F.SilkS) (width 0.25)) 15 | (fp_line (start -5.08 3.55) (end -3.69 3.55) (layer F.SilkS) (width 0.25)) 16 | (fp_line (start -5.08 -5.08) (end -5.08 -9.02) (layer F.SilkS) (width 0.25)) 17 | (fp_line (start -5.08 -9.02) (end 5.08 -9.02) (layer F.SilkS) (width 0.25)) 18 | (fp_line (start 5.08 -9.02) (end 5.08 -5.08) (layer F.SilkS) (width 0.25)) 19 | (pad 5 thru_hole oval (at 4.90 -3.50 0.00) (size 2.90 3.00) (layers *.Cu *.Mask)(drill oval 1.9000215999999999 2.200021)) 20 | (pad 4 thru_hole oval (at -4.90 -3.50 0.00) (size 2.90 3.00) (layers *.Cu *.Mask)(drill oval 1.9000215999999999 2.200021)) 21 | (pad 3 thru_hole circle (at 2.50 3.50 0.00) (size 1.80 1.80) (layers *.Cu *.Mask)(drill 1.1000231999999999)) 22 | (pad 2 thru_hole circle (at 0.00 3.50 0.00) (size 1.80 1.80) (layers *.Cu *.Mask)(drill 1.1000231999999999)) 23 | (pad 1 thru_hole circle (at -2.50 3.50 0.00) (size 1.80 1.80) (layers *.Cu *.Mask)(drill 1.1000231999999999)) 24 | (fp_circle (center -5.15 3.75) (end -5.12 3.75) (layer F.Fab) (width 0.06)) 25 | (fp_circle (center 0.00 -2.41) (end 2.77 -2.41) (layer F.SilkS) (width 0.25)) 26 | (model "/Users/narayanpowderly/Documents/atopile-workspace/swoop/elec/footprints/footprints.3dshapes/RES-ADJ-TH_RK09K1130AJ3.wrl" 27 | (offset (xyz 0.000 2.420 0.000)) 28 | (scale (xyz 1 1 1)) 29 | (rotate (xyz 0 0 0)) 30 | ) 31 | ) -------------------------------------------------------------------------------- /elec/footprints/footprints.pretty/SMA_L4.2-W2.6-LS5.3-RD.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:SMA_L4.2-W2.6-LS5.3-RD (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -4.0) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value SMA_L4.2-W2.6-LS5.3-RD (at 0 4.0) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -2.70 -1.36) (end 2.70 -1.36) (layer F.SilkS) (width 0.15)) 13 | (fp_line (start -2.70 1.37) (end 2.70 1.37) (layer F.SilkS) (width 0.15)) 14 | (fp_line (start -1.34 -1.36) (end -1.34 1.37) (layer F.SilkS) (width 0.15)) 15 | (fp_line (start 2.70 -1.36) (end 2.70 -1.01) (layer F.SilkS) (width 0.15)) 16 | (fp_line (start 2.70 1.37) (end 2.70 1.02) (layer F.SilkS) (width 0.15)) 17 | (pad 1 smd rect (at -2.57 0.00 0.00) (size 2.20 1.70) (layers F.Cu F.Paste F.Mask)) 18 | (pad 2 smd rect (at 2.57 0.00 0.00) (size 2.20 1.70) (layers F.Cu F.Paste F.Mask)) 19 | (fp_circle (center -2.63 1.30) (end -2.60 1.30) (layer F.Fab) (width 0.06)) 20 | (model "/Users/narayanpowderly/Documents/atopile-workspace/swoop/elec/footprints/footprints.3dshapes/SMA_L4.2-W2.6-LS5.3-RD.wrl" 21 | (offset (xyz -0.000 0.000 -0.000)) 22 | (scale (xyz 1 1 1)) 23 | (rotate (xyz 0 0 0)) 24 | ) 25 | ) -------------------------------------------------------------------------------- /elec/layout/debug/debug.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/layout/debug/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/layout/debug/sym-lib-table: -------------------------------------------------------------------------------- 1 | (sym_lib_table 2 | (version 0) 3 | (lib (name "debug-eagle-import")(type "KiCad")(uri "${KIPRJMOD}/debug-eagle-import.kicad_sym")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/layout/default/swoop.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/DB125-2.54-2P-GN.ato: -------------------------------------------------------------------------------- 1 | component DB125_2_54_2P_GN: 2 | # component DB125-2.54-2P-GN 3 | footprint = "CONN-TH_DB125-2.54-2P-GN" 4 | lcsc_id = "C918120" 5 | mpn = "C918120" 6 | # pins 7 | signal _1 ~ pin 1 8 | signal _2 ~ pin 2 9 | 10 | -------------------------------------------------------------------------------- /elec/src/RK09K1130AJ3.ato: -------------------------------------------------------------------------------- 1 | component RK09K1130AJ3: 2 | # component RK09K1130AJ3 3 | footprint = "RES-ADJ-TH_RK09K1130AJ3" 4 | lcsc_id = "C388854" 5 | mpn = "C388854" 6 | # pins 7 | output = new Pair 8 | power = new Power 9 | power.gnd ~ pin 1 10 | output.io ~ pin 2 11 | power.vcc ~ pin 3 12 | 13 | power.gnd ~ output.gnd 14 | 15 | 16 | -------------------------------------------------------------------------------- /elec/src/ah3772-sa-7/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - name: Build 13 | uses: docker://ghcr.io/atopile/atopile-kicad 14 | 15 | - name: Upload Combined Artifacts 16 | uses: actions/upload-artifact@v3 17 | with: 18 | name: build 19 | path: build 20 | -------------------------------------------------------------------------------- /elec/src/ah3772-sa-7/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | -------------------------------------------------------------------------------- /elec/src/ah3772-sa-7/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 napowderly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /elec/src/ah3772-sa-7/README.md: -------------------------------------------------------------------------------- 1 | # ah3772-sa-7 2 | 3 | Wooohooo a new package! -------------------------------------------------------------------------------- /elec/src/ah3772-sa-7/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: elec/src/AH372-SA-7.ato:AH3772SA7 5 | dependencies: 6 | - generics 7 | 8 | services: 9 | components: https://atopile-component-server-atsuhzfd5a-uc.a.run.app/jlc 10 | -------------------------------------------------------------------------------- /elec/src/ah3772-sa-7/elec/footprints/footprints.kicad_sym: -------------------------------------------------------------------------------- 1 | (kicad_symbol_lib 2 | (symbol "AH372-SA-7" 3 | (in_bom yes) 4 | (on_board yes) 5 | (property 6 | "Reference" 7 | "U" 8 | (id 0) 9 | (at 0 7.62 0) 10 | (effects (font (size 1.27 1.27) ) ) 11 | ) 12 | (property 13 | "Value" 14 | "AH372-SA-7" 15 | (id 1) 16 | (at 0 -7.62 0) 17 | (effects (font (size 1.27 1.27) ) ) 18 | ) 19 | (property 20 | "Footprint" 21 | "footprints:SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR-CW" 22 | (id 2) 23 | (at 0 -10.16 0) 24 | (effects (font (size 1.27 1.27) ) hide) 25 | ) 26 | (property 27 | "LCSC Part" 28 | "C842124" 29 | (id 5) 30 | (at 0 -12.70 0) 31 | (effects (font (size 1.27 1.27) ) hide) 32 | ) 33 | (symbol "AH372-SA-7_0_1" 34 | (rectangle 35 | (start -3.81 5.08) 36 | (end 3.81 -5.08) 37 | (stroke (width 0) (type default) (color 0 0 0 0)) 38 | (fill (type background)) 39 | ) 40 | (circle 41 | (center -2.54 3.81) 42 | (radius 0.38) 43 | (stroke (width 0) (type default) (color 0 0 0 0)) 44 | (fill (type none)) 45 | ) 46 | (pin unspecified line 47 | (at -6.35 2.54 0) 48 | (length 2.54) 49 | (name "VDD" (effects (font (size 1.27 1.27)))) 50 | (number "1" (effects (font (size 1.27 1.27)))) 51 | ) 52 | (pin unspecified line 53 | (at -6.35 -0.00 0) 54 | (length 2.54) 55 | (name "GND" (effects (font (size 1.27 1.27)))) 56 | (number "2" (effects (font (size 1.27 1.27)))) 57 | ) 58 | (pin unspecified line 59 | (at -6.35 -2.54 0) 60 | (length 2.54) 61 | (name "OUT" (effects (font (size 1.27 1.27)))) 62 | (number "3" (effects (font (size 1.27 1.27)))) 63 | ) 64 | ) 65 | ) 66 | ) -------------------------------------------------------------------------------- /elec/src/ah3772-sa-7/elec/footprints/footprints.pretty/SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR-CW.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR-CW (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr through_hole) 3 | (fp_text reference REF** (at 0 -4.95) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR-CW (at 0 4.95) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start 0.76 0.30) (end 0.76 -0.30) (layer F.SilkS) (width 0.20)) 13 | (fp_line (start -0.65 -0.80) (end -0.65 -1.46) (layer F.SilkS) (width 0.25)) 14 | (fp_line (start -0.65 -1.46) (end -0.65 -0.80) (layer F.SilkS) (width 0.25)) 15 | (fp_line (start -0.65 -0.80) (end -0.65 -1.46) (layer F.SilkS) (width 0.25)) 16 | (fp_line (start -0.65 -1.46) (end 0.17 -1.46) (layer F.SilkS) (width 0.25)) 17 | (fp_line (start 0.17 1.46) (end -0.65 1.46) (layer F.SilkS) (width 0.25)) 18 | (fp_line (start -0.65 1.46) (end -0.65 0.80) (layer F.SilkS) (width 0.25)) 19 | (pad 2 smd rect (at -1.25 0.00 0.00) (size 1.15 0.70) (layers F.Cu F.Paste F.Mask)) 20 | (pad 3 smd rect (at 1.25 -0.95 0.00) (size 1.15 0.70) (layers F.Cu F.Paste F.Mask)) 21 | (pad 1 smd rect (at 1.25 0.95 0.00) (size 1.15 0.70) (layers F.Cu F.Paste F.Mask)) 22 | (fp_circle (center 1.20 1.45) (end 1.23 1.45) (layer F.Fab) (width 0.06)) 23 | (fp_circle (center 1.27 1.02) (end 1.40 1.02) (layer Cmts.User) (width 0.25)) 24 | (model "/Users/narayanpowderly/Documents/atopile-workspace/swoop/.ato/modules/ah3772-sa-7/elec/footprints/footprints.3dshapes/SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR-CW.wrl" 25 | (offset (xyz 0.000 -0.000 0.000)) 26 | (scale (xyz 1 1 1)) 27 | (rotate (xyz 0 0 0)) 28 | ) 29 | ) -------------------------------------------------------------------------------- /elec/src/ah3772-sa-7/elec/layout/default/ah3772-sa-7.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/ah3772-sa-7/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/ah3772-sa-7/elec/src/AH372-SA-7.ato: -------------------------------------------------------------------------------- 1 | import Capacitor from "generics/capacitors.ato" 2 | import Resistor from "generics/resistors.ato" 3 | import Power from "generics/interfaces.ato" 4 | import Pair from "generics/interfaces.ato" 5 | 6 | component _AH3772SA7: 7 | # component AH3772SA7 8 | footprint = "SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR-CW" 9 | lcsc_id = "C842135" 10 | mpn = "C842135" 11 | # pins 12 | signal VDD ~ pin 1 13 | signal GND ~ pin 2 14 | signal OUT ~ pin 3 15 | 16 | module AH3772SA7: 17 | # field strengths from -25G to 25G 18 | ic = new _AH3772SA7 19 | 20 | # Input voltage 3V to 28V 21 | # Typical supply current 3mA 22 | power = new Power 23 | power.vcc ~ ic.VDD 24 | power.gnd ~ ic.GND 25 | 26 | # Outputs voltage proportional to magnetic field 27 | output = new Pair 28 | output.io ~ ic.OUT 29 | output.gnd ~ ic.GND 30 | 31 | # Pull-up resistor 32 | pullup = new Resistor 33 | pullup.1 ~ ic.VDD 34 | pullup.2 ~ ic.OUT 35 | pullup.package = "0402" 36 | pullup.value = 1kohm +/- 5% 37 | 38 | # Bypass capacitor 39 | bypass = new Capacitor 40 | bypass.power ~ power 41 | bypass.package = "0402" 42 | bypass.value = 100nF +/- 10% 43 | -------------------------------------------------------------------------------- /elec/src/ah3772-sa-7/metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /elec/src/ams1117-33/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - name: Build 13 | uses: docker://ghcr.io/atopile/atopile-kicad 14 | 15 | - name: Upload Combined Artifacts 16 | uses: actions/upload-artifact@v3 17 | with: 18 | name: build 19 | path: build 20 | -------------------------------------------------------------------------------- /elec/src/ams1117-33/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | -------------------------------------------------------------------------------- /elec/src/ams1117-33/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 napowderly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /elec/src/ams1117-33/README.md: -------------------------------------------------------------------------------- 1 | # ams1117-33 2 | 3 | Wooohooo a new package! -------------------------------------------------------------------------------- /elec/src/ams1117-33/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: elec/src/ams1117-33.ato:AMS111733 5 | dependencies: 6 | - generics -------------------------------------------------------------------------------- /elec/src/ams1117-33/elec/footprints/footprints.kicad_sym: -------------------------------------------------------------------------------- 1 | (kicad_symbol_lib 2 | (symbol "AMS1117-3.3" 3 | (in_bom yes) 4 | (on_board yes) 5 | (property 6 | "Reference" 7 | "U" 8 | (id 0) 9 | (at 0 7.62 0) 10 | (effects (font (size 1.27 1.27) ) ) 11 | ) 12 | (property 13 | "Value" 14 | "AMS1117-3.3" 15 | (id 1) 16 | (at 0 -7.62 0) 17 | (effects (font (size 1.27 1.27) ) ) 18 | ) 19 | (property 20 | "Footprint" 21 | "footprints:SOT-223-3_L6.5-W3.4-P2.30-LS7.0-BR" 22 | (id 2) 23 | (at 0 -10.16 0) 24 | (effects (font (size 1.27 1.27) ) hide) 25 | ) 26 | (property 27 | "Datasheet" 28 | "https://lcsc.com/product-detail/Low-Dropout-Regulators-LDO_AMS_AMS1117-3-3_AMS1117-3-3_C6186.html" 29 | (id 3) 30 | (at 0 -12.70 0) 31 | (effects (font (size 1.27 1.27) ) hide) 32 | ) 33 | (property 34 | "LCSC Part" 35 | "C6186" 36 | (id 5) 37 | (at 0 -15.24 0) 38 | (effects (font (size 1.27 1.27) ) hide) 39 | ) 40 | (symbol "AMS1117-3.3_0_1" 41 | (rectangle 42 | (start -8.89 5.08) 43 | (end 8.89 -5.08) 44 | (stroke (width 0) (type default) (color 0 0 0 0)) 45 | (fill (type background)) 46 | ) 47 | (circle 48 | (center -7.62 3.81) 49 | (radius 0.38) 50 | (stroke (width 0) (type default) (color 0 0 0 0)) 51 | (fill (type none)) 52 | ) 53 | (pin unspecified line 54 | (at -11.43 2.54 0) 55 | (length 2.54) 56 | (name "GND" (effects (font (size 1.27 1.27)))) 57 | (number "1" (effects (font (size 1.27 1.27)))) 58 | ) 59 | (pin unspecified line 60 | (at -11.43 -0.00 0) 61 | (length 2.54) 62 | (name "VOUT" (effects (font (size 1.27 1.27)))) 63 | (number "2" (effects (font (size 1.27 1.27)))) 64 | ) 65 | (pin unspecified line 66 | (at -11.43 -2.54 0) 67 | (length 2.54) 68 | (name "VIN" (effects (font (size 1.27 1.27)))) 69 | (number "3" (effects (font (size 1.27 1.27)))) 70 | ) 71 | (pin unspecified line 72 | (at 11.43 -0.00 180) 73 | (length 2.54) 74 | (name "VOUT" (effects (font (size 1.27 1.27)))) 75 | (number "4" (effects (font (size 1.27 1.27)))) 76 | ) 77 | ) 78 | ) 79 | ) -------------------------------------------------------------------------------- /elec/src/ams1117-33/elec/footprints/footprints.pretty/SOT-223-3_L6.5-W3.4-P2.30-LS7.0-BR.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:SOT-223-3_L6.5-W3.4-P2.30-LS7.0-BR (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -6.3) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value SOT-223-3_L6.5-W3.4-P2.30-LS7.0-BR (at 0 6.3) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -1.57 3.33) (end -1.57 -3.33) (layer F.SilkS) (width 0.15)) 13 | (fp_line (start -1.57 -3.33) (end 1.37 -3.33) (layer F.SilkS) (width 0.15)) 14 | (fp_line (start 1.37 -3.33) (end 1.37 3.33) (layer F.SilkS) (width 0.15)) 15 | (fp_line (start 1.37 3.33) (end -1.57 3.33) (layer F.SilkS) (width 0.15)) 16 | (pad 1 smd rect (at 2.97 2.30 0.00) (size 2.50 1.10) (layers F.Cu F.Paste F.Mask)) 17 | (pad 2 smd rect (at 2.97 0.00 0.00) (size 2.50 1.10) (layers F.Cu F.Paste F.Mask)) 18 | (pad 3 smd rect (at 2.97 -2.30 0.00) (size 2.50 1.10) (layers F.Cu F.Paste F.Mask)) 19 | (pad 4 smd rect (at -2.97 0.00 0.00) (size 2.34 3.60) (layers F.Cu F.Paste F.Mask)) 20 | (fp_circle (center 3.40 3.25) (end 3.43 3.25) (layer F.Fab) (width 0.06)) 21 | (fp_circle (center 4.55 2.19) (end 4.80 2.19) (layer Cmts.User) (width 0.50)) 22 | (model "/Users/narayanpowderly/Documents/atopile-workspace/swoop/.ato/modules/ams1117-33/elec/footprints/footprints.3dshapes/SOT-223-4P_L6.5-W3.5-H1.6-LS7.0-P2.30.wrl" 23 | (offset (xyz -3.990 2.920 -0.000)) 24 | (scale (xyz 1 1 1)) 25 | (rotate (xyz 0 0 180)) 26 | ) 27 | ) -------------------------------------------------------------------------------- /elec/src/ams1117-33/elec/layout/default/ams1117-33.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/ams1117-33/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/ams1117-33/elec/src/ams1117-33.ato: -------------------------------------------------------------------------------- 1 | import Regulator from "generics/regulators.ato" 2 | import Capacitor from "generics/capacitors.ato" 3 | import Power from "generics/interfaces.ato" 4 | 5 | 6 | component _AMS1117_3_3: 7 | # component AMS1117-3.3 8 | footprint = "SOT-223-3_L6.5-W3.4-P2.30-LS7.0-BR" 9 | lcsc_id = "C6186" 10 | mpn = "C6186" 11 | # pins 12 | signal GND ~ pin 1 13 | signal VOUT ~ pin 2 14 | signal VIN ~ pin 3 15 | VOUT ~ pin 4 16 | 17 | power_out = new Power 18 | power_out.vcc ~ VOUT 19 | power_out.gnd ~ GND 20 | 21 | power_in = new Power 22 | power_in.vcc ~ VIN 23 | power_in.gnd ~ GND 24 | 25 | 26 | module AMS111733 from Regulator: 27 | ic = new _AMS1117_3_3 28 | power_in ~ ic.power_in 29 | power_out ~ ic.power_out 30 | 31 | input_cap = new Capacitor 32 | input_cap.value = 10uF +/- 20% 33 | power_in ~ input_cap.power 34 | input_cap.package = "0805" 35 | 36 | output_cap = new Capacitor 37 | output_cap.value = 10uF +/- 20% 38 | power_out ~ output_cap.power 39 | output_cap.package = "0805" 40 | -------------------------------------------------------------------------------- /elec/src/ams1117-33/metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /elec/src/batteries/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | -------------------------------------------------------------------------------- /elec/src/batteries/README.md: -------------------------------------------------------------------------------- 1 | # Battery connections 2 | 3 | ## Installation 4 | Run in the terminal: 5 | 6 | ```ato install batteries``` 7 | 8 | Add the battery connectors to your project: 9 | 10 | ```import BatteryJST from "batteries/batteries.ato"``` 11 | ```import Battery18650 from "batteries/batteries.ato"``` 12 | ```import BatteryCR2032 from "batteries/batteries.ato"``` 13 | 14 | Feel free to add other battery modules to the repo through a pull request! 15 | 16 | ## 18650 holder 17 | ![18650 holder](https://assets.lcsc.com/images/lcsc/900x900/20230121_MYOUNG-BH-18650-A1AJ005_C5290176_front.jpg) 18 | 19 | ## JST GH Connector 20 | ![jst_gh](https://assets.lcsc.com/images/lcsc/900x900/20230108_JST-S2B-PH-SM4-TB-LF-SN_C295747_front.jpg) 21 | 22 | ## Coin cell holder 23 | ![coin cell](https://assets.lcsc.com/images/lcsc/900x900/20230105_MYOUNG-BS-02-A1AJ010_C5239862_front.jpg) 24 | 25 | ## Features 26 | 27 | - **Power interface:** Hook the battery up to your circuit 28 | 29 | ## Documentation & Resources 30 | 31 | - [LCSC part number for the 18650 holder](https://www.lcsc.com/product-detail/Battery-Connectors_MYOUNG-BH-18650-A1AJ005_C5290176.html) 32 | - [LCSC part number for the JST GH connector](https://www.lcsc.com/product-detail/Wire-To-Board-Wire-To-Wire-Connector_JST-S2B-PH-SM4-TB-LF-SN_C295747.html) 33 | - [LCSC part number for the coin cell holder](https://www.lcsc.com/product-detail/Battery-Connectors_MYOUNG-BS-02-A1AJ010_C5239862.html) 34 | 35 | 36 | ## Contributing 37 | 38 | Contribute to this package using pull requests. 39 | 40 | ## License 41 | 42 | This battery connector module is provided under the [MIT License](https://opensource.org/license/mit/). 43 | 44 | ## Contact 45 | 46 | For further inquiries or support, please contact me at [narayan@atopile.io](mailto:narayan@atopile.io). 47 | -------------------------------------------------------------------------------- /elec/src/batteries/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: v0.3.0 2 | dependencies: 3 | - generics 4 | -------------------------------------------------------------------------------- /elec/src/batteries/batteries.ato: -------------------------------------------------------------------------------- 1 | import Power from "generics/interfaces.ato" 2 | 3 | module Battery: 4 | power = new Power 5 | 6 | module BatteryCR2032 from Battery: 7 | conn = new _BS_02_A1AJ010 8 | conn.vcc ~ power.vcc 9 | conn.gnd ~ power.gnd 10 | 11 | module Battery18650 from Battery: 12 | conn = new _BH_18650_A1AJ005 13 | conn.vcc ~ power.vcc 14 | conn.gnd ~ power.gnd 15 | 16 | module BatteryJST from Battery: 17 | conn = new _JST_GH_2P 18 | conn.vcc ~ power.vcc 19 | conn.gnd ~ power.gnd 20 | 21 | component _BH_18650_A1AJ005: 22 | # component BH-18650-A1AJ005 23 | footprint = "BAT-TH_BH-18650-A1AJ005" 24 | mpn = "C5290176" 25 | # pins 26 | signal gnd ~ pin 1 27 | signal vcc ~ pin 2 28 | 29 | component _JST_GH_2P: 30 | signal gnd ~ pin 1 31 | signal vcc ~ pin 2 32 | mpn = "C295747" 33 | footprint = "CONN-SMD_P2.00_S2B-PH-SM4-TB-LF-SN" 34 | 35 | component _BS_02_A1AJ010: 36 | # component BS-02-A1AJ010 37 | footprint = "BAT-TH_BS-02-A1AJ010" 38 | lcsc_id = "C5239862" 39 | mpn = "C5239862" 40 | # pins 41 | signal vcc ~ pin 2 42 | signal gnd ~ pin 1 43 | -------------------------------------------------------------------------------- /elec/src/batteries/data/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/elec/src/batteries/data/.gitkeep -------------------------------------------------------------------------------- /elec/src/batteries/elec/footprints/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/elec/src/batteries/elec/footprints/.gitkeep -------------------------------------------------------------------------------- /elec/src/batteries/elec/footprints/BAT-TH_BH-18650-A1AJ005.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:BAT-TH_BH-18650-A1AJ005 (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr through_hole) 3 | (fp_text reference REF** (at 0 -4.0) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value BAT-TH_BH-18650-A1AJ005 (at 0 4.0) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -33.15 -3.56) (end -33.15 4.06) (layer F.SilkS) (width 0.25)) 13 | (fp_line (start -33.15 4.06) (end -31.50 -3.43) (layer F.SilkS) (width 0.25)) 14 | (fp_line (start -31.50 -3.43) (end -31.50 3.30) (layer F.SilkS) (width 0.25)) 15 | (fp_line (start -31.50 3.30) (end -29.72 -2.79) (layer F.SilkS) (width 0.25)) 16 | (fp_line (start -29.72 -2.79) (end -29.72 2.54) (layer F.SilkS) (width 0.25)) 17 | (fp_line (start -29.72 2.54) (end -27.94 -2.03) (layer F.SilkS) (width 0.25)) 18 | (fp_line (start -27.94 -2.03) (end -27.94 1.78) (layer F.SilkS) (width 0.25)) 19 | (fp_line (start -27.94 1.78) (end -26.04 -1.40) (layer F.SilkS) (width 0.25)) 20 | (fp_line (start -26.04 -1.40) (end -26.04 0.89) (layer F.SilkS) (width 0.25)) 21 | (fp_line (start 37.85 -10.54) (end 37.85 10.54) (layer F.SilkS) (width 0.25)) 22 | (fp_line (start 37.85 10.54) (end -37.85 10.54) (layer F.SilkS) (width 0.25)) 23 | (fp_line (start -37.85 10.54) (end -37.85 -10.54) (layer F.SilkS) (width 0.25)) 24 | (fp_line (start -37.85 -10.54) (end 37.85 -10.54) (layer F.SilkS) (width 0.25)) 25 | (pad 1 thru_hole circle (at -35.00 0.00 0.00) (size 1.60 1.60) (layers *.Cu *.Mask)(drill 1.0200131999999997)) 26 | (pad 2 thru_hole circle (at 35.00 0.00 0.00) (size 1.60 1.60) (layers *.Cu *.Mask)(drill 1.0200131999999997)) 27 | (fp_circle (center -37.75 10.50) (end -37.72 10.50) (layer F.Fab) (width 0.06)) 28 | (model "/Users/narayanpowderly/Documents/atopile-workspace/blurp/.ato/modules/batteries/elec/footprints/footprints.3dshapes/BAT-TH_BH-18650-A1AJ005.wrl" 29 | (offset (xyz 0.000 -0.000 0.000)) 30 | (scale (xyz 1 1 1)) 31 | (rotate (xyz 0 0 0)) 32 | ) 33 | ) -------------------------------------------------------------------------------- /elec/src/batteries/elec/footprints/BAT-TH_BS-02-A1AJ010.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:BAT-TH_BS-02-A1AJ010 (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr through_hole) 3 | (fp_text reference REF** (at 0 -4.0) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value BAT-TH_BS-02-A1AJ010 (at 0 4.0) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start 8.32 -3.80) (end 11.36 -3.80) (layer F.SilkS) (width 0.25)) 13 | (fp_line (start 11.36 -3.80) (end 11.36 3.81) (layer F.SilkS) (width 0.25)) 14 | (fp_line (start 11.36 3.81) (end 8.31 3.81) (layer F.SilkS) (width 0.25)) 15 | (pad 1 thru_hole circle (at -10.00 -0.00 0.00) (size 1.80 1.80) (layers *.Cu *.Mask)(drill 1.1999975999999999)) 16 | (pad 2 thru_hole circle (at 10.00 -0.00 0.00) (size 1.80 1.80) (layers *.Cu *.Mask)(drill 1.1999975999999999)) 17 | (fp_circle (center -13.15 11.07) (end -13.12 11.07) (layer F.Fab) (width 0.06)) 18 | (fp_arc (start -2.10 -0.01) (end 8.32 3.78) (angle 320.03) (layer F.SilkS) (width 0.25)) 19 | (model "/Users/narayanpowderly/Documents/atopile-workspace/christmas-ornaments/.ato/modules/batteries/elec/footprints/footprints.3dshapes/BAT-TH_BS-02-A1AJ010.wrl" 20 | (offset (xyz -0.850 -0.000 0.000)) 21 | (scale (xyz 1 1 1)) 22 | (rotate (xyz 0 0 0)) 23 | ) 24 | ) -------------------------------------------------------------------------------- /elec/src/batteries/elec/footprints/CONN-SMD_P2.00_S2B-PH-SM4-TB-LF-SN.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:CONN-SMD_P2.00_S2B-PH-SM4-TB-LF-SN (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -6.93) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value CONN-SMD_P2.00_S2B-PH-SM4-TB-LF-SN (at 0 6.93) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -1.73 -1.64) (end -3.00 -1.64) (layer F.SilkS) (width 0.25)) 13 | (fp_line (start -3.00 -1.64) (end -3.00 -3.22) (layer F.SilkS) (width 0.25)) 14 | (fp_line (start -3.00 -3.22) (end -3.95 -3.22) (layer F.SilkS) (width 0.25)) 15 | (fp_line (start 0.27 -1.65) (end -0.27 -1.65) (layer F.SilkS) (width 0.25)) 16 | (fp_line (start 3.95 -3.22) (end 3.00 -3.22) (layer F.SilkS) (width 0.25)) 17 | (fp_line (start 3.00 -3.22) (end 3.00 -1.65) (layer F.SilkS) (width 0.25)) 18 | (fp_line (start 3.00 -1.65) (end 1.73 -1.65) (layer F.SilkS) (width 0.25)) 19 | (fp_line (start 3.95 -3.22) (end 3.95 1.00) (layer F.SilkS) (width 0.25)) 20 | (fp_line (start 2.40 4.38) (end -2.40 4.38) (layer F.SilkS) (width 0.25)) 21 | (fp_line (start -3.95 -3.22) (end -3.95 1.00) (layer F.SilkS) (width 0.25)) 22 | (pad 1 smd rect (at -1.00 -2.93 0.00) (size 1.00 3.80) (layers F.Cu F.Paste F.Mask)) 23 | (pad 2 smd rect (at 1.00 -2.93 0.00) (size 1.00 3.80) (layers F.Cu F.Paste F.Mask)) 24 | (pad 3 smd rect (at 3.35 2.93 0.00) (size 1.50 3.40) (layers F.Cu F.Paste F.Mask)) 25 | (pad 4 smd rect (at -3.35 2.93 0.00) (size 1.50 3.40) (layers F.Cu F.Paste F.Mask)) 26 | (fp_circle (center -3.95 -4.23) (end -3.92 -4.23) (layer F.Fab) (width 0.06)) 27 | (model "/elec/lib/lib.3dshapes/CONN-SMD_P2.00_S2B-PH-SM4-TB-LF-SN.wrl" 28 | (offset (xyz 0.000 -0.100 -0.000)) 29 | (scale (xyz 1 1 1)) 30 | (rotate (xyz 0 0 0)) 31 | ) 32 | ) -------------------------------------------------------------------------------- /elec/src/batteries/elec/src/BH-18650-A1AJ005.ato: -------------------------------------------------------------------------------- 1 | component BH_18650_A1AJ005: 2 | # component BH-18650-A1AJ005 3 | footprint = "BAT-TH_BH-18650-A1AJ005" 4 | lcsc_id = "C5290176" 5 | # pins 6 | signal _1 ~ pin 1 7 | signal _2 ~ pin 2 8 | 9 | -------------------------------------------------------------------------------- /elec/src/batteries/firmware/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/elec/src/batteries/firmware/.gitkeep -------------------------------------------------------------------------------- /elec/src/bmi088/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - name: Build 13 | uses: docker://ghcr.io/atopile/atopile-kicad 14 | 15 | - name: Upload Combined Artifacts 16 | uses: actions/upload-artifact@v3 17 | with: 18 | name: build 19 | path: build 20 | -------------------------------------------------------------------------------- /elec/src/bmi088/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | -------------------------------------------------------------------------------- /elec/src/bmi088/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 napowderly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /elec/src/bmi088/README.md: -------------------------------------------------------------------------------- 1 | # bmi088 2 | 3 | Wooohooo a new package! -------------------------------------------------------------------------------- /elec/src/bmi088/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: elec/src/bmi088.ato:BMI088 5 | dependencies: 6 | - generics -------------------------------------------------------------------------------- /elec/src/bmi088/elec/layout/default/bmi088.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/bmi088/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/bmi088/metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /elec/src/bno055/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - name: Build 13 | uses: docker://ghcr.io/atopile/atopile-kicad 14 | 15 | - name: Upload Combined Artifacts 16 | uses: actions/upload-artifact@v3 17 | with: 18 | name: build 19 | path: build 20 | -------------------------------------------------------------------------------- /elec/src/bno055/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | -------------------------------------------------------------------------------- /elec/src/bno055/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 napowderly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /elec/src/bno055/README.md: -------------------------------------------------------------------------------- 1 | # bno055 2 | 3 | Wooohooo a new package! -------------------------------------------------------------------------------- /elec/src/bno055/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: elec/src/bno055.ato:BNO055 5 | dependencies: 6 | - generics -------------------------------------------------------------------------------- /elec/src/bno055/elec/footprints/footprints.pretty/FC-135R_L3.2-W1.5.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:FC-135R_L3.2-W1.5 (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -4.0) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value FC-135R_L3.2-W1.5 (at 0 4.0) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -0.51 -0.76) (end 0.51 -0.76) (layer F.SilkS) (width 0.25)) 13 | (fp_line (start 0.51 0.76) (end -0.51 0.76) (layer F.SilkS) (width 0.25)) 14 | (pad 1 smd rect (at -1.25 0.00 90.00) (size 1.80 1.00) (layers F.Cu F.Paste F.Mask)) 15 | (pad 2 smd rect (at 1.25 0.00 90.00) (size 1.80 1.00) (layers F.Cu F.Paste F.Mask)) 16 | (fp_circle (center -1.75 0.90) (end -1.72 0.90) (layer F.Fab) (width 0.06)) 17 | (model "/Users/narayanpowderly/Documents/atopile-workspace/bno055/elec/footprints/footprints.3dshapes/SMD-3215_2P_L3.2-W1.5-H0.8.wrl" 18 | (offset (xyz 0.000 -0.000 -0.000)) 19 | (scale (xyz 1 1 1)) 20 | (rotate (xyz 0 0 0)) 21 | ) 22 | ) -------------------------------------------------------------------------------- /elec/src/bno055/elec/layout/default/bno055.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/bno055/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/bno055/elec/src/Q13FC1350000400.ato: -------------------------------------------------------------------------------- 1 | component Q13FC1350000400: 2 | # component Q13FC1350000400 3 | footprint = "FC-135R_L3.2-W1.5" 4 | lcsc_id = "C32346" 5 | mpn = "C32346" 6 | # pins 7 | signal xin ~ pin 1 8 | signal xout ~ pin 2 9 | 10 | -------------------------------------------------------------------------------- /elec/src/bno055/metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /elec/src/bq24045dsqr/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - name: Build 13 | uses: docker://ghcr.io/atopile/atopile-kicad 14 | 15 | - name: Upload Combined Artifacts 16 | uses: actions/upload-artifact@v3 17 | with: 18 | name: build 19 | path: build 20 | -------------------------------------------------------------------------------- /elec/src/bq24045dsqr/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | -------------------------------------------------------------------------------- /elec/src/bq24045dsqr/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 napowderly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /elec/src/bq24045dsqr/README.md: -------------------------------------------------------------------------------- 1 | # bq24045dsqr 2 | 3 | Wooohooo a new package! -------------------------------------------------------------------------------- /elec/src/bq24045dsqr/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: elec/src/bq24045dsqr.ato:BQ24040DSQR 5 | dependencies: 6 | - generics 7 | 8 | services: 9 | components: https://atopile-component-server-atsuhzfd5a-uc.a.run.app/jlc 10 | -------------------------------------------------------------------------------- /elec/src/bq24045dsqr/elec/footprints/footprints.pretty/WSON-10_L2.0-W2.0-P0.40-BL-EP.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:WSON-10_L2.0-W2.0-P0.40-BL-EP (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -4.93) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value WSON-10_L2.0-W2.0-P0.40-BL-EP (at 0 4.93) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -1.08 1.08) (end -1.08 -1.08) (layer F.SilkS) (width 0.15)) 13 | (fp_line (start 1.08 -1.08) (end 1.08 1.08) (layer F.SilkS) (width 0.15)) 14 | (pad 1 smd rect (at -0.80 0.93 0.00) (size 0.22 0.51) (layers F.Cu F.Paste F.Mask)) 15 | (pad 2 smd rect (at -0.40 0.93 0.00) (size 0.22 0.51) (layers F.Cu F.Paste F.Mask)) 16 | (pad 3 smd rect (at 0.00 0.93 0.00) (size 0.22 0.51) (layers F.Cu F.Paste F.Mask)) 17 | (pad 4 smd rect (at 0.40 0.93 0.00) (size 0.22 0.51) (layers F.Cu F.Paste F.Mask)) 18 | (pad 5 smd rect (at 0.80 0.93 0.00) (size 0.22 0.51) (layers F.Cu F.Paste F.Mask)) 19 | (pad 10 smd rect (at -0.80 -0.93 0.00) (size 0.22 0.51) (layers F.Cu F.Paste F.Mask)) 20 | (pad 9 smd rect (at -0.40 -0.93 0.00) (size 0.22 0.51) (layers F.Cu F.Paste F.Mask)) 21 | (pad 8 smd rect (at 0.00 -0.93 0.00) (size 0.22 0.51) (layers F.Cu F.Paste F.Mask)) 22 | (pad 7 smd rect (at 0.40 -0.93 0.00) (size 0.22 0.51) (layers F.Cu F.Paste F.Mask)) 23 | (pad 6 smd rect (at 0.80 -0.93 0.00) (size 0.22 0.51) (layers F.Cu F.Paste F.Mask)) 24 | (pad 11 smd rect (at 0.00 0.00 0.00) (size 1.50 0.90) (layers F.Cu F.Paste F.Mask)) 25 | (fp_circle (center -0.80 1.48) (end -0.70 1.48) (layer F.SilkS) (width 0.20)) 26 | (fp_circle (center -0.80 1.40) (end -0.65 1.40) (layer Cmts.User) (width 0.30)) 27 | (fp_circle (center -1.00 1.00) (end -0.97 1.00) (layer F.Fab) (width 0.06)) 28 | (model "/Users/narayanpowderly/Documents/atopile-workspace/swoop/.ato/modules/bq24045dsqr/elec/footprints/footprints.3dshapes/WSON-10_L2.0-W2.0-H0.8-P0.40.wrl" 29 | (offset (xyz -913.600 686.850 -0.000)) 30 | (scale (xyz 1 1 1)) 31 | (rotate (xyz 0 0 0)) 32 | ) 33 | ) -------------------------------------------------------------------------------- /elec/src/bq24045dsqr/elec/layout/default/bq24045dsqr.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/bq24045dsqr/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/bq24045dsqr/metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /elec/src/debug.ato: -------------------------------------------------------------------------------- 1 | import Swoop from "swoop.ato" 2 | import SaleaeHeader from "saleae-header/saleae-header.ato" 3 | import Pair from "generics/interfaces.ato" 4 | import Power from "generics/interfaces.ato" 5 | import VDiv from "generics/vdivs.ato" 6 | from "generics/leds.ato" import LEDIndicatorRed, LEDIndicatorGreen, LEDIndicatorBlue 7 | 8 | module Debug: 9 | """ 10 | Swoop debug build with test points and saleae headers 11 | """ 12 | swoop = new Swoop 13 | 14 | battery_indicator = new LEDIndicatorRed 15 | power5V_indicator = new LEDIndicatorGreen 16 | power3V3_indicator = new LEDIndicatorBlue 17 | 18 | # Connect LEDs 19 | swoop.power_supply.power3v3 ~ power3V3_indicator.power 20 | swoop.power_supply.power5v ~ power5V_indicator.power 21 | swoop.power_supply.battery.power ~ battery_indicator.power 22 | 23 | # Configure leds 24 | power3V3_indicator.v_in = 3.3V +/- 5% 25 | power3V3_indicator.current = 1mA to 3mA 26 | power5V_indicator.v_in = 5V +/- 5% 27 | power5V_indicator.current = 1mA to 3mA 28 | battery_indicator.v_in = 4.2V +/- 5% 29 | battery_indicator.current = 1mA to 3mA 30 | 31 | 32 | saleae1 = new SaleaeHeader 33 | saleae2 = new SaleaeHeader 34 | saleae3 = new SaleaeHeader 35 | saleae4 = new SaleaeHeader 36 | saleae5 = new SaleaeHeader 37 | saleae6 = new SaleaeHeader 38 | 39 | pot = new _RK09K1130AJ3 40 | 41 | # I2c: ch0 = SDA, ch1 = SCL 42 | # UART: ch2 = TX, ch3 = RX 43 | 44 | swoop.radio.uart ~ saleae1.uart 45 | swoop.imu.i2c ~ saleae1.i2c 46 | swoop.imu.interrupt ~ saleae2.ch0 47 | 48 | swoop.ios.led_din ~ saleae2.ch1 49 | swoop.ios.usb2 ~ saleae2.usb2 50 | swoop.ios.power_btn ~ saleae3.ch0 51 | swoop.ios.menu_btn ~ saleae3.ch1 52 | 53 | swoop.power_supply.power3v3 ~ saleae4.ch0 54 | swoop.power_supply.power5v ~ saleae4.ch1 55 | swoop.power_supply.battery.power ~ saleae4.ch2 56 | 57 | swoop.radio._radio.spi ~ saleae5.spi 58 | swoop.radio._radio.data1 ~ saleae6.ch0 59 | swoop.radio._radio.data2 ~ saleae6.ch1 60 | swoop.radio._radio.data3 ~ saleae6.ch2 61 | swoop.radio._radio.busy ~ saleae6.ch3 62 | 63 | swoop.power3v3 ~ pot.power 64 | swoop.micro.micro.gpio23 ~ pot.output.io 65 | 66 | component _RK09K1130AJ3: 67 | # component RK09K1130AJ3 68 | footprint = "RES-ADJ-TH_RK09K1130AJ3" 69 | lcsc_id = "C388854" 70 | mpn = "C388854" 71 | # pins 72 | output = new Pair 73 | power = new Power 74 | power.gnd ~ pin 1 75 | output.io ~ pin 2 76 | power.vcc ~ pin 3 77 | 78 | power.gnd ~ output.gnd -------------------------------------------------------------------------------- /elec/src/drv2605ldgsr/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - name: Build 13 | uses: docker://ghcr.io/atopile/atopile-kicad 14 | 15 | - name: Upload Combined Artifacts 16 | uses: actions/upload-artifact@v3 17 | with: 18 | name: build 19 | path: build 20 | -------------------------------------------------------------------------------- /elec/src/drv2605ldgsr/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | -------------------------------------------------------------------------------- /elec/src/drv2605ldgsr/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 napowderly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /elec/src/drv2605ldgsr/README.md: -------------------------------------------------------------------------------- 1 | # drv2605ldgsr 2 | 3 | Wooohooo a new package! -------------------------------------------------------------------------------- /elec/src/drv2605ldgsr/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: elec/src/drv2605ldgsr.ato:DRV2605 5 | dependencies: 6 | - generics -------------------------------------------------------------------------------- /elec/src/drv2605ldgsr/elec/footprints/footprints.pretty/VSSOP-10_L3.0-W3.0-P0.50-LS4.9-BL.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:VSSOP-10_L3.0-W3.0-P0.50-LS4.9-BL (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -6.35) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value VSSOP-10_L3.0-W3.0-P0.50-LS4.9-BL (at 0 6.35) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -1.58 -1.53) (end 1.52 -1.53) (layer F.SilkS) (width 0.15)) 13 | (fp_line (start 1.52 1.57) (end 1.52 -1.53) (layer F.SilkS) (width 0.15)) 14 | (fp_line (start -1.58 1.56) (end 1.52 1.56) (layer F.SilkS) (width 0.15)) 15 | (fp_line (start -1.60 -1.53) (end -1.60 -0.70) (layer F.SilkS) (width 0.15)) 16 | (fp_line (start -1.60 0.73) (end -1.60 1.56) (layer F.SilkS) (width 0.15)) 17 | (pad 1 smd rect (at -1.00 2.35 0.00) (size 0.30 1.30) (layers F.Cu F.Paste F.Mask)) 18 | (pad 2 smd rect (at -0.50 2.35 0.00) (size 0.30 1.30) (layers F.Cu F.Paste F.Mask)) 19 | (pad 3 smd rect (at -0.00 2.35 0.00) (size 0.30 1.30) (layers F.Cu F.Paste F.Mask)) 20 | (pad 4 smd rect (at 0.50 2.35 0.00) (size 0.30 1.30) (layers F.Cu F.Paste F.Mask)) 21 | (pad 5 smd rect (at 1.00 2.35 0.00) (size 0.30 1.30) (layers F.Cu F.Paste F.Mask)) 22 | (pad 6 smd rect (at 1.00 -2.35 0.00) (size 0.30 1.30) (layers F.Cu F.Paste F.Mask)) 23 | (pad 7 smd rect (at 0.50 -2.35 0.00) (size 0.30 1.30) (layers F.Cu F.Paste F.Mask)) 24 | (pad 8 smd rect (at 0.00 -2.35 0.00) (size 0.30 1.30) (layers F.Cu F.Paste F.Mask)) 25 | (pad 9 smd rect (at -0.50 -2.35 0.00) (size 0.30 1.30) (layers F.Cu F.Paste F.Mask)) 26 | (pad 10 smd rect (at -1.00 -2.35 0.00) (size 0.30 1.30) (layers F.Cu F.Paste F.Mask)) 27 | (fp_circle (center -1.50 2.45) (end -1.47 2.45) (layer F.Fab) (width 0.06)) 28 | (fp_circle (center -0.99 2.72) (end -0.89 2.72) (layer Cmts.User) (width 0.20)) 29 | (fp_circle (center -1.52 1.98) (end -1.42 1.98) (layer F.SilkS) (width 0.20)) 30 | (fp_arc (start -1.81 0.03) (end -1.60 0.73) (angle -147.03) (layer F.SilkS) (width 0.15)) 31 | (model "/Users/narayanpowderly/Documents/atopile-workspace/swoop/.ato/modules/drv2605ldgsr/elec/footprints/footprints.3dshapes/VSSOP-10_L3.0-W3.0-H1.1-LS4.9-P0.50.wrl" 32 | (offset (xyz 0.000 -0.000 -0.000)) 33 | (scale (xyz 1 1 1)) 34 | (rotate (xyz 0 0 270)) 35 | ) 36 | ) -------------------------------------------------------------------------------- /elec/src/drv2605ldgsr/elec/layout/default/drv2605ldgsr.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/drv2605ldgsr/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/drv2605ldgsr/elec/src/drv2605ldgsr.ato: -------------------------------------------------------------------------------- 1 | import Power from "generics/interfaces.ato" 2 | import I2C from "generics/interfaces.ato" 3 | import Pair from "generics/interfaces.ato" 4 | import DiffPair from "generics/interfaces.ato" 5 | import Capacitor from "generics/capacitors.ato" 6 | 7 | component _DRV2605LDGSR: 8 | # component DRV2605LDGSR 9 | footprint = "VSSOP-10_L3.0-W3.0-P0.50-LS4.9-BL" 10 | lcsc_id = "C527464" 11 | mpn = "C527464" 12 | # pins 13 | signal REG ~ pin 1 14 | signal SCL ~ pin 2 15 | signal SDA ~ pin 3 16 | signal IN_TRIG ~ pin 4 17 | signal EN ~ pin 5 18 | signal VDD_NC ~ pin 6 19 | signal OUTP ~ pin 7 20 | signal GND ~ pin 8 21 | signal OUTN ~ pin 9 22 | signal VDD ~ pin 10 23 | 24 | 25 | i2c = new I2C 26 | i2c.scl ~ SCL 27 | i2c.sda ~ SDA 28 | i2c.gnd ~ GND 29 | 30 | power_vdd = new Power 31 | power_vdd.vcc ~ VDD 32 | power_vdd.gnd ~ GND 33 | 34 | power_reg = new Power 35 | power_reg.vcc ~ REG 36 | power_reg.gnd ~ GND 37 | 38 | output = new DiffPair 39 | output.p ~ OUTP 40 | output.n ~ OUTN 41 | 42 | 43 | module DRV2605: 44 | """ 45 | DRV2605 Haptic Driver for I2C controll of hapic motors. 46 | """ 47 | power = new Power 48 | i2c = new I2C 49 | ic = new _DRV2605LDGSR 50 | enable = new Pair 51 | output = new DiffPair 52 | 53 | # External connections 54 | power ~ ic.power_vdd 55 | power ~ ic.power_reg 56 | output ~ ic.output 57 | i2c ~ ic.i2c 58 | 59 | # Bypass caps 60 | reg_cap = new Capacitor 61 | reg_cap.value = 1uF +/- 20% 62 | reg_cap.package = "0402" 63 | reg_cap.power ~ ic.power_reg 64 | 65 | vdd_cap = new Capacitor 66 | vdd_cap.value = 1uF +/- 20% 67 | vdd_cap.package = "0402" 68 | vdd_cap.power ~ ic.power_vdd 69 | -------------------------------------------------------------------------------- /elec/src/drv2605ldgsr/metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /elec/src/drv5053raqdbzr/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - name: Build 13 | uses: docker://ghcr.io/atopile/atopile-kicad 14 | 15 | - name: Upload Combined Artifacts 16 | uses: actions/upload-artifact@v3 17 | with: 18 | name: build 19 | path: build 20 | -------------------------------------------------------------------------------- /elec/src/drv5053raqdbzr/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | -------------------------------------------------------------------------------- /elec/src/drv5053raqdbzr/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 napowderly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /elec/src/drv5053raqdbzr/README.md: -------------------------------------------------------------------------------- 1 | # drv5053raqdbzr 2 | 3 | Wooohooo a new package! -------------------------------------------------------------------------------- /elec/src/drv5053raqdbzr/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: elec/src/drv5053raqdbzr.ato:DRV5053RAQDBZR 5 | dependencies: 6 | - generics -------------------------------------------------------------------------------- /elec/src/drv5053raqdbzr/elec/footprints/footprints.kicad_sym: -------------------------------------------------------------------------------- 1 | (kicad_symbol_lib 2 | (symbol "DRV5053RAQDBZR" 3 | (in_bom yes) 4 | (on_board yes) 5 | (property 6 | "Reference" 7 | "U" 8 | (id 0) 9 | (at 0 7.62 0) 10 | (effects (font (size 1.27 1.27) ) ) 11 | ) 12 | (property 13 | "Value" 14 | "DRV5053RAQDBZR" 15 | (id 1) 16 | (at 0 -7.62 0) 17 | (effects (font (size 1.27 1.27) ) ) 18 | ) 19 | (property 20 | "Footprint" 21 | "footprints:SOT-23-3_L2.9-W1.3-P0.95-LS2.4-BR" 22 | (id 2) 23 | (at 0 -10.16 0) 24 | (effects (font (size 1.27 1.27) ) hide) 25 | ) 26 | (property 27 | "LCSC Part" 28 | "C2654960" 29 | (id 5) 30 | (at 0 -12.70 0) 31 | (effects (font (size 1.27 1.27) ) hide) 32 | ) 33 | (symbol "DRV5053RAQDBZR_0_1" 34 | (rectangle 35 | (start -3.81 5.08) 36 | (end 3.81 -5.08) 37 | (stroke (width 0) (type default) (color 0 0 0 0)) 38 | (fill (type background)) 39 | ) 40 | (circle 41 | (center -2.54 3.81) 42 | (radius 0.38) 43 | (stroke (width 0) (type default) (color 0 0 0 0)) 44 | (fill (type none)) 45 | ) 46 | (pin unspecified line 47 | (at -6.35 2.54 0) 48 | (length 2.54) 49 | (name "VCC" (effects (font (size 1.27 1.27)))) 50 | (number "1" (effects (font (size 1.27 1.27)))) 51 | ) 52 | (pin unspecified line 53 | (at -6.35 -0.00 0) 54 | (length 2.54) 55 | (name "OUT" (effects (font (size 1.27 1.27)))) 56 | (number "2" (effects (font (size 1.27 1.27)))) 57 | ) 58 | (pin unspecified line 59 | (at -6.35 -2.54 0) 60 | (length 2.54) 61 | (name "GND" (effects (font (size 1.27 1.27)))) 62 | (number "3" (effects (font (size 1.27 1.27)))) 63 | ) 64 | ) 65 | ) 66 | ) -------------------------------------------------------------------------------- /elec/src/drv5053raqdbzr/elec/footprints/footprints.pretty/SOT-23-3_L2.9-W1.3-P0.95-LS2.4-BR.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:SOT-23-3_L2.9-W1.3-P0.95-LS2.4-BR (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -4.95) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value SOT-23-3_L2.9-W1.3-P0.95-LS2.4-BR (at 0 4.95) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start 0.73 -1.53) (end -0.73 -1.53) (layer F.SilkS) (width 0.15)) 13 | (fp_line (start -0.73 -1.53) (end -0.73 -0.49) (layer F.SilkS) (width 0.15)) 14 | (fp_line (start 0.73 1.53) (end -0.73 1.53) (layer F.SilkS) (width 0.15)) 15 | (fp_line (start -0.73 1.53) (end -0.73 0.49) (layer F.SilkS) (width 0.15)) 16 | (fp_line (start 0.73 -0.46) (end 0.73 0.46) (layer F.SilkS) (width 0.15)) 17 | (pad 1 smd rect (at 1.00 0.95 0.00) (size 1.25 0.70) (layers F.Cu F.Paste F.Mask)) 18 | (pad 2 smd rect (at 1.00 -0.95 0.00) (size 1.25 0.70) (layers F.Cu F.Paste F.Mask)) 19 | (pad 3 smd rect (at -1.00 0.00 0.00) (size 1.25 0.70) (layers F.Cu F.Paste F.Mask)) 20 | (fp_circle (center 1.20 1.45) (end 1.23 1.45) (layer F.Fab) (width 0.06)) 21 | (fp_circle (center 1.45 0.95) (end 1.55 0.95) (layer Cmts.User) (width 0.20)) 22 | (model "/Users/narayanpowderly/Documents/atopile-workspace/swoop/.ato/modules/drv5053raqdbzr/elec/footprints/footprints.3dshapes/SOT-23-3P_L2.9-W1.3-H1.0-LS2.4-P0.95.wrl" 23 | (offset (xyz -861.570 843.280 -0.000)) 24 | (scale (xyz 1 1 1)) 25 | (rotate (xyz 0 0 180)) 26 | ) 27 | ) -------------------------------------------------------------------------------- /elec/src/drv5053raqdbzr/elec/layout/default/drv5053raqdbzr.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/drv5053raqdbzr/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/drv5053raqdbzr/elec/src/drv5053raqdbzr.ato: -------------------------------------------------------------------------------- 1 | from "generics/interfaces.ato" import Power, Pair 2 | from "generics/capacitors.ato" import Capacitor 3 | from "generics/filters.ato" import LowPassFilter 4 | 5 | component _DRV5053RAQDBZR: 6 | # component DRV5053RAQDBZR 7 | footprint = "SOT-23-3_L2.9-W1.3-P0.95-LS2.4-BR" 8 | lcsc_id = "C2654960" 9 | mpn = "C2654960" 10 | # pins 11 | power = new Power 12 | output = new Pair 13 | power.vcc ~ pin 1 14 | output.io ~ pin 2 15 | power.gnd ~ pin 3 16 | output.gnd ~ power.gnd 17 | 18 | module DRV5053RAQDBZR: 19 | power = new Power 20 | output = new Pair 21 | ic = new _DRV5053RAQDBZR 22 | bypass_cap = new Capacitor 23 | output_filter = new LowPassFilter 24 | 25 | # Power 26 | power ~ ic.power 27 | power ~ bypass_cap.power 28 | 29 | # Low pass filter 30 | ic.output ~ output_filter.input 31 | output ~ output_filter.output 32 | 33 | # Bypass cap 34 | bypass_cap.value = 100nF +/- 20% 35 | bypass_cap.package = "0402" 36 | output_filter.cutoff_frequency = 500Hz +/- 20% 37 | # power.voltage = 10V 38 | 39 | # assert power.voltage within 2.5V to 38V 40 | -------------------------------------------------------------------------------- /elec/src/drv5053raqdbzr/firmware/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/elec/src/drv5053raqdbzr/firmware/.gitkeep -------------------------------------------------------------------------------- /elec/src/drv5053raqdbzr/metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /elec/src/esp32-s3/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - name: Build 13 | uses: docker://ghcr.io/atopile/atopile-kicad 14 | 15 | - name: Upload Combined Artifacts 16 | uses: actions/upload-artifact@v3 17 | with: 18 | name: build 19 | path: build 20 | -------------------------------------------------------------------------------- /elec/src/esp32-s3/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | -------------------------------------------------------------------------------- /elec/src/esp32-s3/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Timothee Peter 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /elec/src/esp32-s3/README.md: -------------------------------------------------------------------------------- 1 | ## Overview 2 | 3 | The ESP32-S3 is a powerful, versatile microcontroller designed for IoT applications. It features dual-core Xtensa LX7 processors, Wi-Fi and Bluetooth 5 connectivity, rich I/O capabilities, and enhanced security features, making it ideal for smart home devices, wearable electronics, and automated systems requiring efficient processing and wireless communication. 4 | 5 | ![ESP32-S3](https://firebasestorage.googleapis.com/v0/b/atopile.appspot.com/o/esp32-s3.png?alt=media&token=7047e466-db4b-4756-bb38-15589d830f78 "ESP32-S3") 6 | 7 | ## Usage Example 8 | 9 | ``` 10 | import ESP32 from "esp32/esp32.ato" 11 | import Power from "generics/interfaces.ato" 12 | 13 | module my_project: 14 | power3v3 = new Power 15 | micro = new ESP32 16 | micro.power ~ power3v3 17 | 18 | ``` 19 | 20 | ## Features 21 | Power interface: 3.3V input 22 | SPI interface: 4-wire SPI 23 | I2C interface 24 | JTAG interface 25 | 26 | ## Contributing 27 | Contribute to this package using pull requests. 28 | 29 | ## License 30 | This battery connector module is provided under the MIT License. 31 | 32 | ## Contact 33 | For further inquiries or support, please contact me at narayan@atopile.io. 34 | 35 | 36 | -------------------------------------------------------------------------------- /elec/src/esp32-s3/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: elec/src/esp32-s3.ato:ESP32S3 5 | dependencies: 6 | - generics^v3.0.0 7 | -------------------------------------------------------------------------------- /elec/src/esp32-s3/elec/layout/default/esp32-s3.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/esp32-s3/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/esp32-s3/metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /elec/src/generics/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: v0.2.0 2 | -------------------------------------------------------------------------------- /elec/src/generics/capacitors.ato: -------------------------------------------------------------------------------- 1 | import Power from "generics/interfaces.ato" 2 | 3 | component Capacitor: 4 | signal p1 ~ pin 1 5 | signal p2 ~ pin 2 6 | designator_prefix = "C" 7 | mpn = "generic_capacitor" 8 | type = "capacitor" 9 | 10 | power = new Power 11 | power.vcc ~ p1 12 | power.gnd ~ p2 13 | 14 | component CapacitorElectrolytic: 15 | signal anode ~ pin 1 16 | signal cathode ~ pin 2 17 | designator_prefix = "C" 18 | mpn = "generic_capacitor" 19 | 20 | power = new Power 21 | power.vcc ~ anode 22 | power.gnd ~ cathode -------------------------------------------------------------------------------- /elec/src/generics/connectors.ato: -------------------------------------------------------------------------------- 1 | component Connector2Pin: 2 | signal p1 3 | signal p2 4 | 5 | component Connector3Pin: 6 | signal p1 7 | signal p2 8 | signal p3 9 | 10 | component Connector4Pin: 11 | signal p1 12 | signal p2 13 | signal p3 14 | signal p4 15 | 16 | component Connector5Pin: 17 | signal p1 18 | signal p2 19 | signal p3 20 | signal p4 21 | signal p5 22 | 23 | component Connector6Pin: 24 | signal p1 25 | signal p2 26 | signal p3 27 | signal p4 28 | signal p5 29 | signal p6 30 | 31 | component Connector7Pin: 32 | signal p1 33 | signal p2 34 | signal p3 35 | signal p4 36 | signal p5 37 | signal p6 38 | signal p7 39 | 40 | component Connector8Pin: 41 | signal p1 42 | signal p2 43 | signal p3 44 | signal p4 45 | signal p5 46 | signal p6 47 | signal p7 48 | signal p8 49 | 50 | component Connector9Pin: 51 | signal p1 52 | signal p2 53 | signal p3 54 | signal p4 55 | signal p5 56 | signal p6 57 | signal p7 58 | signal p8 59 | signal p9 60 | 61 | component Connector10Pin: 62 | signal p1 63 | signal p2 64 | signal p3 65 | signal p4 66 | signal p5 67 | signal p6 68 | signal p7 69 | signal p8 70 | signal p9 71 | signal p10 72 | -------------------------------------------------------------------------------- /elec/src/generics/data/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/elec/src/generics/data/.gitkeep -------------------------------------------------------------------------------- /elec/src/generics/debug.ato: -------------------------------------------------------------------------------- 1 | from "interfaces.ato" import Power, Pair 2 | 3 | component TestPoint: 4 | signal point ~ pin 1 5 | mpn = "TestPoint" 6 | footprint = "TestPoint:TestPoint_THTPad_1.0x1.0mm_Drill0.5mm" 7 | 8 | pair = new Pair 9 | point ~ pair.io 10 | 11 | power = new Power 12 | point ~ power.vcc -------------------------------------------------------------------------------- /elec/src/generics/diodes.ato: -------------------------------------------------------------------------------- 1 | component Diode: 2 | signal anode 3 | signal cathode 4 | designator_prefix = "D" 5 | mpn = "generic_diode" 6 | 7 | component ZenerDiode from Diode: 8 | designator_prefix = "DZ" 9 | category = "zener" 10 | 11 | component SchottkyDiode from Diode: 12 | designator_prefix = "DS" 13 | category = "schottky" 14 | 15 | component TVSDiode from Diode: 16 | designator_prefix = "DT" 17 | category = "tvs" 18 | 19 | component RectifierDiode from Diode: 20 | designator_prefix = "DR" 21 | category = "rectifier" 22 | 23 | import Power from "interfaces.ato" 24 | module PowerDiodeOr: 25 | """ 26 | A diode or gate that combines two power rails, only dropping the 27 | """ 28 | diode = new ShottkyDiode 29 | power_in1 = new Power 30 | power_in2 = new Power 31 | power_out = new Power 32 | 33 | power_in2 ~ power_out 34 | power_in.vcc ~ diode.anode; diode.cathode ~ power_out.vcc 35 | power_in.gnd ~ power_out.gnd 36 | 37 | import Power_AC from "interfaces.ato" 38 | module FULLBRIDGERECTIFIER: 39 | power_in = new Power_AC 40 | power_out = new Power 41 | 42 | d1 = new Diode 43 | d2 = new Diode 44 | d3 = new Diode 45 | d4 = new Diode 46 | 47 | power_in.line1 ~ d1.anode; d1.cathode ~ power_out.vcc; power_out.vcc~ d2.cathode; d2.anode ~ power_in.neutral 48 | power_in.line1 ~ d4.cathode; d4.anode ~ power_out.gnd; power_out.gnd ~ d3.anode; d3.cathode ~ power_in.neutral 49 | 50 | -------------------------------------------------------------------------------- /elec/src/generics/elec/footprints/C0504.kicad_mod: -------------------------------------------------------------------------------- 1 | (footprint "C_0504_1310Metric" (version 20211014) (generator pcbnew) 2 | (layer "F.Cu") 3 | (tedit 5F68FEEE) 4 | (descr "Capacitor SMD 0504 (1310 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") 5 | (tags "capacitor") 6 | (attr smd) 7 | (fp_text reference "REF**" (at 0 -1.49) (layer "F.SilkS") 8 | (effects (font (size 1 1) (thickness 0.15))) 9 | (tstamp 190f5098-a4ed-4b81-ad91-f2f8c2e2b5f2) 10 | ) 11 | (fp_text value "C_0504_1310Metric" (at 0 1.49) (layer "F.Fab") 12 | (effects (font (size 1 1) (thickness 0.15))) 13 | (tstamp 54587e17-0381-4252-8fbb-ba6816d6cc95) 14 | ) 15 | (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") 16 | (effects (font (size 0.29 0.29) (thickness 0.04))) 17 | (tstamp 057276f7-9ab0-4c69-9dc5-806816345aa9) 18 | ) 19 | (fp_line (start 1.02 -0.79) (end 1.02 0.79) (layer "F.CrtYd") (width 0.05) (tstamp 0f46bfd9-3aef-49bf-8c02-a9001036a584)) 20 | (fp_line (start -1.02 -0.79) (end 1.02 -0.79) (layer "F.CrtYd") (width 0.05) (tstamp c192f728-349a-42bc-9f66-dabe9f0be094)) 21 | (fp_line (start -1.02 0.79) (end -1.02 -0.79) (layer "F.CrtYd") (width 0.05) (tstamp c2546ae9-5094-43f5-84d7-ddc5a85f6933)) 22 | (fp_line (start 1.02 0.79) (end -1.02 0.79) (layer "F.CrtYd") (width 0.05) (tstamp efc0b10b-30c4-49bb-8d4b-d25177c7b807)) 23 | (fp_line (start -0.585 -0.51) (end 0.585 -0.51) (layer "F.Fab") (width 0.1) (tstamp 3b28f0d0-ebc8-4270-996b-f0c8bb5d61ca)) 24 | (fp_line (start 0.585 -0.51) (end 0.585 0.51) (layer "F.Fab") (width 0.1) (tstamp 48fdbe79-b079-488c-9127-5ca2355a1767)) 25 | (fp_line (start -0.585 0.51) (end -0.585 -0.51) (layer "F.Fab") (width 0.1) (tstamp 744ab3b5-6945-436b-8fe2-1e022f9f2fd5)) 26 | (fp_line (start 0.585 0.51) (end -0.585 0.51) (layer "F.Fab") (width 0.1) (tstamp ba46ffb1-7477-4327-a6a9-5340434f9e60)) 27 | (pad "1" smd roundrect (at -0.54 0) (size 0.66 1.28) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 17713848-ae65-48a0-8798-0e53a26e138d)) 28 | (pad "2" smd roundrect (at 0.54 0) (size 0.66 1.28) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 3691304b-2473-44cb-ba8f-50616b19587d)) 29 | (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0504_1310Metric.wrl" 30 | (offset (xyz 0 0 0)) 31 | (scale (xyz 1 1 1)) 32 | (rotate (xyz 0 0 0)) 33 | ) 34 | ) 35 | -------------------------------------------------------------------------------- /elec/src/generics/elec/footprints/L0402.kicad_mod: -------------------------------------------------------------------------------- 1 | (footprint "L_0402_1005Metric" (version 20211014) (generator pcbnew) 2 | (layer "F.Cu") 3 | (tedit 5F68FEF0) 4 | (descr "Inductor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator") 5 | (tags "inductor") 6 | (attr smd) 7 | (fp_text reference "REF**" (at 0 -1.17) (layer "F.SilkS") 8 | (effects (font (size 1 1) (thickness 0.15))) 9 | (tstamp 5f7cfd23-ba30-4112-8e8a-084eff185daa) 10 | ) 11 | (fp_text value "L_0402_1005Metric" (at 0 1.17) (layer "F.Fab") 12 | (effects (font (size 1 1) (thickness 0.15))) 13 | (tstamp 534be459-0d3a-4a4f-839c-04a21d8e5c28) 14 | ) 15 | (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") 16 | (effects (font (size 0.25 0.25) (thickness 0.04))) 17 | (tstamp b97776cd-36ef-4231-b3ff-6fa6e7347e10) 18 | ) 19 | (fp_line (start 0.93 0.47) (end -0.93 0.47) (layer "F.CrtYd") (width 0.05) (tstamp 566f1185-9e95-45a6-81fd-2bdb7fd01107)) 20 | (fp_line (start -0.93 0.47) (end -0.93 -0.47) (layer "F.CrtYd") (width 0.05) (tstamp 9d94b2cd-6f71-4c16-a91e-b6624ec3ec59)) 21 | (fp_line (start 0.93 -0.47) (end 0.93 0.47) (layer "F.CrtYd") (width 0.05) (tstamp bca3e59d-5431-4c7a-8ad9-6534092cfb19)) 22 | (fp_line (start -0.93 -0.47) (end 0.93 -0.47) (layer "F.CrtYd") (width 0.05) (tstamp e3a32dcb-516f-4225-b080-19ec937fc237)) 23 | (fp_line (start 0.5 -0.25) (end 0.5 0.25) (layer "F.Fab") (width 0.1) (tstamp 8d273d34-e6cf-4e80-8fb2-08ad72f4400a)) 24 | (fp_line (start 0.5 0.25) (end -0.5 0.25) (layer "F.Fab") (width 0.1) (tstamp a9cec81b-84c4-4c08-aaac-72770dc47137)) 25 | (fp_line (start -0.5 0.25) (end -0.5 -0.25) (layer "F.Fab") (width 0.1) (tstamp c2bdec94-67eb-4cfc-b6c6-320f519b6a42)) 26 | (fp_line (start -0.5 -0.25) (end 0.5 -0.25) (layer "F.Fab") (width 0.1) (tstamp d23f18da-56cb-4a32-8eeb-17f5c58fe19e)) 27 | (pad "1" smd roundrect (at -0.485 0) (size 0.59 0.64) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 8d57f103-1c4d-42b3-9a1c-788495c7aba4)) 28 | (pad "2" smd roundrect (at 0.485 0) (size 0.59 0.64) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 5803ccd7-5f47-477b-995b-63712661ba11)) 29 | (model "${KICAD6_3DMODEL_DIR}/Inductor_SMD.3dshapes/L_0402_1005Metric.wrl" 30 | (offset (xyz 0 0 0)) 31 | (scale (xyz 1 1 1)) 32 | (rotate (xyz 0 0 0)) 33 | ) 34 | ) 35 | -------------------------------------------------------------------------------- /elec/src/generics/elec/footprints/LED0603-RD.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:LED0603-RD (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -4.0) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value LED0603-RD (at 0 4.0) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start 0.22 0.33) (end 0.21 0.33) (layer F.SilkS) (width 0.15)) 13 | (fp_line (start 0.21 0.33) (end -0.12 -0.00) (layer F.SilkS) (width 0.15)) 14 | (fp_line (start 0.22 -0.35) (end 0.22 -0.34) (layer F.SilkS) (width 0.15)) 15 | (fp_line (start 0.22 -0.34) (end -0.12 -0.00) (layer F.SilkS) (width 0.15)) 16 | (fp_line (start 0.22 -0.35) (end 0.22 0.33) (layer F.SilkS) (width 0.15)) 17 | (fp_line (start 0.24 -0.75) (end 1.39 -0.75) (layer F.SilkS) (width 0.15)) 18 | (fp_line (start 0.24 0.75) (end 1.39 0.75) (layer F.SilkS) (width 0.15)) 19 | (fp_line (start 1.39 -0.75) (end 1.39 0.73) (layer F.SilkS) (width 0.15)) 20 | (fp_line (start -0.14 0.75) (end -1.19 0.75) (layer F.SilkS) (width 0.15)) 21 | (fp_line (start -1.49 0.35) (end -1.49 0.45) (layer F.SilkS) (width 0.15)) 22 | (fp_line (start -1.49 0.45) (end -1.19 0.75) (layer F.SilkS) (width 0.15)) 23 | (fp_line (start -1.49 -0.35) (end -1.49 0.35) (layer F.SilkS) (width 0.15)) 24 | (fp_line (start -1.49 -0.35) (end -1.49 -0.45) (layer F.SilkS) (width 0.15)) 25 | (fp_line (start -1.49 -0.45) (end -1.19 -0.75) (layer F.SilkS) (width 0.15)) 26 | (fp_line (start -0.14 -0.75) (end -1.19 -0.75) (layer F.SilkS) (width 0.15)) 27 | (fp_line (start 0.22 -0.00) (end -0.12 -0.00) (layer F.SilkS) (width 0.15)) 28 | (pad 2 smd rect (at 0.80 -0.00 90.00) (size 0.80 0.80) (layers F.Cu F.Paste F.Mask)) 29 | (pad 1 smd rect (at -0.80 0.00 90.00) (size 0.80 0.80) (layers F.Cu F.Paste F.Mask)) 30 | (fp_circle (center -0.80 0.40) (end -0.77 0.40) (layer F.Fab) (width 0.06)) 31 | (model "/Users/narayanpowderly/Documents/atopile-workspace/blurp/.ato/modules/generics/elec/footprints/footprints.3dshapes/LED0603-RD.wrl" 32 | (offset (xyz 0.000 -0.000 -0.000)) 33 | (scale (xyz 1 1 1)) 34 | (rotate (xyz 0 0 0)) 35 | ) 36 | ) -------------------------------------------------------------------------------- /elec/src/generics/elec/footprints/footprints.pretty/CONN-TH_2P-P3.81_WJ15EDGRC-3.81-2P.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:CONN-TH_2P-P3.81_WJ15EDGRC-3.81-2P (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr through_hole) 3 | (fp_text reference REF** (at 0 -4.0) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value CONN-TH_2P-P3.81_WJ15EDGRC-3.81-2P (at 0 4.0) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start 4.25 -1.60) (end -4.25 -1.60) (layer F.SilkS) (width 0.25)) 13 | (fp_line (start -4.25 -1.60) (end -4.25 7.55) (layer F.SilkS) (width 0.25)) 14 | (fp_line (start -4.25 7.55) (end 4.25 7.55) (layer F.SilkS) (width 0.25)) 15 | (fp_line (start 4.25 7.55) (end 4.25 -1.60) (layer F.SilkS) (width 0.25)) 16 | (pad 1 thru_hole rect (at -1.90 0.00 0.00) (size 2.20 2.20) (layers *.Cu *.Mask)(drill 1.2599924)) 17 | (pad 2 thru_hole circle (at 1.91 0.00 0.00) (size 2.20 2.20) (layers *.Cu *.Mask)(drill 1.2599924)) 18 | (fp_circle (center -4.25 7.55) (end -4.22 7.55) (layer F.Fab) (width 0.06)) 19 | (model "/Users/narayanpowderly/Documents/atopile-workspace/we-pullin-shots/.ato/modules/generics/elec/footprints/footprints.3dshapes/CONN-TH_2P_L8.5-W9.2-H7.0-P3.81.wrl" 20 | (offset (xyz 0.000 -3.000 0.000)) 21 | (scale (xyz 1 1 1)) 22 | (rotate (xyz 0 0 0)) 23 | ) 24 | ) -------------------------------------------------------------------------------- /elec/src/generics/elec/footprints/footprints.pretty/CONN-TH_3P-P5.08_DB2EVC-5.08-3P.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:CONN-TH_3P-P5.08_DB2EVC-5.08-3P (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr through_hole) 3 | (fp_text reference REF** (at 0 -4.0) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value CONN-TH_3P-P5.08_DB2EVC-5.08-3P (at 0 4.0) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -8.32 3.75) (end 8.32 3.75) (layer F.SilkS) (width 0.25)) 13 | (fp_line (start 8.32 3.75) (end 8.32 -4.75) (layer F.SilkS) (width 0.25)) 14 | (fp_line (start 8.32 -4.75) (end -8.32 -4.75) (layer F.SilkS) (width 0.25)) 15 | (fp_line (start -8.32 3.75) (end -8.32 -4.75) (layer F.SilkS) (width 0.25)) 16 | (fp_line (start -7.11 2.03) (end -8.32 2.03) (layer F.SilkS) (width 0.25)) 17 | (fp_line (start -2.03 1.90) (end -3.05 1.90) (layer F.SilkS) (width 0.25)) 18 | (fp_line (start 3.05 1.78) (end 2.03 1.78) (layer F.SilkS) (width 0.25)) 19 | (fp_line (start 7.11 1.65) (end 8.32 1.65) (layer F.SilkS) (width 0.25)) 20 | (fp_line (start -8.32 -3.78) (end 8.32 -3.78) (layer F.SilkS) (width 0.25)) 21 | (pad 1 thru_hole circle (at -5.08 0.00 0.00) (size 2.80 2.80) (layers *.Cu *.Mask)(drill 1.9000215999999999)) 22 | (pad 2 thru_hole circle (at 0.00 0.00 0.00) (size 2.80 2.80) (layers *.Cu *.Mask)(drill 1.9000215999999999)) 23 | (pad 3 thru_hole circle (at 5.08 0.00 0.00) (size 2.80 2.80) (layers *.Cu *.Mask)(drill 1.9000215999999999)) 24 | (fp_circle (center -5.08 0.00) (end -4.66 0.00) (layer F.Fab) (width 0.85)) 25 | (fp_circle (center 0.00 0.00) (end 0.42 0.00) (layer F.Fab) (width 0.85)) 26 | (fp_circle (center 5.08 0.00) (end 5.50 0.00) (layer F.Fab) (width 0.85)) 27 | (fp_circle (center -8.45 3.88) (end -8.42 3.88) (layer F.Fab) (width 0.06)) 28 | (fp_arc (start -5.18 -1.07) (end -3.05 1.90) (angle 67.62) (layer F.SilkS) (width 0.25)) 29 | (fp_arc (start -0.09 -1.19) (end 2.03 1.78) (angle 67.62) (layer F.SilkS) (width 0.25)) 30 | (fp_arc (start 4.98 -1.32) (end 7.11 1.65) (angle 67.62) (layer F.SilkS) (width 0.25)) 31 | (model "/Users/narayanpowderly/Documents/atopile-workspace/we-pullin-shots/.ato/modules/generics/elec/footprints/footprints.3dshapes/CONN-TH_3P-P5.08_DB2EVC-5.08-3P.wrl" 32 | (offset (xyz 0.000 0.500 0.000)) 33 | (scale (xyz 1 1 1)) 34 | (rotate (xyz 0 0 0)) 35 | ) 36 | ) -------------------------------------------------------------------------------- /elec/src/generics/elec/footprints/footprints.pretty/KEY-SMD_4P-L4.2-W3.2-P2.20-LS4.6.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:KEY-SMD_4P-L4.2-W3.2-P2.20-LS4.6 (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -5.07) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value KEY-SMD_4P-L4.2-W3.2-P2.20-LS4.6 (at 0 5.07) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -0.51 -1.02) (end 0.51 -1.02) (layer F.SilkS) (width 0.25)) 13 | (fp_line (start -0.51 1.02) (end 0.51 1.02) (layer F.SilkS) (width 0.25)) 14 | (fp_line (start 2.20 -0.54) (end 2.20 0.54) (layer F.SilkS) (width 0.25)) 15 | (fp_line (start 1.37 -1.52) (end -1.37 -1.52) (layer F.SilkS) (width 0.25)) 16 | (fp_line (start -2.20 -0.54) (end -2.20 0.54) (layer F.SilkS) (width 0.25)) 17 | (fp_line (start -1.38 1.55) (end 1.38 1.55) (layer F.SilkS) (width 0.25)) 18 | (pad 1 smd rect (at -2.10 -1.07 0.00) (size 1.05 0.70) (layers F.Cu F.Paste F.Mask)) 19 | (pad 2 smd rect (at 2.10 -1.07 0.00) (size 1.05 0.70) (layers F.Cu F.Paste F.Mask)) 20 | (pad 3 smd rect (at -2.10 1.07 0.00) (size 1.05 0.70) (layers F.Cu F.Paste F.Mask)) 21 | (pad 4 smd rect (at 2.10 1.07 0.00) (size 1.05 0.70) (layers F.Cu F.Paste F.Mask)) 22 | (fp_circle (center -2.30 -1.60) (end -2.27 -1.60) (layer F.Fab) (width 0.06)) 23 | (fp_arc (start 0.51 0.00) (end 0.51 1.02) (angle -180.00) (layer F.SilkS) (width 0.25)) 24 | (fp_arc (start -0.51 0.00) (end -0.51 -1.02) (angle -180.00) (layer F.SilkS) (width 0.25)) 25 | (model "/Users/narayanpowderly/Documents/atopile-workspace/blinky/.ato/modules/generics/elec/footprints/footprints.3dshapes/KEY-SMD_4P-L4.2-W3.2-H2.5-LS4.6-P2.2.wrl" 26 | (offset (xyz 0.000 -0.000 -0.000)) 27 | (scale (xyz 1 1 1)) 28 | (rotate (xyz 0 0 0)) 29 | ) 30 | ) -------------------------------------------------------------------------------- /elec/src/generics/elec/footprints/footprints.pretty/KEY-SMD_SKTDLDE010.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:KEY-SMD_SKTDLDE010 (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -4.75) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value KEY-SMD_SKTDLDE010 (at 0 4.75) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -0.80 -1.25) (end -0.80 -1.85) (layer F.SilkS) (width 0.10)) 13 | (fp_line (start -0.80 -1.85) (end 0.80 -1.85) (layer F.SilkS) (width 0.10)) 14 | (fp_line (start 0.80 -1.85) (end 0.80 -1.25) (layer F.SilkS) (width 0.10)) 15 | (fp_line (start -0.00 -1.20) (end 1.20 -1.20) (layer F.SilkS) (width 0.10)) 16 | (fp_line (start -0.00 -1.20) (end -1.20 -1.20) (layer F.SilkS) (width 0.10)) 17 | (fp_line (start -2.00 0.65) (end -1.89 0.65) (layer F.SilkS) (width 0.10)) 18 | (fp_line (start -0.88 0.65) (end -0.85 0.65) (layer F.SilkS) (width 0.10)) 19 | (fp_line (start 0.85 0.65) (end 0.89 0.65) (layer F.SilkS) (width 0.10)) 20 | (fp_line (start 1.90 0.65) (end 2.00 0.65) (layer F.SilkS) (width 0.10)) 21 | (fp_line (start 2.00 0.65) (end 2.00 -0.00) (layer F.SilkS) (width 0.10)) 22 | (fp_line (start -2.00 0.65) (end -2.00 -0.00) (layer F.SilkS) (width 0.10)) 23 | (pad 2 smd rect (at -1.39 0.60 0.00) (size 0.70 1.10) (layers F.Cu F.Paste F.Mask)) 24 | (pad 1 smd rect (at 1.39 0.60 0.00) (size 0.70 1.10) (layers F.Cu F.Paste F.Mask)) 25 | (pad 3 smd rect (at -0.00 0.75 0.00) (size 1.40 1.10) (layers F.Cu F.Paste F.Mask)) 26 | (pad 4 thru_hole rect (at 1.85 -0.75 0.00) (size 1.00 1.20) (layers *.Cu *.Mask)(drill 0.599948)) 27 | (pad 4 thru_hole rect (at -1.85 -0.75 0.00) (size 1.00 1.20) (layers *.Cu *.Mask)(drill 0.599948)) 28 | (fp_circle (center 2.05 0.81) (end 2.08 0.81) (layer F.Fab) (width 0.06)) 29 | (fp_circle (center 1.85 -0.75) (end 1.95 -0.75) (layer F.Fab) (width 0.20)) 30 | (fp_circle (center -1.85 -0.75) (end -1.75 -0.75) (layer F.Fab) (width 0.20)) 31 | (model "/Users/narayanpowderly/Documents/atopile-workspace/blinky/.ato/modules/generics/elec/footprints/footprints.3dshapes/KEY-SMD_SKTDLDE010.wrl" 32 | (offset (xyz 0.000 0.720 0.500)) 33 | (scale (xyz 1 1 1)) 34 | (rotate (xyz 0 0 0)) 35 | ) 36 | ) -------------------------------------------------------------------------------- /elec/src/generics/elec/footprints/footprints.pretty/POWERPAK-1212-8_L3.1-W3.1-P0.65-LS3.3-BL.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:POWERPAK-1212-8_L3.1-W3.1-P0.65-LS3.3-BL (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -5.5) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value POWERPAK-1212-8_L3.1-W3.1-P0.65-LS3.3-BL (at 0 5.5) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start 1.55 -1.55) (end 1.55 1.55) (layer F.SilkS) (width 0.25)) 13 | (fp_line (start -1.55 1.55) (end -1.55 -1.55) (layer F.SilkS) (width 0.25)) 14 | (pad 8 smd rect (at 0.00 -0.40 0.00) (size 2.60 2.20) (layers F.Cu F.Paste F.Mask)) 15 | (pad 8 smd rect (at -0.97 -1.50 0.00) (size 0.45 0.70) (layers F.Cu F.Paste F.Mask)) 16 | (pad 7 smd rect (at -0.32 -1.50 0.00) (size 0.45 0.70) (layers F.Cu F.Paste F.Mask)) 17 | (pad 6 smd rect (at 0.32 -1.50 0.00) (size 0.45 0.70) (layers F.Cu F.Paste F.Mask)) 18 | (pad 5 smd rect (at 0.97 -1.50 0.00) (size 0.45 0.70) (layers F.Cu F.Paste F.Mask)) 19 | (pad 4 smd rect (at 0.97 1.50 0.00) (size 0.45 0.70) (layers F.Cu F.Paste F.Mask)) 20 | (pad 3 smd rect (at 0.32 1.50 0.00) (size 0.45 0.70) (layers F.Cu F.Paste F.Mask)) 21 | (pad 2 smd rect (at -0.32 1.50 0.00) (size 0.45 0.70) (layers F.Cu F.Paste F.Mask)) 22 | (pad 1 smd rect (at -0.97 1.50 0.00) (size 0.45 0.70) (layers F.Cu F.Paste F.Mask)) 23 | (fp_circle (center -1.56 1.62) (end -1.53 1.62) (layer F.Fab) (width 0.06)) 24 | (fp_circle (center -1.01 1.93) (end -0.88 1.93) (layer Cmts.User) (width 0.25)) 25 | (fp_circle (center -1.56 2.00) (end -1.43 2.00) (layer F.SilkS) (width 0.25)) 26 | (model "/Users/narayanpowderly/Documents/atopile-workspace/we-pullin-shots/.ato/modules/generics/elec/footprints/footprints.3dshapes/POWERPAK-1212-8_L3.1-W3.1-P0.65-LS3.3-BL.wrl" 27 | (offset (xyz 0.000 0.000 -0.000)) 28 | (scale (xyz 1 1 1)) 29 | (rotate (xyz 0 0 0)) 30 | ) 31 | ) -------------------------------------------------------------------------------- /elec/src/generics/elec/footprints/footprints.pretty/SMA_L4.3-W2.6-LS5.2-FD.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:SMA_L4.3-W2.6-LS5.2-FD (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -4.0) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value SMA_L4.3-W2.6-LS5.2-FD (at 0 4.0) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start 2.55 1.33) (end -2.55 1.33) (layer F.SilkS) (width 0.15)) 13 | (fp_line (start 2.55 -1.33) (end -2.55 -1.33) (layer F.SilkS) (width 0.15)) 14 | (fp_line (start 1.13 1.33) (end 1.13 -1.33) (layer F.SilkS) (width 0.15)) 15 | (fp_line (start -2.55 1.33) (end -2.55 0.99) (layer F.SilkS) (width 0.15)) 16 | (fp_line (start -2.55 -1.33) (end -2.55 -0.99) (layer F.SilkS) (width 0.15)) 17 | (pad 1 smd rect (at -2.39 0.00 0.00) (size 2.11 1.57) (layers F.Cu F.Paste F.Mask)) 18 | (pad 2 smd rect (at 2.39 0.00 0.00) (size 2.11 1.57) (layers F.Cu F.Paste F.Mask)) 19 | (fp_circle (center -2.60 1.30) (end -2.57 1.30) (layer F.Fab) (width 0.06)) 20 | (model "/Users/narayanpowderly/Documents/atopile-workspace/we-pullin-shots/.ato/modules/generics/elec/footprints/footprints.3dshapes/SMA_L4.3-W2.6--H2.1-LS5.2.wrl" 21 | (offset (xyz -0.150 -0.000 -0.000)) 22 | (scale (xyz 1 1 1)) 23 | (rotate (xyz 0 0 0)) 24 | ) 25 | ) -------------------------------------------------------------------------------- /elec/src/generics/elec/footprints/footprints.pretty/SMA_L4.3-W2.6-LS5.2-RD.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:SMA_L4.3-W2.6-LS5.2-RD (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -4.0) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value SMA_L4.3-W2.6-LS5.2-RD (at 0 4.0) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -0.88 -1.43) (end -0.88 1.43) (layer F.SilkS) (width 0.15)) 13 | (fp_line (start -2.60 -1.43) (end 2.60 -1.43) (layer F.SilkS) (width 0.15)) 14 | (fp_line (start 2.59 1.18) (end 2.60 1.41) (layer F.SilkS) (width 0.15)) 15 | (fp_line (start 2.60 -1.43) (end 2.60 -1.19) (layer F.SilkS) (width 0.15)) 16 | (fp_line (start -2.60 1.43) (end 2.60 1.43) (layer F.SilkS) (width 0.15)) 17 | (pad 2 smd rect (at 2.20 0.00 180.00) (size 2.00 2.00) (layers F.Cu F.Paste F.Mask)) 18 | (pad 1 smd rect (at -2.20 0.00 180.00) (size 2.00 2.00) (layers F.Cu F.Paste F.Mask)) 19 | (fp_circle (center -2.61 1.30) (end -2.58 1.30) (layer F.Fab) (width 0.06)) 20 | (model "/Users/narayanpowderly/Documents/atopile-workspace/blinky/.ato/modules/generics/elec/footprints/footprints.3dshapes/SMA_L4.3-W2.6-LS5.2-RD.wrl" 21 | (offset (xyz 0.000 -0.000 -0.000)) 22 | (scale (xyz 1 1 1)) 23 | (rotate (xyz 0 0 0)) 24 | ) 25 | ) -------------------------------------------------------------------------------- /elec/src/generics/elec/footprints/footprints.pretty/SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -4.95) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR (at 0 4.95) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start 0.88 -1.54) (end -0.88 -1.54) (layer F.SilkS) (width 0.15)) 13 | (fp_line (start -0.88 -1.54) (end -0.88 -0.49) (layer F.SilkS) (width 0.15)) 14 | (fp_line (start 0.88 1.54) (end -0.88 1.54) (layer F.SilkS) (width 0.15)) 15 | (fp_line (start -0.88 1.54) (end -0.88 0.49) (layer F.SilkS) (width 0.15)) 16 | (fp_line (start 0.88 -0.46) (end 0.88 0.46) (layer F.SilkS) (width 0.15)) 17 | (pad 1 smd rect (at 1.24 0.95 0.00) (size 1.07 0.60) (layers F.Cu F.Paste F.Mask)) 18 | (pad 2 smd rect (at 1.24 -0.95 0.00) (size 1.07 0.60) (layers F.Cu F.Paste F.Mask)) 19 | (pad 3 smd rect (at -1.24 0.00 0.00) (size 1.07 0.60) (layers F.Cu F.Paste F.Mask)) 20 | (fp_circle (center 1.40 1.46) (end 1.43 1.46) (layer F.Fab) (width 0.06)) 21 | (fp_circle (center 1.65 0.95) (end 1.75 0.95) (layer Cmts.User) (width 0.20)) 22 | (model "/Users/narayanpowderly/Documents/atopile-workspace/we-pullin-shots/.ato/modules/generics/elec/footprints/footprints.3dshapes/SOT-23-3L_L2.9-W1.6-H1.1-LS2.8-P0.95.wrl" 23 | (offset (xyz -0.530 -0.130 -0.000)) 24 | (scale (xyz 1 1 1)) 25 | (rotate (xyz 0 0 180)) 26 | ) 27 | ) -------------------------------------------------------------------------------- /elec/src/generics/elec/footprints/footprints.pretty/SW-SMD_4P-L5.1-W5.1-P3.70-LS6.5-TL-2.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:SW-SMD_4P-L5.1-W5.1-P3.70-LS6.5-TL-2 (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -5.85) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value SW-SMD_4P-L5.1-W5.1-P3.70-LS6.5-TL-2 (at 0 5.85) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -1.00 -1.80) (end 0.90 -1.80) (layer F.SilkS) (width 0.25)) 13 | (fp_line (start 0.90 -1.80) (end 1.80 -0.90) (layer F.SilkS) (width 0.25)) 14 | (fp_line (start 1.80 -0.90) (end 1.80 0.90) (layer F.SilkS) (width 0.25)) 15 | (fp_line (start 1.80 0.90) (end 0.80 1.90) (layer F.SilkS) (width 0.25)) 16 | (fp_line (start 0.80 1.90) (end -0.90 1.90) (layer F.SilkS) (width 0.25)) 17 | (fp_line (start -0.90 1.90) (end -1.80 1.00) (layer F.SilkS) (width 0.25)) 18 | (fp_line (start -1.80 1.00) (end -1.80 -1.00) (layer F.SilkS) (width 0.25)) 19 | (fp_line (start -1.80 -1.00) (end -1.00 -1.80) (layer F.SilkS) (width 0.25)) 20 | (fp_line (start 1.28 -2.55) (end 2.17 -1.66) (layer F.SilkS) (width 0.25)) 21 | (fp_line (start 2.55 -1.17) (end 2.55 1.17) (layer F.SilkS) (width 0.25)) 22 | (fp_line (start 2.17 1.66) (end 1.28 2.55) (layer F.SilkS) (width 0.25)) 23 | (fp_line (start -2.55 -1.17) (end -2.55 1.17) (layer F.SilkS) (width 0.25)) 24 | (fp_line (start -2.17 1.66) (end -1.28 2.55) (layer F.SilkS) (width 0.25)) 25 | (fp_line (start -1.28 -2.55) (end -2.17 -1.66) (layer F.SilkS) (width 0.25)) 26 | (fp_line (start -1.28 2.55) (end 1.28 2.55) (layer F.SilkS) (width 0.25)) 27 | (fp_line (start -1.28 -2.55) (end 1.28 -2.55) (layer F.SilkS) (width 0.25)) 28 | (pad 1 smd rect (at -3.30 -1.85 0.00) (size 1.70 1.00) (layers F.Cu F.Paste F.Mask)) 29 | (pad 2 smd rect (at 3.30 -1.85 0.00) (size 1.70 1.00) (layers F.Cu F.Paste F.Mask)) 30 | (pad 3 smd rect (at -3.30 1.85 0.00) (size 1.70 1.00) (layers F.Cu F.Paste F.Mask)) 31 | (pad 4 smd rect (at 3.30 1.85 0.00) (size 1.70 1.00) (layers F.Cu F.Paste F.Mask)) 32 | (fp_circle (center -3.25 -2.55) (end -3.22 -2.55) (layer F.Fab) (width 0.06)) 33 | (fp_circle (center 0.00 0.00) (end 1.28 0.00) (layer F.SilkS) (width 0.25)) 34 | (model "/Users/narayanpowderly/Documents/atopile-workspace/blinky/.ato/modules/generics/elec/footprints/footprints.3dshapes/SW-SMD_4P-L5.2-W5.2-H1.5-LS6.4-P3.70.wrl" 35 | (offset (xyz 0.000 -0.000 -0.000)) 36 | (scale (xyz 1 1 1)) 37 | (rotate (xyz 0 0 0)) 38 | ) 39 | ) -------------------------------------------------------------------------------- /elec/src/generics/elec/src/1TS003B-1400-3500A.ato: -------------------------------------------------------------------------------- 1 | component _1TS003B_1400_3500A: 2 | # component 1TS003B-1400-3500A 3 | footprint = "KEY-SMD_1TS003B" 4 | lcsc_id = "C319392" 5 | # pins 6 | signal _1 ~ pin 1 7 | signal _2 ~ pin 2 8 | signal _3 ~ pin 3 9 | signal _4 ~ pin 4 10 | 11 | -------------------------------------------------------------------------------- /elec/src/generics/elec/src/AO3400A.ato: -------------------------------------------------------------------------------- 1 | component AO3400A: 2 | # component AO3400A 3 | footprint = "SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR" 4 | lcsc_id = "C20917" 5 | # pins 6 | signal D ~ pin 3 7 | signal G ~ pin 1 8 | signal S ~ pin 2 9 | 10 | -------------------------------------------------------------------------------- /elec/src/generics/elec/src/DB2EVC-5.08-3P.ato: -------------------------------------------------------------------------------- 1 | component DB2EVC_5_08_3P: 2 | # component DB2EVC-5.08-3P 3 | footprint = "CONN-TH_3P-P5.08_DB2EVC-5.08-3P" 4 | lcsc_id = "C395743" 5 | # pins 6 | signal _1 ~ pin 1 7 | signal _2 ~ pin 2 8 | signal _3 ~ pin 3 9 | 10 | -------------------------------------------------------------------------------- /elec/src/generics/elec/src/KT-0603B.ato: -------------------------------------------------------------------------------- 1 | import LED from "led.ato" 2 | 3 | component KT_0603B from LED: 4 | # component Blue light 0603 5 | footprint = "LED0603-RD" 6 | mpn = "C2288" 7 | # pins 8 | signal cathode ~ pin 1 9 | signal anode ~ pin 2 10 | 11 | -------------------------------------------------------------------------------- /elec/src/generics/elec/src/KT-0603G.ato: -------------------------------------------------------------------------------- 1 | component KT_0603G: 2 | # component 0603 Green 509-620mcd 3 | footprint = "LED0603-RD" 4 | lcsc_id = "C12624" 5 | designator_prefix = "LED" 6 | # pins 7 | signal anode ~ pin 2 8 | signal cathode ~ pin 1 9 | 10 | -------------------------------------------------------------------------------- /elec/src/generics/elec/src/KT-0603R.ato: -------------------------------------------------------------------------------- 1 | component KT_0603R: 2 | # component KT-0603R 3 | footprint = "LED0603-RD" 4 | lcsc_id = "C2286" 5 | # pins 6 | signal cathode ~ pin 1 7 | signal anode ~ pin 2 8 | 9 | -------------------------------------------------------------------------------- /elec/src/generics/elec/src/NRVA4007T3G.ato: -------------------------------------------------------------------------------- 1 | component NRVA4007T3G: 2 | # component NRVA4007T3G 3 | footprint = "SMA_L4.3-W2.6-LS5.2-FD" 4 | lcsc_id = "C236166" 5 | # pins 6 | signal _1 ~ pin 1 7 | signal _2 ~ pin 2 8 | 9 | -------------------------------------------------------------------------------- /elec/src/generics/elec/src/NTTFS4C25NTWG.ato: -------------------------------------------------------------------------------- 1 | component NTTFS4C25NTWG: 2 | # component NTTFS4C25NTWG 3 | footprint = "POWERPAK-1212-8_L3.1-W3.1-P0.65-LS3.3-BL" 4 | lcsc_id = "C893914" 5 | # pins 6 | signal S ~ pin 1 7 | S ~ pin 2 8 | S ~ pin 3 9 | signal G ~ pin 4 10 | signal D ~ pin 5 11 | D ~ pin 6 12 | D ~ pin 7 13 | D ~ pin 8 14 | 15 | -------------------------------------------------------------------------------- /elec/src/generics/elec/src/SKRPACE010.ato: -------------------------------------------------------------------------------- 1 | component SKRPACE010: 2 | # component SKRPACE010 3 | footprint = "KEY-SMD_4P-L4.2-W3.2-P2.20-LS4.6" 4 | lcsc_id = "C139797" 5 | # pins 6 | signal _1 ~ pin 1 7 | signal _2 ~ pin 2 8 | signal _3 ~ pin 3 9 | signal _4 ~ pin 4 10 | 11 | -------------------------------------------------------------------------------- /elec/src/generics/elec/src/SKTDLDE010.ato: -------------------------------------------------------------------------------- 1 | component SKTDLDE010: 2 | # component SKTDLDE010 3 | footprint = "KEY-SMD_SKTDLDE010" 4 | lcsc_id = "C115365" 5 | # pins 6 | signal _1 ~ pin 1 7 | signal _2 ~ pin 2 8 | signal _3 ~ pin 3 9 | signal _4 ~ pin 4 10 | 11 | -------------------------------------------------------------------------------- /elec/src/generics/elec/src/SS34_C8678.ato: -------------------------------------------------------------------------------- 1 | component SS34_C8678: 2 | # component SS34_C8678 3 | footprint = "SMA_L4.3-W2.6-LS5.2-RD" 4 | lcsc_id = "C8678" 5 | # pins 6 | signal A ~ pin 2 7 | signal K ~ pin 1 8 | 9 | -------------------------------------------------------------------------------- /elec/src/generics/elec/src/TS-1187A-B-A-B.ato: -------------------------------------------------------------------------------- 1 | component TS_1187A_B_A_B: 2 | # component TS-1187A-B-A-B 3 | footprint = "SW-SMD_4P-L5.1-W5.1-P3.70-LS6.5-TL-2" 4 | lcsc_id = "C318884" 5 | # pins 6 | signal B ~ pin 2 7 | signal A ~ pin 1 8 | signal D ~ pin 4 9 | signal C ~ pin 3 10 | 11 | -------------------------------------------------------------------------------- /elec/src/generics/elec/src/WJ15EDGRC-3.81-2P.ato: -------------------------------------------------------------------------------- 1 | component WJ15EDGRC_3_81_2P: 2 | # component WJ15EDGRC-3.81-2P 3 | footprint = "CONN-TH_2P-P3.81_WJ15EDGRC-3.81-2P" 4 | lcsc_id = "C8387" 5 | # pins 6 | signal _1 ~ pin 1 7 | signal _2 ~ pin 2 8 | 9 | -------------------------------------------------------------------------------- /elec/src/generics/filters.ato: -------------------------------------------------------------------------------- 1 | import Power from "interfaces.ato" 2 | from "interfaces.ato" import Power, Pair 3 | from "capacitors.ato" import Capacitor, CapacitorElectrolytic 4 | from "inductors.ato" import Inductor 5 | from "resistors.ato" import Resistor 6 | 7 | 8 | module LowPassFilter: 9 | # Interfaces 10 | input = new Pair 11 | output = new Pair 12 | 13 | # Components 14 | capacitor = new Capacitor 15 | resistor = new Resistor 16 | 17 | # Default values 18 | capacitor.package = "0402" 19 | resistor.package = "0402" 20 | 21 | # Connections 22 | input.io ~ resistor.1 23 | output.io ~ resistor.2 24 | output.io ~ capacitor.1 25 | output.gnd ~ capacitor.2 26 | input.gnd ~ output.gnd 27 | 28 | # Default values 29 | cutoff_frequency = 1kHz +/- 20% 30 | capacitor.value = 100nF +/- 10% 31 | 32 | assert 1 / (2 * 3.14 * resistor.value * capacitor.value) within cutoff_frequency 33 | 34 | 35 | module LowPassPiFilter: 36 | C1 = new CapacitorElectrolytic 37 | L1 = new Inductor 38 | C2 = new CapacitorElectrolytic 39 | 40 | power_in = new Power 41 | power_out = new Power 42 | 43 | power_in.vcc ~ C1.anode; C1.anode ~ L1.p1 44 | power_out.vcc ~ L1.p2; L1.p2 ~C2.anode 45 | C1.cathode ~ power_in.gnd 46 | C2.cathode ~ power_out.gnd 47 | power_in.gnd ~ power_out.gnd -------------------------------------------------------------------------------- /elec/src/generics/inductors.ato: -------------------------------------------------------------------------------- 1 | component Inductor: 2 | signal p1 ~ pin 1 3 | signal p2 ~ pin 2 4 | designator_prefix = "L" 5 | mpn = "generic_inductor" 6 | type = "inductor" -------------------------------------------------------------------------------- /elec/src/generics/leds.ato: -------------------------------------------------------------------------------- 1 | import Resistor from "resistors.ato" 2 | import Power from "interfaces.ato" 3 | 4 | component LED: 5 | signal anode 6 | signal cathode 7 | designator_prefix = "LED" 8 | # current = 0 to 20mA 9 | 10 | module LEDIndicator: 11 | power = new Power 12 | signal input 13 | signal gnd 14 | resistor = new Resistor 15 | led = new LED 16 | resistor.package = "0402" 17 | current: current 18 | v_in: voltage 19 | 20 | # Default value 21 | current = 1mA to 5mA 22 | 23 | assert (v_in - led.v_f) / resistor.value within current 24 | assert current < led.i_max 25 | 26 | # Connect power 27 | power.vcc ~ input 28 | power.gnd ~ gnd 29 | 30 | # Connect up 31 | input ~ led.anode; led.cathode ~ resistor.p1; resistor.p2 ~ gnd 32 | 33 | module LEDIndicatorRed from LEDIndicator: 34 | led -> _KT_0603R 35 | 36 | #Assuming 3.3v input, 2V forward voltage, 5mA current 37 | # resistor.value = 270ohms +/- 20% 38 | 39 | module LEDIndicatorGreen from LEDIndicator: 40 | led -> _KT_0603G 41 | 42 | #Assuming 3.3v input, 2.75V forward voltage, 5mA current 43 | # resistor.value = 110ohms +/- 20% 44 | 45 | module LEDIndicatorBlue from LEDIndicator: 46 | led -> _KT_0603B 47 | 48 | #Assuming 3.3v input, 2.9V forward voltage, 5mA current 49 | # resistor.value = 82ohms +/- 20% 50 | 51 | component _KT_0603B from LED: 52 | # component Blue light 0603 53 | footprint = "LED0603-RD" 54 | mpn = "C2288" 55 | v_f = 2.9V 56 | i_max = 20mA 57 | # pins 58 | signal cathode ~ pin 1 59 | signal anode ~ pin 2 60 | 61 | component _KT_0603G from LED: 62 | # component 0603 Green 509-620mcd 63 | footprint = "LED0603-RD" 64 | mpn = "C12624" 65 | v_f = 2.75V 66 | i_max = 20mA 67 | # pins 68 | signal anode ~ pin 2 69 | signal cathode ~ pin 1 70 | 71 | component _KT_0603R from LED: 72 | # component KT-0603R 73 | footprint = "LED0603-RD" 74 | mpn = "C2286" 75 | v_f = 2V 76 | i_max = 20mA 77 | # pins 78 | signal cathode ~ pin 1 79 | signal anode ~ pin 2 80 | 81 | -------------------------------------------------------------------------------- /elec/src/generics/mosfets.ato: -------------------------------------------------------------------------------- 1 | import Power from "interfaces.ato" 2 | import Pair from "interfaces.ato" 3 | import DiffPair from "interfaces.ato" 4 | import Load from "interfaces.ato" 5 | import Resistor from "resistors.ato" 6 | import Diode from "diodes.ato" 7 | 8 | component NFET: 9 | signal gate 10 | signal drain 11 | signal source 12 | designator_prefix = "Q" 13 | mpn = "generic_mosfet" 14 | type = "mosfet" 15 | polarity = "N Channel" 16 | 17 | component PFET: 18 | signal gate 19 | signal drain 20 | signal source 21 | designator_prefix = "Q" 22 | mpn = "generic_mosfet" 23 | type = "mosfet" 24 | polarity = "P Channel" 25 | 26 | module HalfBridge: 27 | power = new Power 28 | gate_high = new Pair 29 | gate_low = new Pair 30 | shunt_output = new DiffPair 31 | output = new Pair 32 | 33 | # this doesnt work until we have replace with instance. 34 | # Components 35 | nfet_high = new NFET 36 | nfet_low = new NFET 37 | shunt = new Resistor 38 | 39 | # Connect power 40 | power.vcc ~ nfet_high.drain 41 | output.io ~ nfet_high.source 42 | output.io ~ nfet_low.drain 43 | power.gnd ~ shunt.2; shunt.1 ~ nfet_low.source 44 | 45 | # Connect the gates 46 | gate_high.io ~ nfet_high.gate 47 | gate_low.io ~ nfet_low.gate 48 | 49 | # Connect the gnds 50 | output.gnd ~ power.gnd 51 | gate_high.gnd ~ power.gnd 52 | gate_low.gnd ~ power.gnd 53 | 54 | module LowSideSwitch: 55 | fet = new Mosfet_nchannel 56 | gate_resistor = new Resistor 57 | pulldown_resistor = new Resistor 58 | freewheel_diode = new Diode 59 | 60 | power = new Power 61 | load = new Load 62 | 63 | input = new Pair 64 | 65 | # connect up circuit 66 | input.io ~ gate_resistor.p1; gate_resistor.p2 ~ fet.gate 67 | input.gnd ~ power.gnd 68 | 69 | # load and diode between power and fet 70 | power.vcc ~ freewheel_diode.cathode; freewheel_diode.anode ~ fet.drain 71 | power.vcc ~ load.p; load.n ~ fet.drain 72 | 73 | # source to ground 74 | fet.source ~ power.gnd 75 | 76 | import NTTFS4C25NTWG from "elec/src/NTTFS4C25NTWG.ato" 77 | module LowSideSwitch30V5A from LowSideSwitch: 78 | fet -> NTTFS4C25NTWG 79 | -------------------------------------------------------------------------------- /elec/src/generics/oscillators.ato: -------------------------------------------------------------------------------- 1 | import Capacitor from "capacitors.ato" 2 | import Pair from "interfaces.ato" 3 | 4 | component Crystal: 5 | signal xin 6 | signal xout 7 | signal gnd 8 | 9 | module Oscillator: 10 | xin = new Pair 11 | xout = new Pair 12 | 13 | signal gnd ~ xin.gnd 14 | gnd ~ xout.gnd 15 | 16 | crystal = new Crystal 17 | load_cap_1 = new Capacitor 18 | load_cap_2 = new Capacitor 19 | 20 | load_cap_1.package = "0402" 21 | load_cap_2.package = "0402" 22 | 23 | xin.io ~ crystal.xin 24 | xout.io ~ crystal.xout 25 | 26 | xin.gnd ~ gnd 27 | xout.gnd ~ gnd 28 | crystal.gnd ~ gnd 29 | 30 | crystal.xin ~ load_cap_1.1; load_cap_1.2 ~ gnd 31 | crystal.xout ~ load_cap_2.1; load_cap_2.2 ~ gnd -------------------------------------------------------------------------------- /elec/src/generics/regulators.ato: -------------------------------------------------------------------------------- 1 | import Power from "interfaces.ato" 2 | import _VDiv from "vdivs.ato" 3 | 4 | module Regulator: 5 | power_in = new Power 6 | power_out = new Power 7 | # connect grounds (non isolated regulator) 8 | power_in.gnd ~ power_out.gnd 9 | 10 | module AdjustableRegulator from Regulator: 11 | # using vanilla voltage divider without equations 12 | feedback_div = new _VDiv 13 | v_ref: voltage 14 | i_q: current 15 | r_total: resistance 16 | v_in: voltage 17 | v_out: voltage 18 | 19 | # Default value 20 | i_q = 100uA to 200uA 21 | 22 | assert v_ref * (1 + feedback_div.r_top.value / feedback_div.r_bottom.value) within v_out 23 | assert v_out / (feedback_div.r_top.value + feedback_div.r_bottom.value) within i_q 24 | 25 | module Buck from AdjustableRegulator: 26 | # regulator parameters 27 | type = "Buck" 28 | 29 | module Boost from AdjustableRegulator: 30 | # regulator parameters 31 | type = "Boost" 32 | 33 | module LDO from Regulator: 34 | # regulator parameters 35 | type = "LDO" 36 | 37 | module AdjustableLDO from AdjustableRegulator: 38 | # regulator parameters 39 | type = "AdjustableLDO" 40 | 41 | module FixedLDO from Regulator: 42 | # regulator parameters 43 | type = "FixedLDO" 44 | 45 | module AdjustableLDO from AdjustableRegulator: 46 | # regulator parameters 47 | type = "AdjustableLDO" 48 | 49 | module Flyback from AdjustableRegulator: 50 | # regulator parameters 51 | type = "Flyback" 52 | 53 | module Forward from AdjustableRegulator: 54 | # regulator parameters 55 | type = "Forward" 56 | -------------------------------------------------------------------------------- /elec/src/generics/resistors.ato: -------------------------------------------------------------------------------- 1 | import Power from "interfaces.ato" 2 | import I2C from "interfaces.ato" 3 | 4 | component Resistor: 5 | signal p1 ~ pin 1 6 | signal p2 ~ pin 2 7 | designator_prefix = "R" 8 | mpn = "generic_resistor" 9 | type = "resistor" 10 | value: resistance 11 | 12 | # Equations 13 | # R = V/I 14 | # R = V^2/P 15 | 16 | module I2CPullup: 17 | r_sda = new Resistor 18 | r_scl = new Resistor 19 | power = new Power 20 | i2c = new I2C 21 | 22 | r_sda.value = 10kohm +/- 20% 23 | r_scl.value = 10kohm +/- 20% 24 | 25 | r_sda.package = "0402" 26 | r_scl.package = "0402" 27 | 28 | i2c.sda ~ r_sda.1; r_sda.2 ~ power.vcc 29 | i2c.scl ~ r_scl.1; r_scl.2 ~ power.vcc -------------------------------------------------------------------------------- /elec/src/generics/transistors.ato: -------------------------------------------------------------------------------- 1 | component Transistor_npn: 2 | signal base ~ pin 1 3 | signal collector ~ pin 2 4 | signal emitter ~ pin 3 5 | designator_prefix = "Q" 6 | 7 | component Transistor_pnp: 8 | signal base 9 | signal collector 10 | signal emitter 11 | designator_prefix = "Q" 12 | 13 | component Triac: 14 | signal MT1 15 | signal MT2 16 | signal gate 17 | designator_prefix = "TR" -------------------------------------------------------------------------------- /elec/src/generics/vdivs.ato: -------------------------------------------------------------------------------- 1 | import Resistor from "resistors.ato" 2 | import Capacitor from "capacitors.ato" 3 | import Power from "interfaces.ato" 4 | import Pair from "interfaces.ato" 5 | 6 | module VDiv from _VDiv: 7 | r_total: resistance 8 | # ratio: None 9 | v_in: voltage 10 | v_out: voltage 11 | 12 | i_q = 100uA to 10mA 13 | 14 | # assert r_top.value / r_bottom.value within ratio 15 | # assert r_top.value + r_bottom.value within r_total 16 | assert v_in * r_bottom.value / (r_top.value + r_bottom.value) within v_out 17 | assert v_in / (r_bottom.value + r_top.value) within i_q 18 | 19 | 20 | module _VDiv: 21 | signal top 22 | signal out 23 | signal bottom 24 | 25 | output = new Pair 26 | output.io ~ out 27 | output.gnd ~ bottom 28 | 29 | in = new Power # legacy 30 | power = new Power 31 | in ~ power 32 | power.vcc ~ top 33 | power.gnd ~ bottom 34 | 35 | r_top = new Resistor 36 | r_bottom = new Resistor 37 | r_top.package = "0402" 38 | r_bottom.package = "0402" 39 | 40 | top ~ r_top.1; r_top.2 ~ r_bottom.1; r_bottom.2 ~ bottom 41 | r_top.2 ~ out 42 | 43 | module VDivLowPassFilter from VDiv: 44 | cap = new Capacitor 45 | cap.package = "0402" 46 | cutoff_frequency: frequency 47 | 48 | out ~ cap.1; cap.2 ~ bottom 49 | cap.value = 100nF +/- 10% 50 | 51 | cutoff_frequency: frequency 52 | 53 | assert 1 / (2 * 3.14 * r_top.value * cap.value) within cutoff_frequency 54 | -------------------------------------------------------------------------------- /elec/src/imu.ato: -------------------------------------------------------------------------------- 1 | import Power from "generics/interfaces.ato" 2 | import I2C from "generics/interfaces.ato" 3 | import Pair from "generics/interfaces.ato" 4 | 5 | import BNO055 from "bno055/elec/src/bno055.ato" 6 | import BMI088 from "bmi088/elec/src/bmi088.ato" 7 | import LIS3MDLTR from "lis3mdltr/elec/src/lis3mdltr.ato" 8 | import MPU6050 from "mpu6050/elec/src/mpu6050.ato" 9 | 10 | 11 | module IMU: 12 | power = new Power 13 | i2c = new I2C 14 | interrupt = new Pair 15 | 16 | bno055 = new BNO055 17 | bmi088 = new BMI088 18 | mpu6050 = new MPU6050 19 | lis3mdltr = new LIS3MDLTR 20 | 21 | # Power 22 | power ~ bno055.power 23 | power ~ bmi088.power 24 | power ~ lis3mdltr.power 25 | power ~ mpu6050.power 26 | 27 | # I2C 28 | i2c ~ bno055.i2c # address = 0x28 29 | i2c ~ bmi088.i2c # address = 0x18, 0x69 30 | i2c ~ lis3mdltr.i2c # address = 0x1E 31 | i2c ~ mpu6050.i2c # address = 0x68 32 | 33 | # Interrupt 34 | interrupt ~ bno055.interrupt -------------------------------------------------------------------------------- /elec/src/lis3mdltr/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - name: Build 13 | uses: docker://ghcr.io/atopile/atopile-kicad 14 | 15 | - name: Upload Combined Artifacts 16 | uses: actions/upload-artifact@v3 17 | with: 18 | name: build 19 | path: build 20 | -------------------------------------------------------------------------------- /elec/src/lis3mdltr/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | -------------------------------------------------------------------------------- /elec/src/lis3mdltr/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 napowderly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /elec/src/lis3mdltr/README.md: -------------------------------------------------------------------------------- 1 | # lis3mdltr 2 | 3 | Wooohooo a new package! -------------------------------------------------------------------------------- /elec/src/lis3mdltr/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: elec/src/lis3mdltr.ato:LIS3MDLTR 5 | dependencies: 6 | - generics -------------------------------------------------------------------------------- /elec/src/lis3mdltr/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/lis3mdltr/elec/layout/default/lis3mdltr.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/lis3mdltr/metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /elec/src/micro.ato: -------------------------------------------------------------------------------- 1 | from "generics/interfaces.ato" import Power, I2C, UART, Pair, USB2 2 | from "generics/resistors.ato" import I2CPullup 3 | from "generics/buttons.ato" import ButtonSKRPACE010 4 | from "qwiic-connectors/elec/src/qwiic-connectors.ato" import QwiicConnector 5 | from "rp2040/RP2040Kit.ato" import RP2040Kit 6 | from "generics/debug.ato" import TestPoint 7 | 8 | 9 | module Micro: 10 | power = new Power 11 | i2c = new I2C 12 | uart = new UART 13 | interrupt = new Pair 14 | usb2 = new USB2 15 | power_btn = new Pair 16 | menu_btn = new Pair 17 | led_dout = new Pair 18 | hall_sense = new Pair 19 | charge_status = new Pair 20 | qwiic = new QwiicConnector 21 | 22 | # pick a micro 23 | micro = new RP2040Kit 24 | 25 | # pick a pullup resistor 26 | i2c_pullup = new I2CPullup 27 | i2c_pullup.r_sda.value = 2kohm +/- 10% 28 | i2c_pullup.r_scl.value = 2kohm +/- 10% 29 | 30 | 31 | # pick buttons 32 | micro.reset_btn.btn -> ButtonSKRPACE010 33 | micro.boot_btn.btn -> ButtonSKRPACE010 34 | 35 | 36 | # map module to ic 37 | power ~ micro.power_3v3 38 | power ~ i2c_pullup.power 39 | power ~ qwiic.power 40 | i2c ~ micro.i2c 41 | i2c ~ qwiic.i2c 42 | i2c ~ i2c_pullup.i2c 43 | uart ~ micro.uart 44 | interrupt.io ~ micro.gpio24 45 | interrupt.gnd ~ power.gnd 46 | usb2 ~ micro.usb2 47 | power_btn.io ~ micro.gpio12 48 | menu_btn.io ~ micro.gpio13 49 | led_dout.io ~ micro.gpio7 50 | hall_sense.io ~ micro.gpio26_a0 51 | charge_status.io ~ micro.gpio17 52 | 53 | # can delete if micro had Pairs instead of signals 54 | power_btn.gnd ~ power.gnd 55 | menu_btn.gnd ~ power.gnd 56 | led_dout.gnd ~ power.gnd 57 | 58 | # debug test points 59 | # I2C 60 | scl_tp = new TestPoint 61 | scl_tp.point ~ i2c.scl 62 | 63 | sda_tp = new TestPoint 64 | sda_tp.point ~ i2c.sda 65 | 66 | # UART 67 | tx_tp = new TestPoint 68 | tx_tp.point ~ uart.tx 69 | 70 | rx_tp = new TestPoint 71 | rx_tp.point ~ uart.rx 72 | 73 | # Interrupt 74 | int_tp = new TestPoint 75 | int_tp.point ~ interrupt.io -------------------------------------------------------------------------------- /elec/src/mpu6050/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - name: Build 13 | uses: docker://ghcr.io/atopile/atopile-kicad 14 | 15 | - name: Upload Combined Artifacts 16 | uses: actions/upload-artifact@v3 17 | with: 18 | name: build 19 | path: build 20 | -------------------------------------------------------------------------------- /elec/src/mpu6050/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | -------------------------------------------------------------------------------- /elec/src/mpu6050/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 napowderly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /elec/src/mpu6050/README.md: -------------------------------------------------------------------------------- 1 | # mpu6050 2 | 3 | Wooohooo a new package! -------------------------------------------------------------------------------- /elec/src/mpu6050/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: elec/src/mpu6050.ato:MPU6050 5 | dependencies: 6 | - generics -------------------------------------------------------------------------------- /elec/src/mpu6050/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/mpu6050/elec/layout/default/mpu6050.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/mpu6050/elec/src/mpu6050.ato: -------------------------------------------------------------------------------- 1 | from "generics/interfaces.ato" import I2C, Power 2 | from "generics/resistors.ato" import Resistor 3 | from "generics/capacitors.ato" import Capacitor 4 | 5 | module MPU6050: 6 | i2c = new I2C 7 | power = new Power 8 | signal interrupt 9 | ic = new _MPU_6050_C24112 10 | power.vcc ~ ic.vdd 11 | power.gnd ~ ic.gnd 12 | power.voltage = 3.3V +/- 20% 13 | 14 | # I2C 15 | i2c.sda ~ ic.sda 16 | i2c.scl ~ ic.scl 17 | 18 | # Interrupt 19 | interrupt ~ ic.int 20 | signal address ~ ic.ad0 21 | address ~ power.gnd 22 | 23 | # pullup on interrupt 24 | interrupt_pullup = new Resistor 25 | interrupt_pullup.p1 ~ interrupt 26 | interrupt_pullup.p2 ~ power.vcc 27 | interrupt_pullup.value = 10kohm +/- 20% 28 | interrupt_pullup.footprint = "R0402" 29 | 30 | # I2C pullups 31 | sda_pullup = new Resistor 32 | scl_pullup = new Resistor 33 | sda_pullup.p1 ~ i2c.sda 34 | sda_pullup.p2 ~ power.vcc 35 | sda_pullup.value = 10kohm +/- 20% 36 | sda_pullup.footprint = "R0402" 37 | scl_pullup.p1 ~ i2c.scl 38 | scl_pullup.p2 ~ power.vcc 39 | scl_pullup.value = 10kohm +/- 20% 40 | scl_pullup.footprint = "R0402" 41 | 42 | # Random pins that need something 43 | power.gnd ~ ic.fsync # FSYNC 44 | power.gnd ~ ic.clkin # CLKIN 45 | power.gnd ~ ic.ep # thermal pad 46 | power.gnd ~ power.gnd 47 | power.vcc ~ ic.vlogic # VLOGIC 48 | 49 | # Decoupling capacitors 50 | c1 = new Capacitor 51 | c1.p1 ~ power.gnd 52 | c1.p2 ~ ic.regout 53 | c1.value = 100nF +/- 20% 54 | c1.footprint = "C0402" 55 | 56 | c2 = new Capacitor 57 | c2.p1 ~ power.gnd 58 | c2.p2 ~ ic.cpout 59 | c2.value = 2.2nF +/- 20% 60 | c2.footprint = "C0603" 61 | 62 | component _MPU_6050_C24112: 63 | footprint = "QFN-24_L4.0-W4.0-P0.50-BL-EP2.7" 64 | mpn = "C24112" 65 | # pins 66 | signal clkin ~ pin 1 67 | signal aux_da ~ pin 6 68 | signal aux_cl ~ pin 7 69 | signal vlogic ~ pin 8 70 | signal ad0 ~ pin 9 71 | signal regout ~ pin 10 72 | signal fsync ~ pin 11 73 | signal int ~ pin 12 74 | signal vdd ~ pin 13 75 | signal gnd ~ pin 18 76 | signal cpout ~ pin 20 77 | signal scl ~ pin 23 78 | signal sda ~ pin 24 79 | signal ep ~ pin 25 -------------------------------------------------------------------------------- /elec/src/mpu6050/firmware/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/elec/src/mpu6050/firmware/.gitkeep -------------------------------------------------------------------------------- /elec/src/mpu6050/metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /elec/src/programming-headers/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - name: Build 13 | uses: docker://ghcr.io/atopile/atopile-kicad 14 | 15 | - name: Upload Combined Artifacts 16 | uses: actions/upload-artifact@v3 17 | with: 18 | name: build 19 | path: build 20 | -------------------------------------------------------------------------------- /elec/src/programming-headers/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | -------------------------------------------------------------------------------- /elec/src/programming-headers/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 napowderly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /elec/src/programming-headers/README.md: -------------------------------------------------------------------------------- 1 | # programming-headers 2 | 3 | Wooohooo a new package! -------------------------------------------------------------------------------- /elec/src/programming-headers/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: elec/src/programming-headers.ato:ProgrammingHeaders 5 | dependencies: 6 | - generics -------------------------------------------------------------------------------- /elec/src/programming-headers/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/programming-headers/elec/layout/default/programming-headers.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/programming-headers/elec/src/programming-headers.ato: -------------------------------------------------------------------------------- 1 | import JTAG from "generics/interfaces.ato" 2 | import Power from "generics/interfaces.ato" 3 | import SWD from "generics/interfaces.ato" 4 | 5 | component HB_PH9_12725PB2GOB: 6 | # component HB-PH9-12725PB2GOB 7 | footprint = "HDR-SMD_10P-P1.27-V-M-R2-C5-LS5.3" 8 | lcsc_id = "C6332249" 9 | mpn = "C6332249" 10 | 11 | # pins 12 | signal _1 ~ pin 1 13 | signal _10 ~ pin 10 14 | signal _3 ~ pin 3 15 | signal _8 ~ pin 8 16 | signal _5 ~ pin 5 17 | signal _6 ~ pin 6 18 | signal _7 ~ pin 7 19 | signal _4 ~ pin 4 20 | signal _9 ~ pin 9 21 | signal _2 ~ pin 2 22 | 23 | 24 | module JTAG_10PIN: 25 | jtag = new JTAG 26 | connector = new HB_PH9_12725PB2GOB 27 | jtag.tck ~ connector.4 28 | jtag.tms ~ connector.2 29 | jtag.tdi ~ connector.8 30 | jtag.tdo ~ connector.6 31 | jtag.reset ~ connector.10 32 | jtag.vcc ~ connector.1 33 | jtag.gnd ~ connector.3 34 | jtag.gnd ~ connector.5 35 | jtag.gnd ~ connector.9 36 | 37 | swd = new SWD 38 | swd.swdio ~ connector.2 39 | swd.swclk ~ connector.4 40 | swd.swo ~ connector.6 41 | swd.gnd ~ connector.3 42 | swd.gnd ~ connector.5 43 | swd.gnd ~ connector.9 44 | 45 | 46 | component TC2050: 47 | signal tdo ~ pin 6 48 | signal tdi ~ pin 8 49 | signal tms ~ pin 2 50 | signal tck ~ pin 4 51 | signal gnd ~ pin 3 52 | gnd ~ pin 5 53 | signal rst ~ pin 10 54 | signal vcc ~ pin 1 55 | 56 | jtag = new JTAG 57 | jtag.tdo ~ tdo 58 | jtag.tdi ~ tdi 59 | jtag.tms ~ tms 60 | jtag.tck ~ tck 61 | jtag.reset ~ rst 62 | 63 | power = new Power 64 | power.vcc ~ vcc 65 | power.gnd ~ gnd 66 | 67 | footprint = "TAG-CONNECT_TC2050-IDC" 68 | -------------------------------------------------------------------------------- /elec/src/programming-headers/metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /elec/src/qwiic-connectors/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - name: Build 13 | uses: docker://ghcr.io/atopile/atopile-kicad 14 | 15 | - name: Upload Combined Artifacts 16 | uses: actions/upload-artifact@v3 17 | with: 18 | name: build 19 | path: build 20 | -------------------------------------------------------------------------------- /elec/src/qwiic-connectors/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | -------------------------------------------------------------------------------- /elec/src/qwiic-connectors/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 napowderly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /elec/src/qwiic-connectors/README.md: -------------------------------------------------------------------------------- 1 | # qwiic-connectors 2 | 3 | Wooohooo a new package! -------------------------------------------------------------------------------- /elec/src/qwiic-connectors/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: elec/src/qwiic-connectors.ato:QwiicConnectors 5 | dependencies: 6 | - generics -------------------------------------------------------------------------------- /elec/src/qwiic-connectors/elec/footprints/footprints.pretty/CONN-SMD_4P-P1.00_SM04B-SRSS-TB-LF-SN.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:CONN-SMD_4P-P1.00_SM04B-SRSS-TB-LF-SN (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -5.9399999999999995) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value CONN-SMD_4P-P1.00_SM04B-SRSS-TB-LF-SN (at 0 5.9399999999999995) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -2.02 2.46) (end 1.88 2.46) (layer F.SilkS) (width 0.25)) 13 | (fp_line (start -1.94 -1.80) (end -3.02 -1.80) (layer F.SilkS) (width 0.25)) 14 | (fp_line (start -3.02 -1.80) (end -3.02 0.80) (layer F.SilkS) (width 0.25)) 15 | (fp_line (start 2.04 -1.80) (end 2.96 -1.80) (layer F.SilkS) (width 0.25)) 16 | (fp_line (start 2.96 -1.80) (end 2.96 0.81) (layer F.SilkS) (width 0.25)) 17 | (pad 2 smd rect (at -0.50 -1.94 0.00) (size 0.60 1.55) (layers F.Cu F.Paste F.Mask)) 18 | (pad 1 smd rect (at -1.50 -1.94 0.00) (size 0.60 1.55) (layers F.Cu F.Paste F.Mask)) 19 | (pad 4 smd rect (at 1.50 -1.94 0.00) (size 0.60 1.55) (layers F.Cu F.Paste F.Mask)) 20 | (pad 3 smd rect (at 0.50 -1.94 0.00) (size 0.60 1.55) (layers F.Cu F.Paste F.Mask)) 21 | (pad 6 smd rect (at -2.80 1.94 0.00) (size 1.20 1.80) (layers F.Cu F.Paste F.Mask)) 22 | (pad 5 smd rect (at 2.80 1.94 0.00) (size 1.20 1.80) (layers F.Cu F.Paste F.Mask)) 23 | (fp_circle (center -3.00 -2.46) (end -2.97 -2.46) (layer F.Fab) (width 0.06)) 24 | (fp_circle (center -1.54 -2.38) (end -1.39 -2.38) (layer Cmts.User) (width 0.30)) 25 | (fp_circle (center -2.50 -1.31) (end -2.38 -1.31) (layer F.SilkS) (width 0.25)) 26 | (model "/Users/narayanpowderly/Documents/atopile-workspace/swoop/.ato/modules/qwiic-connectors/elec/footprints/footprints.3dshapes/CONN-SMD_SR1.00-WS-4P.wrl" 27 | (offset (xyz 0.000 -0.000 -0.000)) 28 | (scale (xyz 1 1 1)) 29 | (rotate (xyz 0 0 0)) 30 | ) 31 | ) -------------------------------------------------------------------------------- /elec/src/qwiic-connectors/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/qwiic-connectors/elec/layout/default/qwiic-connectors.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/qwiic-connectors/elec/src/qwiic-connectors.ato: -------------------------------------------------------------------------------- 1 | import Resistor from "generics/resistors.ato" 2 | import Power from "generics/interfaces.ato" 3 | import I2C from "generics/interfaces.ato" 4 | 5 | component QwiicConnector: 6 | # SM04B-SRSS-TB (LF)(SN) 7 | signal gnd ~ pin 1 8 | signal vcc ~ pin 2 9 | signal sda ~ pin 3 10 | signal scl ~ pin 4 11 | 12 | i2c = new I2C 13 | i2c.sda ~ sda 14 | i2c.scl ~ scl 15 | 16 | power = new Power 17 | power.vcc ~ vcc 18 | power.gnd ~ gnd 19 | 20 | footprint = "CONN-SMD_4P-P1.00_SM04B-SRSS-TB-LF-SN" 21 | lcsc_id = "C160404" 22 | mpn = "C160404" 23 | designator_prefix = "J" 24 | -------------------------------------------------------------------------------- /elec/src/qwiic-connectors/metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /elec/src/radio.ato: -------------------------------------------------------------------------------- 1 | from "generics/interfaces.ato" import Power, UART, Pair 2 | from "generics/buttons.ato" import ButtonPullup, ButtonSKRPACE010 3 | 4 | from "sx1280imltrt/elec/src/sx1280imltrt.ato" import SX1280 5 | from "programming-headers/elec/src/programming-headers.ato" import JTAG_10PIN 6 | from "esp32-s3/elec/src/esp32-s3.ato" import ESP32S3 7 | from "sk6805-ec20/elec/src/sk6805-ec20.ato" import SK6805EC20 8 | 9 | 10 | module Radio: 11 | """ 12 | ExpressLRS Radio Module based on the SX1280 and ESP32-S3 13 | 14 | Required setup: 15 | - 3.3V power ~> power 16 | - A button in place of 'boot_button.btn' 17 | - UART for comms with handset 18 | 19 | Optional setup: 20 | - An RGB LED ~> led_do_if 21 | 22 | TODO: validate configuration in firmware 23 | https://github.com/mawildoer/ExpressLRS-targets/blob/mawildoer/swoop/TX/DIY%20S3_WROOM_1_N16R2%202400.json 24 | """ 25 | power = new Power 26 | uart = new UART 27 | _micro = new ESP32S3 28 | _radio = new SX1280 29 | 30 | # Optional: Interface to connect an RGB LED to the radio 31 | led_do_if = new Pair 32 | power.gnd ~ led_do_if.gnd 33 | 34 | # external connections 35 | power ~ _micro.power 36 | power ~ _radio.power 37 | 38 | # ESP32 39 | # UART connections need to be crossed (need a better way to do this) 40 | # This means people can connect straight to the UART as needed 41 | _micro.ic.RXD0 ~ uart.tx # GPIO43 42 | _micro.ic.TXD0 ~ uart.rx # GPIO44 43 | power.gnd ~ uart.gnd 44 | 45 | boot_button = new ButtonPullup 46 | boot_button.btn -> ButtonSKRPACE010 47 | boot_button.power ~ _micro.power 48 | boot_button.output.vcc ~ _micro.ic.IO0 49 | 50 | _radio.spi.miso ~ _micro.ic.IO15 51 | _radio.spi.mosi ~ _micro.ic.IO16 52 | _radio.spi.sck ~ _micro.ic.IO7 53 | _radio.busy.io ~ _micro.ic.IO4 54 | _radio.data1.io ~ _micro.ic.IO5 55 | _radio.reset.io ~ _micro.ic.IO6 56 | _radio.spi.cs ~ _micro.ic.IO17 57 | 58 | _micro.ic.IO48 ~ led_do_if.io 59 | 60 | # JTAG header 61 | jtag_header = new JTAG_10PIN 62 | jtag_header.jtag ~ _micro.jtag 63 | -------------------------------------------------------------------------------- /elec/src/rp2040/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | fp-lib-table 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | .vscode/ 43 | -------------------------------------------------------------------------------- /elec/src/rp2040/README.md: -------------------------------------------------------------------------------- 1 | # RP2040 2 | 3 | ## Installation 4 | Run in the terminal: 5 | 6 | ```ato install rp2040``` 7 | 8 | Add to your ato project: 9 | 10 | ```import RP2040Kit from "rp2040/rp2040.ato"``` 11 | 12 | [LINK](https://gitlab.atopile.io/packages/RP2040) to the repo. 13 | 14 | ## Overview 15 | 16 | This package should include all the basics needed to layout an RP2040 microcontroller. 17 | 18 | ## Features 19 | 20 | - **Power Interface:** 3.3v voltage input 21 | - **SPI Interface** 22 | - **I2C Interface** Inter-Integrated Circuit interface for connecting low-speed peripherals. 23 | - **USB 2.0 Interface** Handy to program the rp2040. Hook this up to an usb-c. There is a usb-c in a module as well. 24 | - **GPIO Pins:** General Purpose Input/Output pins for digital input/output functionality. 25 | - **Analog Inputs:** Four analog inputs (A0-A3) for reading analog signals. 26 | 27 | ## Getting Started 28 | 29 | 1. **Powering the Module:** Requires a 3.3V supply connected to the power interface. 30 | 2. **Connecting Interfaces:** Utilize SPI, I2C, and USB interfaces as per your project requirements. 31 | 3. **Utilizing GPIO and Analog Inputs:** Connect your sensors or peripherals to the GPIO or analog inputs as needed. 32 | 4. **Programming:** Program the module using your preferred development environment compatible with the RP2040. 33 | 34 | ## Example Layout 35 | 36 | ![Example Layout](docs/layout-example.png) 37 | 38 | ### Layout notes 39 | - Caps should be close to the micro on the 3V3 an 1V1 rails 40 | - 12MHz crystal should be close to micro 41 | - USB series resistors should be close to micro 42 | - Maybe just put everything close to the micro... 43 | 44 | ## Documentation & Resources 45 | 46 | - [Official RP2040 Datasheet](https://datasheets.raspberrypi.com/rp2040/hardware-design-with-rp2040.pdf) 47 | 48 | Here is roughly what's going on in the module: 49 | 50 | ![whats-going-on-in-the-module](docs/rp2040Kit.png) 51 | 52 | What you have to deal with: 53 | ![courtesy_of_john_mcmaster](https://siliconpr0n.org/map/raspberry-pi/rp2-b0/single/raspberry-pi_rp2-b0_mcmaster_s1-9_vc60x.jpg) 54 | *Courstesy of John Mcmaster* 55 | 56 | ## Contributing 57 | 58 | Contribute to this package using pull requests. 59 | 60 | ## License 61 | 62 | This RP2040 module documentation is provided under the [MIT License](https://opensource.org/license/mit/). 63 | 64 | ## Contact 65 | 66 | For further inquiries or support, please contact us at [narayan@atopile.io](mailto:narayan@atopile.io). 67 | -------------------------------------------------------------------------------- /elec/src/rp2040/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: v0.2.16 2 | builds: 3 | default: 4 | entry: RP2040Kit.ato:RP2040Kit 5 | dependencies: 6 | - generics 7 | -------------------------------------------------------------------------------- /elec/src/rp2040/data/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/elec/src/rp2040/data/.gitkeep -------------------------------------------------------------------------------- /elec/src/rp2040/docs/layout-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/elec/src/rp2040/docs/layout-example.png -------------------------------------------------------------------------------- /elec/src/rp2040/docs/rp2040Kit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/elec/src/rp2040/docs/rp2040Kit.png -------------------------------------------------------------------------------- /elec/src/rp2040/elec/footprints/footprints.pretty/OSC-SMD_4P-L3.2-W2.5-BL.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:OSC-SMD_4P-L3.2-W2.5-BL (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -4.88) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value OSC-SMD_4P-L3.2-W2.5-BL (at 0 4.88) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -2.29 1.40) (end -2.29 1.91) (layer F.SilkS) (width 0.15)) 13 | (fp_line (start -2.29 1.91) (end -1.78 1.91) (layer F.SilkS) (width 0.15)) 14 | (fp_line (start -2.03 1.68) (end -2.03 -1.65) (layer F.SilkS) (width 0.15)) 15 | (fp_line (start -2.03 -1.65) (end 2.03 -1.65) (layer F.SilkS) (width 0.15)) 16 | (fp_line (start 2.03 -1.65) (end 2.03 -0.00) (layer F.SilkS) (width 0.15)) 17 | (fp_line (start 2.03 -0.00) (end 2.03 1.65) (layer F.SilkS) (width 0.15)) 18 | (fp_line (start 2.03 1.65) (end 2.03 1.65) (layer F.SilkS) (width 0.15)) 19 | (fp_line (start 2.03 1.65) (end -2.03 1.68) (layer F.SilkS) (width 0.15)) 20 | (pad 1 smd rect (at -1.10 0.88 0.00) (size 1.40 1.20) (layers F.Cu F.Paste F.Mask)) 21 | (pad 2 smd rect (at 1.10 0.88 0.00) (size 1.40 1.20) (layers F.Cu F.Paste F.Mask)) 22 | (pad 3 smd rect (at 1.10 -0.88 0.00) (size 1.40 1.20) (layers F.Cu F.Paste F.Mask)) 23 | (pad 4 smd rect (at -1.10 -0.88 0.00) (size 1.40 1.20) (layers F.Cu F.Paste F.Mask)) 24 | (fp_circle (center -1.60 1.25) (end -1.57 1.25) (layer F.Fab) (width 0.06)) 25 | (fp_circle (center -1.09 1.57) (end -0.96 1.57) (layer Cmts.User) (width 0.25)) 26 | (model "/Users/mattwildoer/Projects/atopile-workspace/luminous-larry/.ato/modules/rp2040/elec/footprints/footprints.3dshapes/OSC-SMD_4P-L3.2-W2.5-H1.0.wrl" 27 | (offset (xyz 0.000 -0.000 -0.000)) 28 | (scale (xyz 1 1 1)) 29 | (rotate (xyz 0 0 0)) 30 | ) 31 | ) -------------------------------------------------------------------------------- /elec/src/rp2040/elec/footprints/footprints.pretty/SOIC-8_L5.3-W5.3-P1.27-LS8.0-BL.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:SOIC-8_L5.3-W5.3-P1.27-LS8.0-BL (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -7.529999999999999) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value SOIC-8_L5.3-W5.3-P1.27-LS8.0-BL (at 0 7.529999999999999) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -2.64 2.18) (end -2.64 -2.18) (layer F.SilkS) (width 0.15)) 13 | (fp_line (start -2.64 -2.18) (end 2.64 -2.18) (layer F.SilkS) (width 0.15)) 14 | (fp_line (start 2.64 -2.18) (end 2.64 2.18) (layer F.SilkS) (width 0.15)) 15 | (fp_line (start 2.64 2.18) (end -2.64 2.18) (layer F.SilkS) (width 0.15)) 16 | (pad 1 smd oval (at -1.91 3.53 0.00) (size 0.63 2.25) (layers F.Cu F.Paste F.Mask)) 17 | (pad 2 smd oval (at -0.63 3.53 0.00) (size 0.63 2.25) (layers F.Cu F.Paste F.Mask)) 18 | (pad 3 smd oval (at 0.63 3.53 0.00) (size 0.63 2.25) (layers F.Cu F.Paste F.Mask)) 19 | (pad 4 smd oval (at 1.90 3.53 0.00) (size 0.63 2.25) (layers F.Cu F.Paste F.Mask)) 20 | (pad 8 smd oval (at -1.91 -3.53 0.00) (size 0.63 2.25) (layers F.Cu F.Paste F.Mask)) 21 | (pad 7 smd oval (at -0.63 -3.53 0.00) (size 0.63 2.25) (layers F.Cu F.Paste F.Mask)) 22 | (pad 6 smd oval (at 0.63 -3.53 0.00) (size 0.63 2.25) (layers F.Cu F.Paste F.Mask)) 23 | (pad 5 smd oval (at 1.90 -3.53 0.00) (size 0.63 2.25) (layers F.Cu F.Paste F.Mask)) 24 | (fp_circle (center -1.91 1.42) (end -1.76 1.42) (layer F.SilkS) (width 0.30)) 25 | (fp_circle (center -2.67 3.53) (end -2.52 3.53) (layer F.SilkS) (width 0.30)) 26 | (fp_circle (center -1.91 4.35) (end -1.76 4.35) (layer Cmts.User) (width 0.30)) 27 | (fp_circle (center -2.59 3.92) (end -2.56 3.92) (layer F.Fab) (width 0.06)) 28 | (model "/Users/mattwildoer/Projects/atopile-workspace/luminous-larry/.ato/modules/rp2040/elec/footprints/footprints.3dshapes/SOIC-8_L5.3-W5.3-H1.9-LS7.9-P1.27.wrl" 29 | (offset (xyz 1.650 -2.840 -0.000)) 30 | (scale (xyz 1 1 1)) 31 | (rotate (xyz 0 0 0)) 32 | ) 33 | ) -------------------------------------------------------------------------------- /elec/src/rp2040/elec/footprints/footprints.pretty/WSON-8_L6.0-W5.0-P1.27-BL-EP.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:WSON-8_L6.0-W5.0-P1.27-BL-EP (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -7.01) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value WSON-8_L6.0-W5.0-P1.27-BL-EP (at 0 7.01) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -2.58 3.08) (end -2.58 -3.08) (layer F.SilkS) (width 0.15)) 13 | (fp_line (start 2.58 -3.08) (end 2.58 3.08) (layer F.SilkS) (width 0.15)) 14 | (pad 1 smd oval (at -1.91 3.01 0.00) (size 0.58 1.28) (layers F.Cu F.Paste F.Mask)) 15 | (pad 2 smd oval (at -0.63 3.01 0.00) (size 0.58 1.28) (layers F.Cu F.Paste F.Mask)) 16 | (pad 3 smd oval (at 0.63 3.01 0.00) (size 0.58 1.28) (layers F.Cu F.Paste F.Mask)) 17 | (pad 4 smd oval (at 1.90 3.01 0.00) (size 0.58 1.28) (layers F.Cu F.Paste F.Mask)) 18 | (pad 8 smd oval (at -1.91 -3.01 0.00) (size 0.58 1.28) (layers F.Cu F.Paste F.Mask)) 19 | (pad 7 smd oval (at -0.63 -3.01 0.00) (size 0.58 1.28) (layers F.Cu F.Paste F.Mask)) 20 | (pad 6 smd oval (at 0.63 -3.01 0.00) (size 0.58 1.28) (layers F.Cu F.Paste F.Mask)) 21 | (pad 5 smd oval (at 1.90 -3.01 0.00) (size 0.58 1.28) (layers F.Cu F.Paste F.Mask)) 22 | (pad 9 smd rect (at 0.00 0.00 0.00) (size 4.30 3.40) (layers F.Cu F.Paste F.Mask)) 23 | (fp_circle (center -2.50 3.00) (end -2.47 3.00) (layer F.Fab) (width 0.06)) 24 | (fp_circle (center -1.91 3.40) (end -1.76 3.40) (layer Cmts.User) (width 0.30)) 25 | (fp_circle (center -1.91 3.95) (end -1.81 3.95) (layer F.SilkS) (width 0.20)) 26 | (model "/Users/mattwildoer/Projects/atopile-workspace/luminous-larry/.ato/modules/rp2040/elec/footprints/footprints.3dshapes/WSON-8_L6.0-W5.0-H0.7-P1.27.wrl" 27 | (offset (xyz 0.380 0.120 -0.000)) 28 | (scale (xyz 1 1 1)) 29 | (rotate (xyz 0 0 270)) 30 | ) 31 | ) -------------------------------------------------------------------------------- /elec/src/rp2040/elec/layout/default/rp2040.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/rp2040/firmware/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/elec/src/rp2040/firmware/.gitkeep -------------------------------------------------------------------------------- /elec/src/saleae-header/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - name: Build 13 | uses: docker://ghcr.io/atopile/atopile-kicad 14 | 15 | - name: Upload Combined Artifacts 16 | uses: actions/upload-artifact@v3 17 | with: 18 | name: build 19 | path: build 20 | -------------------------------------------------------------------------------- /elec/src/saleae-header/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | -------------------------------------------------------------------------------- /elec/src/saleae-header/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Timothee Peter 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /elec/src/saleae-header/README.md: -------------------------------------------------------------------------------- 1 | # template 2 | 3 | Project description goes here. 4 | -------------------------------------------------------------------------------- /elec/src/saleae-header/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: saleae-header.ato:SaleaeHeader 5 | dependencies: 6 | - generics -------------------------------------------------------------------------------- /elec/src/saleae-header/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/saleae-header/elec/layout/default/saleae-header.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/saleae-header/elec/src/PZ254-2-04-S.ato: -------------------------------------------------------------------------------- 1 | component PZ254_2_04_S: 2 | # component PZ254-2-04-S 3 | footprint = "HDR-SMD_8P-P2.54-V-M-R2-C4-LS7.4" 4 | lcsc_id = "C3294462" 5 | mpn = "C3294462" 6 | # pins 7 | signal _1 ~ pin 1 8 | signal _8 ~ pin 8 9 | signal _3 ~ pin 3 10 | signal _6 ~ pin 6 11 | signal _5 ~ pin 5 12 | signal _4 ~ pin 4 13 | signal _7 ~ pin 7 14 | signal _2 ~ pin 2 15 | 16 | -------------------------------------------------------------------------------- /elec/src/saleae-header/metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /elec/src/saleae-header/saleae-header.ato: -------------------------------------------------------------------------------- 1 | import PZ254_2_04_S from "elec/src/PZ254-2-04-S.ato" 2 | import Pair from "generics/interfaces.ato" 3 | import TVSDiode from "generics/diodes.ato" 4 | import Resistor from "generics/resistors.ato" 5 | import SPI from "generics/interfaces.ato" 6 | import I2C from "generics/interfaces.ato" 7 | import UART from "generics/interfaces.ato" 8 | import USB2 from "generics/interfaces.ato" 9 | 10 | component _protection_resistor from Resistor: 11 | value = 1kohm +/- 5% 12 | package = "0402" 13 | 14 | module SaleaeHeader: 15 | header = new PZ254_2_04_S 16 | ch0 = new Pair 17 | ch1 = new Pair 18 | ch2 = new Pair 19 | ch3 = new Pair 20 | 21 | # Connect the grounds together 22 | signal gnd 23 | gnd ~ ch0.gnd 24 | gnd ~ ch1.gnd 25 | gnd ~ ch2.gnd 26 | gnd ~ ch3.gnd 27 | 28 | # protection resistors 29 | r1 = new _protection_resistor 30 | r2 = new _protection_resistor 31 | r3 = new _protection_resistor 32 | r4 = new _protection_resistor 33 | 34 | # connect ios via resistors to the header 35 | ch0.io ~ r1.1; r1.2 ~ header.1 36 | ch1.io ~ r2.1; r2.2 ~ header.3 37 | ch2.io ~ r3.1; r3.2 ~ header.5 38 | ch3.io ~ r4.1; r4.2 ~ header.7 39 | 40 | # connect the grounds together 41 | gnd ~ header.2 42 | gnd ~ header.4 43 | gnd ~ header.6 44 | gnd ~ header.8 45 | 46 | # SPI 47 | spi = new SPI 48 | spi.mosi ~ ch0.io 49 | spi.miso ~ ch1.io 50 | spi.sck ~ ch2.io 51 | spi.cs ~ ch3.io 52 | spi.gnd ~ gnd 53 | 54 | # I2C 55 | i2c = new I2C 56 | i2c.scl ~ ch0.io 57 | i2c.sda ~ ch1.io 58 | i2c.gnd ~ gnd 59 | 60 | # UART 61 | uart = new UART 62 | uart.tx ~ ch2.io 63 | uart.rx ~ ch3.io 64 | uart.gnd ~ gnd 65 | 66 | # USB2 67 | usb2 = new USB2 68 | usb2.dp ~ ch2.io 69 | usb2.dm ~ ch3.io 70 | -------------------------------------------------------------------------------- /elec/src/sk6805-ec20/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - name: Build 13 | uses: docker://ghcr.io/atopile/atopile-kicad 14 | 15 | - name: Upload Combined Artifacts 16 | uses: actions/upload-artifact@v3 17 | with: 18 | name: build 19 | path: build 20 | -------------------------------------------------------------------------------- /elec/src/sk6805-ec20/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | -------------------------------------------------------------------------------- /elec/src/sk6805-ec20/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 napowderly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /elec/src/sk6805-ec20/README.md: -------------------------------------------------------------------------------- 1 | # sk6805-ec20 2 | 3 | Wooohooo a new package! -------------------------------------------------------------------------------- /elec/src/sk6805-ec20/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: elec/src/sk6805-ec20.ato:SK6805EC20 5 | dependencies: 6 | - generics -------------------------------------------------------------------------------- /elec/src/sk6805-ec20/elec/footprints/footprints.kicad_sym: -------------------------------------------------------------------------------- 1 | (kicad_symbol_lib 2 | (symbol "SK6805-EC20" 3 | (in_bom yes) 4 | (on_board yes) 5 | (property 6 | "Reference" 7 | "LED" 8 | (id 0) 9 | (at 0 6.35 0) 10 | (effects (font (size 1.27 1.27) ) ) 11 | ) 12 | (property 13 | "Value" 14 | "SK6805-EC20" 15 | (id 1) 16 | (at 0 -6.35 0) 17 | (effects (font (size 1.27 1.27) ) ) 18 | ) 19 | (property 20 | "Footprint" 21 | "footprints:LED-SMD_4P-L2.0-W2.0-BR" 22 | (id 2) 23 | (at 0 -8.89 0) 24 | (effects (font (size 1.27 1.27) ) hide) 25 | ) 26 | (property 27 | "LCSC Part" 28 | "C2890036" 29 | (id 5) 30 | (at 0 -11.43 0) 31 | (effects (font (size 1.27 1.27) ) hide) 32 | ) 33 | (symbol "SK6805-EC20_0_1" 34 | (rectangle 35 | (start -7.62 3.81) 36 | (end 7.62 -3.81) 37 | (stroke (width 0) (type default) (color 0 0 0 0)) 38 | (fill (type background)) 39 | ) 40 | (circle 41 | (center -6.35 2.54) 42 | (radius 0.38) 43 | (stroke (width 0) (type default) (color 0 0 0 0)) 44 | (fill (type none)) 45 | ) 46 | (pin unspecified line 47 | (at -10.16 1.27 0) 48 | (length 2.54) 49 | (name "VDD" (effects (font (size 1.27 1.27)))) 50 | (number "1" (effects (font (size 1.27 1.27)))) 51 | ) 52 | (pin unspecified line 53 | (at -10.16 -1.27 0) 54 | (length 2.54) 55 | (name "DOUT" (effects (font (size 1.27 1.27)))) 56 | (number "2" (effects (font (size 1.27 1.27)))) 57 | ) 58 | (pin unspecified line 59 | (at 10.16 -1.27 180) 60 | (length 2.54) 61 | (name "GND" (effects (font (size 1.27 1.27)))) 62 | (number "3" (effects (font (size 1.27 1.27)))) 63 | ) 64 | (pin unspecified line 65 | (at 10.16 1.27 180) 66 | (length 2.54) 67 | (name "DIN" (effects (font (size 1.27 1.27)))) 68 | (number "4" (effects (font (size 1.27 1.27)))) 69 | ) 70 | ) 71 | ) 72 | ) -------------------------------------------------------------------------------- /elec/src/sk6805-ec20/elec/footprints/footprints.pretty/LED-SMD_4P-L2.0-W2.0-BR.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:LED-SMD_4P-L2.0-W2.0-BR (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -4.65) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value LED-SMD_4P-L2.0-W2.0-BR (at 0 4.65) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start 0.70 1.50) (end 1.50 1.50) (layer F.SilkS) (width 0.15)) 13 | (fp_line (start 1.50 1.50) (end 1.50 0.75) (layer F.SilkS) (width 0.15)) 14 | (fp_line (start -1.25 -1.25) (end 1.25 -1.25) (layer F.Fab) (width 3.00)) 15 | (fp_line (start 1.25 -1.25) (end 1.25 1.25) (layer F.Fab) (width 3.00)) 16 | (fp_line (start 1.25 1.25) (end -1.25 1.25) (layer F.Fab) (width 3.00)) 17 | (fp_line (start -1.25 -1.25) (end -1.25 -1.25) (layer F.Fab) (width 3.00)) 18 | (pad 2 smd rect (at 0.65 -0.65 0.00) (size 0.80 0.80) (layers F.Cu F.Paste F.Mask)) 19 | (pad 1 smd rect (at 0.65 0.65 0.00) (size 0.80 0.80) (layers F.Cu F.Paste F.Mask)) 20 | (pad 4 smd rect (at -0.65 0.65 0.00) (size 0.80 0.80) (layers F.Cu F.Paste F.Mask)) 21 | (pad 3 smd rect (at -0.65 -0.65 0.00) (size 0.80 0.80) (layers F.Cu F.Paste F.Mask)) 22 | (fp_circle (center 1.00 1.00) (end 1.03 1.00) (layer F.Fab) (width 0.06)) 23 | (fp_circle (center 0.90 0.90) (end 1.00 0.90) (layer Cmts.User) (width 0.20)) 24 | (model "/Users/narayanpowderly/Documents/atopile-workspace/swoop/.ato/modules/sk6805-ec20/elec/footprints/footprints.3dshapes/LED-SMD_4P-L2.0-W2.0-BR.wrl" 25 | (offset (xyz 0.000 -0.000 -0.000)) 26 | (scale (xyz 1 1 1)) 27 | (rotate (xyz 0 0 0)) 28 | ) 29 | ) -------------------------------------------------------------------------------- /elec/src/sk6805-ec20/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/sk6805-ec20/elec/layout/default/sk6805-ec20.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/sk6805-ec20/elec/src/sk6805-ec20.ato: -------------------------------------------------------------------------------- 1 | import Capacitor from "generics/capacitors.ato" 2 | import Power from "generics/interfaces.ato" 3 | import Pair from "generics/interfaces.ato" 4 | 5 | component _SK6805EC20: 6 | # component SK6805-EC20 7 | footprint = "LED-SMD_4P-L2.0-W2.0-BR" 8 | lcsc_id = "C2890036" 9 | mpn = "C2890036" 10 | # pins 11 | signal VDD ~ pin 1 12 | signal DOUT ~ pin 2 13 | signal GND ~ pin 3 14 | signal DIN ~ pin 4 15 | 16 | power = new Power 17 | power.vcc ~ VDD 18 | power.gnd ~ GND 19 | 20 | din = new Pair 21 | din.io ~ DIN 22 | din.gnd ~ GND 23 | 24 | dout = new Pair 25 | dout.io ~ DOUT 26 | dout.gnd ~ GND 27 | 28 | module SK6805EC20: 29 | ic = new _SK6805EC20 30 | power = new Power 31 | ic.power ~ power 32 | 33 | din = new Pair 34 | ic.din ~ din 35 | 36 | dout = new Pair 37 | ic.dout ~ dout 38 | 39 | cap = new Capacitor 40 | power ~ cap.power 41 | cap.package = "0402" 42 | cap.value = 100nF +/- 20% 43 | -------------------------------------------------------------------------------- /elec/src/sk6805-ec20/metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /elec/src/swoop.ato: -------------------------------------------------------------------------------- 1 | import Micro from "micro.ato" 2 | import PowerSupply from "power-supply.ato" 3 | import IMU from "imu.ato" 4 | import Radio from "radio.ato" 5 | import IOs from "ios.ato" 6 | 7 | import Power from "generics/interfaces.ato" 8 | 9 | module Swoop: 10 | """ 11 | Swoop is an opensource motion controller for FPV drones. 12 | Compatable with ExpressLRS. 13 | """ 14 | power3v3 = new Power 15 | 16 | # Create modules 17 | micro = new Micro 18 | power_supply = new PowerSupply 19 | imu = new IMU 20 | radio = new Radio 21 | ios = new IOs 22 | 23 | 24 | # Comms 25 | micro.usb2 ~ ios.usb2 26 | micro.power ~ power3v3 27 | micro.uart ~ radio.uart 28 | micro.i2c ~ imu.i2c 29 | micro.i2c ~ ios.i2c 30 | micro.interrupt ~ imu.interrupt 31 | 32 | # GPIO 33 | micro.led_dout ~ ios.led_din 34 | micro.power_btn ~ ios.power_btn 35 | micro.menu_btn ~ ios.menu_btn 36 | micro.hall_sense ~ ios.hall_sense 37 | micro.charge_status ~ power_supply.charge_status 38 | 39 | # Regultators 40 | ios.power5v ~ power_supply.power5v 41 | power_supply.power3v3 ~ power3v3 42 | 43 | # power connections 44 | power3v3 ~ imu.power 45 | power3v3 ~ radio.power 46 | power3v3 ~ ios.power3v3 -------------------------------------------------------------------------------- /elec/src/sx1280imltrt/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - name: Build 13 | uses: docker://ghcr.io/atopile/atopile-kicad 14 | 15 | - name: Upload Combined Artifacts 16 | uses: actions/upload-artifact@v3 17 | with: 18 | name: build 19 | path: build 20 | -------------------------------------------------------------------------------- /elec/src/sx1280imltrt/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | -------------------------------------------------------------------------------- /elec/src/sx1280imltrt/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 napowderly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /elec/src/sx1280imltrt/README.md: -------------------------------------------------------------------------------- 1 | # sx1280imltrt 2 | 3 | Wooohooo a new package! -------------------------------------------------------------------------------- /elec/src/sx1280imltrt/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: elec/src/sx1280imltrt.ato:SX1280 5 | dependencies: 6 | - generics 7 | 8 | services: 9 | components: https://atopile-component-server-atsuhzfd5a-uc.a.run.app/jlc 10 | -------------------------------------------------------------------------------- /elec/src/sx1280imltrt/elec/footprints/footprints.pretty/IPEX-SMD_BWIPX-1-001E.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:IPEX-SMD_BWIPX-1-001E (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -5.47) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value IPEX-SMD_BWIPX-1-001E (at 0 5.47) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start 2.16 -0.73) (end 2.16 -1.27) (layer F.SilkS) (width 0.25)) 13 | (fp_line (start 2.16 -1.27) (end 2.09 -1.27) (layer F.SilkS) (width 0.25)) 14 | (fp_line (start 2.09 1.27) (end 2.16 1.27) (layer F.SilkS) (width 0.25)) 15 | (fp_line (start 2.16 1.27) (end 2.16 0.73) (layer F.SilkS) (width 0.25)) 16 | (fp_line (start -0.57 -1.27) (end -0.64 -1.27) (layer F.SilkS) (width 0.25)) 17 | (fp_line (start -0.64 -1.27) (end -0.64 -0.73) (layer F.SilkS) (width 0.25)) 18 | (fp_line (start -0.64 0.73) (end -0.64 1.27) (layer F.SilkS) (width 0.25)) 19 | (fp_line (start -0.64 1.27) (end -0.57 1.27) (layer F.SilkS) (width 0.25)) 20 | (fp_line (start 2.16 -0.73) (end 2.16 0.73) (layer F.SilkS) (width 0.25)) 21 | (pad 1 smd rect (at -0.76 0.00 180.00) (size 1.05 1.00) (layers F.Cu F.Paste F.Mask)) 22 | (pad 2 smd rect (at 0.76 1.47 180.00) (size 2.20 1.05) (layers F.Cu F.Paste F.Mask)) 23 | (pad 3 smd rect (at 0.76 -1.47 180.00) (size 2.20 1.05) (layers F.Cu F.Paste F.Mask)) 24 | (fp_circle (center -0.79 1.50) (end -0.76 1.50) (layer F.Fab) (width 0.06)) 25 | (fp_circle (center -1.02 0.00) (end -0.92 0.00) (layer Cmts.User) (width 0.20)) 26 | (fp_circle (center 0.76 0.00) (end 1.33 0.00) (layer F.SilkS) (width 0.25)) 27 | (model "/Users/narayanpowderly/Documents/atopile-workspace/swoop/.ato/modules/sx1280imltrt/elec/footprints/footprints.3dshapes/IPEX-SMD_BWIPX-1-001E.wrl" 28 | (offset (xyz 0.760 -0.000 -0.000)) 29 | (scale (xyz 1 1 1)) 30 | (rotate (xyz 0 0 180)) 31 | ) 32 | ) -------------------------------------------------------------------------------- /elec/src/sx1280imltrt/elec/footprints/footprints.pretty/L0402.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:L0402 (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -4.0) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value L0402 (at 0 4.0) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start 0.23 0.50) (end 1.02 0.50) (layer F.SilkS) (width 0.15)) 13 | (fp_line (start 1.02 0.50) (end 1.17 0.35) (layer F.SilkS) (width 0.15)) 14 | (fp_line (start 1.17 0.35) (end 1.17 -0.35) (layer F.SilkS) (width 0.15)) 15 | (fp_line (start 1.17 -0.35) (end 1.02 -0.50) (layer F.SilkS) (width 0.15)) 16 | (fp_line (start 1.02 -0.50) (end 0.23 -0.50) (layer F.SilkS) (width 0.15)) 17 | (fp_line (start -0.23 0.50) (end -1.02 0.50) (layer F.SilkS) (width 0.15)) 18 | (fp_line (start -1.02 0.50) (end -1.17 0.35) (layer F.SilkS) (width 0.15)) 19 | (fp_line (start -1.17 0.35) (end -1.17 -0.35) (layer F.SilkS) (width 0.15)) 20 | (fp_line (start -1.17 -0.35) (end -1.02 -0.50) (layer F.SilkS) (width 0.15)) 21 | (fp_line (start -1.02 -0.50) (end -0.23 -0.50) (layer F.SilkS) (width 0.15)) 22 | (pad 2 smd rect (at 0.55 0.00 0.00) (size 0.79 0.54) (layers F.Cu F.Paste F.Mask)) 23 | (pad 1 smd rect (at -0.55 0.00 0.00) (size 0.79 0.54) (layers F.Cu F.Paste F.Mask)) 24 | (fp_circle (center -0.50 0.25) (end -0.47 0.25) (layer F.Fab) (width 0.06)) 25 | (model "/Users/narayanpowderly/Documents/atopile-workspace/swoop/.ato/modules/sx1280imltrt/elec/footprints/footprints.3dshapes/L0402_L1.0-W0.5-H0.5_BEAD.wrl" 26 | (offset (xyz 6.220 0.890 -0.000)) 27 | (scale (xyz 1 1 1)) 28 | (rotate (xyz 0 0 0)) 29 | ) 30 | ) -------------------------------------------------------------------------------- /elec/src/sx1280imltrt/elec/footprints/footprints.pretty/OSC-SMD_4P-L2.0-W1.6-BL.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:OSC-SMD_4P-L2.0-W1.6-BL (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -4.6) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value OSC-SMD_4P-L2.0-W1.6-BL (at 0 4.6) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -1.89 0.10) (end -1.89 1.56) (layer F.SilkS) (width 0.15)) 13 | (fp_line (start -1.89 1.56) (end -0.63 1.56) (layer F.SilkS) (width 0.15)) 14 | (fp_line (start -1.53 1.33) (end -1.65 1.33) (layer F.SilkS) (width 0.15)) 15 | (fp_line (start -1.65 1.33) (end -1.65 -1.33) (layer F.SilkS) (width 0.15)) 16 | (fp_line (start -1.65 -1.33) (end 1.65 -1.33) (layer F.SilkS) (width 0.15)) 17 | (fp_line (start 1.65 -1.33) (end 1.65 1.33) (layer F.SilkS) (width 0.15)) 18 | (fp_line (start 1.65 1.33) (end -1.53 1.33) (layer F.SilkS) (width 0.15)) 19 | (pad 1 smd rect (at -0.90 0.60 90.00) (size 0.80 1.00) (layers F.Cu F.Paste F.Mask)) 20 | (pad 2 smd rect (at 0.90 0.60 90.00) (size 0.80 1.00) (layers F.Cu F.Paste F.Mask)) 21 | (pad 3 smd rect (at 0.90 -0.60 90.00) (size 0.80 1.00) (layers F.Cu F.Paste F.Mask)) 22 | (pad 4 smd rect (at -0.90 -0.60 90.00) (size 0.80 1.00) (layers F.Cu F.Paste F.Mask)) 23 | (fp_circle (center -1.00 0.80) (end -0.97 0.80) (layer F.Fab) (width 0.06)) 24 | (fp_circle (center -0.80 1.10) (end -0.70 1.10) (layer Cmts.User) (width 0.20)) 25 | (model "/Users/narayanpowderly/Documents/atopile-workspace/swoop/.ato/modules/sx1280imltrt/elec/footprints/footprints.3dshapes/OSC-SMD_4P-L2.0-W1.6-H0.8.wrl" 26 | (offset (xyz 0.060 -3.270 -0.000)) 27 | (scale (xyz 1 1 1)) 28 | (rotate (xyz 0 0 0)) 29 | ) 30 | ) -------------------------------------------------------------------------------- /elec/src/sx1280imltrt/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/sx1280imltrt/elec/layout/default/sx1280imltrt.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/sx1280imltrt/metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /elec/src/tps63020dsjr/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | build: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - name: Checkout code 10 | uses: actions/checkout@v4 11 | 12 | - name: Build 13 | uses: docker://ghcr.io/atopile/atopile-kicad 14 | 15 | - name: Upload Combined Artifacts 16 | uses: actions/upload-artifact@v3 17 | with: 18 | name: build 19 | path: build 20 | -------------------------------------------------------------------------------- /elec/src/tps63020dsjr/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | 42 | # IDEs 43 | .vscode/ 44 | -------------------------------------------------------------------------------- /elec/src/tps63020dsjr/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 napowderly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /elec/src/tps63020dsjr/README.md: -------------------------------------------------------------------------------- 1 | # tps63020dsjr 2 | 3 | Wooohooo a new package! -------------------------------------------------------------------------------- /elec/src/tps63020dsjr/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: elec/src/tps63020dsjr.ato:TPS63020DSJR 5 | dependencies: 6 | - generics -------------------------------------------------------------------------------- /elec/src/tps63020dsjr/elec/footprints/footprints.pretty/IND-SMD_L2.5-W2.0_WPN252012H.kicad_mod: -------------------------------------------------------------------------------- 1 | (module easyeda2kicad:IND-SMD_L2.5-W2.0_WPN252012H (layer F.Cu) (tedit 5DC5F6A4) 2 | (attr smd) 3 | (fp_text reference REF** (at 0 -4.0) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value IND-SMD_L2.5-W2.0_WPN252012H (at 0 4.0) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -1.33 -1.09) (end -1.33 -1.08) (layer F.SilkS) (width 0.15)) 13 | (fp_line (start -1.33 -1.08) (end 1.33 -1.08) (layer F.SilkS) (width 0.15)) 14 | (fp_line (start 1.33 -1.08) (end 1.33 -1.09) (layer F.SilkS) (width 0.15)) 15 | (fp_line (start -1.33 1.09) (end -1.33 1.08) (layer F.SilkS) (width 0.15)) 16 | (fp_line (start -1.33 1.08) (end 1.33 1.08) (layer F.SilkS) (width 0.15)) 17 | (fp_line (start 1.33 1.08) (end 1.33 1.09) (layer F.SilkS) (width 0.15)) 18 | (pad 1 smd rect (at 1.23 0.00 0.00) (size 1.72 1.87) (layers F.Cu F.Paste F.Mask)) 19 | (pad 2 smd rect (at -1.23 0.00 0.00) (size 1.72 1.87) (layers F.Cu F.Paste F.Mask)) 20 | (fp_circle (center -1.25 1.00) (end -1.22 1.00) (layer F.Fab) (width 0.06)) 21 | (model "/Users/narayanpowderly/Documents/atopile-workspace/swoop/.ato/modules/tps63020dsjr/elec/footprints/footprints.3dshapes/IND-SMD_L2.5-W2.0-H1.2-252012.wrl" 22 | (offset (xyz -914.350 685.770 -0.000)) 23 | (scale (xyz 1 1 1)) 24 | (rotate (xyz 0 0 270)) 25 | ) 26 | ) -------------------------------------------------------------------------------- /elec/src/tps63020dsjr/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/tps63020dsjr/elec/layout/default/tps63020dsjr.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/tps63020dsjr/elec/src/WPN252012H1R5MT.ato: -------------------------------------------------------------------------------- 1 | component WPN252012H1R5MT: 2 | # component WPN252012H1R5MT 3 | footprint = "IND-SMD_L2.5-W2.0_WPN252012H" 4 | lcsc_id = "C98349" 5 | mpn = "C98349" 6 | # pins 7 | signal _2 ~ pin 2 8 | signal _1 ~ pin 1 9 | 10 | -------------------------------------------------------------------------------- /elec/src/tps63020dsjr/metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /elec/src/usb-connectors/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.kicad_pcb.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | build/ 33 | .DS_Store 34 | 35 | # Virtual environment 36 | .venv/ 37 | venv/ 38 | 39 | # .ato directory 40 | .ato/ 41 | -------------------------------------------------------------------------------- /elec/src/usb-connectors/README.md: -------------------------------------------------------------------------------- 1 | # USB Connectors 2 | 3 | ## Installation 4 | Run in the terminal: 5 | 6 | ```ato install usb-connectors``` 7 | 8 | Add to your `.ato` project: 9 | 10 | ```import USBCConn from "usb-connectors/usb-connectors.ato"``` 11 | 12 | ## Overview 13 | 14 | This package includes a usb-c connector. 15 | 16 | ![usbc](https://assets.lcsc.com/images/lcsc/900x900/20230202_Shenzhen-Kinghelm-Elec-KH-TYPE-C-16P_C709357_front.jpg) 17 | 18 | ## Features 19 | 20 | - **USB type C connector** 21 | - **Two cc resistors:** Those set the charge current to three amps. 22 | 23 | ## Documentation & Resources 24 | 25 | - [A bit more about the CC resistors](https://hackaday.com/2023/01/04/all-about-usb-c-resistors-and-emarkers/) 26 | - [LCSC part number](https://www.lcsc.com/product-detail/USB-Connectors_Shenzhen-Kinghelm-Elec-KH-TYPE-C-16P_C709357.html) 27 | 28 | ## Contributing 29 | 30 | Contribute to this package using pull requests. 31 | 32 | ## License 33 | 34 | This usb module is provided under the [MIT License](https://opensource.org/license/mit/). 35 | 36 | ## Contact 37 | 38 | For further inquiries or support, please contact me at [narayan@atopile.io](mailto:email@example.com). 39 | -------------------------------------------------------------------------------- /elec/src/usb-connectors/ato.yaml: -------------------------------------------------------------------------------- 1 | ato-version: ^0.2.0 2 | builds: 3 | default: 4 | entry: usb-connectors.ato:USBCConn 5 | dependencies: 6 | - generics -------------------------------------------------------------------------------- /elec/src/usb-connectors/data/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/elec/src/usb-connectors/data/.gitkeep -------------------------------------------------------------------------------- /elec/src/usb-connectors/elec/footprints/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/elec/src/usb-connectors/elec/footprints/.gitkeep -------------------------------------------------------------------------------- /elec/src/usb-connectors/elec/layout/default/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "lib")(type "KiCad")(uri "${KIPRJMOD}/../../../build/footprints/footprints.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /elec/src/usb-connectors/elec/layout/default/usbc.kicad_sch: -------------------------------------------------------------------------------- 1 | (kicad_sch (version 20230121) (generator eeschema) 2 | (paper "A4") 3 | (lib_symbols) 4 | (symbol_instances) 5 | ) -------------------------------------------------------------------------------- /elec/src/usb-connectors/elec/src/KH-TYPE-C-16P.ato: -------------------------------------------------------------------------------- 1 | component KH_TYPE_C_16P: 2 | # component KH-TYPE-C-16P 3 | footprint = "USB-C-SMD_KH-TYPE-C-16P" 4 | mpn = "C709357" 5 | # pins 6 | signal GND ~ pin A12 7 | signal VBUS ~ pin A9 8 | signal SUB1 ~ pin A8 9 | signal DN1 ~ pin A7 10 | signal DP1 ~ pin A6 11 | signal CC1 ~ pin A5 12 | VBUS ~ pin A4 13 | GND ~ pin A1 14 | GND ~ pin B12 15 | VBUS ~ pin B9 16 | signal SUB2 ~ pin B8 17 | signal DN2 ~ pin B7 18 | signal DP2 ~ pin B6 19 | signal CC2 ~ pin B5 20 | VBUS ~ pin B4 21 | GND ~ pin B1 22 | signal EP ~ pin 1 23 | EP ~ pin 2 24 | EP ~ pin 3 25 | EP ~ pin 4 26 | 27 | -------------------------------------------------------------------------------- /elec/src/usb-connectors/firmware/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/elec/src/usb-connectors/firmware/.gitkeep -------------------------------------------------------------------------------- /elec/src/usb-connectors/usb-connectors.ato: -------------------------------------------------------------------------------- 1 | import KH_TYPE_C_16P from "elec/src/KH-TYPE-C-16P.ato" 2 | import Power from "generics/interfaces.ato" 3 | import USB2 from "generics/interfaces.ato" 4 | import Resistor from "generics/resistors.ato" 5 | 6 | module GenericUSBConn: 7 | power = new Power 8 | usb2 = new USB2 9 | 10 | module USBCConn from GenericUSBConn: 11 | signal gnd 12 | conn = new KH_TYPE_C_16P 13 | 14 | # Connect VBUS 15 | conn.VBUS ~ power.vcc 16 | conn.GND ~ power.gnd 17 | conn.EP ~ power.gnd 18 | 19 | # Connect USB 20 | conn.DN1 ~ usb2.dm 21 | conn.DN2 ~ usb2.dm 22 | conn.DP1 ~ usb2.dp 23 | conn.DP2 ~ usb2.dp 24 | 25 | # Add CC resistors 26 | cc1_res = new Resistor 27 | cc2_res = new Resistor 28 | cc1_res.value = 5.1kohms +/- 20% 29 | cc2_res.value = 5.1kohms +/- 20% 30 | cc1_res.package = "0402" 31 | cc2_res.package = "0402" 32 | 33 | conn.CC1 ~ cc1_res.p1; cc1_res.p2 ~ power.gnd 34 | conn.CC2 ~ cc2_res.p1; cc2_res.p2 ~ power.gnd -------------------------------------------------------------------------------- /firmware/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | .vscode/.browse.c_cpp.db* 3 | .vscode/c_cpp_properties.json 4 | .vscode/launch.json 5 | .vscode/ipch 6 | -------------------------------------------------------------------------------- /firmware/README.md: -------------------------------------------------------------------------------- 1 | # Setup instructions 2 | 3 | ## Windows 4 | 5 | 1. Install git by running the following command in a terminal winow: `winget install Git.Git` 6 | 1. [Enable long paths both on the operating system and git level](https://arduino-pico.readthedocs.io/en/latest/platformio.html#important-steps-for-windows-users-before-installing) 7 | 1. Clone the repository e.g. using `git clone https://github.com/atopile/swoop.git` 8 | 1. Install [Visual Studio Code](https://code.visualstudio.com/) 9 | 1. Install [PlatformIO IDE Extension](https://platformio.org/install/ide?install=vscode) 10 | 1. Reopen Visual Studio Code and open the folder of the repository, it will install all dependencies 11 | 1. Donwload [Zadig](https://zadig.akeo.ie/) and install the WinUSB driver for the connected "RP2 Boot" device when Swoop is connected over USB 12 | ![Zadig window](https://forums.raspberrypi.com/download/file.php?id=55573&sid=6964c0e56687c9a6d2d03afeaecb83e3 "Installing WinUSB using Zadig") 13 | 1. At the bottom left of the window you find buttons for building, uploading, serial telemetry 14 | 15 | ## Mac 16 | 17 | 1. Install git e.g. via [Homebrew](https://brew.sh/) using `brew install git` ([formula](https://formulae.brew.sh/formula/git)) 18 | 1. Clone Repository ´git clone https://github.com/atopile/swoop.git´ 19 | 1. Install [Visual Studio Code](https://code.visualstudio.com/) Hombrew command: `brew install --cask visual-studio-code` ([formula](https://formulae.brew.sh/cask/visual-studio-code)) 20 | 1. Install [PlatformIO Visual Studio Code Extension](https://marketplace.visualstudio.com/items?itemName=platformio.platformio-ide) 21 | 1. Reopen Visual Studio Code and open the folder of the repository, it will install all dependencies 22 | 1. At the bottom left of the window you find buttons for building, uploading, serial telemetry 23 | -------------------------------------------------------------------------------- /firmware/include/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for project header files. 3 | 4 | A header file is a file containing C declarations and macro definitions 5 | to be shared between several project source files. You request the use of a 6 | header file in your project source file (C, C++, etc) located in `src` folder 7 | by including it, with the C preprocessing directive `#include'. 8 | 9 | ```src/main.c 10 | 11 | #include "header.h" 12 | 13 | int main (void) 14 | { 15 | ... 16 | } 17 | ``` 18 | 19 | Including a header file produces the same results as copying the header file 20 | into each source file that needs it. Such copying would be time-consuming 21 | and error-prone. With a header file, the related declarations appear 22 | in only one place. If they need to be changed, they can be changed in one 23 | place, and programs that include the header file will automatically use the 24 | new version when next recompiled. The header file eliminates the labor of 25 | finding and changing all the copies as well as the risk that a failure to 26 | find one copy will result in inconsistencies within a program. 27 | 28 | In C, the usual convention is to give header files names that end with `.h'. 29 | It is most portable to use only letters, digits, dashes, and underscores in 30 | header file names, and at most one dot. 31 | 32 | Read more about using header files in official GCC documentation: 33 | 34 | * Include Syntax 35 | * Include Operation 36 | * Once-Only Headers 37 | * Computed Includes 38 | 39 | https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html 40 | -------------------------------------------------------------------------------- /firmware/lib/LED/LED.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | class LED 6 | { 7 | public: 8 | LED() = default; 9 | ~LED() = default; 10 | static constexpr int NUM_LEDS = 4; 11 | static constexpr uint8_t LED_DATA_OUT_PIN = 7; 12 | 13 | void setup(); 14 | void animatePowerOn(const int percentage, const bool is_device_on); 15 | void updateLEDs(const bool is_device_on, const int flight_mode); 16 | 17 | private: 18 | NEOPIXEL _led_controller; 19 | CRGB _leds[NUM_LEDS]; ///< LED Strip 20 | }; 21 | -------------------------------------------------------------------------------- /firmware/lib/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for project specific (private) libraries. 3 | PlatformIO will compile them to static libraries and link into executable file. 4 | 5 | The source code of each library should be placed in a an own separate directory 6 | ("lib/your_library_name/[here are source files]"). 7 | 8 | For example, see a structure of the following two libraries `Foo` and `Bar`: 9 | 10 | |--lib 11 | | | 12 | | |--Bar 13 | | | |--docs 14 | | | |--examples 15 | | | |--src 16 | | | |- Bar.c 17 | | | |- Bar.h 18 | | | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html 19 | | | 20 | | |--Foo 21 | | | |- Foo.c 22 | | | |- Foo.h 23 | | | 24 | | |- README --> THIS FILE 25 | | 26 | |- platformio.ini 27 | |--src 28 | |- main.c 29 | 30 | and a contents of `src/main.c`: 31 | ``` 32 | #include 33 | #include 34 | 35 | int main (void) 36 | { 37 | ... 38 | } 39 | 40 | ``` 41 | 42 | PlatformIO Library Dependency Finder will find automatically dependent 43 | libraries scanning project source files. 44 | 45 | More information about PlatformIO Library Dependency Finder 46 | - https://docs.platformio.org/page/librarymanager/ldf.html 47 | -------------------------------------------------------------------------------- /firmware/src/main.h: -------------------------------------------------------------------------------- 1 | // I2C Connections 2 | #define I2C_SDA_PIN 21 3 | #define I2C_SCL_PIN 20 4 | 5 | // UART Connections 6 | #define UART_TX_PIN 4 7 | #define UART_RX_PIN 5 8 | 9 | // GPIO Connections 10 | #define INTERRUPT_PIN 24 11 | #define POWER_BUTTON_PIN 13 12 | #define MENU_BUTTON_PIN 12 13 | #define HALL_SENSOR_PIN 26 14 | #define CHARGE_STATUS_PIN 17 15 | 16 | // I2C Addresses 17 | #define BNO055_ADDRESS 0x28 18 | #define BMI088_ADDRESS_ACC 0x18 19 | #define BMI088_ADDRESS_GYRO 0x69 20 | #define LIS3MDLTR_ADDRESS 0x1C 21 | #define MPU6050_ADDRESS 0x68 22 | #define DRV2605_ADDRESS 0x5A 23 | -------------------------------------------------------------------------------- /firmware/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PlatformIO Test Runner and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PlatformIO Unit Testing: 11 | - https://docs.platformio.org/en/latest/advanced/unit-testing/index.html 12 | -------------------------------------------------------------------------------- /mech/Shell_right.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/mech/Shell_right.stl -------------------------------------------------------------------------------- /mech/buttons.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/mech/buttons.stl -------------------------------------------------------------------------------- /mech/shell_left.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/mech/shell_left.stl -------------------------------------------------------------------------------- /mech/top.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/mech/top.stl -------------------------------------------------------------------------------- /mech/trigger.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atopile/swoop/d4aa8ad4ee68e4a9ca614ac8686ed160d61d12d6/mech/trigger.stl -------------------------------------------------------------------------------- /metadata/pos-header: -------------------------------------------------------------------------------- 1 | Designator,Value,Package,Mid X,Mid Y,Rotation,Layer -------------------------------------------------------------------------------- /platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter 4 | ; Upload options: custom upload port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; Advanced options: extra scripting 7 | ; 8 | ; Please visit documentation for the other options and examples 9 | ; https://docs.platformio.org/page/projectconf.html 10 | 11 | [platformio] 12 | include_dir = firmware/include 13 | lib_dir = firmware/lib 14 | src_dir = firmware/src 15 | test_dir = firmware/test 16 | 17 | [env] 18 | board = pico 19 | framework = arduino 20 | monitor_dtr = 1 21 | monitor_speed = 115200 22 | monitor_filters = 23 | send_on_enter 24 | colorize 25 | platform = https://github.com/maxgerhardt/platform-raspberrypi.git 26 | board_build.core = earlephilhower 27 | board_build.filesystem_size = 0.5m 28 | platform_packages = 29 | maxgerhardt/framework-arduinopico@https://github.com/earlephilhower/arduino-pico.git#master 30 | 31 | [env:debug] 32 | lib_deps = 33 | adafruit/Adafruit LIS3MDL @ ^1.2.4 34 | adafruit/Adafruit MPU6050@^2.2.6 35 | adafruit/Adafruit Unified Sensor@^1.1.4 36 | aster94/SensorFusion@^1.0.6 37 | adafruit/Adafruit DRV2605 Library@^1.2.4 38 | fastled/FastLED@3.6.0 39 | --------------------------------------------------------------------------------