├── .gitignore ├── case ├── Case_Top_FishHook.STL ├── Cast_Bottom_FishHook.STL ├── caseBot.STEP ├── caseBot.STL ├── caseTop.STEP ├── caseTop.STL ├── magnetJig.STEP └── magnetJig.STL ├── docs ├── LICENSE ├── artwork │ ├── cardBack.png │ └── cardFront.png ├── assembly │ ├── jigs.jpg │ └── jigsGlue.jpg ├── case │ ├── batch.jpg │ ├── caseRender.jpg │ ├── cases.jpg │ ├── casting.jpg │ ├── fdmPrinted.jpg │ ├── master.jpg │ └── mould.jpg ├── components │ ├── magnets.jpg │ └── springPin.jpg ├── connectors │ ├── mass.jpg │ └── pinDim.jpg ├── design │ └── hardware │ │ ├── pgrmPads.png │ │ ├── pgrmPlacement.png │ │ ├── schematic.pdf │ │ └── schematic.png ├── firmware │ ├── boot.gif │ └── powerProfile │ │ ├── audio.gif │ │ ├── audioPowerProfile.png │ │ ├── halo.gif │ │ ├── haloPowerProfile.png │ │ ├── sparkle.gif │ │ └── sparklePowerProfile.png ├── intro │ ├── haloSetDisplay.jpg │ └── wornDynamic.gif ├── layers │ ├── L0.pdf │ ├── L0.png │ ├── L1.pdf │ ├── L1.png │ ├── L2.pdf │ ├── L2.png │ ├── L3.pdf │ └── L3.png ├── patterns │ ├── audio.gif │ ├── halo.gif │ └── sparkle.gif ├── pcbAssembly │ ├── assemblyDraw.png │ ├── back-detail.jpg │ ├── back-iso.jpg │ ├── front-detail.jpg │ ├── front-full.jpg │ ├── front-iso.jpg │ └── hexPackedPanel.png ├── programmer.jpg └── render.jpg ├── firmware ├── .gitignore ├── LICENSE ├── Makefile ├── include │ └── STM8L151G6.h ├── readme.md └── src │ └── halo.c ├── pcb ├── LICENSE ├── bom.csv ├── components │ ├── BAT-HLD-001 │ │ ├── BAT-HLD-001.bck │ │ ├── BAT-HLD-001.dcm │ │ ├── BAT-HLD-001.jpg │ │ ├── BAT-HLD-001.lib │ │ ├── BAT-HLD-001.pretty │ │ │ ├── BAT-HLD-001-HALO.kicad_mod │ │ │ ├── BAT-HLD-001-THM.kicad_mod │ │ │ └── BAT-HLD-001.kicad_mod │ │ ├── BAT-HLD-001.stp │ │ └── bat-hld-001.pdf │ ├── BL-HUB37A-AV-TRB │ │ ├── BL-HUB37A-AV-TRB.jpg │ │ ├── BL-HUB37A-AV-TRB.kicad_sym │ │ ├── BL-HUB37A-AV-TRB.pdf │ │ ├── BL-HUB37A-AV-TRB.pretty │ │ │ └── D-0402.kicad_mod │ │ └── BL-HUB37A-AV-TRB.stp │ ├── KXT3 │ │ ├── KXT3.jpg │ │ ├── KXT3.kicad_sym │ │ ├── KXT3.pdf │ │ ├── KXT3.pretty │ │ │ └── KXT3.kicad_mod │ │ └── KXT3.stp │ ├── LSM6DSM │ │ ├── LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4y.wrl │ │ ├── LSM6DSM.bak │ │ ├── LSM6DSM.bck │ │ ├── LSM6DSM.dcm │ │ ├── LSM6DSM.jpg │ │ ├── LSM6DSM.kicad_sym │ │ ├── LSM6DSM.pdf │ │ └── LSM6DSM.pretty │ │ │ └── LGA-14_3x2.5mm_6-6.kicad_mod │ ├── SPW2430HR5H-B │ │ ├── SPW2430HR5H-B.jpg │ │ ├── SPW2430HR5H-B.kicad_sym │ │ ├── SPW2430HR5H-B.pdf │ │ ├── SPW2430HR5H-B.pretty │ │ │ └── SPW2430HR5H-B.kicad_mod │ │ └── SPW2430HR5H-B.step │ ├── STM8L15xxx │ │ ├── AN3137.pdf │ │ ├── RM0016.pdf │ │ ├── STM8L15xxx.jpg │ │ ├── STM8L15xxx.kicad_sym │ │ ├── STM8L15xxx.pdf │ │ ├── STM8L15xxx.pretty │ │ │ ├── UFQFPN28.kicad_mod │ │ │ └── UFQFPN32.kicad_mod │ │ └── UFQFPN28.stp │ ├── frenchEarwire │ │ ├── frenchEarwire.dcm │ │ ├── frenchEarwire.jpg │ │ ├── frenchEarwire.kicad_sym │ │ ├── frenchEarwire.pretty │ │ │ └── frenchEarwire.kicad_mod │ │ └── frenchEarwire.stp │ ├── nets │ │ ├── nets.bak │ │ └── nets.kicad_sym │ ├── passives │ │ ├── C-0201.stp │ │ ├── C-0402.stp │ │ ├── C-0603.stp │ │ ├── C-0805.stp │ │ ├── C-1206.stp │ │ ├── C-1210.stp │ │ ├── C-1812.stp │ │ ├── C-2220.stp │ │ ├── L-0402.stp │ │ ├── L-0603.stp │ │ ├── L-0805.stp │ │ ├── L-1206.stp │ │ ├── L-1210.stp │ │ ├── R-0201.stp │ │ ├── R-0402.stp │ │ ├── R-0603.stp │ │ ├── R-0805.stp │ │ ├── R-1206.stp │ │ ├── passives.bak │ │ ├── passives.bck │ │ ├── passives.dcm │ │ ├── passives.kicad_sym │ │ └── passives.pretty │ │ │ ├── C-0402.kicad_mod │ │ │ ├── C-0603.kicad_mod │ │ │ ├── C-0805.kicad_mod │ │ │ ├── C-1206.kicad_mod │ │ │ ├── C-1210.kicad_mod │ │ │ ├── C-2220.kicad_mod │ │ │ ├── L-0402.kicad_mod │ │ │ ├── L-0603.kicad_mod │ │ │ ├── L-0805.kicad_mod │ │ │ ├── L-1206.kicad_mod │ │ │ ├── L-1210.kicad_mod │ │ │ ├── R-0402.kicad_mod │ │ │ ├── R-0603.kicad_mod │ │ │ ├── R-0805.kicad_mod │ │ │ └── R-1206.kicad_mod │ └── tooling │ │ ├── tooling.bck │ │ ├── tooling.dcm │ │ ├── tooling.kicad_sym │ │ └── tooling.pretty │ │ ├── 1.152mm-ToolingHole.kicad_mod │ │ ├── 24mm-roundTabs.kicad_mod │ │ ├── Fiducial_1.5mm_Mask3mm.kicad_mod │ │ ├── TestPoint_Pad_D1.0mm.kicad_mod │ │ └── TestPoint_Pad_D4.0mm.kicad_mod ├── default.kicad_wks ├── fp-info-cache ├── fp-lib-table ├── halo-90.kicad_pcb ├── halo-90.kicad_prl ├── halo-90.kicad_pro ├── halo-90.kicad_sch ├── halo-90.pro ├── halo.js └── sym-lib-table └── readme.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .internal 3 | cad* 4 | desktop.ini 5 | pcb/halo-90-backups 6 | pcb/_autosave* 7 | -------------------------------------------------------------------------------- /case/Case_Top_FishHook.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/case/Case_Top_FishHook.STL -------------------------------------------------------------------------------- /case/Cast_Bottom_FishHook.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/case/Cast_Bottom_FishHook.STL -------------------------------------------------------------------------------- /case/caseBot.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/case/caseBot.STL -------------------------------------------------------------------------------- /case/caseTop.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/case/caseTop.STL -------------------------------------------------------------------------------- /case/magnetJig.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/case/magnetJig.STL -------------------------------------------------------------------------------- /docs/LICENSE: -------------------------------------------------------------------------------- 1 | Attribution-ShareAlike 4.0 International 2 | 3 | ======================================================================= 4 | 5 | Creative Commons Corporation ("Creative Commons") is not a law firm and 6 | does not provide legal services or legal advice. Distribution of 7 | Creative Commons public licenses does not create a lawyer-client or 8 | other relationship. Creative Commons makes its licenses and related 9 | information available on an "as-is" basis. Creative Commons gives no 10 | warranties regarding its licenses, any material licensed under their 11 | terms and conditions, or any related information. Creative Commons 12 | disclaims all liability for damages resulting from their use to the 13 | fullest extent possible. 14 | 15 | Using Creative Commons Public Licenses 16 | 17 | Creative Commons public licenses provide a standard set of terms and 18 | conditions that creators and other rights holders may use to share 19 | original works of authorship and other material subject to copyright 20 | and certain other rights specified in the public license below. The 21 | following considerations are for informational purposes only, are not 22 | exhaustive, and do not form part of our licenses. 23 | 24 | Considerations for licensors: Our public licenses are 25 | intended for use by those authorized to give the public 26 | permission to use material in ways otherwise restricted by 27 | copyright and certain other rights. Our licenses are 28 | irrevocable. Licensors should read and understand the terms 29 | and conditions of the license they choose before applying it. 30 | Licensors should also secure all rights necessary before 31 | applying our licenses so that the public can reuse the 32 | material as expected. Licensors should clearly mark any 33 | material not subject to the license. This includes other CC- 34 | licensed material, or material used under an exception or 35 | limitation to copyright. More considerations for licensors: 36 | wiki.creativecommons.org/Considerations_for_licensors 37 | 38 | Considerations for the public: By using one of our public 39 | licenses, a licensor grants the public permission to use the 40 | licensed material under specified terms and conditions. If 41 | the licensor's permission is not necessary for any reason--for 42 | example, because of any applicable exception or limitation to 43 | copyright--then that use is not regulated by the license. Our 44 | licenses grant only permissions under copyright and certain 45 | other rights that a licensor has authority to grant. Use of 46 | the licensed material may still be restricted for other 47 | reasons, including because others have copyright or other 48 | rights in the material. A licensor may make special requests, 49 | such as asking that all changes be marked or described. 50 | Although not required by our licenses, you are encouraged to 51 | respect those requests where reasonable. More considerations 52 | for the public: 53 | wiki.creativecommons.org/Considerations_for_licensees 54 | 55 | ======================================================================= 56 | 57 | Creative Commons Attribution-ShareAlike 4.0 International Public 58 | License 59 | 60 | By exercising the Licensed Rights (defined below), You accept and agree 61 | to be bound by the terms and conditions of this Creative Commons 62 | Attribution-ShareAlike 4.0 International Public License ("Public 63 | License"). To the extent this Public License may be interpreted as a 64 | contract, You are granted the Licensed Rights in consideration of Your 65 | acceptance of these terms and conditions, and the Licensor grants You 66 | such rights in consideration of benefits the Licensor receives from 67 | making the Licensed Material available under these terms and 68 | conditions. 69 | 70 | 71 | Section 1 -- Definitions. 72 | 73 | a. Adapted Material means material subject to Copyright and Similar 74 | Rights that is derived from or based upon the Licensed Material 75 | and in which the Licensed Material is translated, altered, 76 | arranged, transformed, or otherwise modified in a manner requiring 77 | permission under the Copyright and Similar Rights held by the 78 | Licensor. For purposes of this Public License, where the Licensed 79 | Material is a musical work, performance, or sound recording, 80 | Adapted Material is always produced where the Licensed Material is 81 | synched in timed relation with a moving image. 82 | 83 | b. Adapter's License means the license You apply to Your Copyright 84 | and Similar Rights in Your contributions to Adapted Material in 85 | accordance with the terms and conditions of this Public License. 86 | 87 | c. BY-SA Compatible License means a license listed at 88 | creativecommons.org/compatiblelicenses, approved by Creative 89 | Commons as essentially the equivalent of this Public License. 90 | 91 | d. Copyright and Similar Rights means copyright and/or similar rights 92 | closely related to copyright including, without limitation, 93 | performance, broadcast, sound recording, and Sui Generis Database 94 | Rights, without regard to how the rights are labeled or 95 | categorized. For purposes of this Public License, the rights 96 | specified in Section 2(b)(1)-(2) are not Copyright and Similar 97 | Rights. 98 | 99 | e. Effective Technological Measures means those measures that, in the 100 | absence of proper authority, may not be circumvented under laws 101 | fulfilling obligations under Article 11 of the WIPO Copyright 102 | Treaty adopted on December 20, 1996, and/or similar international 103 | agreements. 104 | 105 | f. Exceptions and Limitations means fair use, fair dealing, and/or 106 | any other exception or limitation to Copyright and Similar Rights 107 | that applies to Your use of the Licensed Material. 108 | 109 | g. License Elements means the license attributes listed in the name 110 | of a Creative Commons Public License. The License Elements of this 111 | Public License are Attribution and ShareAlike. 112 | 113 | h. Licensed Material means the artistic or literary work, database, 114 | or other material to which the Licensor applied this Public 115 | License. 116 | 117 | i. Licensed Rights means the rights granted to You subject to the 118 | terms and conditions of this Public License, which are limited to 119 | all Copyright and Similar Rights that apply to Your use of the 120 | Licensed Material and that the Licensor has authority to license. 121 | 122 | j. Licensor means the individual(s) or entity(ies) granting rights 123 | under this Public License. 124 | 125 | k. Share means to provide material to the public by any means or 126 | process that requires permission under the Licensed Rights, such 127 | as reproduction, public display, public performance, distribution, 128 | dissemination, communication, or importation, and to make material 129 | available to the public including in ways that members of the 130 | public may access the material from a place and at a time 131 | individually chosen by them. 132 | 133 | l. Sui Generis Database Rights means rights other than copyright 134 | resulting from Directive 96/9/EC of the European Parliament and of 135 | the Council of 11 March 1996 on the legal protection of databases, 136 | as amended and/or succeeded, as well as other essentially 137 | equivalent rights anywhere in the world. 138 | 139 | m. You means the individual or entity exercising the Licensed Rights 140 | under this Public License. Your has a corresponding meaning. 141 | 142 | 143 | Section 2 -- Scope. 144 | 145 | a. License grant. 146 | 147 | 1. Subject to the terms and conditions of this Public License, 148 | the Licensor hereby grants You a worldwide, royalty-free, 149 | non-sublicensable, non-exclusive, irrevocable license to 150 | exercise the Licensed Rights in the Licensed Material to: 151 | 152 | a. reproduce and Share the Licensed Material, in whole or 153 | in part; and 154 | 155 | b. produce, reproduce, and Share Adapted Material. 156 | 157 | 2. Exceptions and Limitations. For the avoidance of doubt, where 158 | Exceptions and Limitations apply to Your use, this Public 159 | License does not apply, and You do not need to comply with 160 | its terms and conditions. 161 | 162 | 3. Term. The term of this Public License is specified in Section 163 | 6(a). 164 | 165 | 4. Media and formats; technical modifications allowed. The 166 | Licensor authorizes You to exercise the Licensed Rights in 167 | all media and formats whether now known or hereafter created, 168 | and to make technical modifications necessary to do so. The 169 | Licensor waives and/or agrees not to assert any right or 170 | authority to forbid You from making technical modifications 171 | necessary to exercise the Licensed Rights, including 172 | technical modifications necessary to circumvent Effective 173 | Technological Measures. For purposes of this Public License, 174 | simply making modifications authorized by this Section 2(a) 175 | (4) never produces Adapted Material. 176 | 177 | 5. Downstream recipients. 178 | 179 | a. Offer from the Licensor -- Licensed Material. Every 180 | recipient of the Licensed Material automatically 181 | receives an offer from the Licensor to exercise the 182 | Licensed Rights under the terms and conditions of this 183 | Public License. 184 | 185 | b. Additional offer from the Licensor -- Adapted Material. 186 | Every recipient of Adapted Material from You 187 | automatically receives an offer from the Licensor to 188 | exercise the Licensed Rights in the Adapted Material 189 | under the conditions of the Adapter's License You apply. 190 | 191 | c. No downstream restrictions. You may not offer or impose 192 | any additional or different terms or conditions on, or 193 | apply any Effective Technological Measures to, the 194 | Licensed Material if doing so restricts exercise of the 195 | Licensed Rights by any recipient of the Licensed 196 | Material. 197 | 198 | 6. No endorsement. Nothing in this Public License constitutes or 199 | may be construed as permission to assert or imply that You 200 | are, or that Your use of the Licensed Material is, connected 201 | with, or sponsored, endorsed, or granted official status by, 202 | the Licensor or others designated to receive attribution as 203 | provided in Section 3(a)(1)(A)(i). 204 | 205 | b. Other rights. 206 | 207 | 1. Moral rights, such as the right of integrity, are not 208 | licensed under this Public License, nor are publicity, 209 | privacy, and/or other similar personality rights; however, to 210 | the extent possible, the Licensor waives and/or agrees not to 211 | assert any such rights held by the Licensor to the limited 212 | extent necessary to allow You to exercise the Licensed 213 | Rights, but not otherwise. 214 | 215 | 2. Patent and trademark rights are not licensed under this 216 | Public License. 217 | 218 | 3. To the extent possible, the Licensor waives any right to 219 | collect royalties from You for the exercise of the Licensed 220 | Rights, whether directly or through a collecting society 221 | under any voluntary or waivable statutory or compulsory 222 | licensing scheme. In all other cases the Licensor expressly 223 | reserves any right to collect such royalties. 224 | 225 | 226 | Section 3 -- License Conditions. 227 | 228 | Your exercise of the Licensed Rights is expressly made subject to the 229 | following conditions. 230 | 231 | a. Attribution. 232 | 233 | 1. If You Share the Licensed Material (including in modified 234 | form), You must: 235 | 236 | a. retain the following if it is supplied by the Licensor 237 | with the Licensed Material: 238 | 239 | i. identification of the creator(s) of the Licensed 240 | Material and any others designated to receive 241 | attribution, in any reasonable manner requested by 242 | the Licensor (including by pseudonym if 243 | designated); 244 | 245 | ii. a copyright notice; 246 | 247 | iii. a notice that refers to this Public License; 248 | 249 | iv. a notice that refers to the disclaimer of 250 | warranties; 251 | 252 | v. a URI or hyperlink to the Licensed Material to the 253 | extent reasonably practicable; 254 | 255 | b. indicate if You modified the Licensed Material and 256 | retain an indication of any previous modifications; and 257 | 258 | c. indicate the Licensed Material is licensed under this 259 | Public License, and include the text of, or the URI or 260 | hyperlink to, this Public License. 261 | 262 | 2. You may satisfy the conditions in Section 3(a)(1) in any 263 | reasonable manner based on the medium, means, and context in 264 | which You Share the Licensed Material. For example, it may be 265 | reasonable to satisfy the conditions by providing a URI or 266 | hyperlink to a resource that includes the required 267 | information. 268 | 269 | 3. If requested by the Licensor, You must remove any of the 270 | information required by Section 3(a)(1)(A) to the extent 271 | reasonably practicable. 272 | 273 | b. ShareAlike. 274 | 275 | In addition to the conditions in Section 3(a), if You Share 276 | Adapted Material You produce, the following conditions also apply. 277 | 278 | 1. The Adapter's License You apply must be a Creative Commons 279 | license with the same License Elements, this version or 280 | later, or a BY-SA Compatible License. 281 | 282 | 2. You must include the text of, or the URI or hyperlink to, the 283 | Adapter's License You apply. You may satisfy this condition 284 | in any reasonable manner based on the medium, means, and 285 | context in which You Share Adapted Material. 286 | 287 | 3. You may not offer or impose any additional or different terms 288 | or conditions on, or apply any Effective Technological 289 | Measures to, Adapted Material that restrict exercise of the 290 | rights granted under the Adapter's License You apply. 291 | 292 | 293 | Section 4 -- Sui Generis Database Rights. 294 | 295 | Where the Licensed Rights include Sui Generis Database Rights that 296 | apply to Your use of the Licensed Material: 297 | 298 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right 299 | to extract, reuse, reproduce, and Share all or a substantial 300 | portion of the contents of the database; 301 | 302 | b. if You include all or a substantial portion of the database 303 | contents in a database in which You have Sui Generis Database 304 | Rights, then the database in which You have Sui Generis Database 305 | Rights (but not its individual contents) is Adapted Material, 306 | 307 | including for purposes of Section 3(b); and 308 | c. You must comply with the conditions in Section 3(a) if You Share 309 | all or a substantial portion of the contents of the database. 310 | 311 | For the avoidance of doubt, this Section 4 supplements and does not 312 | replace Your obligations under this Public License where the Licensed 313 | Rights include other Copyright and Similar Rights. 314 | 315 | 316 | Section 5 -- Disclaimer of Warranties and Limitation of Liability. 317 | 318 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE 319 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS 320 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF 321 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, 322 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, 323 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR 324 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, 325 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT 326 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT 327 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. 328 | 329 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE 330 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, 331 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, 332 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, 333 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR 334 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN 335 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR 336 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR 337 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. 338 | 339 | c. The disclaimer of warranties and limitation of liability provided 340 | above shall be interpreted in a manner that, to the extent 341 | possible, most closely approximates an absolute disclaimer and 342 | waiver of all liability. 343 | 344 | 345 | Section 6 -- Term and Termination. 346 | 347 | a. This Public License applies for the term of the Copyright and 348 | Similar Rights licensed here. However, if You fail to comply with 349 | this Public License, then Your rights under this Public License 350 | terminate automatically. 351 | 352 | b. Where Your right to use the Licensed Material has terminated under 353 | Section 6(a), it reinstates: 354 | 355 | 1. automatically as of the date the violation is cured, provided 356 | it is cured within 30 days of Your discovery of the 357 | violation; or 358 | 359 | 2. upon express reinstatement by the Licensor. 360 | 361 | For the avoidance of doubt, this Section 6(b) does not affect any 362 | right the Licensor may have to seek remedies for Your violations 363 | of this Public License. 364 | 365 | c. For the avoidance of doubt, the Licensor may also offer the 366 | Licensed Material under separate terms or conditions or stop 367 | distributing the Licensed Material at any time; however, doing so 368 | will not terminate this Public License. 369 | 370 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public 371 | License. 372 | 373 | 374 | Section 7 -- Other Terms and Conditions. 375 | 376 | a. The Licensor shall not be bound by any additional or different 377 | terms or conditions communicated by You unless expressly agreed. 378 | 379 | b. Any arrangements, understandings, or agreements regarding the 380 | Licensed Material not stated herein are separate from and 381 | independent of the terms and conditions of this Public License. 382 | 383 | 384 | Section 8 -- Interpretation. 385 | 386 | a. For the avoidance of doubt, this Public License does not, and 387 | shall not be interpreted to, reduce, limit, restrict, or impose 388 | conditions on any use of the Licensed Material that could lawfully 389 | be made without permission under this Public License. 390 | 391 | b. To the extent possible, if any provision of this Public License is 392 | deemed unenforceable, it shall be automatically reformed to the 393 | minimum extent necessary to make it enforceable. If the provision 394 | cannot be reformed, it shall be severed from this Public License 395 | without affecting the enforceability of the remaining terms and 396 | conditions. 397 | 398 | c. No term or condition of this Public License will be waived and no 399 | failure to comply consented to unless expressly agreed to by the 400 | Licensor. 401 | 402 | d. Nothing in this Public License constitutes or may be interpreted 403 | as a limitation upon, or waiver of, any privileges and immunities 404 | that apply to the Licensor or You, including from the legal 405 | processes of any jurisdiction or authority. 406 | 407 | 408 | ======================================================================= 409 | 410 | Creative Commons is not a party to its public 411 | licenses. Notwithstanding, Creative Commons may elect to apply one of 412 | its public licenses to material it publishes and in those instances 413 | will be considered the “Licensor.” The text of the Creative Commons 414 | public licenses is dedicated to the public domain under the CC0 Public 415 | Domain Dedication. Except for the limited purpose of indicating that 416 | material is shared under a Creative Commons public license or as 417 | otherwise permitted by the Creative Commons policies published at 418 | creativecommons.org/policies, Creative Commons does not authorize the 419 | use of the trademark "Creative Commons" or any other trademark or logo 420 | of Creative Commons without its prior written consent including, 421 | without limitation, in connection with any unauthorized modifications 422 | to any of its public licenses or any other arrangements, 423 | understandings, or agreements concerning use of licensed material. For 424 | the avoidance of doubt, this paragraph does not form part of the 425 | public licenses. 426 | 427 | Creative Commons may be contacted at creativecommons.org. 428 | -------------------------------------------------------------------------------- /docs/artwork/cardBack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/artwork/cardBack.png -------------------------------------------------------------------------------- /docs/artwork/cardFront.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/artwork/cardFront.png -------------------------------------------------------------------------------- /docs/assembly/jigs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/assembly/jigs.jpg -------------------------------------------------------------------------------- /docs/assembly/jigsGlue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/assembly/jigsGlue.jpg -------------------------------------------------------------------------------- /docs/case/batch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/case/batch.jpg -------------------------------------------------------------------------------- /docs/case/caseRender.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/case/caseRender.jpg -------------------------------------------------------------------------------- /docs/case/cases.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/case/cases.jpg -------------------------------------------------------------------------------- /docs/case/casting.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/case/casting.jpg -------------------------------------------------------------------------------- /docs/case/fdmPrinted.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/case/fdmPrinted.jpg -------------------------------------------------------------------------------- /docs/case/master.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/case/master.jpg -------------------------------------------------------------------------------- /docs/case/mould.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/case/mould.jpg -------------------------------------------------------------------------------- /docs/components/magnets.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/components/magnets.jpg -------------------------------------------------------------------------------- /docs/components/springPin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/components/springPin.jpg -------------------------------------------------------------------------------- /docs/connectors/mass.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/connectors/mass.jpg -------------------------------------------------------------------------------- /docs/connectors/pinDim.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/connectors/pinDim.jpg -------------------------------------------------------------------------------- /docs/design/hardware/pgrmPads.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/design/hardware/pgrmPads.png -------------------------------------------------------------------------------- /docs/design/hardware/pgrmPlacement.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/design/hardware/pgrmPlacement.png -------------------------------------------------------------------------------- /docs/design/hardware/schematic.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/design/hardware/schematic.pdf -------------------------------------------------------------------------------- /docs/design/hardware/schematic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/design/hardware/schematic.png -------------------------------------------------------------------------------- /docs/firmware/boot.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/firmware/boot.gif -------------------------------------------------------------------------------- /docs/firmware/powerProfile/audio.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/firmware/powerProfile/audio.gif -------------------------------------------------------------------------------- /docs/firmware/powerProfile/audioPowerProfile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/firmware/powerProfile/audioPowerProfile.png -------------------------------------------------------------------------------- /docs/firmware/powerProfile/halo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/firmware/powerProfile/halo.gif -------------------------------------------------------------------------------- /docs/firmware/powerProfile/haloPowerProfile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/firmware/powerProfile/haloPowerProfile.png -------------------------------------------------------------------------------- /docs/firmware/powerProfile/sparkle.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/firmware/powerProfile/sparkle.gif -------------------------------------------------------------------------------- /docs/firmware/powerProfile/sparklePowerProfile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/firmware/powerProfile/sparklePowerProfile.png -------------------------------------------------------------------------------- /docs/intro/haloSetDisplay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/intro/haloSetDisplay.jpg -------------------------------------------------------------------------------- /docs/intro/wornDynamic.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/intro/wornDynamic.gif -------------------------------------------------------------------------------- /docs/layers/L0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/layers/L0.pdf -------------------------------------------------------------------------------- /docs/layers/L0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/layers/L0.png -------------------------------------------------------------------------------- /docs/layers/L1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/layers/L1.pdf -------------------------------------------------------------------------------- /docs/layers/L1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/layers/L1.png -------------------------------------------------------------------------------- /docs/layers/L2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/layers/L2.pdf -------------------------------------------------------------------------------- /docs/layers/L2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/layers/L2.png -------------------------------------------------------------------------------- /docs/layers/L3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/layers/L3.pdf -------------------------------------------------------------------------------- /docs/layers/L3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/layers/L3.png -------------------------------------------------------------------------------- /docs/patterns/audio.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/patterns/audio.gif -------------------------------------------------------------------------------- /docs/patterns/halo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/patterns/halo.gif -------------------------------------------------------------------------------- /docs/patterns/sparkle.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/patterns/sparkle.gif -------------------------------------------------------------------------------- /docs/pcbAssembly/assemblyDraw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/pcbAssembly/assemblyDraw.png -------------------------------------------------------------------------------- /docs/pcbAssembly/back-detail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/pcbAssembly/back-detail.jpg -------------------------------------------------------------------------------- /docs/pcbAssembly/back-iso.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/pcbAssembly/back-iso.jpg -------------------------------------------------------------------------------- /docs/pcbAssembly/front-detail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/pcbAssembly/front-detail.jpg -------------------------------------------------------------------------------- /docs/pcbAssembly/front-full.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/pcbAssembly/front-full.jpg -------------------------------------------------------------------------------- /docs/pcbAssembly/front-iso.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/pcbAssembly/front-iso.jpg -------------------------------------------------------------------------------- /docs/pcbAssembly/hexPackedPanel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/pcbAssembly/hexPackedPanel.png -------------------------------------------------------------------------------- /docs/programmer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/programmer.jpg -------------------------------------------------------------------------------- /docs/render.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/docs/render.jpg -------------------------------------------------------------------------------- /firmware/.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | *.adb 3 | *.asm 4 | *.cdb 5 | *.lk 6 | *.lst 7 | *.map 8 | *.rel 9 | *.rst 10 | *.sym -------------------------------------------------------------------------------- /firmware/Makefile: -------------------------------------------------------------------------------- 1 | SOURCEDIR = src 2 | BUILDDIR = build 3 | INCLUDEDIR = include 4 | 5 | LDCC := sdcc 6 | CFLAGS := -lstm8 -mstm8 7 | 8 | FIRMWARE_IMAGE = $(BUILDDIR)/halo-fw.ihx 9 | 10 | DEBUG_FW_IMAGE = $(patsubst $(BUILDDIR)/%.ihx,$(BUILDDIR)/%.elf,$(FIRMWARE_IMAGE)) 11 | SOURCES = $(wildcard $(SOURCEDIR)/*.c) 12 | OBJECTS = $(patsubst $(SOURCEDIR)/%.c,$(BUILDDIR)/%.rel,$(SOURCES)) 13 | 14 | .PHONY: all clean flash 15 | 16 | all: $(FIRMWARE_IMAGE) 17 | 18 | clean: 19 | @echo "Cleaning up '$(BUILDDIR)' directory" 20 | rm -r $(BUILDDIR) 21 | 22 | flash: $(FIRMWARE_IMAGE) 23 | ifneq (, $(shell command -v STVP_CmdLine.exe;)) 24 | STVP_CmdLine.exe -Device=STM8L15xG4 -FileProg=$(FIRMWARE_IMAGE) -verif -no_loop -no_log 25 | else ifneq (, $(shell command -v stm8flash;)) 26 | stm8flash -cstlinkv2 -p"stm8l151?4" -w $(FIRMWARE_IMAGE) 27 | else 28 | @echo "STVP_CmdLine or stm8flash not found" 29 | endif 30 | 31 | debug: CFLAGS += --debug 32 | debug: $(DEBUG_FW_IMAGE) 33 | 34 | $(BUILDDIR): 35 | @mkdir -p build 36 | 37 | $(OBJECTS): $(BUILDDIR)/%.rel : $(SOURCEDIR)/%.c | $(BUILDDIR) 38 | $(LDCC) $(CFLAGS) -I$(INCLUDEDIR) $(LDFLAGS) -c $< -o $@ 39 | 40 | $(FIRMWARE_IMAGE): $(OBJECTS) | $(BUILDDIR) 41 | $(LDCC) $(CFLAGS) --out-fmt-ihx $^ -o $@ 42 | 43 | $(DEBUG_FW_IMAGE): $(OBJECTS) | $(BUILDDIR) 44 | $(LDCC) $(CFLAGS) --out-fmt-elf $^ -o $@ 45 | -------------------------------------------------------------------------------- /firmware/readme.md: -------------------------------------------------------------------------------- 1 | sudo apt install libusb-1.0-0-dev 2 | sudo apt install sdcc 3 | 4 | 5 | install stm8flash mac 6 | 7 | 8 | ## Mac Setup, Tested on M1 Air with Big Sur 11.4 9 | brew install sdcc 10 | brew install pkg-config 11 | brew install libusb 12 | 13 | cd /tmp 14 | git clone git@github.com:vdudouyt/stm8flash.git 15 | cd stm8flash 16 | make 17 | sudo make install 18 | -------------------------------------------------------------------------------- /firmware/src/halo.c: -------------------------------------------------------------------------------- 1 | // halo.c halo control and procesing 2 | // Copyright (C) 2021 Kolibri - Sawaiz Syed 3 | 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | 17 | #include 18 | #include 19 | #include 20 | #include 21 | 22 | // #define __SDCC 23 | #include "STM8L151G6.h" 24 | 25 | // Prototypes 26 | uint16_t readMic(); 27 | void setLed(uint8_t led); 28 | void ledHigh(uint8_t led); 29 | void ledLow(uint8_t led); 30 | 31 | void initADC(); 32 | void enableADC(); 33 | void disableADC(); 34 | void initButton(); 35 | void enableButton(); 36 | void disableButton(); 37 | void initTim2(uint16_t timeout); 38 | void enableTim2(); 39 | void disableTim2(); 40 | void initTim4(uint8_t timeout); 41 | void enableTim4(); 42 | void disableTim4(); 43 | void initAutoWakeup(); 44 | void enableAutoWakeup(uint16_t timeout); 45 | void disableAutoWakeup(); 46 | 47 | // Global previousLed 48 | volatile uint8_t prevLed = 0; 49 | int8_t rotationCenter = 45; 50 | int8_t rotDir = 1; 51 | volatile uint8_t patternNum = 0; 52 | volatile uint8_t sleep = 0; 53 | 54 | // CPX-0, PA2 55 | // CPX-1, PA4 56 | // CPX-2, PB3 57 | // CPX-3, PA5 58 | // CPX-4, PD1 59 | // CPX-5, PD2 60 | // CPX-6, PD3 61 | // CPX-7, PA3 62 | // CPX-8, PB7 63 | // CPX-9, PB5 64 | PORT_t *CPX_PORT[] = {&sfr_PORTA, &sfr_PORTA, &sfr_PORTB, &sfr_PORTA, 65 | &sfr_PORTD, &sfr_PORTD, &sfr_PORTD, &sfr_PORTA, 66 | &sfr_PORTB, &sfr_PORTB}; 67 | uint8_t CPX_PIN[] = {PIN2, PIN4, PIN3, PIN5, PIN1, 68 | PIN2, PIN3, PIN3, PIN7, PIN5}; 69 | 70 | PORT_t *SW_PORT[] = {&sfr_PORTB, &sfr_PORTB}; 71 | uint8_t SW_PIN[] = {PIN1, PIN6}; 72 | 73 | 74 | ISR_HANDLER(RTC_WAKEUP, _RTC_WAKEUP_VECTOR_) { 75 | switch(patternNum){ 76 | case 1: 77 | // Halo 78 | setLed((prevLed + 13)%90); 79 | break; 80 | 81 | case 2: 82 | // Sparkle 83 | rand()%15 ? ledLow(prevLed) : setLed(rand() % 90); 84 | break; 85 | 86 | default: 87 | break; 88 | } 89 | sfr_RTC.ISR2.WUTF = 0; // Reset wakeup flag 90 | return; 91 | } 92 | 93 | ISR_HANDLER(TIM2_UPD_ISR, _TIM2_OVR_UIF_VECTOR_) { 94 | rotationCenter = (rotationCenter+rotDir)%90; 95 | sfr_TIM2.SR1.UIF = 0; // clear timer 2 interrupt flag 96 | return; 97 | } 98 | 99 | // ADC end of conversion interupt 100 | ISR_HANDLER(ADC1_EOC_ISR, _ADC1_EOC_VECTOR_){ 101 | // Raw waveform 102 | sfr_ADC1.CR1.ADON = 0; // Turn off ADC 103 | uint16_t adc = sfr_ADC1.DRL.byte | ((uint16_t)sfr_ADC1.DRH.byte)<<8; 104 | // Calculate the LED angle/4 0-89 105 | setLed((uint8_t)((4140 + rotationCenter + adc) % 90)); 106 | sfr_ADC1.SR.EOC = 0 ; // Clear EOC bit 107 | 108 | sfr_ADC1.CR1.ADON = 1; // Enable ADC 109 | sfr_ADC1.SQR2.CHSEL_S22 = 1; // ADC to D0, ADC1_IN22 110 | for(int i = 0; i < 48; i++){} // Delay t_wakeup, 3us 48 cycles 111 | sfr_ADC1.CR1.START = 1; // Start Conversion 112 | return; 113 | } 114 | 115 | // Button ISR 116 | ISR_HANDLER(BUTTON_ISR, _EXTI6_VECTOR_){ 117 | // Button release debounce 118 | for(uint16_t i = 0 ; i < 5000; i++){NOP();} 119 | if(!(SW_PORT[1]->IDR.byte & SW_PIN[1])){ 120 | if(!sleep){ 121 | initTim4(244); 122 | enableTim4(); // Start timer 123 | patternNum = (patternNum+1)%3; // Next pattern 124 | switch(patternNum){ 125 | case 0: 126 | sfr_CPU.CFG_GCR.AL = 0; // Enable main WFI loop 127 | disableAutoWakeup(); 128 | enableADC(); 129 | enableTim2(); 130 | break; 131 | case 1: 132 | disableTim2(); // Turn off timer 133 | disableADC(); // Turn off ADC 134 | sfr_CPU.CFG_GCR.AL = 1;// Interupt only based, IRET to HALT 135 | enableAutoWakeup(2); 136 | break; 137 | case 2: 138 | disableADC(); // Turn off ADC 139 | disableTim2(); // Turn off timer 140 | sfr_CPU.CFG_GCR.AL = 1;// Interupt only based, IRET to HALT 141 | enableAutoWakeup(100); 142 | break; 143 | } 144 | } else { 145 | // I hate this so much, it is so inefficent 146 | // Should be implemented as the same TIM4 timeout 147 | // At least it lets me debounce better 148 | // And a boot animation 149 | uint16_t debounce = 0; 150 | for(uint16_t i = 0 ; i < 20000; i++){ 151 | if(!(SW_PORT[1]->IDR.byte & SW_PIN[1])){ 152 | debounce++; 153 | setLed(debounce/200); 154 | } 155 | if(debounce > 18000){SW_RESET();} 156 | } 157 | ledLow(prevLed); 158 | } 159 | } 160 | sfr_ITC_EXTI.SR1.P6F = 1; // Clear button interupt flag 161 | return; 162 | } 163 | 164 | // Button has been held for timeout period 165 | ISR_HANDLER(TIM4_UPD_ISR, _TIM4_UIF_VECTOR_) { 166 | ledLow(prevLed); 167 | // If button is still down 168 | if(!(SW_PORT[1]->IDR.byte & SW_PIN[1])){ 169 | if(!sleep){ 170 | sfr_CPU.CFG_GCR.AL = 1;// Interupt only based, IRET to HALT 171 | disableTim2(); // Turn off timer 172 | disableADC(); // Turn off ADC 173 | disableTim4(); 174 | disableAutoWakeup(); 175 | sfr_TIM4.SR1.UIF = 0; // clear timer 4 interrupt flag 176 | sleep = 1; 177 | ledLow(prevLed); // All LEDs off 178 | ENTER_HALT(); // Low power mode 179 | return; 180 | } 181 | } 182 | sfr_TIM4.SR1.UIF = 0; // clear timer 4 interrupt flag 183 | return; 184 | } 185 | 186 | void main() { 187 | DISABLE_INTERRUPTS(); 188 | 189 | // Bump up clock to 16MHz 190 | sfr_CLK.CKDIVR.byte = 0x00; 191 | 192 | // Init and Set all CPX pins to hi-z 193 | for (int k = 0; k < sizeof(CPX_PIN) / sizeof(CPX_PIN[0]); k++) { 194 | CPX_PORT[k]->DDR.byte &= ~CPX_PIN[k]; 195 | CPX_PORT[k]->CR1.byte &= ~CPX_PIN[k]; 196 | } 197 | 198 | initADC(); 199 | initTim2(5000); 200 | initButton(); 201 | initAutoWakeup(); 202 | 203 | disableAutoWakeup(); 204 | enableADC(); 205 | enableTim2(); 206 | 207 | ENABLE_INTERRUPTS(); 208 | 209 | while(1){ 210 | WAIT_FOR_INTERRUPT(); 211 | } 212 | } 213 | 214 | uint16_t readMic() { 215 | sfr_ADC1.CR1.ADON = 1; // Enable ADC 216 | sfr_ADC1.SQR2.CHSEL_S22 = 1; // ADC to D0, ADC1_IN22 217 | for(int i = 0; i < 12; i++){} // Delay t_wakeup, 3us 48 cycles 218 | sfr_ADC1.CR1.START = 1; // Start Conversion 219 | while (!sfr_ADC1.SR.EOC); // conversion ready 220 | sfr_ADC1.CR1.ADON = 0; // Turn off ADC 221 | return sfr_ADC1.DRL.byte | ((uint16_t)sfr_ADC1.DRH.byte)<<8; 222 | } 223 | 224 | void initTim2(uint16_t timeout){ 225 | sfr_CLK.PCKENR1.PCKEN10 = 1; // activate tim2 clock gate 226 | sfr_TIM2.CR1.CEN = 0; // disable timer 227 | sfr_ITC_SPR.SPR5.VECT19SPR = 0b01; // Interupt Priority to Level 1 (lower) 228 | sfr_TIM2.CR1.ARPE = 1; // auto-reload value buffered 229 | sfr_TIM2.CNTRH.byte = 0x00; // MSB clear counter 230 | sfr_TIM2.CNTRL.byte = 0x00; // LSB clear counter 231 | sfr_TIM2.EGR.byte = 0x00; // clear pending events 232 | sfr_TIM2.PSCR.PSC = 7; // set clock to 16Mhz/2^7 = 125khz -> 8us period 233 | sfr_TIM2.ARRH.byte = (uint8_t)(timeout >> 8); // set autoreload value for 50.176ms (=49*1.024ms) 234 | sfr_TIM2.ARRL.byte = (uint8_t)timeout; // set autoreload value for 50.176ms (=49*1.024ms) 235 | sfr_TIM2.IER.UIE = 1; // enable timer 4 interrupt 236 | enableTim2(); 237 | } 238 | 239 | void enableTim2(){ 240 | sfr_CLK.PCKENR1.PCKEN10 = 1; // activate tim4 clock gate 241 | sfr_TIM2.CNTRH.byte = 0x00; // MSB clear counter 242 | sfr_TIM2.CNTRL.byte = 0x00; // LSB clear counter 243 | sfr_TIM2.IER.UIE = 1; // enable timer 4 interrupt 244 | sfr_TIM2.CR1.CEN = 1; // start the timer 245 | } 246 | 247 | void disableTim2(){ 248 | sfr_TIM2.IER.UIE = 0; // disable interrupt 249 | sfr_TIM2.CR1.CEN = 0; // disable timer 250 | sfr_CLK.PCKENR1.PCKEN10 = 0; // disable tim4 clock gate 251 | } 252 | 253 | void initAutoWakeup(){ 254 | sfr_CLK.CRTCR.RTCSEL1 = 1; // Set RTC source to LSI 255 | while(sfr_CLK.CRTCR.RTCSWBSY){}; // Wait for clock change to finish 256 | sfr_CLK.PCKENR2.PCKEN22 = 1; // Enable RTC Clock gating 257 | sfr_RTC.WPR.KEY = 0xCA; // Disable RTC write protection 258 | sfr_RTC.WPR.KEY = 0x53; // Disable RTC write protection 259 | sfr_RTC.CR2.WUTE = 0; // Disable the wakeup timer 260 | while(!sfr_RTC.ISR1.WUTWF){} // Poll unil bit is written 261 | sfr_RTC.WUTRH.byte = 0; // MSB 16b auto countdown 262 | sfr_RTC.WUTRL.byte = 1; // LSB 16b auto countdown 263 | sfr_RTC.CR1.WUCKSEL = 3; // RTCCLK/2 as wakeup clock 264 | sfr_CLK.ICKCR.SAHALT = 1; // switch off main regulator during halt mode 265 | sfr_CLK.PCKENR2.PCKEN22 = 0; // Disable RTC Clock gating 266 | } 267 | 268 | void enableAutoWakeup(uint16_t timeout){ 269 | sfr_CLK.PCKENR2.PCKEN22 = 1; // Enable RTC Clock gating 270 | sfr_ITC_SPR.SPR2.VECT4SPR = 0b00; // Interupt Priority to Level 2 (mid) 271 | sfr_RTC.WPR.KEY = 0xCA; // Disable RTC write protection 272 | sfr_RTC.WPR.KEY = 0x53; // Disable RTC write protection 273 | sfr_RTC.CR2.WUTE = 0; // Disable the wakeup timer 274 | while(!sfr_RTC.ISR1.WUTWF){} // Poll unil bit is written 275 | sfr_RTC.WUTRH.byte = (uint8_t)(timeout >> 8); // MSB 16b auto countdown 276 | sfr_RTC.WUTRL.byte = (uint8_t)(timeout); // LSB 16b auto countdown 277 | sfr_RTC.CR2.WUTIE = 1; // Enable wakeup timer interupt 278 | sfr_RTC.CR2.WUTE = 1; // Enable the wakeup timer 279 | } 280 | 281 | void disableAutoWakeup(){ 282 | sfr_RTC.WPR.KEY = 0xCA; // Disable RTC write protection 283 | sfr_RTC.WPR.KEY = 0x53; // Disable RTC write protection 284 | sfr_RTC.CR2.WUTE = 0; // Disable the wakeup timer 285 | while(!sfr_RTC.ISR1.WUTWF){} // Poll unil bit is written 286 | sfr_RTC.CR2.WUTIE = 0; // Enable wakeup timer interupt 287 | sfr_CLK.PCKENR2.PCKEN22 = 0; // Disable RTC Clock gating 288 | } 289 | 290 | void initTim4(uint8_t timeout){ 291 | sfr_CLK.PCKENR1.PCKEN12 = 1; // activate tim4 clock gate 292 | sfr_ITC_SPR.SPR7.VECT25SPR = 0b11; // Interupt Priority to Level 3 (max) 293 | sfr_TIM4.CR1.CEN = 0; // disable timer 294 | sfr_TIM4.CNTR.byte = 0x00; // clear counter 295 | sfr_TIM4.CR1.ARPE = 1; // auto-reload value buffered 296 | sfr_TIM4.CR1.URS = 1; // Overflow only interupt 297 | sfr_TIM4.EGR.byte = 0x00; // clear pending events 298 | sfr_TIM4.PSCR.PSC = 15; // set clock to 16Mhz/2^15 = 488.3Hz -> 2.048ms period 299 | sfr_TIM4.ARR.byte = timeout; // set autoreload value for 499.7ms (244*2.048ms) 300 | sfr_TIM4.CR1.OPM = 1; // Single pulse mode 301 | sfr_CLK.PCKENR1.PCKEN12 = 0; // disable tim4 clock gate 302 | } 303 | 304 | void enableTim4(){ 305 | sfr_CLK.PCKENR1.PCKEN12 = 1; // activate tim4 clock gate 306 | sfr_TIM4.CNTR.byte = 0x00; // clear counter 307 | sfr_TIM4.EGR.UG = 1; // Generate Update 308 | sfr_TIM4.IER.UIE = 1; // enable timer 4 interrupt 309 | sfr_TIM4.CR1.CEN = 1; // start the timer 310 | } 311 | 312 | void disableTim4(){ 313 | sfr_TIM4.IER.UIE = 0; // disable interrupt 314 | sfr_TIM4.CR1.CEN = 0; // disable timer 315 | sfr_CLK.PCKENR1.PCKEN12 = 0; // disable tim4 clock gate 316 | } 317 | 318 | void initADC(){ 319 | sfr_ITC_SPR.SPR5.VECT18SPR = 0b01; // ADC Priority to Level 1 (lower) 320 | sfr_CLK.PCKENR2.PCKEN20 = 1; // Enable ADC Clock 321 | sfr_ADC1.CR1.RES = 0b00; // Set ADC to 12b mode 322 | sfr_ADC1.CR2.SMTP1 = 0b111; // Sample time 384 323 | sfr_ADC1.SQR1.DMAOFF = 1; // DAMOFF for single ch 324 | sfr_ADC1.CR1.CONT = 0; // Disable sampling mode 325 | // ADC DMA setup 326 | } 327 | 328 | void enableADC(){ 329 | sfr_ADC1.CR1.EOCIE = 1; // Enable EOC Interupt 330 | // First ADC Conversion 331 | sfr_ADC1.CR1.ADON = 1; // Enable ADC 332 | sfr_ADC1.SQR2.CHSEL_S22 = 1; // ADC to D0, ADC1_IN22 333 | for(int i = 0; i < 12; i++){} // Delay t_wakeup, 3us 48 cycles 334 | sfr_ADC1.CR1.START = 1; // Start Conversion 335 | } 336 | 337 | void disableADC(){ 338 | sfr_ADC1.CR1.EOCIE = 0; // Disable EOC Interupt 339 | sfr_ADC1.CR1.ADON = 0; // Disable ADC 340 | // sfr_CLK.PCKENR2.PCKEN20 = 0; // Disable ADC Clock 341 | } 342 | 343 | void initButton(){ 344 | // Set switch pins. 345 | SW_PORT[0]->DDR.byte |= SW_PIN[0]; // DDR = 1 Output 346 | SW_PORT[0]->CR1.byte |= SW_PIN[0]; // CR1 = 1 Push Pull 347 | SW_PORT[0]->ODR.byte &= ~SW_PIN[0]; // ODR = 0 Low 348 | 349 | // Pullup with interupt 350 | SW_PORT[1]->DDR.byte &= ~SW_PIN[1]; // DDR = 0 Input 351 | SW_PORT[1]->CR1.byte |= SW_PIN[1]; // CR1 = 1 Pullup 352 | SW_PORT[1]->CR2.byte |= SW_PIN[1]; // CR2 = 1 Interupt 353 | sfr_ITC_EXTI.CR2.P6IS = 2; // Falling edge only 354 | } 355 | 356 | // The previous LED *MUST* be tuned off before lighting another 357 | // This function automatically takes care of that 358 | void setLed(uint8_t led){ 359 | ledLow(prevLed); 360 | ledHigh(led); 361 | prevLed = led; 362 | } 363 | 364 | // Enable a specific LED 365 | void ledHigh(uint8_t led) { 366 | uint8_t col = led / 9; 367 | uint8_t topElements = 9 - col; 368 | uint8_t row = 9 - (led % 9); 369 | if (topElements <= (9 - row)) { 370 | row--; 371 | } 372 | 373 | // Set column HIGH 374 | CPX_PORT[col]->DDR.byte |= CPX_PIN[col]; 375 | CPX_PORT[col]->CR1.byte |= CPX_PIN[col]; 376 | CPX_PORT[col]->ODR.byte |= CPX_PIN[col]; 377 | // Set row LOW 378 | CPX_PORT[row]->DDR.byte |= CPX_PIN[row]; 379 | CPX_PORT[row]->CR1.byte |= CPX_PIN[row]; 380 | CPX_PORT[row]->ODR.byte &= ~CPX_PIN[row]; 381 | } 382 | 383 | // Disable a specific LED 384 | void ledLow(uint8_t led) { 385 | uint8_t col = led / 9; 386 | uint8_t topElements = 9 - col; 387 | uint8_t row = 9 - (led % 9); 388 | if (topElements <= (9 - row)) { 389 | row--; 390 | } 391 | 392 | // Set row to HI-Z 393 | CPX_PORT[row]->ODR.byte |= CPX_PIN[row]; 394 | CPX_PORT[row]->DDR.byte &= ~CPX_PIN[row]; 395 | CPX_PORT[row]->CR1.byte &= ~CPX_PIN[row]; 396 | // Set column to HI-Z 397 | CPX_PORT[col]->ODR.byte &= ~CPX_PIN[col]; 398 | CPX_PORT[col]->DDR.byte &= ~CPX_PIN[col]; 399 | CPX_PORT[col]->CR1.byte &= ~CPX_PIN[col]; 400 | } 401 | -------------------------------------------------------------------------------- /pcb/LICENSE: -------------------------------------------------------------------------------- 1 | CERN Open Hardware Licence Version 2 - Strongly Reciprocal 2 | 3 | 4 | Preamble 5 | 6 | CERN has developed this licence to promote collaboration among 7 | hardware designers and to provide a legal tool which supports the 8 | freedom to use, study, modify, share and distribute hardware designs 9 | and products based on those designs. Version 2 of the CERN Open 10 | Hardware Licence comes in three variants: CERN-OHL-P (permissive); and 11 | two reciprocal licences: CERN-OHL-W (weakly reciprocal) and this 12 | licence, CERN-OHL-S (strongly reciprocal). 13 | 14 | The CERN-OHL-S is copyright CERN 2020. Anyone is welcome to use it, in 15 | unmodified form only. 16 | 17 | Use of this Licence does not imply any endorsement by CERN of any 18 | Licensor or their designs nor does it imply any involvement by CERN in 19 | their development. 20 | 21 | 22 | 1 Definitions 23 | 24 | 1.1 'Licence' means this CERN-OHL-S. 25 | 26 | 1.2 'Compatible Licence' means 27 | 28 | a) any earlier version of the CERN Open Hardware licence, or 29 | 30 | b) any version of the CERN-OHL-S, or 31 | 32 | c) any licence which permits You to treat the Source to which 33 | it applies as licensed under CERN-OHL-S provided that on 34 | Conveyance of any such Source, or any associated Product You 35 | treat the Source in question as being licensed under 36 | CERN-OHL-S. 37 | 38 | 1.3 'Source' means information such as design materials or digital 39 | code which can be applied to Make or test a Product or to 40 | prepare a Product for use, Conveyance or sale, regardless of its 41 | medium or how it is expressed. It may include Notices. 42 | 43 | 1.4 'Covered Source' means Source that is explicitly made available 44 | under this Licence. 45 | 46 | 1.5 'Product' means any device, component, work or physical object, 47 | whether in finished or intermediate form, arising from the use, 48 | application or processing of Covered Source. 49 | 50 | 1.6 'Make' means to create or configure something, whether by 51 | manufacture, assembly, compiling, loading or applying Covered 52 | Source or another Product or otherwise. 53 | 54 | 1.7 'Available Component' means any part, sub-assembly, library or 55 | code which: 56 | 57 | a) is licensed to You as Complete Source under a Compatible 58 | Licence; or 59 | 60 | b) is available, at the time a Product or the Source containing 61 | it is first Conveyed, to You and any other prospective 62 | licensees 63 | 64 | i) as a physical part with sufficient rights and 65 | information (including any configuration and 66 | programming files and information about its 67 | characteristics and interfaces) to enable it either to 68 | be Made itself, or to be sourced and used to Make the 69 | Product; or 70 | ii) as part of the normal distribution of a tool used to 71 | design or Make the Product. 72 | 73 | 1.8 'Complete Source' means the set of all Source necessary to Make 74 | a Product, in the preferred form for making modifications, 75 | including necessary installation and interfacing information 76 | both for the Product, and for any included Available Components. 77 | If the format is proprietary, it must also be made available in 78 | a format (if the proprietary tool can create it) which is 79 | viewable with a tool available to potential licensees and 80 | licensed under a licence approved by the Free Software 81 | Foundation or the Open Source Initiative. Complete Source need 82 | not include the Source of any Available Component, provided that 83 | You include in the Complete Source sufficient information to 84 | enable a recipient to Make or source and use the Available 85 | Component to Make the Product. 86 | 87 | 1.9 'Source Location' means a location where a Licensor has placed 88 | Covered Source, and which that Licensor reasonably believes will 89 | remain easily accessible for at least three years for anyone to 90 | obtain a digital copy. 91 | 92 | 1.10 'Notice' means copyright, acknowledgement and trademark notices, 93 | Source Location references, modification notices (subsection 94 | 3.3(b)) and all notices that refer to this Licence and to the 95 | disclaimer of warranties that are included in the Covered 96 | Source. 97 | 98 | 1.11 'Licensee' or 'You' means any person exercising rights under 99 | this Licence. 100 | 101 | 1.12 'Licensor' means a natural or legal person who creates or 102 | modifies Covered Source. A person may be a Licensee and a 103 | Licensor at the same time. 104 | 105 | 1.13 'Convey' means to communicate to the public or distribute. 106 | 107 | 108 | 2 Applicability 109 | 110 | 2.1 This Licence governs the use, copying, modification, Conveying 111 | of Covered Source and Products, and the Making of Products. By 112 | exercising any right granted under this Licence, You irrevocably 113 | accept these terms and conditions. 114 | 115 | 2.2 This Licence is granted by the Licensor directly to You, and 116 | shall apply worldwide and without limitation in time. 117 | 118 | 2.3 You shall not attempt to restrict by contract or otherwise the 119 | rights granted under this Licence to other Licensees. 120 | 121 | 2.4 This Licence is not intended to restrict fair use, fair dealing, 122 | or any other similar right. 123 | 124 | 125 | 3 Copying, modifying and Conveying Covered Source 126 | 127 | 3.1 You may copy and Convey verbatim copies of Covered Source, in 128 | any medium, provided You retain all Notices. 129 | 130 | 3.2 You may modify Covered Source, other than Notices, provided that 131 | You irrevocably undertake to make that modified Covered Source 132 | available from a Source Location should You Convey a Product in 133 | circumstances where the recipient does not otherwise receive a 134 | copy of the modified Covered Source. In each case subsection 3.3 135 | shall apply. 136 | 137 | You may only delete Notices if they are no longer applicable to 138 | the corresponding Covered Source as modified by You and You may 139 | add additional Notices applicable to Your modifications. 140 | Including Covered Source in a larger work is modifying the 141 | Covered Source, and the larger work becomes modified Covered 142 | Source. 143 | 144 | 3.3 You may Convey modified Covered Source (with the effect that You 145 | shall also become a Licensor) provided that You: 146 | 147 | a) retain Notices as required in subsection 3.2; 148 | 149 | b) add a Notice to the modified Covered Source stating that You 150 | have modified it, with the date and brief description of how 151 | You have modified it; 152 | 153 | c) add a Source Location Notice for the modified Covered Source 154 | if You Convey in circumstances where the recipient does not 155 | otherwise receive a copy of the modified Covered Source; and 156 | 157 | d) license the modified Covered Source under the terms and 158 | conditions of this Licence (or, as set out in subsection 159 | 8.3, a later version, if permitted by the licence of the 160 | original Covered Source). Such modified Covered Source must 161 | be licensed as a whole, but excluding Available Components 162 | contained in it, which remain licensed under their own 163 | applicable licences. 164 | 165 | 166 | 4 Making and Conveying Products 167 | 168 | You may Make Products, and/or Convey them, provided that You either 169 | provide each recipient with a copy of the Complete Source or ensure 170 | that each recipient is notified of the Source Location of the Complete 171 | Source. That Complete Source is Covered Source, and You must 172 | accordingly satisfy Your obligations set out in subsection 3.3. If 173 | specified in a Notice, the Product must visibly and securely display 174 | the Source Location on it or its packaging or documentation in the 175 | manner specified in that Notice. 176 | 177 | 178 | 5 Research and Development 179 | 180 | You may Convey Covered Source, modified Covered Source or Products to 181 | a legal entity carrying out development, testing or quality assurance 182 | work on Your behalf provided that the work is performed on terms which 183 | prevent the entity from both using the Source or Products for its own 184 | internal purposes and Conveying the Source or Products or any 185 | modifications to them to any person other than You. Any modifications 186 | made by the entity shall be deemed to be made by You pursuant to 187 | subsection 3.2. 188 | 189 | 190 | 6 DISCLAIMER AND LIABILITY 191 | 192 | 6.1 DISCLAIMER OF WARRANTY -- The Covered Source and any Products 193 | are provided 'as is' and any express or implied warranties, 194 | including, but not limited to, implied warranties of 195 | merchantability, of satisfactory quality, non-infringement of 196 | third party rights, and fitness for a particular purpose or use 197 | are disclaimed in respect of any Source or Product to the 198 | maximum extent permitted by law. The Licensor makes no 199 | representation that any Source or Product does not or will not 200 | infringe any patent, copyright, trade secret or other 201 | proprietary right. The entire risk as to the use, quality, and 202 | performance of any Source or Product shall be with You and not 203 | the Licensor. This disclaimer of warranty is an essential part 204 | of this Licence and a condition for the grant of any rights 205 | granted under this Licence. 206 | 207 | 6.2 EXCLUSION AND LIMITATION OF LIABILITY -- The Licensor shall, to 208 | the maximum extent permitted by law, have no liability for 209 | direct, indirect, special, incidental, consequential, exemplary, 210 | punitive or other damages of any character including, without 211 | limitation, procurement of substitute goods or services, loss of 212 | use, data or profits, or business interruption, however caused 213 | and on any theory of contract, warranty, tort (including 214 | negligence), product liability or otherwise, arising in any way 215 | in relation to the Covered Source, modified Covered Source 216 | and/or the Making or Conveyance of a Product, even if advised of 217 | the possibility of such damages, and You shall hold the 218 | Licensor(s) free and harmless from any liability, costs, 219 | damages, fees and expenses, including claims by third parties, 220 | in relation to such use. 221 | 222 | 223 | 7 Patents 224 | 225 | 7.1 Subject to the terms and conditions of this Licence, each 226 | Licensor hereby grants to You a perpetual, worldwide, 227 | non-exclusive, no-charge, royalty-free, irrevocable (except as 228 | stated in subsections 7.2 and 8.4) patent license to Make, have 229 | Made, use, offer to sell, sell, import, and otherwise transfer 230 | the Covered Source and Products, where such licence applies only 231 | to those patent claims licensable by such Licensor that are 232 | necessarily infringed by exercising rights under the Covered 233 | Source as Conveyed by that Licensor. 234 | 235 | 7.2 If You institute patent litigation against any entity (including 236 | a cross-claim or counterclaim in a lawsuit) alleging that the 237 | Covered Source or a Product constitutes direct or contributory 238 | patent infringement, or You seek any declaration that a patent 239 | licensed to You under this Licence is invalid or unenforceable 240 | then any rights granted to You under this Licence shall 241 | terminate as of the date such process is initiated. 242 | 243 | 244 | 8 General 245 | 246 | 8.1 If any provisions of this Licence are or subsequently become 247 | invalid or unenforceable for any reason, the remaining 248 | provisions shall remain effective. 249 | 250 | 8.2 You shall not use any of the name (including acronyms and 251 | abbreviations), image, or logo by which the Licensor or CERN is 252 | known, except where needed to comply with section 3, or where 253 | the use is otherwise allowed by law. Any such permitted use 254 | shall be factual and shall not be made so as to suggest any kind 255 | of endorsement or implication of involvement by the Licensor or 256 | its personnel. 257 | 258 | 8.3 CERN may publish updated versions and variants of this Licence 259 | which it considers to be in the spirit of this version, but may 260 | differ in detail to address new problems or concerns. New 261 | versions will be published with a unique version number and a 262 | variant identifier specifying the variant. If the Licensor has 263 | specified that a given variant applies to the Covered Source 264 | without specifying a version, You may treat that Covered Source 265 | as being released under any version of the CERN-OHL with that 266 | variant. If no variant is specified, the Covered Source shall be 267 | treated as being released under CERN-OHL-S. The Licensor may 268 | also specify that the Covered Source is subject to a specific 269 | version of the CERN-OHL or any later version in which case You 270 | may apply this or any later version of CERN-OHL with the same 271 | variant identifier published by CERN. 272 | 273 | 8.4 This Licence shall terminate with immediate effect if You fail 274 | to comply with any of its terms and conditions. 275 | 276 | 8.5 However, if You cease all breaches of this Licence, then Your 277 | Licence from any Licensor is reinstated unless such Licensor has 278 | terminated this Licence by giving You, while You remain in 279 | breach, a notice specifying the breach and requiring You to cure 280 | it within 30 days, and You have failed to come into compliance 281 | in all material respects by the end of the 30 day period. Should 282 | You repeat the breach after receipt of a cure notice and 283 | subsequent reinstatement, this Licence will terminate 284 | immediately and permanently. Section 6 shall continue to apply 285 | after any termination. 286 | 287 | 8.6 This Licence shall not be enforceable except by a Licensor 288 | acting as such, and third party beneficiary rights are 289 | specifically excluded. 290 | -------------------------------------------------------------------------------- /pcb/bom.csv: -------------------------------------------------------------------------------- 1 | REF,QTY,Manufacturer,MPN,Description 2 | D1-D90,90,Brightled,BL-HUB37A-AV-TRB,LED: RED 627-637nm 50mcd@20mA 0402 3 | U1,1,STMicroelectronics,STM8L151G4U6,MCU: 8b 16Mhz 16k Flash UQFN-28-4x4 4 | MK1,1,Knowles Electronics,SPW2430HR5H-B,MIC: Omni Si-Sonic 3.1x2.5x1.0mm 5 | BT1,1,Linx Technologies,BAT-HLD-001,BAT: CR2032 Cell Holder 6 | S1,1,C&K,KXT311LHS,SW: Low Profile 3x2x0.6mm 100gf 7 | R3,1,Uniroyal,0402WGF1002TCE,RES: 10k 5% 1/16W 0402 8 | C1,1,Samsung Electro-Mechanics,CL05B104KO5NNNC,CAP: MLCC 100nF 16V 0402 9 | C2,1,Samsung Electro-Mechanics,CL05A105KA5NQNC,CAP: MLCC 1uF 25V 0402 10 | -------------------------------------------------------------------------------- /pcb/components/BAT-HLD-001/BAT-HLD-001.bck: -------------------------------------------------------------------------------- 1 | EESchema-DOCLIB Version 2.0 2 | # 3 | $CMP BAT-HLD-001 4 | D CR-2025/2032 5 | K battery cell 6 | F https://linxtechnologies.com/wp/wp-content/uploads/bat-hld-001.pdf 7 | $ENDCMP 8 | # 9 | $CMP CR-2032 10 | D CR-2032 Coin Cell Holder 11 | K battery cell 12 | F https://linxtechnologies.com/wp/wp-content/uploads/bat-hld-001.pdf 13 | $ENDCMP 14 | # 15 | #End Doc Library 16 | -------------------------------------------------------------------------------- /pcb/components/BAT-HLD-001/BAT-HLD-001.dcm: -------------------------------------------------------------------------------- 1 | EESchema-DOCLIB Version 2.0 2 | # 3 | $CMP CR-2032 4 | D CR-2032 Coin Cell Holder 5 | K battery cell 6 | F https://linxtechnologies.com/wp/wp-content/uploads/bat-hld-001.pdf 7 | $ENDCMP 8 | # 9 | #End Doc Library 10 | -------------------------------------------------------------------------------- /pcb/components/BAT-HLD-001/BAT-HLD-001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/pcb/components/BAT-HLD-001/BAT-HLD-001.jpg -------------------------------------------------------------------------------- /pcb/components/BAT-HLD-001/BAT-HLD-001.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.4 2 | #encoding utf-8 3 | # 4 | # CR-2032 5 | # 6 | DEF CR-2032 BT 0 0 N N 1 F N 7 | F0 "BT" 100 100 50 H V L CNN 8 | F1 "CR-2032" 100 0 50 H V L CNN 9 | F2 "BAT-HLD-001:BAT-HLD-001" -200 0 50 V I C CNN 10 | F3 "" 0 60 50 V I C CNN 11 | DRAW 12 | S -90 70 90 60 0 1 0 F 13 | S -62 47 58 27 0 1 0 F 14 | P 2 0 1 0 0 30 0 0 N 15 | P 2 0 1 0 0 70 0 100 N 16 | P 2 0 1 10 20 135 60 135 N 17 | P 2 0 1 10 40 155 40 115 N 18 | X + 1 0 200 100 D 50 50 1 1 P 19 | X - 2 0 -100 100 U 50 50 1 1 P 20 | ENDDRAW 21 | ENDDEF 22 | # 23 | #End Library 24 | -------------------------------------------------------------------------------- /pcb/components/BAT-HLD-001/BAT-HLD-001.pretty/BAT-HLD-001-HALO.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "BAT-HLD-001-HALO" (layer F.Cu) (tedit 5F462C7D) 2 | (descr "Linx CR 2025/2032 Surface mount coin cell holder") 3 | (fp_text reference "REF**" (at -8 -6 45) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value "BAT-HLD-001-HALO" (at 0 -6) (layer F.CrtYd) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -8.05 -7.35) (end 8.05 -7.35) (layer F.CrtYd) (width 0.05)) 13 | (fp_line (start 8.05 -7.35) (end 10.55 -5.35) (layer F.CrtYd) (width 0.05)) 14 | (fp_line (start -8.05 -7.35) (end -10.55 -5.35) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -10.55 -5.35) (end -10.55 4.988) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start 10.55 -5.35) (end 10.55 4.988) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 10.55 4.988) (end 8.05 7.488) (layer F.CrtYd) (width 0.05)) 18 | (fp_line (start -10.55 4.988) (end -8.05 7.488) (layer F.CrtYd) (width 0.05)) 19 | (fp_arc (start 6.451 5.889) (end 8.05 7.488) (angle 83.6) (layer F.CrtYd) (width 0.05)) 20 | (fp_arc (start -6.451 5.889) (end -8.05 7.488) (angle -83.6) (layer F.CrtYd) (width 0.05)) 21 | (fp_arc (start 0 13.962) (end -5.04 7.655) (angle 77.2) (layer F.CrtYd) (width 0.05)) 22 | (fp_arc (start 0 13.962) (end -5.04 7.655) (angle 77.2) (layer F.Fab) (width 0.12)) 23 | (fp_arc (start 6.451 5.889) (end 8.05 7.488) (angle 83.6) (layer F.Fab) (width 0.12)) 24 | (fp_arc (start -6.451 5.889) (end -8.05 7.488) (angle -83.6) (layer F.Fab) (width 0.12)) 25 | (fp_line (start -10.55 -5.35) (end -10.55 4.988) (layer F.Fab) (width 0.12)) 26 | (fp_line (start -8.05 -7.35) (end -10.55 -5.35) (layer F.Fab) (width 0.12)) 27 | (fp_line (start -8.05 -7.35) (end 8.05 -7.35) (layer F.Fab) (width 0.12)) 28 | (fp_line (start 8.05 -7.35) (end 10.55 -5.35) (layer F.Fab) (width 0.12)) 29 | (fp_line (start 10.55 -5.35) (end 10.55 4.988) (layer F.Fab) (width 0.12)) 30 | (fp_line (start 10.55 4.988) (end 8.05 7.488) (layer F.Fab) (width 0.12)) 31 | (fp_line (start -10.55 4.988) (end -8.05 7.488) (layer F.Fab) (width 0.12)) 32 | (fp_arc (start 0 0) (end 5.892 8.08) (angle 72.2) (layer F.CrtYd) (width 0.05)) 33 | (fp_arc (start 0 0) (end 6.781 -7.35) (angle -85.3) (layer F.CrtYd) (width 0.05)) 34 | (fp_line (start -12.7 -2.55) (end -10.55 -2.55) (layer F.CrtYd) (width 0.05)) 35 | (fp_line (start -12.7 -2.55) (end -12.7 2.55) (layer F.CrtYd) (width 0.05)) 36 | (fp_line (start -12.7 2.55) (end -10.55 2.55) (layer F.CrtYd) (width 0.05)) 37 | (fp_line (start 10.55 -2.55) (end 12.7 -2.55) (layer F.CrtYd) (width 0.05)) 38 | (fp_line (start 12.7 -2.55) (end 12.7 2.55) (layer F.CrtYd) (width 0.05)) 39 | (fp_line (start 12.7 2.55) (end 10.55 2.55) (layer F.CrtYd) (width 0.05)) 40 | (fp_line (start 8.05 -7.35) (end 10.55 -5.35) (layer F.SilkS) (width 0.12)) 41 | (fp_arc (start -6.451 5.889) (end -8.05 7.488) (angle -83.6) (layer F.SilkS) (width 0.12)) 42 | (fp_line (start -10.55 4.988) (end -8.05 7.488) (layer F.SilkS) (width 0.12)) 43 | (fp_arc (start 6.451 5.889) (end 8.05 7.488) (angle 83.6) (layer F.SilkS) (width 0.12)) 44 | (fp_line (start 10.55 4.988) (end 8.05 7.488) (layer F.SilkS) (width 0.12)) 45 | (fp_line (start -8.05 -7.35) (end -10.55 -5.35) (layer F.SilkS) (width 0.12)) 46 | (fp_arc (start 0 13.962) (end -5.04 7.655) (angle 77.2) (layer F.SilkS) (width 0.12)) 47 | (fp_line (start 10.55 -5.35) (end 10.55 4.988) (layer F.SilkS) (width 0.12)) 48 | (fp_line (start -8.05 -7.35) (end 8.05 -7.35) (layer F.SilkS) (width 0.12)) 49 | (fp_line (start -10.55 -5.35) (end -10.55 4.988) (layer F.SilkS) (width 0.12)) 50 | (fp_arc (start 0 0) (end 12 0) (angle -15.2551187) (layer F.CrtYd) (width 0.05)) 51 | (fp_arc (start 0 0) (end 12 0) (angle 15.2551187) (layer F.CrtYd) (width 0.05)) 52 | (pad "1" smd custom (at 11.25 0) (size 1.5 1.5) (layers "F.Cu" "F.Paste" "F.Mask") 53 | (options (clearance outline) (anchor circle)) 54 | (primitives 55 | (gr_arc (start -11.25 0) (end 0 0) (angle 12.5) (width 1.5)) 56 | (gr_arc (start -11.25 0) (end 0 0) (angle -12.5) (width 1.5)) 57 | ) (tstamp 96af4c67-392d-454d-9862-80ec69c2e9af)) 58 | (pad "2" smd circle (at 0 0) (size 12 12) (layers "F.Cu" "F.Mask") (tstamp 40150b76-b3a6-4aa9-a3e5-53615b45669b)) 59 | (pad "1" smd custom (at -11.25 0 180) (size 1.5 1.5) (layers "F.Cu" "F.Paste" "F.Mask") 60 | (options (clearance outline) (anchor circle)) 61 | (primitives 62 | (gr_arc (start -11.25 0) (end 0 0) (angle 12.5) (width 1.5)) 63 | (gr_arc (start -11.25 0) (end 0 0) (angle -12.5) (width 1.5)) 64 | ) (tstamp 96af4c67-392d-454d-9862-80ec69c2e9af)) 65 | (model "${KIPRJMOD}/components/BAT-HLD-001/BAT-HLD-001.stp" 66 | (offset (xyz 0 -0.3 6.2)) 67 | (scale (xyz 1 1 1)) 68 | (rotate (xyz -90 180 0)) 69 | ) 70 | ) 71 | -------------------------------------------------------------------------------- /pcb/components/BAT-HLD-001/BAT-HLD-001.pretty/BAT-HLD-001-THM.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "BAT-HLD-001-THM" (layer F.Cu) (tedit 5F462B32) 2 | (descr "Linx CR 2025/2032 Through Hole coin cell holder") 3 | (fp_text reference "REF**" (at -8 -6 45) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value "BAT-HLD-001-THM" (at 0 -6) (layer F.CrtYd) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_line (start -10.55 -5.35) (end -10.55 4.988) (layer F.SilkS) (width 0.12)) 10 | (fp_line (start -8.05 -7.35) (end 8.05 -7.35) (layer F.SilkS) (width 0.12)) 11 | (fp_line (start 10.55 -5.35) (end 10.55 4.988) (layer F.SilkS) (width 0.12)) 12 | (fp_arc (start 0 13.962) (end -5.04 7.655) (angle 77.2) (layer F.SilkS) (width 0.12)) 13 | (fp_line (start -8.05 -7.35) (end -10.55 -5.35) (layer F.SilkS) (width 0.12)) 14 | (fp_line (start 10.55 4.988) (end 8.05 7.488) (layer F.SilkS) (width 0.12)) 15 | (fp_arc (start 6.451 5.889) (end 8.05 7.488) (angle 83.6) (layer F.SilkS) (width 0.12)) 16 | (fp_line (start -10.55 4.988) (end -8.05 7.488) (layer F.SilkS) (width 0.12)) 17 | (fp_arc (start -6.451 5.889) (end -8.05 7.488) (angle -83.6) (layer F.SilkS) (width 0.12)) 18 | (fp_line (start 8.05 -7.35) (end 10.55 -5.35) (layer F.SilkS) (width 0.12)) 19 | (fp_arc (start 0 0) (end 6.781 -7.35) (angle -85.3) (layer F.CrtYd) (width 0.05)) 20 | (fp_arc (start 0 0) (end 5.892 8.08) (angle 72.2) (layer F.CrtYd) (width 0.05)) 21 | (fp_line (start -10.55 4.988) (end -8.05 7.488) (layer F.Fab) (width 0.12)) 22 | (fp_line (start 10.55 4.988) (end 8.05 7.488) (layer F.Fab) (width 0.12)) 23 | (fp_line (start 10.55 -5.35) (end 10.55 4.988) (layer F.Fab) (width 0.12)) 24 | (fp_line (start 8.05 -7.35) (end 10.55 -5.35) (layer F.Fab) (width 0.12)) 25 | (fp_line (start -8.05 -7.35) (end 8.05 -7.35) (layer F.Fab) (width 0.12)) 26 | (fp_line (start -8.05 -7.35) (end -10.55 -5.35) (layer F.Fab) (width 0.12)) 27 | (fp_line (start -10.55 -5.35) (end -10.55 4.988) (layer F.Fab) (width 0.12)) 28 | (fp_arc (start -6.451 5.889) (end -8.05 7.488) (angle -83.6) (layer F.Fab) (width 0.12)) 29 | (fp_arc (start 6.451 5.889) (end 8.05 7.488) (angle 83.6) (layer F.Fab) (width 0.12)) 30 | (fp_arc (start 0 13.962) (end -5.04 7.655) (angle 77.2) (layer F.Fab) (width 0.12)) 31 | (fp_arc (start 0 13.962) (end -5.04 7.655) (angle 77.2) (layer F.CrtYd) (width 0.05)) 32 | (fp_arc (start -6.451 5.889) (end -8.05 7.488) (angle -83.6) (layer F.CrtYd) (width 0.05)) 33 | (fp_arc (start 6.451 5.889) (end 8.05 7.488) (angle 83.6) (layer F.CrtYd) (width 0.05)) 34 | (fp_line (start -10.55 4.988) (end -8.05 7.488) (layer F.CrtYd) (width 0.05)) 35 | (fp_line (start 10.55 4.988) (end 8.05 7.488) (layer F.CrtYd) (width 0.05)) 36 | (fp_line (start 10.55 -5.35) (end 10.55 4.988) (layer F.CrtYd) (width 0.05)) 37 | (fp_line (start -10.55 -5.35) (end -10.55 4.988) (layer F.CrtYd) (width 0.05)) 38 | (fp_line (start -8.05 -7.35) (end -10.55 -5.35) (layer F.CrtYd) (width 0.05)) 39 | (fp_line (start 8.05 -7.35) (end 10.55 -5.35) (layer F.CrtYd) (width 0.05)) 40 | (fp_line (start -8.05 -7.35) (end 8.05 -7.35) (layer F.CrtYd) (width 0.05)) 41 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 42 | (effects (font (size 1 1) (thickness 0.15))) 43 | ) 44 | (fp_arc (start 10.4 -1.5) (end 10.549999 -0.350001) (angle -165.1) (layer F.CrtYd) (width 0.05)) 45 | (fp_arc (start 10.4 1.5) (end 10.549999 2.649999) (angle -165.1) (layer F.CrtYd) (width 0.05)) 46 | (fp_arc (start -10.4 1.5) (end -10.549999 0.350001) (angle -165.1) (layer F.CrtYd) (width 0.05)) 47 | (fp_arc (start -10.4 -1.5) (end -10.549999 -2.649999) (angle -165.1) (layer F.CrtYd) (width 0.05)) 48 | (pad "2" smd circle (at 0 0) (size 17.8 17.8) (layers "F.Cu" "F.Mask") (tstamp 51e823cf-8ff4-4b77-858e-e332c2e4dd1e)) 49 | (pad "1" thru_hole circle (at -10.4 1.5) (size 2.3 2.3) (drill 1) (layers *.Cu *.Mask) (tstamp 794da7e8-0a3a-4eb0-8d14-4f8fbe3df4d9)) 50 | (pad "1" thru_hole circle (at -10.4 -1.5) (size 2.3 2.3) (drill 1) (layers *.Cu *.Mask) (tstamp 817fe715-7d3d-42a6-afd7-aea42789477f)) 51 | (pad "1" thru_hole circle (at 10.4 -1.5) (size 2.3 2.3) (drill 1) (layers *.Cu *.Mask) (tstamp 4073cfae-f659-4216-92a1-74857b7e08e1)) 52 | (pad "1" thru_hole circle (at 10.4 1.5) (size 2.3 2.3) (drill 1) (layers *.Cu *.Mask) (tstamp 2bc4f8f8-b830-4629-99fe-7da53cd6055d)) 53 | (model "${KIPRJMOD}/components/BAT-HLD-001/BAT-HLD-001.stp" 54 | (offset (xyz 0 -0.3 6.2)) 55 | (scale (xyz 1 1 1)) 56 | (rotate (xyz -90 180 0)) 57 | ) 58 | ) 59 | -------------------------------------------------------------------------------- /pcb/components/BAT-HLD-001/BAT-HLD-001.pretty/BAT-HLD-001.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "BAT-HLD-001" (layer F.Cu) (tedit 5F462B2B) 2 | (descr "Linx CR 2025/2032 Surface mount coin cell holder") 3 | (fp_text reference "REF**" (at -8 -6 45) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value "BAT-HLD-001" (at 0 -6) (layer F.CrtYd) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -8.05 -7.35) (end 8.05 -7.35) (layer F.CrtYd) (width 0.05)) 13 | (fp_line (start 8.05 -7.35) (end 10.55 -5.35) (layer F.CrtYd) (width 0.05)) 14 | (fp_line (start -8.05 -7.35) (end -10.55 -5.35) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -10.55 -5.35) (end -10.55 4.988) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start 10.55 -5.35) (end 10.55 4.988) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 10.55 4.988) (end 8.05 7.488) (layer F.CrtYd) (width 0.05)) 18 | (fp_line (start -10.55 4.988) (end -8.05 7.488) (layer F.CrtYd) (width 0.05)) 19 | (fp_arc (start 6.451 5.889) (end 8.05 7.488) (angle 83.6) (layer F.CrtYd) (width 0.05)) 20 | (fp_arc (start -6.451 5.889) (end -8.05 7.488) (angle -83.6) (layer F.CrtYd) (width 0.05)) 21 | (fp_arc (start 0 13.962) (end -5.04 7.655) (angle 77.2) (layer F.CrtYd) (width 0.05)) 22 | (fp_arc (start 0 13.962) (end -5.04 7.655) (angle 77.2) (layer F.Fab) (width 0.12)) 23 | (fp_arc (start 6.451 5.889) (end 8.05 7.488) (angle 83.6) (layer F.Fab) (width 0.12)) 24 | (fp_arc (start -6.451 5.889) (end -8.05 7.488) (angle -83.6) (layer F.Fab) (width 0.12)) 25 | (fp_line (start -10.55 -5.35) (end -10.55 4.988) (layer F.Fab) (width 0.12)) 26 | (fp_line (start -8.05 -7.35) (end -10.55 -5.35) (layer F.Fab) (width 0.12)) 27 | (fp_line (start -8.05 -7.35) (end 8.05 -7.35) (layer F.Fab) (width 0.12)) 28 | (fp_line (start 8.05 -7.35) (end 10.55 -5.35) (layer F.Fab) (width 0.12)) 29 | (fp_line (start 10.55 -5.35) (end 10.55 4.988) (layer F.Fab) (width 0.12)) 30 | (fp_line (start 10.55 4.988) (end 8.05 7.488) (layer F.Fab) (width 0.12)) 31 | (fp_line (start -10.55 4.988) (end -8.05 7.488) (layer F.Fab) (width 0.12)) 32 | (fp_arc (start 0 0) (end 5.892 8.08) (angle 72.2) (layer F.CrtYd) (width 0.05)) 33 | (fp_arc (start 0 0) (end 6.781 -7.35) (angle -85.3) (layer F.CrtYd) (width 0.05)) 34 | (fp_line (start -12.7 -2.55) (end -10.55 -2.55) (layer F.CrtYd) (width 0.05)) 35 | (fp_line (start -12.7 -2.55) (end -12.7 2.55) (layer F.CrtYd) (width 0.05)) 36 | (fp_line (start -12.7 2.55) (end -10.55 2.55) (layer F.CrtYd) (width 0.05)) 37 | (fp_line (start 10.55 -2.55) (end 12.7 -2.55) (layer F.CrtYd) (width 0.05)) 38 | (fp_line (start 12.7 -2.55) (end 12.7 2.55) (layer F.CrtYd) (width 0.05)) 39 | (fp_line (start 12.7 2.55) (end 10.55 2.55) (layer F.CrtYd) (width 0.05)) 40 | (fp_line (start 8.05 -7.35) (end 10.55 -5.35) (layer F.SilkS) (width 0.12)) 41 | (fp_arc (start -6.451 5.889) (end -8.05 7.488) (angle -83.6) (layer F.SilkS) (width 0.12)) 42 | (fp_line (start -10.55 4.988) (end -8.05 7.488) (layer F.SilkS) (width 0.12)) 43 | (fp_arc (start 6.451 5.889) (end 8.05 7.488) (angle 83.6) (layer F.SilkS) (width 0.12)) 44 | (fp_line (start 10.55 4.988) (end 8.05 7.488) (layer F.SilkS) (width 0.12)) 45 | (fp_line (start -8.05 -7.35) (end -10.55 -5.35) (layer F.SilkS) (width 0.12)) 46 | (fp_arc (start 0 13.962) (end -5.04 7.655) (angle 77.2) (layer F.SilkS) (width 0.12)) 47 | (fp_line (start 10.55 -5.35) (end 10.55 4.988) (layer F.SilkS) (width 0.12)) 48 | (fp_line (start -8.05 -7.35) (end 8.05 -7.35) (layer F.SilkS) (width 0.12)) 49 | (fp_line (start -10.55 -5.35) (end -10.55 4.988) (layer F.SilkS) (width 0.12)) 50 | (pad "1" smd rect (at -11.45 0) (size 2.5 5.1) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 71bfc1b9-5bef-4bf7-b9ca-06e6078c899a)) 51 | (pad "1" smd rect (at 11.45 0) (size 2.5 5.1) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp db63301a-cf91-4f7c-9a64-8e47f6d773da)) 52 | (pad "2" smd circle (at 0 0) (size 17.8 17.8) (layers "F.Cu" "F.Mask") (tstamp face756b-cf18-490c-b6b9-d3bc40431af8)) 53 | (model "${KIPRJMOD}/components/BAT-HLD-001/BAT-HLD-001.stp" 54 | (offset (xyz 0 -0.3 6.2)) 55 | (scale (xyz 1 1 1)) 56 | (rotate (xyz -90 180 0)) 57 | ) 58 | ) 59 | -------------------------------------------------------------------------------- /pcb/components/BAT-HLD-001/bat-hld-001.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/pcb/components/BAT-HLD-001/bat-hld-001.pdf -------------------------------------------------------------------------------- /pcb/components/BL-HUB37A-AV-TRB/BL-HUB37A-AV-TRB.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/pcb/components/BL-HUB37A-AV-TRB/BL-HUB37A-AV-TRB.jpg -------------------------------------------------------------------------------- /pcb/components/BL-HUB37A-AV-TRB/BL-HUB37A-AV-TRB.kicad_sym: -------------------------------------------------------------------------------- 1 | (kicad_symbol_lib (version 20200126) (host kicad_symbol_editor "(5.99.0-2251-g5226d6b4d)") 2 | (symbol "BL-HUB37A-AV-TRB:BL-HUB37A-AV-TRB" (pin_names hide) 3 | (property "Reference" "D" (id 0) (at 0 3.81 0) 4 | (effects (font (size 1.27 1.27))) 5 | ) 6 | (property "Value" "BL-HUB37A-AV-TRB" (id 1) (at 0 -3.81 0) 7 | (effects (font (size 1.27 1.27))) 8 | ) 9 | (property "Footprint" "BL-HUB37A-AV-TRB:D-0402" (id 2) (at 0 -6.35 0) 10 | (effects (font (size 1.27 1.27)) hide) 11 | ) 12 | (property "Datasheet" "${KIPRJMOD}/components/BL-HUB37A-AV-TRB/BL-HUB37A-AV-TRB.pdf" (id 3) (at 0 -8.89 0) 13 | (effects (font (size 1.27 1.27)) hide) 14 | ) 15 | (symbol "BL-HUB37A-AV-TRB_0_1" 16 | (polyline 17 | (pts (xy -1.27 1.27) (xy -1.27 -1.27) (xy 1.27 0) (xy -1.27 1.27)) 18 | (stroke (width 0.0006)) (fill (type none)) 19 | ) 20 | (polyline 21 | (pts (xy 1.27 1.27) (xy 1.27 -1.27)) 22 | (stroke (width 0.0006)) (fill (type none)) 23 | ) 24 | (polyline 25 | (pts (xy -0.508 1.27) (xy 0 2.032)) 26 | (stroke (width 0.0006)) (fill (type none)) 27 | ) 28 | (polyline 29 | (pts (xy 0 2.032) (xy 0 1.651)) 30 | (stroke (width 0.0006)) (fill (type none)) 31 | ) 32 | (polyline 33 | (pts (xy 0 2.032) (xy -0.381 1.905)) 34 | (stroke (width 0.0006)) (fill (type none)) 35 | ) 36 | (polyline 37 | (pts (xy 0.254 0.889) (xy 0.762 1.651)) 38 | (stroke (width 0.0006)) (fill (type none)) 39 | ) 40 | (polyline 41 | (pts (xy 0.762 1.651) (xy 0.762 1.27)) 42 | (stroke (width 0.0006)) (fill (type none)) 43 | ) 44 | (polyline 45 | (pts (xy 0.762 1.651) (xy 0.381 1.524)) 46 | (stroke (width 0.0006)) (fill (type none)) 47 | ) 48 | ) 49 | (symbol "BL-HUB37A-AV-TRB_0_0" 50 | (pin output line (at 3.81 0 180) (length 2.54) 51 | (name "A" (effects (font (size 1.27 1.27)))) 52 | (number "1" (effects (font (size 1.27 1.27)))) 53 | ) 54 | (pin input line (at -3.81 0 0) (length 2.54) 55 | (name "K" (effects (font (size 1.27 1.27)))) 56 | (number "2" (effects (font (size 1.27 1.27)))) 57 | ) 58 | ) 59 | ) 60 | ) 61 | -------------------------------------------------------------------------------- /pcb/components/BL-HUB37A-AV-TRB/BL-HUB37A-AV-TRB.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/pcb/components/BL-HUB37A-AV-TRB/BL-HUB37A-AV-TRB.pdf -------------------------------------------------------------------------------- /pcb/components/BL-HUB37A-AV-TRB/BL-HUB37A-AV-TRB.pretty/D-0402.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "D-0402" (layer "F.Cu") (tedit 5F7AEF42) 2 | (attr smd) 3 | (fp_text reference "REF**" (at -1.6 0 180) (layer "F.SilkS") 4 | (effects (font (size 0.4 0.4) (thickness 0.075))) 5 | (tstamp 42978aca-6907-4368-bab4-d0e29b65ee08) 6 | ) 7 | (fp_text value "BL-HUB37A-AV-TRB" (at 0 -1) (layer "Eco2.User") hide 8 | (effects (font (size 1 1) (thickness 0.15))) 9 | (tstamp a218ec47-fae4-419c-b17c-9f816195c880) 10 | ) 11 | (fp_text user "${REFERENCE}" (at 0 0 180) (layer "F.Fab") 12 | (effects (font (size 0.2 0.2) (thickness 0.05))) 13 | (tstamp 2f21065d-4f92-4313-bbab-986788f94894) 14 | ) 15 | (fp_line (start -0.2 0.2) (end -0.2 -0.2) (layer "F.SilkS") (width 0.12) (tstamp 20f830e9-1dbb-4e38-8810-9b300487d963)) 16 | (fp_line (start 0.15 0.2) (end 0.15 -0.2) (layer "F.SilkS") (width 0.12) (tstamp 3a04653a-e3f7-447f-abf6-4f7059c14e60)) 17 | (fp_line (start 0.15 0) (end 0.25 0) (layer "F.SilkS") (width 0.12) (tstamp 7bbdef3b-a290-4271-81da-76ee08dfceaf)) 18 | (fp_line (start -0.2 0) (end -0.25 0) (layer "F.SilkS") (width 0.12) (tstamp c8ff091b-57c7-49bf-aa57-7fe74da8fdf9)) 19 | (fp_line (start -0.15 0) (end 0.15 -0.2) (layer "F.SilkS") (width 0.12) (tstamp cb639aad-bd04-45c7-830e-974be3407cc6)) 20 | (fp_line (start 0.15 0.2) (end -0.15 0) (layer "F.SilkS") (width 0.12) (tstamp d2d40f90-2c66-43f3-ab81-888497dbc645)) 21 | (fp_line (start 0.5 -0.25) (end -0.5 -0.25) (layer "F.CrtYd") (width 0.05) (tstamp 3065f038-058c-4272-b21f-0c62962101df)) 22 | (fp_line (start 0.5 0.25) (end 0.5 -0.25) (layer "F.CrtYd") (width 0.05) (tstamp 62d6e48d-c596-49da-9b77-4659a36144a5)) 23 | (fp_line (start -0.5 0.25) (end 0.5 0.25) (layer "F.CrtYd") (width 0.05) (tstamp 97574bab-b656-4ce4-b4cd-abbb0a1f6082)) 24 | (fp_line (start -0.5 -0.25) (end -0.5 0.25) (layer "F.CrtYd") (width 0.05) (tstamp d55cc754-5b80-4a47-902d-fb33648e565a)) 25 | (fp_line (start 0.5 0.25) (end 0.5 -0.25) (layer "F.Fab") (width 0.075) (tstamp 66873d46-1761-4b22-a7c9-7883c5053dd4)) 26 | (fp_line (start -0.5 -0.25) (end -0.5 0.1) (layer "F.Fab") (width 0.075) (tstamp 6b73eafb-f7b6-408a-98af-de92b46c585f)) 27 | (fp_line (start -0.5 0.1) (end -0.35 0.25) (layer "F.Fab") (width 0.075) (tstamp 95f74c33-f404-44ff-9a83-1b6082e97d7b)) 28 | (fp_line (start 0.5 -0.25) (end -0.5 -0.25) (layer "F.Fab") (width 0.075) (tstamp d9888163-dfa7-47b6-bc6a-70c87ba83133)) 29 | (fp_line (start -0.35 0.25) (end 0.5 0.25) (layer "F.Fab") (width 0.075) (tstamp ffa95a63-1f16-4153-baf2-b601ec280c9b)) 30 | (pad "1" smd roundrect (at -0.525 0) (size 0.4 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1) 31 | (chamfer_ratio 0.5) (chamfer top_left bottom_left) 32 | (zone_connect 0) (tstamp ad04f70d-031d-4df4-8df9-2ad27a5cb177)) 33 | (pad "2" smd rect (at 0.525 0 180) (size 0.4 0.5) (layers "F.Cu" "F.Paste" "F.Mask") 34 | (zone_connect 0) (tstamp 334408e5-577c-44e7-808b-ada0cbe78d0b)) 35 | (model "${KIPRJMOD}/components/BL-HUB37A-AV-TRB/BL-HUB37A-AV-TRB.stp" 36 | (offset (xyz 0 0 0)) 37 | (scale (xyz 1 1 1)) 38 | (rotate (xyz -90 0 0)) 39 | ) 40 | ) 41 | -------------------------------------------------------------------------------- /pcb/components/KXT3/KXT3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/pcb/components/KXT3/KXT3.jpg -------------------------------------------------------------------------------- /pcb/components/KXT3/KXT3.kicad_sym: -------------------------------------------------------------------------------- 1 | (kicad_symbol_lib (version 20200908) (generator kicad_symbol_editor) 2 | (symbol "KXT3:KXT3" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes) 3 | (property "Reference" "S" (id 0) (at 0 -2.54 0) 4 | (effects (font (size 1.27 1.27))) 5 | ) 6 | (property "Value" "KXT3" (id 1) (at 0 3.81 0) 7 | (effects (font (size 1.27 1.27))) 8 | ) 9 | (property "Footprint" "KXT3:KXT3" (id 2) (at 0 -6.35 0) 10 | (effects (font (size 1.27 1.27)) hide) 11 | ) 12 | (property "Datasheet" "" (id 3) (at 0 0 0) 13 | (effects (font (size 1.27 1.27)) hide) 14 | ) 15 | (symbol "KXT3_0_1" 16 | (circle (center 2.54 0) (radius 0.508) (stroke (width 0.0006)) (fill (type outline))) 17 | (circle (center -2.54 0) (radius 0.508) (stroke (width 0.0006)) (fill (type outline))) 18 | (polyline 19 | (pts 20 | (xy -2.54 1.27) 21 | (xy 2.54 1.27) 22 | ) 23 | (stroke (width 0.0006)) (fill (type none)) 24 | ) 25 | (polyline 26 | (pts 27 | (xy 0 1.27) 28 | (xy 0 2.54) 29 | (xy -1.27 2.54) 30 | (xy 1.27 2.54) 31 | ) 32 | (stroke (width 0.0006)) (fill (type none)) 33 | ) 34 | ) 35 | (symbol "KXT3_0_0" 36 | (pin unspecified line (at -2.54 0 0) (length 2.54) hide 37 | (name "1" (effects (font (size 1.27 1.27)))) 38 | (number "1" (effects (font (size 1.27 1.27)))) 39 | ) 40 | (pin unspecified line (at 2.54 0 180) (length 2.54) hide 41 | (name "2" (effects (font (size 1.27 1.27)))) 42 | (number "2" (effects (font (size 1.27 1.27)))) 43 | ) 44 | ) 45 | ) 46 | ) 47 | -------------------------------------------------------------------------------- /pcb/components/KXT3/KXT3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/pcb/components/KXT3/KXT3.pdf -------------------------------------------------------------------------------- /pcb/components/KXT3/KXT3.pretty/KXT3.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "KXT3" (layer "F.Cu") (tedit 5FD7A889) 2 | (attr smd) 3 | (fp_text reference "REF**" (at 0 0 unlocked) (layer "F.SilkS") 4 | (effects (font (size 0.5 0.5) (thickness 0.1))) 5 | (tstamp 7a5c1bef-dfee-411b-97ee-28c60a6e8429) 6 | ) 7 | (fp_text value "KXT3" (at 0 2 unlocked) (layer "Eco2.User") hide 8 | (effects (font (size 1 1) (thickness 0.15))) 9 | (tstamp 95976b63-ed85-4401-adbe-cd32b9a42b00) 10 | ) 11 | (fp_text user "${REFERENCE}" (at 0 0 unlocked) (layer "F.Fab") 12 | (effects (font (size 0.5 0.5) (thickness 0.1))) 13 | (tstamp 5f2b142a-7605-4cca-942f-dac1e3c84010) 14 | ) 15 | (fp_rect (start -1.9 -0.75) (end 1.9 0.75) (layer "F.SilkS") (width 0.12) (tstamp 0e51bffd-5d4f-412c-a571-54db8867043c)) 16 | (fp_rect (start -1.9 -0.75) (end 1.9 0.75) (layer "F.Fab") (width 0.1) (tstamp 818224c1-23c2-40bc-a513-51f6fd35ff5a)) 17 | (pad "1" smd roundrect (at -1.625 0) (size 0.55 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1) (tstamp 6a202fc4-d750-4536-bf65-b039333ad2f3)) 18 | (pad "2" smd roundrect (at 1.625 0) (size 0.55 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1) (tstamp 8d15feee-2b0a-4811-afd5-ee95b8c10a37)) 19 | (model "${KIPRJMOD}/components/KXT3/KXT3.stp" 20 | (offset (xyz 0 0 0)) 21 | (scale (xyz 1 1 1)) 22 | (rotate (xyz 0 0 0)) 23 | ) 24 | ) 25 | -------------------------------------------------------------------------------- /pcb/components/LSM6DSM/LSM6DSM.bak: -------------------------------------------------------------------------------- 1 | (kicad_symbol_lib (version 20200908) (generator kicad_symbol_editor) 2 | (symbol "LSM6DSM:LSM6DSM" (in_bom yes) (on_board yes) 3 | (property "Reference" "U" (id 0) (at -11.43 15.24 0) 4 | (effects (font (size 1.27 1.27)) (justify left)) 5 | ) 6 | (property "Value" "LSM6DSM" (id 1) (at -11.43 12.7 0) 7 | (effects (font (size 1.27 1.27)) (justify left bottom)) 8 | ) 9 | (property "Footprint" "LSM6DSM:LGA-14_3x2.5mm_6-6" (id 2) (at 0 -33.02 0) 10 | (effects (font (size 1.27 1.27)) hide) 11 | ) 12 | (property "Datasheet" "${KIPRJMOD}/components/LSM6DSM/LSM6DSM.pdf" (id 3) (at 0 -30.48 0) 13 | (effects (font (size 1.27 1.27)) hide) 14 | ) 15 | (property "ki_keywords" "Accelerometer Gyroscope MEMS" (id 4) (at 0 0 0) 16 | (effects (font (size 1.27 1.27)) hide) 17 | ) 18 | (property "ki_description" "I2C/SPI, iNEMO inertial module: always-on 3D accelerometer and 3D gyroscope" (id 5) (at 0 0 0) 19 | (effects (font (size 1.27 1.27)) hide) 20 | ) 21 | (symbol "LSM6DSM_0_1" 22 | (rectangle (start 11.43 11.43) (end -11.43 -11.43) 23 | (stroke (width 0.254)) (fill (type background)) 24 | ) 25 | ) 26 | (symbol "LSM6DSM_1_1" 27 | (pin bidirectional line (at -15.24 7.62 0) (length 3.81) 28 | (name "SDO/SA0" (effects (font (size 1.27 1.27)))) 29 | (number "1" (effects (font (size 1.27 1.27)))) 30 | ) 31 | (pin unconnected line (at 10.16 -5.08 180) (length 3.81) hide 32 | (name "NC" (effects (font (size 1.27 1.27)))) 33 | (number "10" (effects (font (size 1.27 1.27)))) 34 | ) 35 | (pin unconnected line (at 10.16 -2.54 180) (length 3.81) hide 36 | (name "NC" (effects (font (size 1.27 1.27)))) 37 | (number "11" (effects (font (size 1.27 1.27)))) 38 | ) 39 | (pin input line (at -15.24 -7.62 0) (length 3.81) 40 | (name "CS" (effects (font (size 1.27 1.27)))) 41 | (number "12" (effects (font (size 1.27 1.27)))) 42 | ) 43 | (pin input line (at -15.24 -5.08 0) (length 3.81) 44 | (name "SCL" (effects (font (size 1.27 1.27)))) 45 | (number "13" (effects (font (size 1.27 1.27)))) 46 | ) 47 | (pin bidirectional line (at -15.24 -2.54 0) (length 3.81) 48 | (name "SDA" (effects (font (size 1.27 1.27)))) 49 | (number "14" (effects (font (size 1.27 1.27)))) 50 | ) 51 | (pin bidirectional line (at -15.24 5.08 0) (length 3.81) 52 | (name "SDX" (effects (font (size 1.27 1.27)))) 53 | (number "2" (effects (font (size 1.27 1.27)))) 54 | ) 55 | (pin input line (at -15.24 2.54 0) (length 3.81) 56 | (name "SCX" (effects (font (size 1.27 1.27)))) 57 | (number "3" (effects (font (size 1.27 1.27)))) 58 | ) 59 | (pin output line (at 15.24 7.62 180) (length 3.81) 60 | (name "INT1" (effects (font (size 1.27 1.27)))) 61 | (number "4" (effects (font (size 1.27 1.27)))) 62 | ) 63 | (pin power_in line (at 0 15.24 270) (length 3.81) 64 | (name "VDDIO" (effects (font (size 1.27 1.27)))) 65 | (number "5" (effects (font (size 1.27 1.27)))) 66 | ) 67 | (pin power_in line (at 0 -15.24 90) (length 3.81) 68 | (name "GND" (effects (font (size 1.27 1.27)))) 69 | (number "6" (effects (font (size 1.27 1.27)))) 70 | ) 71 | (pin power_in line (at 2.54 -15.24 90) (length 3.81) 72 | (name "GND" (effects (font (size 1.27 1.27)))) 73 | (number "7" (effects (font (size 1.27 1.27)))) 74 | ) 75 | (pin power_in line (at 2.54 15.24 270) (length 3.81) 76 | (name "VDD" (effects (font (size 1.27 1.27)))) 77 | (number "8" (effects (font (size 1.27 1.27)))) 78 | ) 79 | (pin output line (at 15.24 5.08 180) (length 3.81) 80 | (name "INT2" (effects (font (size 1.27 1.27)))) 81 | (number "9" (effects (font (size 1.27 1.27)))) 82 | ) 83 | ) 84 | ) 85 | ) 86 | -------------------------------------------------------------------------------- /pcb/components/LSM6DSM/LSM6DSM.bck: -------------------------------------------------------------------------------- 1 | EESchema-DOCLIB Version 2.0 2 | # 3 | $CMP LSM6DS3 4 | D I2C/SPI, iNEMO inertial module: always-on 3D accelerometer and 3D gyroscope 5 | K Accelerometer Gyroscope MEMS 6 | F www.st.com/resource/en/datasheet/lsm6ds3.pdf 7 | $ENDCMP 8 | # 9 | $CMP LSM6DSM 10 | D I2C/SPI, iNEMO inertial module: always-on 3D accelerometer and 3D gyroscope 11 | K Accelerometer Gyroscope MEMS 12 | F https://www.st.com/resource/en/datasheet/lsm6dsm.pdf 13 | $ENDCMP 14 | # 15 | #End Doc Library 16 | -------------------------------------------------------------------------------- /pcb/components/LSM6DSM/LSM6DSM.dcm: -------------------------------------------------------------------------------- 1 | EESchema-DOCLIB Version 2.0 2 | # 3 | $CMP LSM6DSM 4 | D I2C/SPI, iNEMO inertial module: always-on 3D accelerometer and 3D gyroscope 5 | K Accelerometer Gyroscope MEMS 6 | F https://www.st.com/resource/en/datasheet/lsm6dsm.pdf 7 | $ENDCMP 8 | # 9 | #End Doc Library 10 | -------------------------------------------------------------------------------- /pcb/components/LSM6DSM/LSM6DSM.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/pcb/components/LSM6DSM/LSM6DSM.jpg -------------------------------------------------------------------------------- /pcb/components/LSM6DSM/LSM6DSM.kicad_sym: -------------------------------------------------------------------------------- 1 | (kicad_symbol_lib (version 20201005) (generator kicad_symbol_editor) 2 | (symbol "LSM6DSM:LSM6DSM" (in_bom yes) (on_board yes) 3 | (property "Reference" "U" (id 0) (at -11.43 15.24 0) 4 | (effects (font (size 1.27 1.27)) (justify left)) 5 | ) 6 | (property "Value" "LSM6DSM" (id 1) (at -11.43 12.7 0) 7 | (effects (font (size 1.27 1.27)) (justify left bottom)) 8 | ) 9 | (property "Footprint" "LSM6DSM:LGA-14_3x2.5mm_6-6" (id 2) (at 0 -33.02 0) 10 | (effects (font (size 1.27 1.27)) hide) 11 | ) 12 | (property "Datasheet" "${KIPRJMOD}/components/LSM6DSM/LSM6DSM.pdf" (id 3) (at 0 -30.48 0) 13 | (effects (font (size 1.27 1.27)) hide) 14 | ) 15 | (property "ki_keywords" "Accelerometer Gyroscope MEMS" (id 4) (at 0 0 0) 16 | (effects (font (size 1.27 1.27)) hide) 17 | ) 18 | (property "ki_description" "I2C/SPI, iNEMO inertial module: always-on 3D accelerometer and 3D gyroscope" (id 5) (at 0 0 0) 19 | (effects (font (size 1.27 1.27)) hide) 20 | ) 21 | (symbol "LSM6DSM_0_1" 22 | (rectangle (start 11.43 11.43) (end -11.43 -11.43) 23 | (stroke (width 0.254)) (fill (type background)) 24 | ) 25 | ) 26 | (symbol "LSM6DSM_1_1" 27 | (pin bidirectional line (at -15.24 7.62 0) (length 3.81) 28 | (name "SDO/SA0" (effects (font (size 1.27 1.27)))) 29 | (number "1" (effects (font (size 1.27 1.27)))) 30 | ) 31 | (pin no_connect line (at 10.16 -5.08 180) (length 3.81) hide 32 | (name "NC" (effects (font (size 1.27 1.27)))) 33 | (number "10" (effects (font (size 1.27 1.27)))) 34 | ) 35 | (pin no_connect line (at 10.16 -2.54 180) (length 3.81) hide 36 | (name "NC" (effects (font (size 1.27 1.27)))) 37 | (number "11" (effects (font (size 1.27 1.27)))) 38 | ) 39 | (pin input line (at -15.24 -7.62 0) (length 3.81) 40 | (name "CS" (effects (font (size 1.27 1.27)))) 41 | (number "12" (effects (font (size 1.27 1.27)))) 42 | ) 43 | (pin input line (at -15.24 -5.08 0) (length 3.81) 44 | (name "SCL" (effects (font (size 1.27 1.27)))) 45 | (number "13" (effects (font (size 1.27 1.27)))) 46 | ) 47 | (pin bidirectional line (at -15.24 -2.54 0) (length 3.81) 48 | (name "SDA" (effects (font (size 1.27 1.27)))) 49 | (number "14" (effects (font (size 1.27 1.27)))) 50 | ) 51 | (pin bidirectional line (at -15.24 5.08 0) (length 3.81) 52 | (name "SDX" (effects (font (size 1.27 1.27)))) 53 | (number "2" (effects (font (size 1.27 1.27)))) 54 | ) 55 | (pin input line (at -15.24 2.54 0) (length 3.81) 56 | (name "SCX" (effects (font (size 1.27 1.27)))) 57 | (number "3" (effects (font (size 1.27 1.27)))) 58 | ) 59 | (pin output line (at 15.24 7.62 180) (length 3.81) 60 | (name "INT1" (effects (font (size 1.27 1.27)))) 61 | (number "4" (effects (font (size 1.27 1.27)))) 62 | ) 63 | (pin power_in line (at 0 15.24 270) (length 3.81) 64 | (name "VDDIO" (effects (font (size 1.27 1.27)))) 65 | (number "5" (effects (font (size 1.27 1.27)))) 66 | ) 67 | (pin power_in line (at 0 -15.24 90) (length 3.81) 68 | (name "GND" (effects (font (size 1.27 1.27)))) 69 | (number "6" (effects (font (size 1.27 1.27)))) 70 | ) 71 | (pin power_in line (at 2.54 -15.24 90) (length 3.81) 72 | (name "GND" (effects (font (size 1.27 1.27)))) 73 | (number "7" (effects (font (size 1.27 1.27)))) 74 | ) 75 | (pin power_in line (at 2.54 15.24 270) (length 3.81) 76 | (name "VDD" (effects (font (size 1.27 1.27)))) 77 | (number "8" (effects (font (size 1.27 1.27)))) 78 | ) 79 | (pin output line (at 15.24 5.08 180) (length 3.81) 80 | (name "INT2" (effects (font (size 1.27 1.27)))) 81 | (number "9" (effects (font (size 1.27 1.27)))) 82 | ) 83 | ) 84 | ) 85 | ) 86 | -------------------------------------------------------------------------------- /pcb/components/LSM6DSM/LSM6DSM.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/pcb/components/LSM6DSM/LSM6DSM.pdf -------------------------------------------------------------------------------- /pcb/components/LSM6DSM/LSM6DSM.pretty/LGA-14_3x2.5mm_6-6.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "LGA-14_3x2.5mm_6-6" (layer "F.Cu") (tedit 5F71FBF4) 2 | (descr "LGA, 14 Pin (http://www.st.com/resource/en/datasheet/lsm6ds3.pdf), generated with kicad-footprint-generator ipc_lga_layoutBorder_generator.py") 3 | (tags "LGA LGA") 4 | (attr smd) 5 | (fp_text reference "REF**" (at 0 0) (layer "F.SilkS") 6 | (effects (font (size 0.5 0.5) (thickness 0.1))) 7 | (tstamp c600c68f-11f1-480f-953a-6c8e63da142b) 8 | ) 9 | (fp_text value "LGA-14_3x2.5mm_6-6" (at 0 2.2) (layer "Eco2.User") hide 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | (tstamp dba85a90-51b5-46c3-85a5-58ab870ea953) 12 | ) 13 | (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") 14 | (effects (font (size 0.75 0.75) (thickness 0.11))) 15 | (tstamp 85150796-c24a-409e-8810-ed7861448f9f) 16 | ) 17 | (fp_line (start 1.6 -1.3) (end 1.6 -1.1) (layer "F.SilkS") (width 0.12) (tstamp 031a3322-4eed-4dd2-8a76-0400f8c18fcd)) 18 | (fp_line (start 1.6 1.3) (end 1.6 1.1) (layer "F.SilkS") (width 0.12) (tstamp 09c654ae-7630-429f-b278-43ce704f9a3a)) 19 | (fp_line (start 1 -1.3) (end 1.6 -1.3) (layer "F.SilkS") (width 0.12) (tstamp 0a63ee1e-6f14-48ae-b4a4-4a8ca0233dbb)) 20 | (fp_line (start -1 1.3) (end -1.6 1.3) (layer "F.SilkS") (width 0.12) (tstamp 0d77dfec-3e65-493c-9c05-97d484e99794)) 21 | (fp_line (start -1.6 -1.3) (end -1.6 -1.1) (layer "F.SilkS") (width 0.12) (tstamp 312e2751-42e7-4442-adcc-3e56e68cfe40)) 22 | (fp_line (start 1 1.3) (end 1.6 1.3) (layer "F.SilkS") (width 0.12) (tstamp 59877dad-f0f3-47de-b346-a388cde02777)) 23 | (fp_line (start -1.6 -1.3) (end -1.1 -1.3) (layer "F.SilkS") (width 0.12) (tstamp 8dbed96d-2a5d-4d7d-9c2c-1413ff4de893)) 24 | (fp_line (start -1.6 1.3) (end -1.6 1.1) (layer "F.SilkS") (width 0.12) (tstamp 90e22677-68f8-47d8-af4f-d55117ccbf9f)) 25 | (fp_poly (pts (xy -1.6 -1.1) 26 | (xy -1.6 -1.3) 27 | (xy -1.4 -1.3)) (layer "F.SilkS") (width 0.12) (tstamp 42406318-cead-44b5-abb7-77fc89270adf)) 28 | (fp_line (start 1.5 -1.25) (end -1.5 -1.25) (layer "F.CrtYd") (width 0.05) (tstamp 1639e011-a471-412d-bae4-4ef94fd61023)) 29 | (fp_line (start -1.5 1.25) (end 1.5 1.25) (layer "F.CrtYd") (width 0.05) (tstamp 74a7889d-c0f6-4dd6-9f9c-6e5e8fb68238)) 30 | (fp_line (start 1.5 1.25) (end 1.5 -1.25) (layer "F.CrtYd") (width 0.05) (tstamp af3f5b83-ddb6-4eec-ae52-a108110a498c)) 31 | (fp_line (start -1.5 -1.25) (end -1.5 1.25) (layer "F.CrtYd") (width 0.05) (tstamp f1d267f7-90a7-42c6-8d7f-ee48a44e4279)) 32 | (fp_line (start 1.5 1.25) (end -1.5 1.25) (layer "F.Fab") (width 0.1) (tstamp 5ef8ea8a-64b1-4739-b2f1-4f786ea23efb)) 33 | (fp_line (start -1.5 -0.5) (end -0.75 -1.25) (layer "F.Fab") (width 0.1) (tstamp 6a36f69e-c8cd-441a-beb8-931f5a0ab7b5)) 34 | (fp_line (start -1.5 1.25) (end -1.5 -0.5) (layer "F.Fab") (width 0.1) (tstamp 934c459d-f79b-4c2b-b0d9-86ab032da19c)) 35 | (fp_line (start 1.5 -1.25) (end 1.5 1.25) (layer "F.Fab") (width 0.1) (tstamp c2086ef7-fbe8-419d-b99f-696fce2cb4f6)) 36 | (fp_line (start -0.75 -1.25) (end 1.5 -1.25) (layer "F.Fab") (width 0.1) (tstamp edc9ea63-8f54-4356-9579-c90a3f8eb250)) 37 | (pad "1" smd custom (at -1.1375 -0.75) (size 0.25 0.25) (layers "F.Cu" "F.Paste" "F.Mask") 38 | (zone_connect 0) 39 | (options (clearance outline) (anchor circle)) 40 | (primitives 41 | (gr_poly (pts 42 | (xy -0.3375 -0.125) 43 | (xy 0.2125 -0.125) 44 | (xy 0.3375 0) 45 | (xy 0.3375 0.125) 46 | (xy -0.3375 0.125) 47 | ) (width 0)) 48 | ) (tstamp 3b349a42-9839-40d8-819e-eac2e1dd5b6c)) 49 | (pad "2" smd rect (at -1.1375 -0.25) (size 0.675 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 4bf9a587-9d15-4680-868b-e02e98db4bee)) 50 | (pad "3" smd rect (at -1.1375 0.25) (size 0.675 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 961e407f-d47f-4410-9c3f-b88a868e9451)) 51 | (pad "4" smd rect (at -1.1375 0.75 90) (size 0.25 0.675) (layers "F.Cu" "F.Paste" "F.Mask") 52 | (zone_connect 0) (tstamp 9009a7b9-4409-43e9-b5da-b8974d52dc3d)) 53 | (pad "5" smd rect (at -0.5 0.8875 180) (size 0.25 0.675) (layers "F.Cu" "F.Paste" "F.Mask") 54 | (zone_connect 0) (tstamp ca340bfe-3771-4b43-b162-7d8a460957e8)) 55 | (pad "6" smd rect (at 0 0.8875 90) (size 0.675 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 204c795b-d38a-49e9-9538-8dc2cd1996d0)) 56 | (pad "7" smd rect (at 0.5 0.8875 180) (size 0.25 0.675) (layers "F.Cu" "F.Paste" "F.Mask") 57 | (zone_connect 0) (tstamp 71a502cb-28ae-4fb3-8367-8055a9093af8)) 58 | (pad "8" smd rect (at 1.1375 0.75 90) (size 0.25 0.675) (layers "F.Cu" "F.Paste" "F.Mask") 59 | (zone_connect 0) (tstamp 4cea6faf-d6dc-4f69-bb53-9e96b5afab01)) 60 | (pad "9" smd rect (at 1.1375 0.25) (size 0.675 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 01481451-5185-4fb1-85e3-6a3a42d823d0)) 61 | (pad "10" smd rect (at 1.1375 -0.25) (size 0.675 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 1e04b915-2ced-4d64-bd2d-ef9ed1545960)) 62 | (pad "11" smd rect (at 1.1375 -0.75 90) (size 0.25 0.675) (layers "F.Cu" "F.Paste" "F.Mask") 63 | (zone_connect 0) (tstamp 41920713-12c4-435c-b6b4-840467649c68)) 64 | (pad "12" smd rect (at 0.5 -0.8875 180) (size 0.25 0.675) (layers "F.Cu" "F.Paste" "F.Mask") 65 | (zone_connect 0) (tstamp ea25034f-22b3-4fb3-8909-966e4698e5cd)) 66 | (pad "13" smd rect (at 0 -0.8875 270) (size 0.675 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp f3732488-8deb-46fc-8e54-1a5a6587ef74)) 67 | (pad "14" smd rect (at -0.5 -0.8875 180) (size 0.25 0.675) (layers "F.Cu" "F.Paste" "F.Mask") 68 | (zone_connect 0) (tstamp f7a52553-e8f6-4cb2-9bb6-86561c14aaf8)) 69 | (model "${KIPRJMOD}/components/LSM6DSM/LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4y.wrl" 70 | (offset (xyz 0 0 0)) 71 | (scale (xyz 1 1 1)) 72 | (rotate (xyz 0 0 0)) 73 | ) 74 | ) 75 | -------------------------------------------------------------------------------- /pcb/components/SPW2430HR5H-B/SPW2430HR5H-B.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/pcb/components/SPW2430HR5H-B/SPW2430HR5H-B.jpg -------------------------------------------------------------------------------- /pcb/components/SPW2430HR5H-B/SPW2430HR5H-B.kicad_sym: -------------------------------------------------------------------------------- 1 | (kicad_symbol_lib (version 20201005) (generator kicad_symbol_editor) 2 | (symbol "SPW2430HR5H-B:SPW2430HR5H-B" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes) 3 | (property "Reference" "MK" (id 0) (at -5.08 1.27 0) 4 | (effects (font (size 1.27 1.27))) 5 | ) 6 | (property "Value" "SPW2430HR5H-B" (id 1) (at -11.43 -1.27 0) 7 | (effects (font (size 1.27 1.27))) 8 | ) 9 | (property "Footprint" "SPW2430HR5H-B:SPW2430HR5H-B" (id 2) (at 0 -14.605 0) 10 | (effects (font (size 1.27 1.27)) hide) 11 | ) 12 | (property "Datasheet" "${KIPRJMOD}/components/SPW2430HR5H-B/SPW2430HR5H-B.pdf" (id 3) (at 0 -17.145 0) 13 | (effects (font (size 1.27 1.27)) hide) 14 | ) 15 | (symbol "SPW2430HR5H-B_0_0" 16 | (pin output line (at 5.08 0 180) (length 2.54) 17 | (name "Output" (effects (font (size 1.27 1.27)))) 18 | (number "1" (effects (font (size 1.27 1.27)))) 19 | ) 20 | (pin power_in line (at 0 -5.08 90) (length 2.54) hide 21 | (name "GND" (effects (font (size 1.27 1.27)))) 22 | (number "2" (effects (font (size 1.27 1.27)))) 23 | ) 24 | (pin power_in line (at 0 -5.08 90) (length 2.54) 25 | (name "GND" (effects (font (size 1.27 1.27)))) 26 | (number "3" (effects (font (size 1.27 1.27)))) 27 | ) 28 | (pin power_in line (at 0 5.08 270) (length 2.54) 29 | (name "VDD" (effects (font (size 1.27 1.27)))) 30 | (number "4" (effects (font (size 1.27 1.27)))) 31 | ) 32 | ) 33 | (symbol "SPW2430HR5H-B_0_1" 34 | (circle (center 0 0) (radius 2.54) (stroke (width 0.254)) (fill (type background))) 35 | (polyline 36 | (pts 37 | (xy -2.54 2.54) 38 | (xy -2.54 -2.54) 39 | ) 40 | (stroke (width 0.254)) (fill (type none)) 41 | ) 42 | ) 43 | ) 44 | ) 45 | -------------------------------------------------------------------------------- /pcb/components/SPW2430HR5H-B/SPW2430HR5H-B.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/pcb/components/SPW2430HR5H-B/SPW2430HR5H-B.pdf -------------------------------------------------------------------------------- /pcb/components/SPW2430HR5H-B/SPW2430HR5H-B.pretty/SPW2430HR5H-B.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "SPW2430HR5H-B" (layer "F.Cu") (tedit 5F7B06C6) 2 | (attr smd) 3 | (fp_text reference "REF**" (at 0 0 unlocked) (layer "F.SilkS") 4 | (effects (font (size 0.5 0.5) (thickness 0.1))) 5 | (tstamp c1a1b922-17b8-41dd-9359-e878de9bcc9a) 6 | ) 7 | (fp_text value "SPW2430HR5H-B" (at 0 0 unlocked) (layer "Eco2.User") hide 8 | (effects (font (size 1 1) (thickness 0.15))) 9 | (tstamp 08e209a9-ab04-4086-94aa-f0dbf52b2630) 10 | ) 11 | (fp_text user "${REFERENCE}" (at 0 0.6 unlocked) (layer "F.Fab") 12 | (effects (font (size 0.5 0.5) (thickness 0.1))) 13 | (tstamp 31aaef89-86f1-4991-a9ab-e74219d2d734) 14 | ) 15 | (fp_line (start 1.3 1.6) (end 0.8 1.6) (layer "F.SilkS") (width 0.12) (tstamp 063a6cf7-b1f7-4c3a-a75e-c9d333054c4b)) 16 | (fp_line (start -1.3 -1.6) (end -0.8 -1.6) (layer "F.SilkS") (width 0.12) (tstamp 231ef981-ceb3-4fa7-a8de-a26418631137)) 17 | (fp_line (start -1.3 1.6) (end -1.3 1.1) (layer "F.SilkS") (width 0.12) (tstamp 42600ac7-1c05-49b1-a4ae-48f33589a247)) 18 | (fp_line (start 1.3 1.6) (end 1.3 1.1) (layer "F.SilkS") (width 0.12) (tstamp 439e81ff-7ffa-4351-9c4f-4123982262a3)) 19 | (fp_line (start -1.3 1.6) (end -0.8 1.6) (layer "F.SilkS") (width 0.12) (tstamp 519a69c8-0546-4f88-b6b6-b83a54cb18fe)) 20 | (fp_line (start -1.3 -1.6) (end -1.3 -1.1) (layer "F.SilkS") (width 0.12) (tstamp 6955c3bc-9061-44e7-ba73-5f8754430b87)) 21 | (fp_line (start 1.3 -1.6) (end 1.3 -1.1) (layer "F.SilkS") (width 0.12) (tstamp 959ac2a7-cfdc-40c7-a3a7-f96ac7ae6d6f)) 22 | (fp_line (start 1.3 -1.6) (end 0.8 -1.6) (layer "F.SilkS") (width 0.12) (tstamp d5b6fce8-d130-4b7f-a650-564d53d7c015)) 23 | (fp_poly (pts (xy -1.3 -1.1) 24 | (xy -1.3 -1.6) 25 | (xy -0.8 -1.6)) (layer "F.SilkS") (width 0.12) (tstamp 25034c8d-db55-4a73-a4f0-bf3009af6f5b)) 26 | (fp_rect (start -1.25 -1.55) (end 1.25 1.55) (layer "F.CrtYd") (width 0.05) (tstamp 383cea9e-4641-4f34-9292-0b37f56b02d7)) 27 | (fp_rect (start -1.25 -1.55) (end 1.25 1.55) (layer "F.Fab") (width 0.1) (tstamp bef34a6d-36d0-4941-a418-4feefadbe837)) 28 | (fp_circle (center 0 -0.7) (end 0 -0.4) (layer "F.Fab") (width 0.1) (tstamp a7ae9bc5-ad8e-4a87-ab46-80e93badbe26)) 29 | (fp_poly (pts (xy -1.25 -1.15) 30 | (xy -1.25 -1.55) 31 | (xy -0.85 -1.55)) (layer "F.Fab") (width 0.1) (tstamp 9e52dcf0-9ce8-4280-8076-028a88b62b9a)) 32 | (pad "1" smd roundrect (at -0.675 -1.095) (size 0.9 0.66) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1) (tstamp 4c5a1cec-3d6e-4fc8-adb3-97a78c9d6c1c)) 33 | (pad "2" smd roundrect (at -0.675 1.095) (size 0.9 0.66) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1) (tstamp aca879c0-2c71-447c-8738-2455c18dfbc8)) 34 | (pad "3" smd roundrect (at 0.675 1.095) (size 0.9 0.66) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1) (tstamp cee4d781-85cc-4c04-9c10-21462aeb7c8b)) 35 | (pad "4" smd roundrect (at 0.675 -1.095) (size 0.9 0.66) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1) (tstamp e16b8a09-e106-44f5-9eb6-5a98d36f951e)) 36 | (model "${KIPRJMOD}/components/SPW2430HR5H-B/SPW2430HR5H-B.step" 37 | (offset (xyz 0 0 0)) 38 | (scale (xyz 1 1 1)) 39 | (rotate (xyz 0 0 0)) 40 | ) 41 | ) 42 | -------------------------------------------------------------------------------- /pcb/components/STM8L15xxx/AN3137.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/pcb/components/STM8L15xxx/AN3137.pdf -------------------------------------------------------------------------------- /pcb/components/STM8L15xxx/RM0016.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/pcb/components/STM8L15xxx/RM0016.pdf -------------------------------------------------------------------------------- /pcb/components/STM8L15xxx/STM8L15xxx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/pcb/components/STM8L15xxx/STM8L15xxx.jpg -------------------------------------------------------------------------------- /pcb/components/STM8L15xxx/STM8L15xxx.kicad_sym: -------------------------------------------------------------------------------- 1 | (kicad_symbol_lib (version 20201005) (generator kicad_symbol_editor) 2 | (symbol "STM8L15xxx:UFQFPN28" (pin_names (offset 1.016)) (in_bom yes) (on_board yes) 3 | (property "Reference" "U" (id 0) (at -11.43 15.24 0) 4 | (effects (font (size 1.27 1.27))) 5 | ) 6 | (property "Value" "UFQFPN28" (id 1) (at 7.62 15.24 0) 7 | (effects (font (size 1.27 1.27))) 8 | ) 9 | (property "Footprint" "STM8L15xxx:UFQFPN28" (id 2) (at 0 -52.07 0) 10 | (effects (font (size 1.27 1.27)) hide) 11 | ) 12 | (property "Datasheet" "${KIPRJMOD}/components/STM8L15xxx/STM8L15xxx.pdf" (id 3) (at 0 -54.61 0) 13 | (effects (font (size 1.27 1.27)) hide) 14 | ) 15 | (symbol "UFQFPN28_0_0" 16 | (pin input line (at -15.24 8.89 0) (length 2.54) 17 | (name "~NRST" (effects (font (size 1.27 1.27)))) 18 | (number "1" (effects (font (size 1.27 1.27)))) 19 | (alternate "PA1" bidirectional line) 20 | ) 21 | (pin bidirectional line (at 15.24 10.16 180) (length 2.54) 22 | (name "PA2" (effects (font (size 1.27 1.27)))) 23 | (number "2" (effects (font (size 1.27 1.27)))) 24 | ) 25 | (pin bidirectional line (at 15.24 7.62 180) (length 2.54) 26 | (name "PA3" (effects (font (size 1.27 1.27)))) 27 | (number "3" (effects (font (size 1.27 1.27)))) 28 | ) 29 | (pin bidirectional line (at 15.24 5.08 180) (length 2.54) 30 | (name "PA4" (effects (font (size 1.27 1.27)))) 31 | (number "4" (effects (font (size 1.27 1.27)))) 32 | ) 33 | (pin bidirectional line (at 15.24 2.54 180) (length 2.54) 34 | (name "PA5" (effects (font (size 1.27 1.27)))) 35 | (number "5" (effects (font (size 1.27 1.27)))) 36 | ) 37 | (pin power_in line (at 0 -41.91 90) (length 2.54) 38 | (name "VSS" (effects (font (size 1.27 1.27)))) 39 | (number "6" (effects (font (size 1.27 1.27)))) 40 | ) 41 | (pin power_in line (at 0 16.51 270) (length 2.54) 42 | (name "VDD" (effects (font (size 1.27 1.27)))) 43 | (number "7" (effects (font (size 1.27 1.27)))) 44 | ) 45 | (pin bidirectional line (at 15.24 -25.4 180) (length 2.54) 46 | (name "PD0" (effects (font (size 1.27 1.27)))) 47 | (number "8" (effects (font (size 1.27 1.27)))) 48 | ) 49 | (pin bidirectional line (at 15.24 -27.94 180) (length 2.54) 50 | (name "PD1" (effects (font (size 1.27 1.27)))) 51 | (number "9" (effects (font (size 1.27 1.27)))) 52 | ) 53 | (pin bidirectional line (at 15.24 -30.48 180) (length 2.54) 54 | (name "PD2" (effects (font (size 1.27 1.27)))) 55 | (number "10" (effects (font (size 1.27 1.27)))) 56 | ) 57 | (pin bidirectional line (at 15.24 -33.02 180) (length 2.54) 58 | (name "PD3" (effects (font (size 1.27 1.27)))) 59 | (number "11" (effects (font (size 1.27 1.27)))) 60 | ) 61 | (pin bidirectional line (at 15.24 -2.54 180) (length 2.54) 62 | (name "PB0" (effects (font (size 1.27 1.27)))) 63 | (number "12" (effects (font (size 1.27 1.27)))) 64 | ) 65 | (pin bidirectional line (at 15.24 -5.08 180) (length 2.54) 66 | (name "PB1" (effects (font (size 1.27 1.27)))) 67 | (number "13" (effects (font (size 1.27 1.27)))) 68 | ) 69 | (pin bidirectional line (at 15.24 -7.62 180) (length 2.54) 70 | (name "PB2" (effects (font (size 1.27 1.27)))) 71 | (number "14" (effects (font (size 1.27 1.27)))) 72 | ) 73 | (pin bidirectional line (at 15.24 -10.16 180) (length 2.54) 74 | (name "PB3" (effects (font (size 1.27 1.27)))) 75 | (number "15" (effects (font (size 1.27 1.27)))) 76 | ) 77 | (pin bidirectional line (at 15.24 -12.7 180) (length 2.54) 78 | (name "PB4" (effects (font (size 1.27 1.27)))) 79 | (number "16" (effects (font (size 1.27 1.27)))) 80 | ) 81 | (pin bidirectional line (at 15.24 -15.24 180) (length 2.54) 82 | (name "PB5" (effects (font (size 1.27 1.27)))) 83 | (number "17" (effects (font (size 1.27 1.27)))) 84 | ) 85 | (pin bidirectional line (at 15.24 -17.78 180) (length 2.54) 86 | (name "PB6" (effects (font (size 1.27 1.27)))) 87 | (number "18" (effects (font (size 1.27 1.27)))) 88 | ) 89 | (pin bidirectional line (at 15.24 -35.56 180) (length 2.54) 90 | (name "PD4" (effects (font (size 1.27 1.27)))) 91 | (number "20" (effects (font (size 1.27 1.27)))) 92 | ) 93 | (pin bidirectional line (at -15.24 -20.32 0) (length 2.54) 94 | (name "PC0" (effects (font (size 1.27 1.27)))) 95 | (number "21" (effects (font (size 1.27 1.27)))) 96 | (alternate "I2C1_SDA" bidirectional line) 97 | ) 98 | (pin bidirectional line (at -15.24 -22.86 0) (length 2.54) 99 | (name "PC1" (effects (font (size 1.27 1.27)))) 100 | (number "22" (effects (font (size 1.27 1.27)))) 101 | (alternate "I2C1_SCL" bidirectional line) 102 | ) 103 | (pin bidirectional line (at -15.24 -25.4 0) (length 2.54) 104 | (name "PC2" (effects (font (size 1.27 1.27)))) 105 | (number "23" (effects (font (size 1.27 1.27)))) 106 | ) 107 | (pin bidirectional line (at -15.24 -27.94 0) (length 2.54) 108 | (name "PC3" (effects (font (size 1.27 1.27)))) 109 | (number "24" (effects (font (size 1.27 1.27)))) 110 | ) 111 | (pin bidirectional line (at -15.24 -30.48 0) (length 2.54) 112 | (name "PC4" (effects (font (size 1.27 1.27)))) 113 | (number "25" (effects (font (size 1.27 1.27)))) 114 | ) 115 | (pin bidirectional line (at -15.24 -33.02 0) (length 2.54) 116 | (name "PC5" (effects (font (size 1.27 1.27)))) 117 | (number "26" (effects (font (size 1.27 1.27)))) 118 | ) 119 | (pin bidirectional line (at -15.24 -35.56 0) (length 2.54) 120 | (name "PC6" (effects (font (size 1.27 1.27)))) 121 | (number "27" (effects (font (size 1.27 1.27)))) 122 | ) 123 | (pin bidirectional line (at -15.24 6.35 0) (length 2.54) 124 | (name "SWIM" (effects (font (size 1.27 1.27)))) 125 | (number "28" (effects (font (size 1.27 1.27)))) 126 | (alternate "PA0" bidirectional line) 127 | ) 128 | (pin bidirectional line (at 15.24 -20.32 180) (length 2.54) 129 | (name "PB7" (effects (font (size 1.27 1.27)))) 130 | (number "19" (effects (font (size 1.27 1.27)))) 131 | ) 132 | ) 133 | (symbol "UFQFPN28_0_1" 134 | (rectangle (start -12.7 13.97) (end 12.7 -39.37) 135 | (stroke (width 0.254)) (fill (type background)) 136 | ) 137 | ) 138 | ) 139 | ) 140 | -------------------------------------------------------------------------------- /pcb/components/STM8L15xxx/STM8L15xxx.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/pcb/components/STM8L15xxx/STM8L15xxx.pdf -------------------------------------------------------------------------------- /pcb/components/STM8L15xxx/STM8L15xxx.pretty/UFQFPN28.kicad_mod: -------------------------------------------------------------------------------- 1 | (footprint "UFQFPN28" (version 20210108) (generator pcbnew) (layer "F.Cu") 2 | (tedit 600FD71B) 3 | (attr smd) 4 | (fp_text reference "REF**" (at 0 0 unlocked) (layer "F.SilkS") 5 | (effects (font (size 0.5 0.5) (thickness 0.1))) 6 | (tstamp 4575322e-7ed6-47f9-b8cf-31a5aace9325) 7 | ) 8 | (fp_text value "UFQFPN28" (at 0 4 unlocked) (layer "Eco2.User") hide 9 | (effects (font (size 1 1) (thickness 0.15))) 10 | (tstamp 1ffc0bde-5cdd-4d6d-b115-8aa8b002dfe4) 11 | ) 12 | (fp_text user "${REFERENCE}" (at 0 0 unlocked) (layer "F.Fab") 13 | (effects (font (size 0.5 0.5) (thickness 0.1))) 14 | (tstamp 66585e6f-5497-4ef0-aa53-98171c3764b2) 15 | ) 16 | (fp_line (start 2.1 -2.1) (end 1.7 -2.1) (layer "F.SilkS") (width 0.12) (tstamp 2f9e086b-32bd-455f-969f-ac6033acfbe8)) 17 | (fp_line (start -2.1 -2.1) (end -2.1 -1.7) (layer "F.SilkS") (width 0.12) (tstamp 4be90b51-e99b-498f-9ea1-6b42b7c5fa6a)) 18 | (fp_line (start 2.1 -2.1) (end 2.1 -1.7) (layer "F.SilkS") (width 0.12) (tstamp 4ed75503-3b4b-4afc-b45c-0a66b5e92c8c)) 19 | (fp_line (start 2.1 2.1) (end 1.7 2.1) (layer "F.SilkS") (width 0.12) (tstamp 5741db0c-995b-4025-916d-6213cfb323fa)) 20 | (fp_line (start -2.1 -2.1) (end -1.7 -2.1) (layer "F.SilkS") (width 0.12) (tstamp 6be42207-2582-43bd-b504-4d86d5be5e6e)) 21 | (fp_line (start -2.1 2.1) (end -1.7 2.1) (layer "F.SilkS") (width 0.12) (tstamp a44fa061-23e9-4efa-b18a-233823f9d94f)) 22 | (fp_line (start -2.1 2.1) (end -2.1 1.7) (layer "F.SilkS") (width 0.12) (tstamp d58311ef-5ec4-44a9-8c62-22202360df54)) 23 | (fp_line (start 2.1 2.1) (end 2.1 1.7) (layer "F.SilkS") (width 0.12) (tstamp e4f66361-fe30-46a9-885f-08485812f0cc)) 24 | (fp_poly (pts (xy -2.1 -1.7) 25 | (xy -2.1 -2.1) 26 | (xy -1.7 -2.1)) (layer "F.SilkS") (width 0.12) (fill solid) (tstamp 5e80a5dd-5543-4e68-8f1e-b0e9e88979ef)) 27 | (fp_line (start 2 2) (end 2 1.7) (layer "F.CrtYd") (width 0.05) (tstamp 04e7a31f-41ec-40c8-80e2-0007216e2509)) 28 | (fp_line (start -2 -1.7) (end -2.2 -1.7) (layer "F.CrtYd") (width 0.05) (tstamp 0ef87786-0fd8-4585-bae8-1ea81e1bf235)) 29 | (fp_line (start -2 2) (end -1.7 2) (layer "F.CrtYd") (width 0.05) (tstamp 135fb84c-e417-4699-acf0-3cd7f1f66b3f)) 30 | (fp_line (start 2 -1.7) (end 2 -2) (layer "F.CrtYd") (width 0.05) (tstamp 1bc53f5d-b963-4380-b18e-f0368e0510e6)) 31 | (fp_line (start -1.7 -2) (end -2 -2) (layer "F.CrtYd") (width 0.05) (tstamp 246fdb2d-1b3b-40d3-8349-cf53448476f2)) 32 | (fp_line (start -1.7 2) (end -1.7 2.2) (layer "F.CrtYd") (width 0.05) (tstamp 2ae85106-a3ce-4c2d-8f7c-e40225b69439)) 33 | (fp_line (start 2.2 -1.7) (end 2 -1.7) (layer "F.CrtYd") (width 0.05) (tstamp 403217b8-35d2-4157-a76b-34a2a03874ee)) 34 | (fp_line (start -1.7 2.2) (end 1.7 2.2) (layer "F.CrtYd") (width 0.05) (tstamp 4c2e4156-afe5-4ddf-b708-120e79250bdb)) 35 | (fp_line (start 1.7 2) (end 2 2) (layer "F.CrtYd") (width 0.05) (tstamp 5175bce2-9ad4-424c-a686-82a6a5671622)) 36 | (fp_line (start -2.2 1.7) (end -2 1.7) (layer "F.CrtYd") (width 0.05) (tstamp 51874507-29f3-4be1-8dc5-542cc3b34eca)) 37 | (fp_line (start -1.7 -2.2) (end -1.7 -2) (layer "F.CrtYd") (width 0.05) (tstamp 51b0d376-a3c8-4c5a-8541-ac82a67e614b)) 38 | (fp_line (start -2 1.7) (end -2 2) (layer "F.CrtYd") (width 0.05) (tstamp 609047c3-7c57-4fda-876b-ecd2fd4c2001)) 39 | (fp_line (start 1.7 2.2) (end 1.7 2) (layer "F.CrtYd") (width 0.05) (tstamp 61d8e227-aba2-4930-8153-9bcb1647e598)) 40 | (fp_line (start -2 -2) (end -2 -1.7) (layer "F.CrtYd") (width 0.05) (tstamp 6b43e3b8-20e6-4416-beb4-9cb4af574e3f)) 41 | (fp_line (start 2 -2) (end 1.7 -2) (layer "F.CrtYd") (width 0.05) (tstamp 8c6d1443-c91b-4c04-9608-eb4694bab630)) 42 | (fp_line (start -2.2 -1.7) (end -2.2 1.7) (layer "F.CrtYd") (width 0.05) (tstamp 8f990574-b46f-4da9-91fd-32056e1d251b)) 43 | (fp_line (start 1.7 -2.2) (end -1.7 -2.2) (layer "F.CrtYd") (width 0.05) (tstamp 8fc9f80b-a9a0-4c0f-9a4b-c1a39932e83a)) 44 | (fp_line (start 1.7 -2) (end 1.7 -2.2) (layer "F.CrtYd") (width 0.05) (tstamp c841b373-94a4-43f4-9eff-19cf8ec7e5f6)) 45 | (fp_line (start 2.2 1.7) (end 2.2 -1.7) (layer "F.CrtYd") (width 0.05) (tstamp d124a8b5-5ace-4dee-8625-1e9dc2f60dba)) 46 | (fp_line (start 2 1.7) (end 2.2 1.7) (layer "F.CrtYd") (width 0.05) (tstamp d98ddaaa-8252-4309-bcd6-268e807e5db7)) 47 | (fp_rect (start -2 -2) (end 2 2) (layer "F.Fab") (width 0.1) (fill none) (tstamp 81072bc0-cfc0-4ccf-a655-5890af851486)) 48 | (fp_poly (pts (xy -2 -1.5) 49 | (xy -2 -2) 50 | (xy -1.5 -2)) (layer "F.Fab") (width 0.1) (fill solid) (tstamp 77bffbcb-b2e0-45d6-a1d4-e908d59d8fa7)) 51 | (pad "1" smd roundrect (at -1.9 -1.5 90) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 52 | (chamfer_ratio 0.5) (chamfer bottom_right) (tstamp 0b5acc02-8a77-4a28-9e5f-7742f169823f)) 53 | (pad "2" smd roundrect (at -1.9 -1 90) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 54 | (chamfer_ratio 0.25) (chamfer) (tstamp 3c07e2e7-2620-4ae5-831b-4ec0efbd11d2)) 55 | (pad "3" smd roundrect (at -1.9 -0.5 90) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 56 | (chamfer_ratio 0.25) (chamfer) (tstamp 48738f2f-d88d-43fe-882e-17b8f63a3ab9)) 57 | (pad "4" smd roundrect (at -1.9 0 90) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 58 | (chamfer_ratio 0.25) (chamfer) (tstamp ed4bb81b-4614-4405-9e73-6c61b44c7cb1)) 59 | (pad "5" smd roundrect (at -1.9 0.5 90) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 60 | (chamfer_ratio 0.25) (chamfer) (tstamp 4effd857-3fbd-48df-a49e-81d6285840a2)) 61 | (pad "6" smd roundrect (at -1.9 1 90) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 62 | (chamfer_ratio 0.25) (chamfer) (tstamp d749e4e5-8e36-46c8-9096-f81b54f4b478)) 63 | (pad "7" smd roundrect (at -1.9 1.5 90) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 64 | (chamfer_ratio 0.5) (chamfer bottom_left) (tstamp 7dc3d37c-9169-4950-a658-78e90c635db0)) 65 | (pad "8" smd roundrect (at -1.5 1.9 180) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 66 | (chamfer_ratio 0.5) (chamfer bottom_right) (tstamp 164304c4-f090-49bb-ac4b-2c115d40945f)) 67 | (pad "9" smd roundrect (at -1 1.9 180) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 68 | (chamfer_ratio 0.25) (chamfer) (tstamp ad2938c7-699c-4114-b73d-42a1f00b11a2)) 69 | (pad "10" smd roundrect (at -0.5 1.9 180) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 70 | (chamfer_ratio 0.25) (chamfer) (tstamp b19662b8-5320-4734-92cd-6655cf226fd7)) 71 | (pad "11" smd roundrect (at 0 1.9 180) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 72 | (chamfer_ratio 0.25) (chamfer) (tstamp 09939765-6b2e-4ca2-b28b-f7c2958a6428)) 73 | (pad "12" smd roundrect (at 0.5 1.9 180) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 74 | (chamfer_ratio 0.25) (chamfer) (tstamp 50ee4608-c635-485c-bc2b-32e2d3963dbb)) 75 | (pad "13" smd roundrect (at 1 1.9 180) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 76 | (chamfer_ratio 0.25) (chamfer) (tstamp 24631495-a1f0-4bea-8241-79599b6bd506)) 77 | (pad "14" smd roundrect (at 1.5 1.9 180) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 78 | (chamfer_ratio 0.5) (chamfer bottom_left) (tstamp d8f067b1-f57a-4c32-9eac-ad41519a7b7a)) 79 | (pad "15" smd roundrect (at 1.9 1.5 270) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 80 | (chamfer_ratio 0.5) (chamfer bottom_right) (tstamp 02d4c186-705f-44fe-9789-3a9115cfdbaf)) 81 | (pad "16" smd roundrect (at 1.9 1 270) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 82 | (chamfer_ratio 0.25) (chamfer) (tstamp 3c617033-f348-4664-aba4-d5cf9baeef08)) 83 | (pad "17" smd roundrect (at 1.9 0.5 270) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 84 | (chamfer_ratio 0.25) (chamfer) (tstamp c705e393-2133-4cf3-a33d-846a8f64014b)) 85 | (pad "18" smd roundrect (at 1.9 0 270) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 86 | (chamfer_ratio 0.25) (chamfer) (tstamp c72bb843-0f60-475e-8084-80c14934f1b7)) 87 | (pad "19" smd roundrect (at 1.9 -0.5 270) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 88 | (chamfer_ratio 0.25) (chamfer) (tstamp 55285c18-b711-41a8-b525-018fc13630ec)) 89 | (pad "20" smd roundrect (at 1.9 -1 270) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 90 | (chamfer_ratio 0.25) (chamfer) (tstamp 50b653ee-5776-4a8e-98ba-5bb052bf3ef8)) 91 | (pad "21" smd roundrect (at 1.9 -1.5 270) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 92 | (chamfer_ratio 0.5) (chamfer bottom_left) (tstamp 0f38c366-6f40-4653-875c-1c226269df84)) 93 | (pad "22" smd roundrect (at 1.5 -1.9) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 94 | (chamfer_ratio 0.5) (chamfer bottom_right) (tstamp 6c775e24-fd90-4e43-88a8-513b2c812a00)) 95 | (pad "23" smd roundrect (at 1 -1.9) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 96 | (chamfer_ratio 0.25) (chamfer) (tstamp e54ed318-941f-4c21-b450-4b16b314ccc9)) 97 | (pad "24" smd roundrect (at 0.5 -1.9) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 98 | (chamfer_ratio 0.25) (chamfer) (tstamp 5cb5cf38-97df-4ecf-bc62-efcdf1f9658f)) 99 | (pad "25" smd roundrect (at 0 -1.9) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 100 | (chamfer_ratio 0.25) (chamfer) (tstamp e55a4160-2d42-44cd-bb44-1316c3cd00d2)) 101 | (pad "26" smd roundrect (at -0.5 -1.9) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 102 | (chamfer_ratio 0.25) (chamfer) (tstamp 1f7fbbc4-5fb6-4be4-88b8-c4e2cad7f45d)) 103 | (pad "27" smd roundrect (at -1 -1.9) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 104 | (chamfer_ratio 0.25) (chamfer) (tstamp 43352865-160f-42ba-ba41-34216c982b01)) 105 | (pad "28" smd roundrect (at -1.5 -1.9) (locked) (size 0.275 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 106 | (chamfer_ratio 0.5) (chamfer bottom_left) (tstamp 73fbfabf-7369-42a3-8164-11ea108cc83a)) 107 | (model "${KIPRJMOD}/components/STM8L15xxx/UFQFPN28.stp" 108 | (offset (xyz 0 0 0)) 109 | (scale (xyz 1 1 1)) 110 | (rotate (xyz 0 0 -90)) 111 | ) 112 | ) 113 | -------------------------------------------------------------------------------- /pcb/components/STM8L15xxx/STM8L15xxx.pretty/UFQFPN32.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "UFQFPN32" (layer "F.Cu") (tedit 5F71B05D) 2 | (attr through_hole) 3 | (fp_text reference "REF**" (at 0.01 0 unlocked) (layer "F.SilkS") 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | (tstamp 106853d1-05a9-43e0-9df7-8764aed3c765) 6 | ) 7 | (fp_text value "UFQFPN32" (at 0 4 unlocked) (layer "Eco2.User") hide 8 | (effects (font (size 1 1) (thickness 0.15))) 9 | (tstamp f413abd1-3243-4a24-bf12-3a45eed30783) 10 | ) 11 | (fp_text user "${REFERENCE}" (at 0 0 unlocked) (layer "F.Fab") 12 | (effects (font (size 1 1) (thickness 0.15))) 13 | (tstamp 1ab9ffd8-a961-4ad7-b264-c19706f7d2a3) 14 | ) 15 | (fp_line (start -2.6 2.6) (end -2.1 2.6) (layer "F.SilkS") (width 0.12) (tstamp 0d694514-608c-4111-a981-d89f51e77f2d)) 16 | (fp_line (start 2.6 -2.6) (end 2.1 -2.6) (layer "F.SilkS") (width 0.12) (tstamp 152dbbb7-d158-4ff1-9a89-6865dda7d0bc)) 17 | (fp_line (start -2.6 -2.6) (end -2.6 -2.1) (layer "F.SilkS") (width 0.12) (tstamp 2581cec8-ea79-44e3-a13f-7a6f89aeae89)) 18 | (fp_line (start -2.6 2.6) (end -2.6 2.1) (layer "F.SilkS") (width 0.12) (tstamp 75afc221-ce50-4b1d-831a-92572de647b6)) 19 | (fp_line (start 2.6 2.6) (end 2.1 2.6) (layer "F.SilkS") (width 0.12) (tstamp 8ecf461c-c476-43e9-a39e-b826b56120e2)) 20 | (fp_line (start -2.6 -2.6) (end -2.1 -2.6) (layer "F.SilkS") (width 0.12) (tstamp 9d516415-9d34-4ba9-9f7f-1b701fdc5f8a)) 21 | (fp_line (start 2.6 -2.6) (end 2.6 -2.1) (layer "F.SilkS") (width 0.12) (tstamp b19df4f4-ee70-4835-9495-6b341a7717e5)) 22 | (fp_line (start 2.6 2.6) (end 2.6 2.1) (layer "F.SilkS") (width 0.12) (tstamp b6ff980b-eaa2-4dec-bcd2-76003322ad26)) 23 | (fp_poly (pts (xy -2.6 -2.1) 24 | (xy -2.6 -2.6) 25 | (xy -2.1 -2.6)) (layer "F.SilkS") (width 0.12) (tstamp e576c64f-8c25-4eb8-963f-d85ef51388a0)) 26 | (fp_line (start 2 2.8) (end -2 2.8) (layer "F.CrtYd") (width 0.05) (tstamp 10b41a44-ffa5-43cd-9d43-cee81ab41f1e)) 27 | (fp_line (start -2 -2.8) (end 2 -2.8) (layer "F.CrtYd") (width 0.05) (tstamp 194f6ede-149b-440c-a3c6-ebe636e2a958)) 28 | (fp_line (start -2.8 2) (end -2.8 -2) (layer "F.CrtYd") (width 0.05) (tstamp 22979e79-f6af-4f7c-b94a-234dee7a3fc5)) 29 | (fp_line (start 2 2.5) (end 2 2.8) (layer "F.CrtYd") (width 0.05) (tstamp 23f6a25a-5c9f-47ef-afd8-7e4c3987f7b8)) 30 | (fp_line (start -2.5 -2.5) (end -2 -2.5) (layer "F.CrtYd") (width 0.05) (tstamp 4081bfb3-7235-4344-869d-5cc36935826d)) 31 | (fp_line (start -2 2.8) (end -2 2.5) (layer "F.CrtYd") (width 0.05) (tstamp 4fef9f00-d207-48a2-b012-8330d6f51f65)) 32 | (fp_line (start 2 -2.8) (end 2 -2.5) (layer "F.CrtYd") (width 0.05) (tstamp 5a55c8d5-cea0-4c8a-bcb8-0911e84bd278)) 33 | (fp_line (start 2.5 2.5) (end 2 2.5) (layer "F.CrtYd") (width 0.05) (tstamp 5c9a4e14-293e-4e18-9bb2-f3fe69fb18da)) 34 | (fp_line (start 2.5 2) (end 2.5 2.5) (layer "F.CrtYd") (width 0.05) (tstamp 5d650fba-37a1-442b-ab82-35611dcb269e)) 35 | (fp_line (start 2.8 2) (end 2.5 2) (layer "F.CrtYd") (width 0.05) (tstamp 821c8822-614d-47c2-84ec-366d979f2c5c)) 36 | (fp_line (start -2 -2.5) (end -2 -2.8) (layer "F.CrtYd") (width 0.05) (tstamp 8bee3082-e9b0-4e56-be4a-8ad3bad93185)) 37 | (fp_line (start 2.5 -2.5) (end 2.5 -2) (layer "F.CrtYd") (width 0.05) (tstamp acc8f0b3-e5fd-4c4d-b48d-98cbf6284250)) 38 | (fp_line (start 2 -2.5) (end 2.5 -2.5) (layer "F.CrtYd") (width 0.05) (tstamp bf0c7201-7248-4ab2-ad8c-bd6c0ea8edf9)) 39 | (fp_line (start 2.5 -2) (end 2.8 -2) (layer "F.CrtYd") (width 0.05) (tstamp cc57298a-be55-45ea-ad21-c8985b2b1bff)) 40 | (fp_line (start -2 2.5) (end -2.5 2.5) (layer "F.CrtYd") (width 0.05) (tstamp d7522b00-2e1b-4af8-8eeb-59a6d0156c1f)) 41 | (fp_line (start -2.8 -2) (end -2.5 -2) (layer "F.CrtYd") (width 0.05) (tstamp ef2c74d8-e84d-4f21-9b71-4e66d1d57439)) 42 | (fp_line (start -2.5 2) (end -2.8 2) (layer "F.CrtYd") (width 0.05) (tstamp fa1048f8-e6cd-4b1d-ac6c-f787ea200281)) 43 | (fp_line (start 2.8 -2) (end 2.8 2) (layer "F.CrtYd") (width 0.05) (tstamp fac76d46-a7e0-4595-9280-d22c07cb5644)) 44 | (fp_line (start -2.5 2.5) (end -2.5 2) (layer "F.CrtYd") (width 0.05) (tstamp fb689efa-6764-43ed-a760-0f09dc2da415)) 45 | (fp_line (start -2.5 -2) (end -2.5 -2.5) (layer "F.CrtYd") (width 0.05) (tstamp fdec318d-ba45-4c11-87bf-38ad393e827d)) 46 | (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (layer "F.Fab") (width 0.1) (tstamp db4f269a-1954-4bb6-b562-faf422fe48a8)) 47 | (fp_poly (pts (xy -2.5 -2) 48 | (xy -2.5 -2.5) 49 | (xy -2 -2.5)) (layer "F.Fab") (width 0.1) (tstamp 7c0dee18-4579-429d-ac84-951907f8bd1e)) 50 | (pad "1" smd roundrect (at -2.5 -1.75 90) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 51 | (chamfer_ratio 0.5) (chamfer bottom_left) (tstamp 490b35ce-dd70-4ea4-aea5-26d4bf44b5b1)) 52 | (pad "2" smd roundrect (at -2.5 -1.25 90) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 53 | (chamfer_ratio 0.5) (chamfer) (tstamp 42f98c41-dfbc-403c-bd03-c06bec44b39c)) 54 | (pad "3" smd roundrect (at -2.5 -0.75 90) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 55 | (chamfer_ratio 0.5) (chamfer) (tstamp 42198194-5d51-466a-baf2-6cbb552b6ac3)) 56 | (pad "4" smd roundrect (at -2.5 -0.25 90) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 57 | (chamfer_ratio 0.5) (chamfer) (tstamp 646cd938-a9cc-4f75-9873-fa5a30c16dbf)) 58 | (pad "5" smd roundrect (at -2.5 0.25 90) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 59 | (chamfer_ratio 0.5) (chamfer) (tstamp 35fcf77d-ff0f-4607-b6cf-06f12794a226)) 60 | (pad "6" smd roundrect (at -2.5 0.75 90) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 61 | (chamfer_ratio 0.5) (chamfer) (tstamp c3efe1d2-ed60-4b3f-a238-e2e6f036b9fc)) 62 | (pad "7" smd roundrect (at -2.5 1.25 90) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 63 | (chamfer_ratio 0.5) (chamfer) (tstamp cdab13f7-a906-496d-827a-f56568d51b0c)) 64 | (pad "8" smd roundrect (at -2.5 1.75 90) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 65 | (chamfer_ratio 0.5) (chamfer) (tstamp e244d48d-bea1-4a17-86eb-077d98f5ddc0)) 66 | (pad "9" smd roundrect (at -1.75 2.5 180) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 67 | (chamfer_ratio 0.5) (chamfer) (tstamp 17248920-4d45-46dc-85ab-3e797c7da5f4)) 68 | (pad "10" smd roundrect (at -1.25 2.5 180) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 69 | (chamfer_ratio 0.5) (chamfer) (tstamp dfbd4968-94bd-4f3b-b848-7edfb8db8cc4)) 70 | (pad "11" smd roundrect (at -0.75 2.5 180) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 71 | (chamfer_ratio 0.5) (chamfer) (tstamp d5a1f0b7-f105-411b-be8d-17af66e71c8f)) 72 | (pad "12" smd roundrect (at -0.25 2.5 180) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 73 | (chamfer_ratio 0.5) (chamfer) (tstamp 409b006a-9f53-4b5f-8f8c-ba6c83dcbe7b)) 74 | (pad "13" smd roundrect (at 0.25 2.5 180) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 75 | (chamfer_ratio 0.5) (chamfer) (tstamp 48110c29-ab9b-437b-8da0-a20ee69d3e3c)) 76 | (pad "14" smd roundrect (at 0.75 2.5 180) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 77 | (chamfer_ratio 0.5) (chamfer) (tstamp d7b02142-0245-4f7a-b9f8-57f2fb02b485)) 78 | (pad "15" smd roundrect (at 1.25 2.5 180) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 79 | (chamfer_ratio 0.5) (chamfer) (tstamp db0d2532-ff06-4ef1-a09d-42d27cec5f4e)) 80 | (pad "16" smd roundrect (at 1.75 2.5 180) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 81 | (chamfer_ratio 0.5) (chamfer) (tstamp 8c199da5-bfda-4b40-8a1b-d1e521865f2f)) 82 | (pad "17" smd roundrect (at 2.5 1.75 270) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 83 | (chamfer_ratio 0.5) (chamfer) (tstamp 8efdc9c6-4bce-45da-a1e1-85b6fd2df942)) 84 | (pad "18" smd roundrect (at 2.5 1.25 270) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 85 | (chamfer_ratio 0.5) (chamfer) (tstamp 53c8ceb8-9e2e-45dd-b5d6-c6fd6308d463)) 86 | (pad "19" smd roundrect (at 2.5 0.75 270) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 87 | (chamfer_ratio 0.5) (chamfer) (tstamp 91ce5329-da54-4aa5-9f34-5a65cb1afba3)) 88 | (pad "20" smd roundrect (at 2.5 0.25 270) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 89 | (chamfer_ratio 0.5) (chamfer) (tstamp 34615464-095b-490f-8b38-5031a21acf69)) 90 | (pad "21" smd roundrect (at 2.5 -0.25 270) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 91 | (chamfer_ratio 0.5) (chamfer) (tstamp 5d62df5b-225f-4b51-8e5a-8fbe1bc31128)) 92 | (pad "22" smd roundrect (at 2.5 -0.75 270) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 93 | (chamfer_ratio 0.5) (chamfer) (tstamp 50697a66-ef90-46a3-b1ac-1fe9631d80b9)) 94 | (pad "23" smd roundrect (at 2.5 -1.25 270) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 95 | (chamfer_ratio 0.5) (chamfer) (tstamp 9b3f6a78-ca65-49c0-8bf2-a99a2412d891)) 96 | (pad "24" smd roundrect (at 2.5 -1.75 270) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 97 | (chamfer_ratio 0.5) (chamfer) (tstamp ce375422-9d4b-4329-8236-8a5acdf8b884)) 98 | (pad "25" smd roundrect (at 1.75 -2.5) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 99 | (chamfer_ratio 0.5) (chamfer) (tstamp 6e9e2c83-3a24-4cf8-b8b3-cdaee487c34d)) 100 | (pad "26" smd roundrect (at 1.25 -2.5) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 101 | (chamfer_ratio 0.5) (chamfer) (tstamp dff407ee-2da8-4c55-8983-cd822364a7bd)) 102 | (pad "27" smd roundrect (at 0.75 -2.5) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 103 | (chamfer_ratio 0.5) (chamfer) (tstamp 7b17be4f-3395-4c86-962c-141ba095ea60)) 104 | (pad "28" smd roundrect (at 0.25 -2.5) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 105 | (chamfer_ratio 0.5) (chamfer) (tstamp 0af22493-b477-479b-892a-fdf0ecdb7735)) 106 | (pad "29" smd roundrect (at -0.25 -2.5) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 107 | (chamfer_ratio 0.5) (chamfer) (tstamp 0ae036af-8b17-40f2-a856-b3993f9e11bc)) 108 | (pad "30" smd roundrect (at -0.75 -2.5) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 109 | (chamfer_ratio 0.5) (chamfer) (tstamp e3afe2f9-fc56-4b83-84e1-7a0ccbb8a238)) 110 | (pad "31" smd roundrect (at -1.25 -2.5) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 111 | (chamfer_ratio 0.5) (chamfer) (tstamp 274458b1-b1fe-4a47-9894-460841b348c0)) 112 | (pad "32" smd roundrect (at -1.75 -2.5) (size 0.3 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) 113 | (chamfer_ratio 0.5) (chamfer) (tstamp 66597aba-20b6-4ff6-8c30-dd3353adeef7)) 114 | (pad "33" smd roundrect (at 0 0) (size 3.45 3.45) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0) 115 | (chamfer_ratio 0.1) (chamfer top_left) (tstamp 71b99dd5-bea3-48c5-acf1-2371ba13918e)) 116 | ) 117 | -------------------------------------------------------------------------------- /pcb/components/frenchEarwire/frenchEarwire.dcm: -------------------------------------------------------------------------------- 1 | EESchema-DOCLIB Version 2.0 2 | # 3 | $CMP earringHookWire 4 | D Mounting Hole without connection 5 | K mounting hole 6 | F ~ 7 | $ENDCMP 8 | # 9 | $CMP frenchEarwire 10 | D Mounting Hole without connection 11 | K mounting hole 12 | F ~ 13 | $ENDCMP 14 | # 15 | #End Doc Library 16 | -------------------------------------------------------------------------------- /pcb/components/frenchEarwire/frenchEarwire.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openKolibri/halo-90/315fcafef678bc72bc6bae28e69a82e1407b7f6b/pcb/components/frenchEarwire/frenchEarwire.jpg -------------------------------------------------------------------------------- /pcb/components/frenchEarwire/frenchEarwire.kicad_sym: -------------------------------------------------------------------------------- 1 | (kicad_symbol_lib (version 20201005) (generator kicad_symbol_editor) 2 | (symbol "frenchEarwire:frenchEarwire" (pin_names (offset 1.016)) (in_bom yes) (on_board yes) 3 | (property "Reference" "H" (id 0) (at 0 5.08 0) 4 | (effects (font (size 1.27 1.27))) 5 | ) 6 | (property "Value" "frenchEarwire" (id 1) (at 0 3.175 0) 7 | (effects (font (size 1.27 1.27))) 8 | ) 9 | (property "Footprint" "frenchEarwire:frenchEarwire" (id 2) (at 2.54 -3.81 0) 10 | (effects (font (size 1.27 1.27)) hide) 11 | ) 12 | (property "Datasheet" "~" (id 3) (at 0 0 0) 13 | (effects (font (size 1.27 1.27)) hide) 14 | ) 15 | (property "ki_keywords" "mounting hole" (id 4) (at 0 0 0) 16 | (effects (font (size 1.27 1.27)) hide) 17 | ) 18 | (property "ki_description" "Mounting Hole without connection" (id 5) (at 0 0 0) 19 | (effects (font (size 1.27 1.27)) hide) 20 | ) 21 | (property "ki_fp_filters" "MountingHole*" (id 6) (at 0 0 0) 22 | (effects (font (size 1.27 1.27)) hide) 23 | ) 24 | (symbol "frenchEarwire_0_1" 25 | (circle (center 0 0) (radius 1.27) (stroke (width 1.27)) (fill (type none))) 26 | ) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /pcb/components/frenchEarwire/frenchEarwire.pretty/frenchEarwire.kicad_mod: -------------------------------------------------------------------------------- 1 | (footprint "frenchEarwire" (version 20210108) (generator pcbnew) (layer "F.Cu") 2 | (tedit 601AD621) 3 | (attr through_hole) 4 | (fp_text reference "REF**" (at 0 1.6) (layer "F.SilkS") 5 | (effects (font (size 1 1) (thickness 0.15))) 6 | (tstamp 22c958d5-25c2-4f7e-8a56-5580f0c27b87) 7 | ) 8 | (fp_text value "frenchEarwire" (at 0 -1.6) (layer "Eco2.User") hide 9 | (effects (font (size 1 1) (thickness 0.15))) 10 | (tstamp 508160d6-5dfb-4983-9147-6a536a033846) 11 | ) 12 | (fp_circle (center 0 0) (end 0.5 -0.25) (layer "F.Fab") (width 0.12) (fill none) (tstamp 9679a7c1-edc3-4ac0-92ab-bbb29916ced4)) 13 | (pad "1" thru_hole circle (at 0 0) (locked) (size 1.5 1.5) (drill 1) (layers *.Cu *.Mask) (tstamp bc4f5ace-a163-42d9-8b37-7f72eeb90ff7)) 14 | (model "${KIPRJMOD}/components/frenchEarwire/frenchEarwire.stp" 15 | (offset (xyz 0 1.3 -0.6)) 16 | (scale (xyz 1 1 1)) 17 | (rotate (xyz 0 -90 0)) 18 | ) 19 | ) 20 | -------------------------------------------------------------------------------- /pcb/components/nets/nets.bak: -------------------------------------------------------------------------------- 1 | (kicad_symbol_lib (version 20200126) (host kicad_symbol_editor "(5.99.0-2195-g476558ece)") 2 | (symbol "nets:+1V2" (power) (pin_names (offset 0)) 3 | (property "Reference" "#PWR" (id 0) (at 0 -3.81 0) 4 | (effects (font (size 1.27 1.27)) hide) 5 | ) 6 | (property "Value" "+1V2" (id 1) (at 0 3.556 0) 7 | (effects (font (size 1.27 1.27))) 8 | ) 9 | (property "Footprint" "" (id 2) (at 0 0 0) 10 | (effects (font (size 1.27 1.27)) hide) 11 | ) 12 | (property "Datasheet" "" (id 3) (at 0 0 0) 13 | (effects (font (size 1.27 1.27)) hide) 14 | ) 15 | (symbol "+1V2_0_1" 16 | (polyline 17 | (pts (xy -0.762 1.27) (xy 0 2.54)) 18 | (stroke (width 0)) (fill (type none)) 19 | ) 20 | (polyline 21 | (pts (xy 0 0) (xy 0 2.54)) 22 | (stroke (width 0)) (fill (type none)) 23 | ) 24 | (polyline 25 | (pts (xy 0 2.54) (xy 0.762 1.27)) 26 | (stroke (width 0)) (fill (type none)) 27 | ) 28 | ) 29 | (symbol "+1V2_1_1" 30 | (pin power_in line (at 0 0 90) (length 0) hide 31 | (name "+1V2" (effects (font (size 1.27 1.27)))) 32 | (number "1" (effects (font (size 1.27 1.27)))) 33 | ) 34 | ) 35 | ) 36 | (symbol "nets:+3V3" (power) (pin_names (offset 0)) 37 | (property "Reference" "#PWR" (id 0) (at 0 -3.81 0) 38 | (effects (font (size 1.27 1.27)) hide) 39 | ) 40 | (property "Value" "+3V3" (id 1) (at 0 3.556 0) 41 | (effects (font (size 1.27 1.27))) 42 | ) 43 | (property "Footprint" "" (id 2) (at 0 0 0) 44 | (effects (font (size 1.27 1.27)) hide) 45 | ) 46 | (property "Datasheet" "" (id 3) (at 0 0 0) 47 | (effects (font (size 1.27 1.27)) hide) 48 | ) 49 | (symbol "+3V3_0_1" 50 | (polyline 51 | (pts (xy -0.762 1.27) (xy 0 2.54)) 52 | (stroke (width 0)) (fill (type none)) 53 | ) 54 | (polyline 55 | (pts (xy 0 0) (xy 0 2.54)) 56 | (stroke (width 0)) (fill (type none)) 57 | ) 58 | (polyline 59 | (pts (xy 0 2.54) (xy 0.762 1.27)) 60 | (stroke (width 0)) (fill (type none)) 61 | ) 62 | ) 63 | (symbol "+3V3_1_1" 64 | (pin power_in line (at 0 0 90) (length 0) hide 65 | (name "+3V3" (effects (font (size 1.27 1.27)))) 66 | (number "1" (effects (font (size 1.27 1.27)))) 67 | ) 68 | ) 69 | ) 70 | (symbol "nets:+5V" (power) (pin_names (offset 0)) 71 | (property "Reference" "#PWR" (id 0) (at 0 -3.81 0) 72 | (effects (font (size 1.27 1.27)) hide) 73 | ) 74 | (property "Value" "+5V" (id 1) (at 0 3.556 0) 75 | (effects (font (size 1.27 1.27))) 76 | ) 77 | (property "Footprint" "" (id 2) (at 0 0 0) 78 | (effects (font (size 1.27 1.27)) hide) 79 | ) 80 | (property "Datasheet" "" (id 3) (at 0 0 0) 81 | (effects (font (size 1.27 1.27)) hide) 82 | ) 83 | (symbol "+5V_0_1" 84 | (polyline 85 | (pts (xy -0.762 1.27) (xy 0 2.54)) 86 | (stroke (width 0)) (fill (type none)) 87 | ) 88 | (polyline 89 | (pts (xy 0 0) (xy 0 2.54)) 90 | (stroke (width 0)) (fill (type none)) 91 | ) 92 | (polyline 93 | (pts (xy 0 2.54) (xy 0.762 1.27)) 94 | (stroke (width 0)) (fill (type none)) 95 | ) 96 | ) 97 | (symbol "+5V_1_1" 98 | (pin power_in line (at 0 0 90) (length 0) hide 99 | (name "+5V" (effects (font (size 1.27 1.27)))) 100 | (number "1" (effects (font (size 1.27 1.27)))) 101 | ) 102 | ) 103 | ) 104 | (symbol "nets:-5V" (power) (pin_names (offset 0)) 105 | (property "Reference" "#PWR" (id 0) (at 0 2.54 0) 106 | (effects (font (size 1.27 1.27)) hide) 107 | ) 108 | (property "Value" "-5V" (id 1) (at 0 3.81 0) 109 | (effects (font (size 1.27 1.27))) 110 | ) 111 | (property "Footprint" "" (id 2) (at 0 0 0) 112 | (effects (font (size 1.27 1.27)) hide) 113 | ) 114 | (property "Datasheet" "" (id 3) (at 0 0 0) 115 | (effects (font (size 1.27 1.27)) hide) 116 | ) 117 | (symbol "-5V_0_1" 118 | (polyline 119 | (pts (xy 0 0) (xy 0 1.27) (xy 0.762 1.27) (xy 0 2.54) 120 | (xy -0.762 1.27) (xy 0 1.27) 121 | ) 122 | (stroke (width 0)) (fill (type outline)) 123 | ) 124 | ) 125 | (symbol "-5V_0_0" 126 | (pin power_in line (at 0 0 90) (length 0) hide 127 | (name "-5V" (effects (font (size 1.27 1.27)))) 128 | (number "1" (effects (font (size 1.27 1.27)))) 129 | ) 130 | ) 131 | ) 132 | (symbol "nets:GND" (power) (pin_names (offset 0)) 133 | (property "Reference" "#PWR" (id 0) (at 0 -6.35 0) 134 | (effects (font (size 1.27 1.27)) hide) 135 | ) 136 | (property "Value" "GND" (id 1) (at 0 -3.81 0) 137 | (effects (font (size 1.27 1.27))) 138 | ) 139 | (property "Footprint" "" (id 2) (at 0 0 0) 140 | (effects (font (size 1.27 1.27)) hide) 141 | ) 142 | (property "Datasheet" "" (id 3) (at 0 0 0) 143 | (effects (font (size 1.27 1.27)) hide) 144 | ) 145 | (symbol "GND_0_1" 146 | (polyline 147 | (pts (xy 0 0) (xy 0 -1.27) (xy 1.27 -1.27) (xy 0 -2.54) 148 | (xy -1.27 -1.27) (xy 0 -1.27) 149 | ) 150 | (stroke (width 0)) (fill (type none)) 151 | ) 152 | ) 153 | (symbol "GND_1_1" 154 | (pin power_in line (at 0 0 270) (length 0) hide 155 | (name "GND" (effects (font (size 1.27 1.27)))) 156 | (number "1" (effects (font (size 1.27 1.27)))) 157 | ) 158 | ) 159 | ) 160 | ) 161 | -------------------------------------------------------------------------------- /pcb/components/nets/nets.kicad_sym: -------------------------------------------------------------------------------- 1 | (kicad_symbol_lib (version 20200908) (generator kicad_symbol_editor) 2 | (symbol "nets:+1V2" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) 3 | (property "Reference" "#PWR" (id 0) (at 0 -3.81 0) 4 | (effects (font (size 1.27 1.27)) hide) 5 | ) 6 | (property "Value" "+1V2" (id 1) (at 0 3.556 0) 7 | (effects (font (size 1.27 1.27))) 8 | ) 9 | (property "Footprint" "" (id 2) (at 0 0 0) 10 | (effects (font (size 1.27 1.27)) hide) 11 | ) 12 | (property "Datasheet" "" (id 3) (at 0 0 0) 13 | (effects (font (size 1.27 1.27)) hide) 14 | ) 15 | (symbol "+1V2_0_1" 16 | (polyline 17 | (pts 18 | (xy -0.762 1.27) 19 | (xy 0 2.54) 20 | ) 21 | (stroke (width 0)) (fill (type none)) 22 | ) 23 | (polyline 24 | (pts 25 | (xy 0 0) 26 | (xy 0 2.54) 27 | ) 28 | (stroke (width 0)) (fill (type none)) 29 | ) 30 | (polyline 31 | (pts 32 | (xy 0 2.54) 33 | (xy 0.762 1.27) 34 | ) 35 | (stroke (width 0)) (fill (type none)) 36 | ) 37 | ) 38 | (symbol "+1V2_1_1" 39 | (pin power_in line (at 0 0 90) (length 0) hide 40 | (name "+1V2" (effects (font (size 1.27 1.27)))) 41 | (number "1" (effects (font (size 1.27 1.27)))) 42 | ) 43 | ) 44 | ) 45 | (symbol "nets:+3V" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) 46 | (property "Reference" "#PWR" (id 0) (at 0 -3.81 0) 47 | (effects (font (size 1.27 1.27)) hide) 48 | ) 49 | (property "Value" "+3V" (id 1) (at 0 3.556 0) 50 | (effects (font (size 1.27 1.27))) 51 | ) 52 | (property "Footprint" "" (id 2) (at 0 0 0) 53 | (effects (font (size 1.27 1.27)) hide) 54 | ) 55 | (property "Datasheet" "" (id 3) (at 0 0 0) 56 | (effects (font (size 1.27 1.27)) hide) 57 | ) 58 | (symbol "+3V_0_1" 59 | (polyline 60 | (pts 61 | (xy -0.762 1.27) 62 | (xy 0 2.54) 63 | ) 64 | (stroke (width 0)) (fill (type none)) 65 | ) 66 | (polyline 67 | (pts 68 | (xy 0 0) 69 | (xy 0 2.54) 70 | ) 71 | (stroke (width 0)) (fill (type none)) 72 | ) 73 | (polyline 74 | (pts 75 | (xy 0 2.54) 76 | (xy 0.762 1.27) 77 | ) 78 | (stroke (width 0)) (fill (type none)) 79 | ) 80 | ) 81 | (symbol "+3V_1_1" 82 | (pin power_in line (at 0 0 90) (length 0) hide 83 | (name "+3V" (effects (font (size 1.27 1.27)))) 84 | (number "1" (effects (font (size 1.27 1.27)))) 85 | ) 86 | ) 87 | ) 88 | (symbol "nets:+3V3" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) 89 | (property "Reference" "#PWR" (id 0) (at 0 -3.81 0) 90 | (effects (font (size 1.27 1.27)) hide) 91 | ) 92 | (property "Value" "+3V3" (id 1) (at 0 3.556 0) 93 | (effects (font (size 1.27 1.27))) 94 | ) 95 | (property "Footprint" "" (id 2) (at 0 0 0) 96 | (effects (font (size 1.27 1.27)) hide) 97 | ) 98 | (property "Datasheet" "" (id 3) (at 0 0 0) 99 | (effects (font (size 1.27 1.27)) hide) 100 | ) 101 | (symbol "+3V3_0_1" 102 | (polyline 103 | (pts 104 | (xy -0.762 1.27) 105 | (xy 0 2.54) 106 | ) 107 | (stroke (width 0)) (fill (type none)) 108 | ) 109 | (polyline 110 | (pts 111 | (xy 0 0) 112 | (xy 0 2.54) 113 | ) 114 | (stroke (width 0)) (fill (type none)) 115 | ) 116 | (polyline 117 | (pts 118 | (xy 0 2.54) 119 | (xy 0.762 1.27) 120 | ) 121 | (stroke (width 0)) (fill (type none)) 122 | ) 123 | ) 124 | (symbol "+3V3_1_1" 125 | (pin power_in line (at 0 0 90) (length 0) hide 126 | (name "+3V3" (effects (font (size 1.27 1.27)))) 127 | (number "1" (effects (font (size 1.27 1.27)))) 128 | ) 129 | ) 130 | ) 131 | (symbol "nets:+5V" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) 132 | (property "Reference" "#PWR" (id 0) (at 0 -3.81 0) 133 | (effects (font (size 1.27 1.27)) hide) 134 | ) 135 | (property "Value" "+5V" (id 1) (at 0 3.556 0) 136 | (effects (font (size 1.27 1.27))) 137 | ) 138 | (property "Footprint" "" (id 2) (at 0 0 0) 139 | (effects (font (size 1.27 1.27)) hide) 140 | ) 141 | (property "Datasheet" "" (id 3) (at 0 0 0) 142 | (effects (font (size 1.27 1.27)) hide) 143 | ) 144 | (symbol "+5V_0_1" 145 | (polyline 146 | (pts 147 | (xy -0.762 1.27) 148 | (xy 0 2.54) 149 | ) 150 | (stroke (width 0)) (fill (type none)) 151 | ) 152 | (polyline 153 | (pts 154 | (xy 0 0) 155 | (xy 0 2.54) 156 | ) 157 | (stroke (width 0)) (fill (type none)) 158 | ) 159 | (polyline 160 | (pts 161 | (xy 0 2.54) 162 | (xy 0.762 1.27) 163 | ) 164 | (stroke (width 0)) (fill (type none)) 165 | ) 166 | ) 167 | (symbol "+5V_1_1" 168 | (pin power_in line (at 0 0 90) (length 0) hide 169 | (name "+5V" (effects (font (size 1.27 1.27)))) 170 | (number "1" (effects (font (size 1.27 1.27)))) 171 | ) 172 | ) 173 | ) 174 | (symbol "nets:+5V-A" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) 175 | (property "Reference" "#PWR" (id 0) (at 0 -3.81 0) 176 | (effects (font (size 1.27 1.27)) hide) 177 | ) 178 | (property "Value" "+5V-A" (id 1) (at 0 3.556 0) 179 | (effects (font (size 1.27 1.27))) 180 | ) 181 | (property "Footprint" "" (id 2) (at 0 0 0) 182 | (effects (font (size 1.27 1.27)) hide) 183 | ) 184 | (property "Datasheet" "" (id 3) (at 0 0 0) 185 | (effects (font (size 1.27 1.27)) hide) 186 | ) 187 | (symbol "+5V-A_0_1" 188 | (polyline 189 | (pts 190 | (xy -0.762 1.27) 191 | (xy 0 2.54) 192 | ) 193 | (stroke (width 0)) (fill (type none)) 194 | ) 195 | (polyline 196 | (pts 197 | (xy 0 0) 198 | (xy 0 2.54) 199 | ) 200 | (stroke (width 0)) (fill (type none)) 201 | ) 202 | (polyline 203 | (pts 204 | (xy 0 2.54) 205 | (xy 0.762 1.27) 206 | ) 207 | (stroke (width 0)) (fill (type none)) 208 | ) 209 | ) 210 | (symbol "+5V-A_1_1" 211 | (pin power_in line (at 0 0 90) (length 0) hide 212 | (name "+5V-A" (effects (font (size 1.27 1.27)))) 213 | (number "1" (effects (font (size 1.27 1.27)))) 214 | ) 215 | ) 216 | ) 217 | (symbol "nets:+A5V" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) 218 | (property "Reference" "#PWR" (id 0) (at 0 -3.81 0) 219 | (effects (font (size 1.27 1.27)) hide) 220 | ) 221 | (property "Value" "+A5V" (id 1) (at 0 3.556 0) 222 | (effects (font (size 1.27 1.27))) 223 | ) 224 | (property "Footprint" "" (id 2) (at 0 0 0) 225 | (effects (font (size 1.27 1.27)) hide) 226 | ) 227 | (property "Datasheet" "" (id 3) (at 0 0 0) 228 | (effects (font (size 1.27 1.27)) hide) 229 | ) 230 | (symbol "+A5V_0_1" 231 | (polyline 232 | (pts 233 | (xy -0.762 1.27) 234 | (xy 0 2.54) 235 | ) 236 | (stroke (width 0)) (fill (type none)) 237 | ) 238 | (polyline 239 | (pts 240 | (xy 0 0) 241 | (xy 0 2.54) 242 | ) 243 | (stroke (width 0)) (fill (type none)) 244 | ) 245 | (polyline 246 | (pts 247 | (xy 0 2.54) 248 | (xy 0.762 1.27) 249 | ) 250 | (stroke (width 0)) (fill (type none)) 251 | ) 252 | ) 253 | (symbol "+A5V_1_1" 254 | (pin power_in line (at 0 0 90) (length 0) hide 255 | (name "+5V" (effects (font (size 1.27 1.27)))) 256 | (number "1" (effects (font (size 1.27 1.27)))) 257 | ) 258 | ) 259 | ) 260 | (symbol "nets:-5V" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) 261 | (property "Reference" "#PWR" (id 0) (at 0 2.54 0) 262 | (effects (font (size 1.27 1.27)) hide) 263 | ) 264 | (property "Value" "-5V" (id 1) (at 0 3.81 0) 265 | (effects (font (size 1.27 1.27))) 266 | ) 267 | (property "Footprint" "" (id 2) (at 0 0 0) 268 | (effects (font (size 1.27 1.27)) hide) 269 | ) 270 | (property "Datasheet" "" (id 3) (at 0 0 0) 271 | (effects (font (size 1.27 1.27)) hide) 272 | ) 273 | (symbol "-5V_0_1" 274 | (polyline 275 | (pts 276 | (xy 0 0) 277 | (xy 0 1.27) 278 | (xy 0.762 1.27) 279 | (xy 0 2.54) 280 | (xy -0.762 1.27) 281 | (xy 0 1.27) 282 | ) 283 | (stroke (width 0)) (fill (type outline)) 284 | ) 285 | ) 286 | (symbol "-5V_0_0" 287 | (pin power_in line (at 0 0 90) (length 0) hide 288 | (name "-5V" (effects (font (size 1.27 1.27)))) 289 | (number "1" (effects (font (size 1.27 1.27)))) 290 | ) 291 | ) 292 | ) 293 | (symbol "nets:GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) 294 | (property "Reference" "#PWR" (id 0) (at 0 -6.35 0) 295 | (effects (font (size 1.27 1.27)) hide) 296 | ) 297 | (property "Value" "GND" (id 1) (at 0 -3.81 0) 298 | (effects (font (size 1.27 1.27))) 299 | ) 300 | (property "Footprint" "" (id 2) (at 0 0 0) 301 | (effects (font (size 1.27 1.27)) hide) 302 | ) 303 | (property "Datasheet" "" (id 3) (at 0 0 0) 304 | (effects (font (size 1.27 1.27)) hide) 305 | ) 306 | (symbol "GND_0_1" 307 | (polyline 308 | (pts 309 | (xy 0 0) 310 | (xy 0 -1.27) 311 | (xy 1.27 -1.27) 312 | (xy 0 -2.54) 313 | (xy -1.27 -1.27) 314 | (xy 0 -1.27) 315 | ) 316 | (stroke (width 0)) (fill (type none)) 317 | ) 318 | ) 319 | (symbol "GND_1_1" 320 | (pin power_in line (at 0 0 270) (length 0) hide 321 | (name "GND" (effects (font (size 1.27 1.27)))) 322 | (number "1" (effects (font (size 1.27 1.27)))) 323 | ) 324 | ) 325 | ) 326 | ) 327 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.bak: -------------------------------------------------------------------------------- 1 | (kicad_symbol_lib (version 20200126) (host kicad_symbol_editor "(5.99.0-2195-g476558ece)") 2 | ) 3 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.bck: -------------------------------------------------------------------------------- 1 | EESchema-DOCLIB Version 2.0 2 | # 3 | $CMP C 4 | D Unpolarized capacitor 5 | K cap capacitor 6 | F ~ 7 | $ENDCMP 8 | # 9 | $CMP C-0402 10 | D Unpolarized capacitor 11 | K cap capacitor 12 | F ~ 13 | $ENDCMP 14 | # 15 | $CMP R 16 | D Resistor, US symbol 17 | K R res resistor 18 | F ~ 19 | $ENDCMP 20 | # 21 | $CMP R-0402 22 | D Resistor, US symbol 23 | K R res resistor 24 | F ~ 25 | $ENDCMP 26 | # 27 | #End Doc Library 28 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.dcm: -------------------------------------------------------------------------------- 1 | EESchema-DOCLIB Version 2.0 2 | # 3 | $CMP C-0402 4 | D Unpolarized capacitor 5 | K cap capacitor 6 | F ~ 7 | $ENDCMP 8 | # 9 | $CMP R-0402 10 | D Resistor, US symbol 11 | K R res resistor 12 | F ~ 13 | $ENDCMP 14 | # 15 | #End Doc Library 16 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.pretty/C-0402.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "C-0402" (layer F.Cu) (tedit 5F073B5F) 2 | (tags "capacitor") 3 | (attr smd) 4 | (fp_text reference "REF**" (at 0.8 0) (layer F.SilkS) 5 | (effects (font (size 0.5 0.5) (thickness 0.1)) (justify left)) 6 | ) 7 | (fp_text value "C-0402" (at 0 0.9) (layer Eco2.User) hide 8 | (effects (font (size 0.5 0.5) (thickness 0.1))) 9 | ) 10 | (fp_line (start -0.5 0.25) (end -0.5 -0.25) (layer F.Fab) (width 0.1)) 11 | (fp_line (start -0.5 -0.25) (end 0.5 -0.25) (layer F.Fab) (width 0.1)) 12 | (fp_line (start 0.5 -0.25) (end 0.5 0.25) (layer F.Fab) (width 0.1)) 13 | (fp_line (start 0.5 0.25) (end -0.5 0.25) (layer F.Fab) (width 0.1)) 14 | (fp_line (start -0.8 0.3) (end -0.8 -0.3) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -0.8 -0.3) (end 0.8 -0.3) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start 0.8 -0.3) (end 0.8 0.3) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 0.8 0.3) (end -0.8 0.3) (layer F.CrtYd) (width 0.05)) 18 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 19 | (effects (font (size 0.25 0.25) (thickness 0.04))) 20 | ) 21 | (pad "1" smd roundrect (at -0.5 0) (size 0.6 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 92b764d4-44f4-408e-80c6-47e1f27ec717)) 22 | (pad "2" smd roundrect (at 0.5 0) (size 0.6 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 6e20758a-12da-4a5d-9660-00f8aa6e032f)) 23 | (model "${KIPRJMOD}/components/passives/C-0402.stp" 24 | (at (xyz 0 0 0)) 25 | (scale (xyz 1 1 1)) 26 | (rotate (xyz 0 0 90)) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.pretty/C-0603.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "C-0603" (layer F.Cu) (tedit 5F073BD6) 2 | (tags "capacitor") 3 | (attr smd) 4 | (fp_text reference "REF**" (at 1.2 0) (layer F.SilkS) 5 | (effects (font (size 0.5 0.5) (thickness 0.1)) (justify left)) 6 | ) 7 | (fp_text value "C-0603" (at 0 0.9) (layer Eco2.User) hide 8 | (effects (font (size 0.5 0.5) (thickness 0.1))) 9 | ) 10 | (fp_line (start -0.8 0.4) (end -0.8 -0.4) (layer F.Fab) (width 0.1)) 11 | (fp_line (start -0.8 -0.4) (end 0.8 -0.4) (layer F.Fab) (width 0.1)) 12 | (fp_line (start 0.8 -0.4) (end 0.8 0.4) (layer F.Fab) (width 0.1)) 13 | (fp_line (start 0.8 0.4) (end -0.8 0.4) (layer F.Fab) (width 0.1)) 14 | (fp_line (start -1.15 0.45) (end -1.15 -0.45) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -1.15 -0.45) (end 1.15 -0.45) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start 1.15 -0.45) (end 1.15 0.45) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 1.15 0.45) (end -1.15 0.45) (layer F.CrtYd) (width 0.05)) 18 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 19 | (effects (font (size 0.5 0.5) (thickness 0.1))) 20 | ) 21 | (pad "1" smd roundrect (at -0.8 0) (size 0.7 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 92b764d4-44f4-408e-80c6-47e1f27ec717)) 22 | (pad "2" smd roundrect (at 0.8 0) (size 0.75 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 6e20758a-12da-4a5d-9660-00f8aa6e032f)) 23 | (model "${KIPRJMOD}/components/passives/C-0603.stp" 24 | (at (xyz 0 0 0)) 25 | (scale (xyz 1 1 1)) 26 | (rotate (xyz 0 0 90)) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.pretty/C-0805.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "C-0805" (layer F.Cu) (tedit 5F073B50) 2 | (tags "capacitor") 3 | (attr smd) 4 | (fp_text reference "REF**" (at 1.6 0) (layer F.SilkS) 5 | (effects (font (size 1 1) (thickness 0.15)) (justify left)) 6 | ) 7 | (fp_text value "C-0805" (at 0 1.2) (layer Eco2.User) hide 8 | (effects (font (size 0.5 0.5) (thickness 0.1))) 9 | ) 10 | (fp_line (start -1 0.625) (end -1 -0.625) (layer F.Fab) (width 0.1)) 11 | (fp_line (start -1 -0.625) (end 1 -0.625) (layer F.Fab) (width 0.1)) 12 | (fp_line (start 1 -0.625) (end 1 0.625) (layer F.Fab) (width 0.1)) 13 | (fp_line (start 1 0.625) (end -1 0.625) (layer F.Fab) (width 0.1)) 14 | (fp_line (start -1.5 0.675) (end -1.5 -0.675) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -1.5 -0.675) (end 1.5 -0.675) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start 1.5 -0.675) (end 1.5 0.675) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 1.5 0.675) (end -1.5 0.675) (layer F.CrtYd) (width 0.05)) 18 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 19 | (effects (font (size 0.5 0.5) (thickness 0.1))) 20 | ) 21 | (pad "1" smd roundrect (at -1 0) (size 1 1.35) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 92b764d4-44f4-408e-80c6-47e1f27ec717)) 22 | (pad "2" smd roundrect (at 1 0) (size 1 1.35) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 6e20758a-12da-4a5d-9660-00f8aa6e032f)) 23 | (model "${KIPRJMOD}/components/passives/C-0805.stp" 24 | (at (xyz 0 0 0)) 25 | (scale (xyz 1 1 1)) 26 | (rotate (xyz 0 0 90)) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.pretty/C-1206.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "C-1206" (layer F.Cu) (tedit 5F073BE7) 2 | (tags "capacitor") 3 | (attr smd) 4 | (fp_text reference "REF**" (at 2.3 0) (layer F.SilkS) 5 | (effects (font (size 1 1) (thickness 0.15)) (justify left)) 6 | ) 7 | (fp_text value "C-1206" (at 0 1.7) (layer Eco2.User) hide 8 | (effects (font (size 0.5 0.5) (thickness 0.1))) 9 | ) 10 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 11 | (effects (font (size 1 1) (thickness 0.15))) 12 | ) 13 | (fp_line (start 2.1 0.9) (end -2.1 0.9) (layer F.CrtYd) (width 0.05)) 14 | (fp_line (start 2.1 -0.9) (end 2.1 0.9) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -2.1 -0.9) (end 2.1 -0.9) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start -2.1 0.9) (end -2.1 -0.9) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 1.6 0.8) (end -1.6 0.8) (layer F.Fab) (width 0.1)) 18 | (fp_line (start 1.6 -0.8) (end 1.6 0.8) (layer F.Fab) (width 0.1)) 19 | (fp_line (start -1.6 -0.8) (end 1.6 -0.8) (layer F.Fab) (width 0.1)) 20 | (fp_line (start -1.6 0.8) (end -1.6 -0.8) (layer F.Fab) (width 0.1)) 21 | (pad "2" smd roundrect (at 1.6 0) (size 1 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 6e20758a-12da-4a5d-9660-00f8aa6e032f)) 22 | (pad "1" smd roundrect (at -1.6 0) (size 1 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 92b764d4-44f4-408e-80c6-47e1f27ec717)) 23 | (model "${KIPRJMOD}/components/passives/C-1206.stp" 24 | (at (xyz 0 0 0)) 25 | (scale (xyz 1 1 1)) 26 | (rotate (xyz 0 0 90)) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.pretty/C-1210.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "C-1210" (layer F.Cu) (tedit 5F073B41) 2 | (tags "capacitor") 3 | (attr smd) 4 | (fp_text reference "REF**" (at 2.3 0) (layer F.SilkS) 5 | (effects (font (size 1 1) (thickness 0.15)) (justify left)) 6 | ) 7 | (fp_text value "C-1210" (at 0 1.7) (layer Eco2.User) hide 8 | (effects (font (size 0.5 0.5) (thickness 0.1))) 9 | ) 10 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 11 | (effects (font (size 1 1) (thickness 0.15))) 12 | ) 13 | (fp_line (start 2.1 1.3) (end -2.1 1.3) (layer F.CrtYd) (width 0.05)) 14 | (fp_line (start 2.1 -1.3) (end 2.1 1.3) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -2.1 -1.3) (end 2.1 -1.3) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start -2.1 1.3) (end -2.1 -1.3) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 1.6 1.25) (end -1.6 1.25) (layer F.Fab) (width 0.1)) 18 | (fp_line (start 1.6 -1.25) (end 1.6 1.25) (layer F.Fab) (width 0.1)) 19 | (fp_line (start -1.6 -1.25) (end 1.6 -1.25) (layer F.Fab) (width 0.1)) 20 | (fp_line (start -1.6 1.25) (end -1.6 -1.25) (layer F.Fab) (width 0.1)) 21 | (pad "2" smd roundrect (at 1.6 0) (size 1 2.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 6e20758a-12da-4a5d-9660-00f8aa6e032f)) 22 | (pad "1" smd roundrect (at -1.6 0) (size 1 2.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 92b764d4-44f4-408e-80c6-47e1f27ec717)) 23 | (model "${KIPRJMOD}/components/passives/C-1210.stp" 24 | (at (xyz 0 0 0)) 25 | (scale (xyz 1 1 1)) 26 | (rotate (xyz 0 0 90)) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.pretty/C-2220.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "C-2220" (layer F.Cu) (tedit 5F073B34) 2 | (tags "capacitor") 3 | (attr smd) 4 | (fp_text reference "REF**" (at 3.5 0) (layer F.SilkS) 5 | (effects (font (size 1 1) (thickness 0.15)) (justify left)) 6 | ) 7 | (fp_text value "C-2220" (at 0 3.2) (layer Eco2.User) hide 8 | (effects (font (size 0.5 0.5) (thickness 0.1))) 9 | ) 10 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 11 | (effects (font (size 1 1) (thickness 0.15))) 12 | ) 13 | (fp_line (start 3.15 2.6) (end -3.15 2.6) (layer F.CrtYd) (width 0.05)) 14 | (fp_line (start 3.15 -2.6) (end 3.15 2.6) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -3.15 -2.6) (end 3.15 -2.6) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start -3.15 2.6) (end -3.15 -2.6) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 2.85 2.5) (end -2.85 2.5) (layer F.Fab) (width 0.1)) 18 | (fp_line (start 2.9 -2.5) (end 2.9 2.5) (layer F.Fab) (width 0.1)) 19 | (fp_line (start -2.85 -2.5) (end 2.85 -2.5) (layer F.Fab) (width 0.1)) 20 | (fp_line (start -2.9 2.5) (end -2.9 -2.5) (layer F.Fab) (width 0.1)) 21 | (pad "2" smd roundrect (at 2.85 0) (size 1.2 5.2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 6e20758a-12da-4a5d-9660-00f8aa6e032f)) 22 | (pad "1" smd roundrect (at -2.85 0) (size 1.2 5.2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 92b764d4-44f4-408e-80c6-47e1f27ec717)) 23 | (model "${KIPRJMOD}/components/passives/C-2220.stp" 24 | (at (xyz 0 0 0)) 25 | (scale (xyz 1 1 1)) 26 | (rotate (xyz 0 0 90)) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.pretty/L-0402.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "L-0402" (layer F.Cu) (tedit 5F073F32) 2 | (tags "inductor") 3 | (attr smd) 4 | (fp_text reference "REF**" (at 0.8 0) (layer F.SilkS) 5 | (effects (font (size 0.5 0.5) (thickness 0.1)) (justify left)) 6 | ) 7 | (fp_text value "L-0402" (at 0 0.9) (layer Eco2.User) hide 8 | (effects (font (size 0.5 0.5) (thickness 0.1))) 9 | ) 10 | (fp_line (start -0.5 0.25) (end -0.5 -0.25) (layer F.Fab) (width 0.1)) 11 | (fp_line (start -0.5 -0.25) (end 0.5 -0.25) (layer F.Fab) (width 0.1)) 12 | (fp_line (start 0.5 -0.25) (end 0.5 0.25) (layer F.Fab) (width 0.1)) 13 | (fp_line (start 0.5 0.25) (end -0.5 0.25) (layer F.Fab) (width 0.1)) 14 | (fp_line (start -0.8 0.3) (end -0.8 -0.3) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -0.8 -0.3) (end 0.8 -0.3) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start 0.8 -0.3) (end 0.8 0.3) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 0.8 0.3) (end -0.8 0.3) (layer F.CrtYd) (width 0.05)) 18 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 19 | (effects (font (size 0.25 0.25) (thickness 0.04))) 20 | ) 21 | (pad "1" smd roundrect (at -0.5 0) (size 0.6 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 5557e0f8-bc43-493d-af4b-0f2d1a3b0759)) 22 | (pad "2" smd roundrect (at 0.5 0) (size 0.6 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 53b99e99-871b-4eb4-bfe5-8fc40748cea4)) 23 | (model "${KIPRJMOD}/components/passives/L-0402.stp" 24 | (at (xyz 0 0 0)) 25 | (scale (xyz 1 1 1)) 26 | (rotate (xyz 0 0 90)) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.pretty/L-0603.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "L-0603" (layer F.Cu) (tedit 5F073F47) 2 | (tags "inductor") 3 | (attr smd) 4 | (fp_text reference "REF**" (at 1.2 0) (layer F.SilkS) 5 | (effects (font (size 0.5 0.5) (thickness 0.1)) (justify left)) 6 | ) 7 | (fp_text value "L-0603" (at 0 0.9) (layer Eco2.User) hide 8 | (effects (font (size 0.5 0.5) (thickness 0.1))) 9 | ) 10 | (fp_line (start -0.8 0.4) (end -0.8 -0.4) (layer F.Fab) (width 0.1)) 11 | (fp_line (start -0.8 -0.4) (end 0.8 -0.4) (layer F.Fab) (width 0.1)) 12 | (fp_line (start 0.8 -0.4) (end 0.8 0.4) (layer F.Fab) (width 0.1)) 13 | (fp_line (start 0.8 0.4) (end -0.8 0.4) (layer F.Fab) (width 0.1)) 14 | (fp_line (start -1.15 0.45) (end -1.15 -0.45) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -1.15 -0.45) (end 1.15 -0.45) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start 1.15 -0.45) (end 1.15 0.45) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 1.15 0.45) (end -1.15 0.45) (layer F.CrtYd) (width 0.05)) 18 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 19 | (effects (font (size 0.5 0.5) (thickness 0.1))) 20 | ) 21 | (pad "1" smd roundrect (at -0.8 0) (size 0.7 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 92b764d4-44f4-408e-80c6-47e1f27ec717)) 22 | (pad "2" smd roundrect (at 0.8 0) (size 0.75 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 6e20758a-12da-4a5d-9660-00f8aa6e032f)) 23 | (model "${KIPRJMOD}/components/passives/L-0603.stp" 24 | (at (xyz 0 0 0)) 25 | (scale (xyz 1 1 1)) 26 | (rotate (xyz 0 0 90)) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.pretty/L-0805.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "L-0805" (layer F.Cu) (tedit 5F073F5A) 2 | (tags "inductor") 3 | (attr smd) 4 | (fp_text reference "REF**" (at 1.6 0) (layer F.SilkS) 5 | (effects (font (size 1 1) (thickness 0.15)) (justify left)) 6 | ) 7 | (fp_text value "L-0805" (at 0 1.2) (layer Eco2.User) hide 8 | (effects (font (size 0.5 0.5) (thickness 0.1))) 9 | ) 10 | (fp_line (start -1 0.625) (end -1 -0.625) (layer F.Fab) (width 0.1)) 11 | (fp_line (start -1 -0.625) (end 1 -0.625) (layer F.Fab) (width 0.1)) 12 | (fp_line (start 1 -0.625) (end 1 0.625) (layer F.Fab) (width 0.1)) 13 | (fp_line (start 1 0.625) (end -1 0.625) (layer F.Fab) (width 0.1)) 14 | (fp_line (start -1.5 0.675) (end -1.5 -0.675) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -1.5 -0.675) (end 1.5 -0.675) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start 1.5 -0.675) (end 1.5 0.675) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 1.5 0.675) (end -1.5 0.675) (layer F.CrtYd) (width 0.05)) 18 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 19 | (effects (font (size 0.5 0.5) (thickness 0.1))) 20 | ) 21 | (pad "1" smd roundrect (at -1 0) (size 1 1.35) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 92b764d4-44f4-408e-80c6-47e1f27ec717)) 22 | (pad "2" smd roundrect (at 1 0) (size 1 1.35) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 6e20758a-12da-4a5d-9660-00f8aa6e032f)) 23 | (model "${KIPRJMOD}/components/passives/L-0805.stp" 24 | (at (xyz 0 0 0)) 25 | (scale (xyz 1 1 1)) 26 | (rotate (xyz 0 0 90)) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.pretty/L-1206.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "L-1206" (layer F.Cu) (tedit 5F073F73) 2 | (tags "inductor") 3 | (attr smd) 4 | (fp_text reference "REF**" (at 2.3 0) (layer F.SilkS) 5 | (effects (font (size 1 1) (thickness 0.15)) (justify left)) 6 | ) 7 | (fp_text value "L-1206" (at 0 1.7) (layer Eco2.User) hide 8 | (effects (font (size 0.5 0.5) (thickness 0.1))) 9 | ) 10 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 11 | (effects (font (size 1 1) (thickness 0.15))) 12 | ) 13 | (fp_line (start 2.1 0.9) (end -2.1 0.9) (layer F.CrtYd) (width 0.05)) 14 | (fp_line (start 2.1 -0.9) (end 2.1 0.9) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -2.1 -0.9) (end 2.1 -0.9) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start -2.1 0.9) (end -2.1 -0.9) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 1.6 0.8) (end -1.6 0.8) (layer F.Fab) (width 0.1)) 18 | (fp_line (start 1.6 -0.8) (end 1.6 0.8) (layer F.Fab) (width 0.1)) 19 | (fp_line (start -1.6 -0.8) (end 1.6 -0.8) (layer F.Fab) (width 0.1)) 20 | (fp_line (start -1.6 0.8) (end -1.6 -0.8) (layer F.Fab) (width 0.1)) 21 | (pad "2" smd roundrect (at 1.6 0) (size 1 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 6e20758a-12da-4a5d-9660-00f8aa6e032f)) 22 | (pad "1" smd roundrect (at -1.6 0) (size 1 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 92b764d4-44f4-408e-80c6-47e1f27ec717)) 23 | (model "${KIPRJMOD}/components/passives/L-1206.stp" 24 | (at (xyz 0 0 0)) 25 | (scale (xyz 1 1 1)) 26 | (rotate (xyz 0 0 90)) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.pretty/L-1210.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "L-1210" (layer F.Cu) (tedit 5F102EF5) 2 | (tags "inductor") 3 | (attr smd) 4 | (fp_text reference "REF**" (at 2.3 0) (layer F.SilkS) 5 | (effects (font (size 1 1) (thickness 0.15)) (justify left)) 6 | ) 7 | (fp_text value "L-1210" (at 0 1.7) (layer Eco2.User) hide 8 | (effects (font (size 0.5 0.5) (thickness 0.1))) 9 | ) 10 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 11 | (effects (font (size 1 1) (thickness 0.15))) 12 | ) 13 | (fp_line (start 2.1 1.3) (end -2.1 1.3) (layer F.CrtYd) (width 0.05)) 14 | (fp_line (start 2.1 -1.3) (end 2.1 1.3) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -2.1 -1.3) (end 2.1 -1.3) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start -2.1 1.3) (end -2.1 -1.3) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 1.6 1.25) (end -1.6 1.25) (layer F.Fab) (width 0.1)) 18 | (fp_line (start 1.6 -1.25) (end 1.6 1.25) (layer F.Fab) (width 0.1)) 19 | (fp_line (start -1.6 -1.25) (end 1.6 -1.25) (layer F.Fab) (width 0.1)) 20 | (fp_line (start -1.6 1.25) (end -1.6 -1.25) (layer F.Fab) (width 0.1)) 21 | (pad "2" smd roundrect (at 1.6 0) (size 1 2.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 6e20758a-12da-4a5d-9660-00f8aa6e032f)) 22 | (pad "1" smd roundrect (at -1.6 0) (size 1 2.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 92b764d4-44f4-408e-80c6-47e1f27ec717)) 23 | (model "${KIPRJMOD}/components/passives/L-1210.stp" 24 | (at (xyz 0 0 0)) 25 | (scale (xyz 1 1 1)) 26 | (rotate (xyz 0 0 90)) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.pretty/R-0402.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "R-0402" (layer F.Cu) (tedit 5F073D75) 2 | (tags "resistor") 3 | (attr smd) 4 | (fp_text reference "REF**" (at 0.8 0) (layer F.SilkS) 5 | (effects (font (size 0.5 0.5) (thickness 0.1)) (justify left)) 6 | ) 7 | (fp_text value "R-0402" (at 0 0.9) (layer Eco2.User) hide 8 | (effects (font (size 0.5 0.5) (thickness 0.1))) 9 | ) 10 | (fp_line (start -0.5 0.25) (end -0.5 -0.25) (layer F.Fab) (width 0.1)) 11 | (fp_line (start -0.5 -0.25) (end 0.5 -0.25) (layer F.Fab) (width 0.1)) 12 | (fp_line (start 0.5 -0.25) (end 0.5 0.25) (layer F.Fab) (width 0.1)) 13 | (fp_line (start 0.5 0.25) (end -0.5 0.25) (layer F.Fab) (width 0.1)) 14 | (fp_line (start -0.8 0.3) (end -0.8 -0.3) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -0.8 -0.3) (end 0.8 -0.3) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start 0.8 -0.3) (end 0.8 0.3) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 0.8 0.3) (end -0.8 0.3) (layer F.CrtYd) (width 0.05)) 18 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 19 | (effects (font (size 0.25 0.25) (thickness 0.04))) 20 | ) 21 | (pad "1" smd roundrect (at -0.5 0) (size 0.6 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 5557e0f8-bc43-493d-af4b-0f2d1a3b0759)) 22 | (pad "2" smd roundrect (at 0.5 0) (size 0.6 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 53b99e99-871b-4eb4-bfe5-8fc40748cea4)) 23 | (model "${KIPRJMOD}/components/passives/R-0402.stp" 24 | (at (xyz 0 0 0)) 25 | (scale (xyz 1 1 1)) 26 | (rotate (xyz 0 0 90)) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.pretty/R-0603.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "R-0603" (layer F.Cu) (tedit 5F073D7B) 2 | (tags "resistor") 3 | (attr smd) 4 | (fp_text reference "REF**" (at 1.2 0) (layer F.SilkS) 5 | (effects (font (size 0.5 0.5) (thickness 0.1)) (justify left)) 6 | ) 7 | (fp_text value "R-0603" (at 0 0.9) (layer Eco2.User) hide 8 | (effects (font (size 0.5 0.5) (thickness 0.1))) 9 | ) 10 | (fp_line (start -0.8 0.4) (end -0.8 -0.4) (layer F.Fab) (width 0.1)) 11 | (fp_line (start -0.8 -0.4) (end 0.8 -0.4) (layer F.Fab) (width 0.1)) 12 | (fp_line (start 0.8 -0.4) (end 0.8 0.4) (layer F.Fab) (width 0.1)) 13 | (fp_line (start 0.8 0.4) (end -0.8 0.4) (layer F.Fab) (width 0.1)) 14 | (fp_line (start -1.15 0.45) (end -1.15 -0.45) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -1.15 -0.45) (end 1.15 -0.45) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start 1.15 -0.45) (end 1.15 0.45) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 1.15 0.45) (end -1.15 0.45) (layer F.CrtYd) (width 0.05)) 18 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 19 | (effects (font (size 0.5 0.5) (thickness 0.1))) 20 | ) 21 | (pad "1" smd roundrect (at -0.8 0) (size 0.7 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 92b764d4-44f4-408e-80c6-47e1f27ec717)) 22 | (pad "2" smd roundrect (at 0.8 0) (size 0.75 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 6e20758a-12da-4a5d-9660-00f8aa6e032f)) 23 | (model "${KIPRJMOD}/components/passives/R-0603.stp" 24 | (at (xyz 0 0 0)) 25 | (scale (xyz 1 1 1)) 26 | (rotate (xyz 0 0 90)) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.pretty/R-0805.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "R-0805" (layer F.Cu) (tedit 5F073D87) 2 | (tags "resistor") 3 | (attr smd) 4 | (fp_text reference "REF**" (at 1.6 0) (layer F.SilkS) 5 | (effects (font (size 1 1) (thickness 0.15)) (justify left)) 6 | ) 7 | (fp_text value "R-0805" (at 0 1.2) (layer Eco2.User) hide 8 | (effects (font (size 0.5 0.5) (thickness 0.1))) 9 | ) 10 | (fp_line (start -1 0.625) (end -1 -0.625) (layer F.Fab) (width 0.1)) 11 | (fp_line (start -1 -0.625) (end 1 -0.625) (layer F.Fab) (width 0.1)) 12 | (fp_line (start 1 -0.625) (end 1 0.625) (layer F.Fab) (width 0.1)) 13 | (fp_line (start 1 0.625) (end -1 0.625) (layer F.Fab) (width 0.1)) 14 | (fp_line (start -1.5 0.675) (end -1.5 -0.675) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -1.5 -0.675) (end 1.5 -0.675) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start 1.5 -0.675) (end 1.5 0.675) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 1.5 0.675) (end -1.5 0.675) (layer F.CrtYd) (width 0.05)) 18 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 19 | (effects (font (size 0.5 0.5) (thickness 0.1))) 20 | ) 21 | (pad "1" smd roundrect (at -1 0) (size 1 1.35) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 92b764d4-44f4-408e-80c6-47e1f27ec717)) 22 | (pad "2" smd roundrect (at 1 0) (size 1 1.35) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 6e20758a-12da-4a5d-9660-00f8aa6e032f)) 23 | (model "${KIPRJMOD}/components/passives/R-0805.stp" 24 | (at (xyz 0 0 0)) 25 | (scale (xyz 1 1 1)) 26 | (rotate (xyz 0 0 90)) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /pcb/components/passives/passives.pretty/R-1206.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "R-1206" (layer F.Cu) (tedit 5F073D92) 2 | (tags "resistor") 3 | (attr smd) 4 | (fp_text reference "REF**" (at 2.3 0) (layer F.SilkS) 5 | (effects (font (size 1 1) (thickness 0.15)) (justify left)) 6 | ) 7 | (fp_text value "R-1206" (at 0 1.7) (layer Eco2.User) hide 8 | (effects (font (size 0.5 0.5) (thickness 0.1))) 9 | ) 10 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 11 | (effects (font (size 1 1) (thickness 0.15))) 12 | ) 13 | (fp_line (start 2.1 0.9) (end -2.1 0.9) (layer F.CrtYd) (width 0.05)) 14 | (fp_line (start 2.1 -0.9) (end 2.1 0.9) (layer F.CrtYd) (width 0.05)) 15 | (fp_line (start -2.1 -0.9) (end 2.1 -0.9) (layer F.CrtYd) (width 0.05)) 16 | (fp_line (start -2.1 0.9) (end -2.1 -0.9) (layer F.CrtYd) (width 0.05)) 17 | (fp_line (start 1.6 0.8) (end -1.6 0.8) (layer F.Fab) (width 0.1)) 18 | (fp_line (start 1.6 -0.8) (end 1.6 0.8) (layer F.Fab) (width 0.1)) 19 | (fp_line (start -1.6 -0.8) (end 1.6 -0.8) (layer F.Fab) (width 0.1)) 20 | (fp_line (start -1.6 0.8) (end -1.6 -0.8) (layer F.Fab) (width 0.1)) 21 | (pad "2" smd roundrect (at 1.6 0) (size 1 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 6e20758a-12da-4a5d-9660-00f8aa6e032f)) 22 | (pad "1" smd roundrect (at -1.6 0) (size 1 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 92b764d4-44f4-408e-80c6-47e1f27ec717)) 23 | (model "${KIPRJMOD}/components/passives/R-1206.stp" 24 | (at (xyz 0 0 0)) 25 | (scale (xyz 1 1 1)) 26 | (rotate (xyz 0 0 90)) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /pcb/components/tooling/tooling.bck: -------------------------------------------------------------------------------- 1 | EESchema-DOCLIB Version 2.0 2 | # 3 | $CMP Fiducial 4 | D Fiducial Marker 5 | K fiducial marker 6 | F ~ 7 | $ENDCMP 8 | # 9 | $CMP TestPoint_D1.0 10 | D test point 11 | K test point tp 12 | F ~ 13 | $ENDCMP 14 | # 15 | $CMP TestPoint_D4.0 16 | D test point 17 | K test point tp 18 | F ~ 19 | $ENDCMP 20 | # 21 | $CMP toolingHole 22 | D Tooling Hole 23 | F https://support.jlcpcb.com/article/92-how-to-add-tooling-holes-for-smt-assembly-order 24 | $ENDCMP 25 | # 26 | #End Doc Library 27 | -------------------------------------------------------------------------------- /pcb/components/tooling/tooling.dcm: -------------------------------------------------------------------------------- 1 | EESchema-DOCLIB Version 2.0 2 | # 3 | $CMP Fiducial 4 | D Fiducial Marker 5 | K fiducial marker 6 | F ~ 7 | $ENDCMP 8 | # 9 | $CMP TestPoint_D1.0 10 | D test point 11 | K test point tp 12 | F ~ 13 | $ENDCMP 14 | # 15 | $CMP TestPoint_D4.0 16 | D test point 17 | K test point tp 18 | F ~ 19 | $ENDCMP 20 | # 21 | $CMP toolingHole 22 | D Tooling Hole 23 | F https://support.jlcpcb.com/article/92-how-to-add-tooling-holes-for-smt-assembly-order 24 | $ENDCMP 25 | # 26 | #End Doc Library 27 | -------------------------------------------------------------------------------- /pcb/components/tooling/tooling.kicad_sym: -------------------------------------------------------------------------------- 1 | (kicad_symbol_lib (version 20200126) (host kicad_symbol_editor "(5.99.0-2195-g476558ece)") 2 | (symbol "tooling:Fiducial" (pin_names (offset 0.508)) 3 | (property "Reference" "FD" (id 0) (at 3.81 0 0) 4 | (effects (font (size 1.27 1.27))) 5 | ) 6 | (property "Value" "Fiducial" (id 1) (at 0 3.175 0) 7 | (effects (font (size 1.27 1.27)) hide) 8 | ) 9 | (property "Footprint" "tooling:Fiducial_1.5mm_Mask3mm" (id 2) (at 0 -3.81 0) 10 | (effects (font (size 1.27 1.27)) hide) 11 | ) 12 | (property "Datasheet" "~" (id 3) (at 0 0 0) 13 | (effects (font (size 1.27 1.27)) hide) 14 | ) 15 | (property "ki_keywords" "fiducial marker" (id 4) (at 0 0 0) 16 | (effects (font (size 1.27 1.27)) hide) 17 | ) 18 | (property "ki_description" "Fiducial Marker" (id 5) (at 0 0 0) 19 | (effects (font (size 1.27 1.27)) hide) 20 | ) 21 | (property "ki_fp_filters" "Fiducial*" (id 6) (at 0 0 0) 22 | (effects (font (size 1.27 1.27)) hide) 23 | ) 24 | (symbol "Fiducial_0_1" 25 | (circle (center 0 0) (radius 1.27) (stroke (width 0.508)) (fill (type background))) 26 | ) 27 | ) 28 | (symbol "tooling:TestPoint_D1.0" (pin_numbers hide) (pin_names (offset 0.762) hide) 29 | (property "Reference" "TP" (id 0) (at 0 6.858 0) 30 | (effects (font (size 1.27 1.27))) 31 | ) 32 | (property "Value" "TestPoint_D1.0" (id 1) (at 0 5.08 0) 33 | (effects (font (size 1.27 1.27))) 34 | ) 35 | (property "Footprint" "tooling:TestPoint_Pad_D1.0mm" (id 2) (at 0 -6.35 0) 36 | (effects (font (size 1.27 1.27)) hide) 37 | ) 38 | (property "Datasheet" "~" (id 3) (at 5.08 0 0) 39 | (effects (font (size 1.27 1.27)) hide) 40 | ) 41 | (property "ki_keywords" "test point tp" (id 4) (at 0 0 0) 42 | (effects (font (size 1.27 1.27)) hide) 43 | ) 44 | (property "ki_description" "test point" (id 5) (at 0 0 0) 45 | (effects (font (size 1.27 1.27)) hide) 46 | ) 47 | (symbol "TestPoint_D1.0_0_1" 48 | (polyline 49 | (pts (xy 0 2.54) (xy -0.762 3.302) (xy 0 4.064) (xy 0.762 3.302) 50 | (xy 0 2.54) 51 | ) 52 | (stroke (width 0)) (fill (type none)) 53 | ) 54 | ) 55 | (symbol "TestPoint_D1.0_1_1" 56 | (pin passive line (at 0 0 90) (length 2.54) 57 | (name "1" (effects (font (size 1.27 1.27)))) 58 | (number "1" (effects (font (size 1.27 1.27)))) 59 | ) 60 | ) 61 | ) 62 | (symbol "tooling:TestPoint_D4.0" (pin_numbers hide) (pin_names (offset 0.762) hide) 63 | (property "Reference" "TP" (id 0) (at 0 6.858 0) 64 | (effects (font (size 1.27 1.27))) 65 | ) 66 | (property "Value" "TestPoint_D4.0" (id 1) (at 0 5.08 0) 67 | (effects (font (size 1.27 1.27))) 68 | ) 69 | (property "Footprint" "tooling:TestPoint_Pad_D4.0mm" (id 2) (at 0 -6.35 0) 70 | (effects (font (size 1.27 1.27)) hide) 71 | ) 72 | (property "Datasheet" "~" (id 3) (at 5.08 0 0) 73 | (effects (font (size 1.27 1.27)) hide) 74 | ) 75 | (property "ki_keywords" "test point tp" (id 4) (at 0 0 0) 76 | (effects (font (size 1.27 1.27)) hide) 77 | ) 78 | (property "ki_description" "test point" (id 5) (at 0 0 0) 79 | (effects (font (size 1.27 1.27)) hide) 80 | ) 81 | (symbol "TestPoint_D4.0_0_1" 82 | (polyline 83 | (pts (xy 0 2.54) (xy -0.762 3.302) (xy 0 4.064) (xy 0.762 3.302) 84 | (xy 0 2.54) 85 | ) 86 | (stroke (width 0)) (fill (type none)) 87 | ) 88 | ) 89 | (symbol "TestPoint_D4.0_1_1" 90 | (pin passive line (at 0 0 90) (length 2.54) 91 | (name "1" (effects (font (size 1.27 1.27)))) 92 | (number "1" (effects (font (size 1.27 1.27)))) 93 | ) 94 | ) 95 | ) 96 | (symbol "tooling:toolingHole" 97 | (property "Reference" "MH" (id 0) (at 3.81 0 0) 98 | (effects (font (size 1.27 1.27))) 99 | ) 100 | (property "Value" "toolingHole" (id 1) (at 0 3.175 0) 101 | (effects (font (size 1.27 1.27)) hide) 102 | ) 103 | (property "Footprint" "tooling:1.152mm-ToolingHole" (id 2) (at 0 -2.54 0) 104 | (effects (font (size 1.27 1.27)) hide) 105 | ) 106 | (property "Datasheet" "https://support.jlcpcb.com/article/92-how-to-add-tooling-holes-for-smt-assembly-order" (id 3) (at 0 -5.08 0) 107 | (effects (font (size 1.27 1.27)) hide) 108 | ) 109 | (property "ki_description" "Tooling Hole" (id 4) (at 0 0 0) 110 | (effects (font (size 1.27 1.27)) hide) 111 | ) 112 | (symbol "toolingHole_0_1" 113 | (circle (center 0 0) (radius 1.27) (stroke (width 0.1016)) (fill (type none))) 114 | ) 115 | ) 116 | ) 117 | -------------------------------------------------------------------------------- /pcb/components/tooling/tooling.pretty/1.152mm-ToolingHole.kicad_mod: -------------------------------------------------------------------------------- 1 | (module 1.152mm-ToolingHole (layer F.Cu) (tedit 5ED8D68D) 2 | (descr "1.152mm with 0.148mm expansion. JLC Requirements") 3 | (fp_text reference REF** (at 0 0) (layer Eco2.User) hide 4 | (effects (font (size 0.3 0.3) (thickness 0.05))) 5 | ) 6 | (fp_text value 1.152mm-ToolingHole (at 0 -2) (layer Eco2.User) hide 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 0.3 0.3) (thickness 0.05))) 11 | ) 12 | (fp_circle (center 0 0) (end 0.7 0) (layer F.CrtYd) (width 0.05)) 13 | (fp_circle (center 0 0) (end 0.7 0) (layer F.Fab) (width 0.05)) 14 | (fp_circle (center 0 0) (end 0.7 0) (layer B.Fab) (width 0.05)) 15 | (fp_text user %R (at 0 0) (layer B.Fab) 16 | (effects (font (size 0.3 0.3) (thickness 0.05))) 17 | ) 18 | (pad "" np_thru_hole circle (at 0 0) (size 1.152 1.152) (drill 1.152) (layers *.Cu *.Mask)) 19 | (pad "" smd circle (at 0 0) (size 1.3 1.3) (layers *.Paste *.Mask)) 20 | ) 21 | -------------------------------------------------------------------------------- /pcb/components/tooling/tooling.pretty/24mm-roundTabs.kicad_mod: -------------------------------------------------------------------------------- 1 | (footprint "24mm-roundTabs" (version 20210108) (generator pcbnew) (layer "F.Cu") 2 | (tedit 60103EED) 3 | (fp_text reference "REF**" (at 0.15 -11.7 unlocked) (layer "Eco2.User") hide 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | (tstamp dee5c708-a27d-4dee-b5b3-a2404e793652) 6 | ) 7 | (fp_text value "24mm-roundTabs" (at -1.1 -15.7 unlocked) (layer "Eco2.User") hide 8 | (effects (font (size 1 1) (thickness 0.15))) 9 | (tstamp 11ba942f-1ce1-42db-be7d-9317c0387abd) 10 | ) 11 | (fp_arc (start -13.183026 0) (end -1.449 2.43) (angle -23.4) (layer "B.SilkS") (width 0.01) (tstamp 5027bc49-9197-45a5-b95b-ec87d2b41876)) 12 | (fp_arc (start 13.183026 0) (end 1.449 -2.43) (angle -23.4) (layer "B.SilkS") (width 0.01) (tstamp cd4d990b-bd6b-4b1b-b4cb-42def4648685)) 13 | (fp_arc (start 13.183026 0) (end 1.449 -2.43) (angle -23.4) (layer "F.SilkS") (width 0.01) (tstamp 1aa70cd0-8557-4c7f-9b56-1673c51bcc2e)) 14 | (fp_arc (start -13.183026 0) (end -1.449 2.43) (angle -23.4) (layer "F.SilkS") (width 0.01) (tstamp adae7b97-025f-4161-b374-46acfb53a31a)) 15 | (fp_arc (start -0.000001 2.730073) (end 1.449 2.43) (angle -156.6) (layer "Edge.Cuts") (width 0.01) (tstamp 83a673cb-94ca-42e0-a8dd-8597427d0501)) 16 | (fp_arc (start 0 -2.730073) (end -1.449002 -2.430001) (angle -156.6) (layer "Edge.Cuts") (width 0.01) (tstamp e6f87d7d-ccc1-4bf3-94a2-c98dfcacfc57)) 17 | (pad "" np_thru_hole circle (at 1 0.8 180) (size 0.46 0.46) (drill 0.45) (layers F&B.Cu *.Mask) (tstamp 2fe148e0-be6e-4ad7-a5f2-98cff7e5e5e4)) 18 | (pad "" np_thru_hole circle (at -1 0.8) (size 0.46 0.46) (drill 0.45) (layers F&B.Cu *.Mask) (tstamp 523250e8-5f17-40f2-91c0-d31b475cb170)) 19 | (pad "" np_thru_hole circle (at 0.975 0 180) (size 0.46 0.46) (drill 0.45) (layers F&B.Cu *.Mask) (tstamp 60a8c1ec-acbc-4e14-aac8-f879e5b7eca2)) 20 | (pad "" np_thru_hole circle (at 1.058 -1.623 180) (size 0.51 0.51) (drill 0.5) (layers F&B.Cu *.Mask) (tstamp 792f2623-5235-4c9a-8a44-1b1408a2a1ab)) 21 | (pad "" np_thru_hole circle (at 1.058 1.623 180) (size 0.51 0.51) (drill 0.5) (layers F&B.Cu *.Mask) (tstamp a128a356-3678-4e37-80fc-5abac91814c9)) 22 | (pad "" np_thru_hole circle (at -1.058 1.623) (size 0.51 0.51) (drill 0.5) (layers F&B.Cu *.Mask) (tstamp bc0e1c2c-8100-4e14-8c95-e0c6bea4f788)) 23 | (pad "" np_thru_hole circle (at -1 -0.8) (size 0.46 0.46) (drill 0.45) (layers F&B.Cu *.Mask) (tstamp ccd028cd-3f73-4e68-937d-497c344a08c7)) 24 | (pad "" np_thru_hole circle (at 1 -0.8 180) (size 0.46 0.46) (drill 0.45) (layers F&B.Cu *.Mask) (tstamp d9e2f17e-f0c9-4185-80dd-606b7720ceb5)) 25 | (pad "" np_thru_hole circle (at -0.975 0) (size 0.46 0.46) (drill 0.45) (layers F&B.Cu *.Mask) (tstamp e69e5349-801c-48cd-a7fd-de792304c9e2)) 26 | (pad "" np_thru_hole circle (at -1.058 -1.623) (size 0.51 0.51) (drill 0.5) (layers F&B.Cu *.Mask) (tstamp eaf73079-0d2e-47a5-97cc-d939ecd107cd)) 27 | ) 28 | -------------------------------------------------------------------------------- /pcb/components/tooling/tooling.pretty/Fiducial_1.5mm_Mask3mm.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "Fiducial_1.5mm_Mask3mm" (layer F.Cu) (tedit 5F074CD8) 2 | (descr "Circular Fiducial, 1.5mm bare copper, 3mm soldermask opening") 3 | (tags "fiducial") 4 | (attr smd) 5 | (fp_text reference "REF**" (at 0 0) (layer Eco2.User) hide 6 | (effects (font (size 0.5 0.5) (thickness 0.1))) 7 | ) 8 | (fp_text value "Fiducial_1.5mm_Mask3mm" (at 0 2.6035) (layer Eco2.User) hide 9 | (effects (font (size 1 1) (thickness 0.15))) 10 | ) 11 | (fp_circle (center 0 0) (end 1.5 0) (layer F.CrtYd) (width 0.05)) 12 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 13 | (effects (font (size 0.4 0.4) (thickness 0.06))) 14 | ) 15 | (fp_circle (center 0 0) (end 1.5 0) (layer F.Fab) (width 0.1)) 16 | (pad "" smd circle (at 0 0) (size 1.5 1.5) (layers "F.Cu" "F.Mask") 17 | (solder_mask_margin 0.75) (clearance 0.75) (tstamp 3159fd09-c1e9-4753-a4c4-85c5c7ba0612)) 18 | ) 19 | -------------------------------------------------------------------------------- /pcb/components/tooling/tooling.pretty/TestPoint_Pad_D1.0mm.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "TestPoint_Pad_D1.0mm" (layer F.Cu) (tedit 5F1050D1) 2 | (descr "SMD pad as test Point, diameter 1.0mm") 3 | (tags "test point SMD pad") 4 | (attr virtual) 5 | (fp_text reference "REF**" (at 0 0) (layer Eco2.User) hide 6 | (effects (font (size 0.3 0.3) (thickness 0.05))) 7 | ) 8 | (fp_text value "TestPoint_Pad_D1.0mm" (at 0 1.55) (layer Eco2.User) hide 9 | (effects (font (size 1 1) (thickness 0.15))) 10 | ) 11 | (fp_text user "${REFERENCE}" (at 0 0) (layer F.Fab) 12 | (effects (font (size 0.3 0.3) (thickness 0.05))) 13 | ) 14 | (fp_circle (center 0 0) (end 0.6 0) (layer F.CrtYd) (width 0.05)) 15 | (fp_circle (center 0 0) (end 0 0.6) (layer F.SilkS) (width 0.12)) 16 | (fp_circle (center 0 0) (end 0.6 0) (layer F.Fab) (width 0.12)) 17 | (pad "1" smd circle (at 0 0) (size 1 1) (layers "F.Cu" "F.Mask") (tstamp 7ce46348-ee57-4785-aa83-95a1dfa4f0f6)) 18 | ) 19 | -------------------------------------------------------------------------------- /pcb/components/tooling/tooling.pretty/TestPoint_Pad_D4.0mm.kicad_mod: -------------------------------------------------------------------------------- 1 | (module TestPoint_Pad_D4.0mm (layer F.Cu) (tedit 5ED8D66E) 2 | (descr "SMD pad as test Point, diameter 4.0mm") 3 | (tags "test point SMD pad") 4 | (attr virtual) 5 | (fp_text reference REF** (at 0 0) (layer Eco2.User) hide 6 | (effects (font (size 1 1) (thickness 0.15))) 7 | ) 8 | (fp_text value TestPoint_Pad_D4.0mm (at 0 3.1) (layer Eco2.User) hide 9 | (effects (font (size 1 1) (thickness 0.15))) 10 | ) 11 | (fp_text user %R (at 0 0) (layer F.Fab) 12 | (effects (font (size 1 1) (thickness 0.15))) 13 | ) 14 | (fp_circle (center 0 0) (end 2.25 0) (layer F.CrtYd) (width 0.05)) 15 | (fp_circle (center 0 0) (end 0 2.25) (layer F.SilkS) (width 0.12)) 16 | (fp_circle (center 0 0) (end 2.25 0) (layer F.Fab) (width 0.12)) 17 | (pad 1 smd circle (at 0 0) (size 4 4) (layers F.Cu F.Mask)) 18 | ) 19 | -------------------------------------------------------------------------------- /pcb/fp-info-cache: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /pcb/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (lib (name "BAT-HLD-001")(type "KiCad")(uri "${KIPRJMOD}/components/BAT-HLD-001/BAT-HLD-001.pretty")(options "")(descr "")) 3 | (lib (name "frenchEarwire")(type "KiCad")(uri "${KIPRJMOD}/components/frenchEarwire/frenchEarwire.pretty")(options "")(descr "")) 4 | (lib (name "BL-HUB37A-AV-TRB")(type "KiCad")(uri "${KIPRJMOD}/components/BL-HUB37A-AV-TRB/BL-HUB37A-AV-TRB.pretty")(options "")(descr "")) 5 | (lib (name "tooling")(type "KiCad")(uri "${KIPRJMOD}/components/tooling/tooling.pretty")(options "")(descr "")) 6 | (lib (name "passives")(type "KiCad")(uri "${KIPRJMOD}/components/passives/passives.pretty")(options "")(descr "")) 7 | (lib (name "STM8L15xxx")(type "KiCad")(uri "${KIPRJMOD}/components/STM8L15xxx/STM8L15xxx.pretty")(options "")(descr "")) 8 | (lib (name "LSM6DSM")(type "KiCad")(uri "${KIPRJMOD}/components/LSM6DSM/LSM6DSM.pretty")(options "")(descr "")) 9 | (lib (name "SPW2430HR5H-B")(type "KiCad")(uri "${KIPRJMOD}/components/SPW2430HR5H-B/SPW2430HR5H-B.pretty")(options "")(descr "")) 10 | (lib (name "KXT3")(type "KiCad")(uri "${KIPRJMOD}/components/KXT3/KXT3.pretty")(options "")(descr "")) 11 | ) 12 | -------------------------------------------------------------------------------- /pcb/halo-90.kicad_prl: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "active_layer": 40, 4 | "active_layer_preset": "", 5 | "auto_track_width": true, 6 | "hidden_nets": [], 7 | "high_contrast_mode": 0, 8 | "net_color_mode": 1, 9 | "opacity": { 10 | "pads": 1.0, 11 | "tracks": 1.0, 12 | "vias": 1.0, 13 | "zones": 1.0 14 | }, 15 | "ratsnest_display_mode": 0, 16 | "selection_filter": { 17 | "dimensions": true, 18 | "footprints": true, 19 | "graphics": true, 20 | "keepouts": true, 21 | "lockedItems": true, 22 | "otherItems": true, 23 | "pads": true, 24 | "text": true, 25 | "tracks": true, 26 | "vias": true, 27 | "zones": true 28 | }, 29 | "visible_items": [ 30 | 1, 31 | 2, 32 | 3, 33 | 4, 34 | 5, 35 | 6, 36 | 9, 37 | 10, 38 | 11, 39 | 12, 40 | 13, 41 | 14, 42 | 15, 43 | 16, 44 | 17, 45 | 18, 46 | 20, 47 | 21, 48 | 25, 49 | 26, 50 | 27, 51 | 28, 52 | 32, 53 | 33, 54 | 34, 55 | 37, 56 | 38 57 | ], 58 | "visible_layers": "0001102_00000001", 59 | "zone_display_mode": 0 60 | }, 61 | "meta": { 62 | "filename": "halo-90.kicad_prl", 63 | "version": 3 64 | }, 65 | "project": { 66 | "files": [] 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /pcb/halo-90.kicad_pro: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "design_settings": { 4 | "defaults": { 5 | "board_outline_line_width": 0.038099, 6 | "copper_line_width": 0.254, 7 | "copper_text_italic": false, 8 | "copper_text_size_h": 1.524, 9 | "copper_text_size_v": 1.524, 10 | "copper_text_thickness": 0.30479999999999996, 11 | "copper_text_upright": true, 12 | "courtyard_line_width": 0.049999999999999996, 13 | "dimension_precision": 1, 14 | "dimension_units": 0, 15 | "dimensions": { 16 | "arrow_length": 1270000, 17 | "extension_offset": 500000, 18 | "keep_text_aligned": true, 19 | "suppress_zeroes": false, 20 | "text_position": 0, 21 | "units_format": 1 22 | }, 23 | "fab_line_width": 0.09999999999999999, 24 | "fab_text_italic": false, 25 | "fab_text_size_h": 1.0, 26 | "fab_text_size_v": 1.0, 27 | "fab_text_thickness": 0.15, 28 | "fab_text_upright": false, 29 | "other_line_width": 0.15, 30 | "other_text_italic": false, 31 | "other_text_size_h": 1.0, 32 | "other_text_size_v": 1.0, 33 | "other_text_thickness": 0.15, 34 | "other_text_upright": true, 35 | "pads": { 36 | "drill": 0.762, 37 | "height": 1.524, 38 | "width": 1.524 39 | }, 40 | "silk_line_width": 0.127, 41 | "silk_text_italic": false, 42 | "silk_text_size_h": 0.762, 43 | "silk_text_size_v": 0.762, 44 | "silk_text_thickness": 0.127, 45 | "silk_text_upright": true, 46 | "zones": { 47 | "45_degree_only": false, 48 | "min_clearance": 0.19999999999999998 49 | } 50 | }, 51 | "diff_pair_dimensions": [ 52 | { 53 | "gap": 0.1524, 54 | "via_gap": 0.25, 55 | "width": 0.1524 56 | } 57 | ], 58 | "drc_exclusions": [], 59 | "meta": { 60 | "version": 1 61 | }, 62 | "rule_severities": { 63 | "annular_width": "error", 64 | "clearance": "error", 65 | "copper_edge_clearance": "error", 66 | "courtyards_overlap": "error", 67 | "diff_pair_gap_out_of_range": "error", 68 | "diff_pair_uncoupled_length_too_long": "error", 69 | "drill_out_of_range": "error", 70 | "duplicate_footprints": "warning", 71 | "extra_footprint": "warning", 72 | "hole_clearance": "error", 73 | "hole_near_hole": "error", 74 | "invalid_outline": "error", 75 | "item_on_disabled_layer": "error", 76 | "items_not_allowed": "error", 77 | "length_out_of_range": "error", 78 | "malformed_courtyard": "error", 79 | "microvia_drill_out_of_range": "error", 80 | "missing_courtyard": "ignore", 81 | "missing_footprint": "warning", 82 | "net_conflict": "warning", 83 | "npth_inside_courtyard": "ignore", 84 | "padstack": "error", 85 | "pth_inside_courtyard": "ignore", 86 | "shorting_items": "error", 87 | "silk_over_copper": "error", 88 | "silk_overlap": "error", 89 | "skew_out_of_range": "error", 90 | "too_many_vias": "error", 91 | "track_dangling": "warning", 92 | "track_width": "error", 93 | "tracks_crossing": "error", 94 | "unconnected_items": "error", 95 | "unresolved_variable": "error", 96 | "via_dangling": "warning", 97 | "zone_has_empty_net": "error", 98 | "zones_intersect": "error" 99 | }, 100 | "rule_severitieslegacy_courtyards_overlap": false, 101 | "rule_severitieslegacy_no_courtyard_defined": false, 102 | "rules": { 103 | "allow_blind_buried_vias": false, 104 | "allow_microvias": false, 105 | "max_error": 0.005, 106 | "min_clearance": 0.127, 107 | "min_copper_edge_clearance": 0.01, 108 | "min_hole_clearance": 0.0, 109 | "min_hole_to_hole": 0.25, 110 | "min_microvia_diameter": 0.19999999999999998, 111 | "min_microvia_drill": 0.09999999999999999, 112 | "min_silk_clearance": 0.0, 113 | "min_through_hole_diameter": 0.19999999999999998, 114 | "min_track_width": 0.127, 115 | "min_via_annular_width": 0.049999999999999996, 116 | "min_via_annulus": 0.049999999999999996, 117 | "min_via_diameter": 0.44999999999999996, 118 | "solder_mask_clearance": 0.0, 119 | "solder_mask_min_width": 0.0, 120 | "solder_paste_clearance": 0.0, 121 | "solder_paste_margin_ratio": -0.0 122 | }, 123 | "track_widths": [ 124 | 0.127, 125 | 0.2, 126 | 0.25, 127 | 0.3, 128 | 0.4, 129 | 0.5 130 | ], 131 | "via_dimensions": [ 132 | { 133 | "diameter": 0.45, 134 | "drill": 0.2 135 | }, 136 | { 137 | "diameter": 0.45, 138 | "drill": 0.2 139 | }, 140 | { 141 | "diameter": 0.5, 142 | "drill": 0.25 143 | } 144 | ], 145 | "zones_allow_external_fillets": false, 146 | "zones_use_no_outline": false 147 | }, 148 | "layer_presets": [] 149 | }, 150 | "boards": [], 151 | "cvpcb": { 152 | "equivalence_files": [] 153 | }, 154 | "erc": { 155 | "erc_exclusions": [], 156 | "meta": { 157 | "version": 0 158 | }, 159 | "pin_map": [ 160 | [ 161 | 0, 162 | 0, 163 | 0, 164 | 0, 165 | 0, 166 | 0, 167 | 1, 168 | 0, 169 | 0, 170 | 0, 171 | 0, 172 | 2 173 | ], 174 | [ 175 | 0, 176 | 2, 177 | 0, 178 | 1, 179 | 0, 180 | 0, 181 | 1, 182 | 0, 183 | 2, 184 | 2, 185 | 2, 186 | 2 187 | ], 188 | [ 189 | 0, 190 | 0, 191 | 0, 192 | 0, 193 | 0, 194 | 0, 195 | 1, 196 | 0, 197 | 1, 198 | 0, 199 | 1, 200 | 2 201 | ], 202 | [ 203 | 0, 204 | 1, 205 | 0, 206 | 0, 207 | 0, 208 | 0, 209 | 1, 210 | 1, 211 | 2, 212 | 1, 213 | 1, 214 | 2 215 | ], 216 | [ 217 | 0, 218 | 0, 219 | 0, 220 | 0, 221 | 0, 222 | 0, 223 | 1, 224 | 0, 225 | 0, 226 | 0, 227 | 0, 228 | 2 229 | ], 230 | [ 231 | 0, 232 | 0, 233 | 0, 234 | 0, 235 | 0, 236 | 0, 237 | 0, 238 | 0, 239 | 0, 240 | 0, 241 | 0, 242 | 2 243 | ], 244 | [ 245 | 1, 246 | 1, 247 | 1, 248 | 1, 249 | 1, 250 | 0, 251 | 1, 252 | 1, 253 | 1, 254 | 1, 255 | 1, 256 | 2 257 | ], 258 | [ 259 | 0, 260 | 0, 261 | 0, 262 | 1, 263 | 0, 264 | 0, 265 | 1, 266 | 0, 267 | 0, 268 | 0, 269 | 0, 270 | 2 271 | ], 272 | [ 273 | 0, 274 | 2, 275 | 1, 276 | 2, 277 | 0, 278 | 0, 279 | 1, 280 | 0, 281 | 2, 282 | 2, 283 | 2, 284 | 2 285 | ], 286 | [ 287 | 0, 288 | 2, 289 | 0, 290 | 1, 291 | 0, 292 | 0, 293 | 1, 294 | 0, 295 | 2, 296 | 0, 297 | 0, 298 | 2 299 | ], 300 | [ 301 | 0, 302 | 2, 303 | 1, 304 | 1, 305 | 0, 306 | 0, 307 | 1, 308 | 0, 309 | 2, 310 | 0, 311 | 0, 312 | 2 313 | ], 314 | [ 315 | 2, 316 | 2, 317 | 2, 318 | 2, 319 | 2, 320 | 2, 321 | 2, 322 | 2, 323 | 2, 324 | 2, 325 | 2, 326 | 2 327 | ] 328 | ], 329 | "rule_severities": { 330 | "bus_definition_conflict": "error", 331 | "bus_label_syntax": "error", 332 | "bus_to_bus_conflict": "error", 333 | "bus_to_net_conflict": "error", 334 | "different_unit_footprint": "error", 335 | "different_unit_net": "error", 336 | "duplicate_reference": "error", 337 | "duplicate_sheet_names": "error", 338 | "extra_units": "error", 339 | "global_label_dangling": "error", 340 | "hier_label_mismatch": "error", 341 | "label_dangling": "error", 342 | "lib_symbol_issues": "warning", 343 | "multiple_net_names": "error", 344 | "net_not_bus_member": "error", 345 | "no_connect_connected": "error", 346 | "no_connect_dangling": "error", 347 | "pin_not_connected": "error", 348 | "pin_not_driven": "error", 349 | "pin_to_pin": "warning", 350 | "power_pin_not_driven": "error", 351 | "similar_labels": "error", 352 | "unannotated": "error", 353 | "unit_value_mismatch": "error", 354 | "unresolved_variable": "error", 355 | "wire_dangling": "error" 356 | } 357 | }, 358 | "libraries": { 359 | "pinned_footprint_libs": [], 360 | "pinned_symbol_libs": [] 361 | }, 362 | "meta": { 363 | "filename": "halo-90.kicad_pro", 364 | "version": 1 365 | }, 366 | "net_settings": { 367 | "classes": [ 368 | { 369 | "bus_width": 12.0, 370 | "clearance": 0.127, 371 | "diff_pair_gap": 0.1524, 372 | "diff_pair_via_gap": 0.25, 373 | "diff_pair_width": 0.1524, 374 | "line_style": 0, 375 | "microvia_diameter": 0.6858, 376 | "microvia_drill": 0.254, 377 | "name": "Default", 378 | "pcb_color": "rgba(0, 0, 0, 0.000)", 379 | "schematic_color": "rgba(0, 0, 0, 0.000)", 380 | "track_width": 0.127, 381 | "via_diameter": 0.45, 382 | "via_drill": 0.2, 383 | "wire_width": 6.0 384 | } 385 | ], 386 | "hidden_nets": [], 387 | "meta": { 388 | "version": 0 389 | }, 390 | "net_colors": null 391 | }, 392 | "pcbnew": { 393 | "last_paths": { 394 | "gencad": "", 395 | "idf": "", 396 | "netlist": "", 397 | "specctra_dsn": "", 398 | "step": "../../../../Desktop/halo-90.step", 399 | "vmrl": "../../../../Desktop/halo-90.wrl", 400 | "vrml": "" 401 | }, 402 | "page_layout_descr_file": "" 403 | }, 404 | "schematic": { 405 | "drawing": { 406 | "default_bus_thickness": 12.0, 407 | "default_junction_size": 40.0, 408 | "default_line_thickness": 6.0, 409 | "default_text_size": 50.0, 410 | "default_wire_thickness": 6.0, 411 | "field_names": [], 412 | "intersheets_ref_prefix": "", 413 | "intersheets_ref_short": false, 414 | "intersheets_ref_show": false, 415 | "intersheets_ref_suffix": "", 416 | "junction_size_choice": 3, 417 | "pin_symbol_size": 25.0, 418 | "text_offset_ratio": 0.3 419 | }, 420 | "legacy_lib_dir": "", 421 | "legacy_lib_list": [], 422 | "meta": { 423 | "version": 0 424 | }, 425 | "net_format_name": "", 426 | "page_layout_descr_file": "default.kicad_wks", 427 | "plot_directory": "C:/Users/sawaiz/Desktop/", 428 | "spice_adjust_passive_values": false, 429 | "spice_external_command": "spice \"%I\"", 430 | "subpart_first_id": 65, 431 | "subpart_id_separator": 0 432 | }, 433 | "sheets": [ 434 | [ 435 | "8b8082dc-fce8-476b-a8c5-f2295d7deeba", 436 | "" 437 | ] 438 | ], 439 | "text_variables": {} 440 | } 441 | -------------------------------------------------------------------------------- /pcb/halo-90.pro: -------------------------------------------------------------------------------- 1 | update=22/05/2015 07:44:53 2 | version=1 3 | last_client=kicad 4 | [general] 5 | version=1 6 | RootSch= 7 | BoardNm= 8 | [pcbnew] 9 | version=1 10 | LastNetListRead= 11 | UseCmpFile=1 12 | PadDrill=0.600000000000 13 | PadDrillOvalY=0.600000000000 14 | PadSizeH=1.500000000000 15 | PadSizeV=1.500000000000 16 | PcbTextSizeV=1.500000000000 17 | PcbTextSizeH=1.500000000000 18 | PcbTextThickness=0.300000000000 19 | ModuleTextSizeV=1.000000000000 20 | ModuleTextSizeH=1.000000000000 21 | ModuleTextSizeThickness=0.150000000000 22 | SolderMaskClearance=0.000000000000 23 | SolderMaskMinWidth=0.000000000000 24 | DrawSegmentWidth=0.200000000000 25 | BoardOutlineThickness=0.100000000000 26 | ModuleOutlineThickness=0.150000000000 27 | [cvpcb] 28 | version=1 29 | NetIExt=net 30 | [eeschema] 31 | version=1 32 | LibDir= 33 | [eeschema/libraries] 34 | -------------------------------------------------------------------------------- /pcb/sym-lib-table: -------------------------------------------------------------------------------- 1 | (sym_lib_table 2 | (lib (name "BAT-HLD-001")(type "Legacy")(uri "${KIPRJMOD}/components/BAT-HLD-001/BAT-HLD-001.lib")(options "")(descr "")) 3 | (lib (name "BL-HUB37A-AV-TRB")(type "KiCad")(uri "${KIPRJMOD}/components/BL-HUB37A-AV-TRB/BL-HUB37A-AV-TRB.kicad_sym")(options "")(descr "")) 4 | (lib (name "frenchEarwire")(type "KiCad")(uri "${KIPRJMOD}/components/frenchEarwire/frenchEarwire.kicad_sym")(options "")(descr "")) 5 | (lib (name "tooling")(type "KiCad")(uri "${KIPRJMOD}/components/tooling/tooling.kicad_sym")(options "")(descr "")) 6 | (lib (name "nets")(type "KiCad")(uri "${KIPRJMOD}/components/nets/nets.kicad_sym")(options "")(descr "")) 7 | (lib (name "passives")(type "KiCad")(uri "${KIPRJMOD}/components/passives/passives.kicad_sym")(options "")(descr "")) 8 | (lib (name "LSM6DSM")(type "KiCad")(uri "${KIPRJMOD}/components/LSM6DSM/LSM6DSM.kicad_sym")(options "")(descr "")) 9 | (lib (name "STM8L15xxx")(type "KiCad")(uri "${KIPRJMOD}/components/STM8L15xxx/STM8L15xxx.kicad_sym")(options "")(descr "")) 10 | (lib (name "SPW2430HR5H-B")(type "KiCad")(uri "${KIPRJMOD}/components/SPW2430HR5H-B/SPW2430HR5H-B.kicad_sym")(options "")(descr "")) 11 | (lib (name "KXT3")(type "KiCad")(uri "${KIPRJMOD}/components/KXT3/KXT3.kicad_sym")(options "")(descr "")) 12 | ) 13 | --------------------------------------------------------------------------------