├── LICENSE
├── README.md
├── YATPGPSDO
├── README.md
├── YATPGPSDO.ino
├── tp_button.ino
├── tp_display.ino
├── tp_gpsdo.h
└── tp_message.ino
└── hardware
├── GPSDO-backups
├── GPSDO-2022-03-15_232258.zip
├── GPSDO-2022-03-28_073945.zip
└── GPSDO-2022-04-09_113002.zip
├── GPSDO-cache.lib
├── GPSDO.kicad_pcb
├── GPSDO.kicad_prl
├── GPSDO.kicad_pro
├── GPSDO.pro
├── GPSDO.sch
├── Gerbers
├── GPSDO-B_Cu.gbr
├── GPSDO-B_Mask.gbr
├── GPSDO-B_Silkscreen.gbr
├── GPSDO-Edge_Cuts.gbr
├── GPSDO-F_Cu.gbr
├── GPSDO-F_Mask.gbr
├── GPSDO-F_Silkscreen.gbr
├── GPSDO-NPTH.drl
├── GPSDO-PTH.drl
└── GPSDO-job.gbrjob
├── README.md
└── fp-info-cache
/LICENSE:
--------------------------------------------------------------------------------
1 | GNU GENERAL PUBLIC LICENSE
2 | Version 3, 29 June 2007
3 |
4 | Copyright (C) 2007 Free Software Foundation, Inc.
5 | Everyone is permitted to copy and distribute verbatim copies
6 | of this license document, but changing it is not allowed.
7 |
8 | Preamble
9 |
10 | The GNU General Public License is a free, copyleft license for
11 | software and other kinds of works.
12 |
13 | The licenses for most software and other practical works are designed
14 | to take away your freedom to share and change the works. By contrast,
15 | the GNU General Public License is intended to guarantee your freedom to
16 | share and change all versions of a program--to make sure it remains free
17 | software for all its users. We, the Free Software Foundation, use the
18 | GNU General Public License for most of our software; it applies also to
19 | any other work released this way by its authors. You can apply it to
20 | your programs, too.
21 |
22 | When we speak of free software, we are referring to freedom, not
23 | price. Our General Public Licenses are designed to make sure that you
24 | have the freedom to distribute copies of free software (and charge for
25 | them if you wish), that you receive source code or can get it if you
26 | want it, that you can change the software or use pieces of it in new
27 | free programs, and that you know you can do these things.
28 |
29 | To protect your rights, we need to prevent others from denying you
30 | these rights or asking you to surrender the rights. Therefore, you have
31 | certain responsibilities if you distribute copies of the software, or if
32 | you modify it: responsibilities to respect the freedom of others.
33 |
34 | For example, if you distribute copies of such a program, whether
35 | gratis or for a fee, you must pass on to the recipients the same
36 | freedoms that you received. You must make sure that they, too, receive
37 | or can get the source code. And you must show them these terms so they
38 | know their rights.
39 |
40 | Developers that use the GNU GPL protect your rights with two steps:
41 | (1) assert copyright on the software, and (2) offer you this License
42 | giving you legal permission to copy, distribute and/or modify it.
43 |
44 | For the developers' and authors' protection, the GPL clearly explains
45 | that there is no warranty for this free software. For both users' and
46 | authors' sake, the GPL requires that modified versions be marked as
47 | changed, so that their problems will not be attributed erroneously to
48 | authors of previous versions.
49 |
50 | Some devices are designed to deny users access to install or run
51 | modified versions of the software inside them, although the manufacturer
52 | can do so. This is fundamentally incompatible with the aim of
53 | protecting users' freedom to change the software. The systematic
54 | pattern of such abuse occurs in the area of products for individuals to
55 | use, which is precisely where it is most unacceptable. Therefore, we
56 | have designed this version of the GPL to prohibit the practice for those
57 | products. If such problems arise substantially in other domains, we
58 | stand ready to extend this provision to those domains in future versions
59 | of the GPL, as needed to protect the freedom of users.
60 |
61 | Finally, every program is threatened constantly by software patents.
62 | States should not allow patents to restrict development and use of
63 | software on general-purpose computers, but in those that do, we wish to
64 | avoid the special danger that patents applied to a free program could
65 | make it effectively proprietary. To prevent this, the GPL assures that
66 | patents cannot be used to render the program non-free.
67 |
68 | The precise terms and conditions for copying, distribution and
69 | modification follow.
70 |
71 | TERMS AND CONDITIONS
72 |
73 | 0. Definitions.
74 |
75 | "This License" refers to version 3 of the GNU General Public License.
76 |
77 | "Copyright" also means copyright-like laws that apply to other kinds of
78 | works, such as semiconductor masks.
79 |
80 | "The Program" refers to any copyrightable work licensed under this
81 | License. Each licensee is addressed as "you". "Licensees" and
82 | "recipients" may be individuals or organizations.
83 |
84 | To "modify" a work means to copy from or adapt all or part of the work
85 | in a fashion requiring copyright permission, other than the making of an
86 | exact copy. The resulting work is called a "modified version" of the
87 | earlier work or a work "based on" the earlier work.
88 |
89 | A "covered work" means either the unmodified Program or a work based
90 | on the Program.
91 |
92 | To "propagate" a work means to do anything with it that, without
93 | permission, would make you directly or secondarily liable for
94 | infringement under applicable copyright law, except executing it on a
95 | computer or modifying a private copy. Propagation includes copying,
96 | distribution (with or without modification), making available to the
97 | public, and in some countries other activities as well.
98 |
99 | To "convey" a work means any kind of propagation that enables other
100 | parties to make or receive copies. Mere interaction with a user through
101 | a computer network, with no transfer of a copy, is not conveying.
102 |
103 | An interactive user interface displays "Appropriate Legal Notices"
104 | to the extent that it includes a convenient and prominently visible
105 | feature that (1) displays an appropriate copyright notice, and (2)
106 | tells the user that there is no warranty for the work (except to the
107 | extent that warranties are provided), that licensees may convey the
108 | work under this License, and how to view a copy of this License. If
109 | the interface presents a list of user commands or options, such as a
110 | menu, a prominent item in the list meets this criterion.
111 |
112 | 1. Source Code.
113 |
114 | The "source code" for a work means the preferred form of the work
115 | for making modifications to it. "Object code" means any non-source
116 | form of a work.
117 |
118 | A "Standard Interface" means an interface that either is an official
119 | standard defined by a recognized standards body, or, in the case of
120 | interfaces specified for a particular programming language, one that
121 | is widely used among developers working in that language.
122 |
123 | The "System Libraries" of an executable work include anything, other
124 | than the work as a whole, that (a) is included in the normal form of
125 | packaging a Major Component, but which is not part of that Major
126 | Component, and (b) serves only to enable use of the work with that
127 | Major Component, or to implement a Standard Interface for which an
128 | implementation is available to the public in source code form. A
129 | "Major Component", in this context, means a major essential component
130 | (kernel, window system, and so on) of the specific operating system
131 | (if any) on which the executable work runs, or a compiler used to
132 | produce the work, or an object code interpreter used to run it.
133 |
134 | The "Corresponding Source" for a work in object code form means all
135 | the source code needed to generate, install, and (for an executable
136 | work) run the object code and to modify the work, including scripts to
137 | control those activities. However, it does not include the work's
138 | System Libraries, or general-purpose tools or generally available free
139 | programs which are used unmodified in performing those activities but
140 | which are not part of the work. For example, Corresponding Source
141 | includes interface definition files associated with source files for
142 | the work, and the source code for shared libraries and dynamically
143 | linked subprograms that the work is specifically designed to require,
144 | such as by intimate data communication or control flow between those
145 | subprograms and other parts of the work.
146 |
147 | The Corresponding Source need not include anything that users
148 | can regenerate automatically from other parts of the Corresponding
149 | Source.
150 |
151 | The Corresponding Source for a work in source code form is that
152 | same work.
153 |
154 | 2. Basic Permissions.
155 |
156 | All rights granted under this License are granted for the term of
157 | copyright on the Program, and are irrevocable provided the stated
158 | conditions are met. This License explicitly affirms your unlimited
159 | permission to run the unmodified Program. The output from running a
160 | covered work is covered by this License only if the output, given its
161 | content, constitutes a covered work. This License acknowledges your
162 | rights of fair use or other equivalent, as provided by copyright law.
163 |
164 | You may make, run and propagate covered works that you do not
165 | convey, without conditions so long as your license otherwise remains
166 | in force. You may convey covered works to others for the sole purpose
167 | of having them make modifications exclusively for you, or provide you
168 | with facilities for running those works, provided that you comply with
169 | the terms of this License in conveying all material for which you do
170 | not control copyright. Those thus making or running the covered works
171 | for you must do so exclusively on your behalf, under your direction
172 | and control, on terms that prohibit them from making any copies of
173 | your copyrighted material outside their relationship with you.
174 |
175 | Conveying under any other circumstances is permitted solely under
176 | the conditions stated below. Sublicensing is not allowed; section 10
177 | makes it unnecessary.
178 |
179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180 |
181 | No covered work shall be deemed part of an effective technological
182 | measure under any applicable law fulfilling obligations under article
183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or
184 | similar laws prohibiting or restricting circumvention of such
185 | measures.
186 |
187 | When you convey a covered work, you waive any legal power to forbid
188 | circumvention of technological measures to the extent such circumvention
189 | is effected by exercising rights under this License with respect to
190 | the covered work, and you disclaim any intention to limit operation or
191 | modification of the work as a means of enforcing, against the work's
192 | users, your or third parties' legal rights to forbid circumvention of
193 | technological measures.
194 |
195 | 4. Conveying Verbatim Copies.
196 |
197 | You may convey verbatim copies of the Program's source code as you
198 | receive it, in any medium, provided that you conspicuously and
199 | appropriately publish on each copy an appropriate copyright notice;
200 | keep intact all notices stating that this License and any
201 | non-permissive terms added in accord with section 7 apply to the code;
202 | keep intact all notices of the absence of any warranty; and give all
203 | recipients a copy of this License along with the Program.
204 |
205 | You may charge any price or no price for each copy that you convey,
206 | and you may offer support or warranty protection for a fee.
207 |
208 | 5. Conveying Modified Source Versions.
209 |
210 | You may convey a work based on the Program, or the modifications to
211 | produce it from the Program, in the form of source code under the
212 | terms of section 4, provided that you also meet all of these conditions:
213 |
214 | a) The work must carry prominent notices stating that you modified
215 | it, and giving a relevant date.
216 |
217 | b) The work must carry prominent notices stating that it is
218 | released under this License and any conditions added under section
219 | 7. This requirement modifies the requirement in section 4 to
220 | "keep intact all notices".
221 |
222 | c) You must license the entire work, as a whole, under this
223 | License to anyone who comes into possession of a copy. This
224 | License will therefore apply, along with any applicable section 7
225 | additional terms, to the whole of the work, and all its parts,
226 | regardless of how they are packaged. This License gives no
227 | permission to license the work in any other way, but it does not
228 | invalidate such permission if you have separately received it.
229 |
230 | d) If the work has interactive user interfaces, each must display
231 | Appropriate Legal Notices; however, if the Program has interactive
232 | interfaces that do not display Appropriate Legal Notices, your
233 | work need not make them do so.
234 |
235 | A compilation of a covered work with other separate and independent
236 | works, which are not by their nature extensions of the covered work,
237 | and which are not combined with it such as to form a larger program,
238 | in or on a volume of a storage or distribution medium, is called an
239 | "aggregate" if the compilation and its resulting copyright are not
240 | used to limit the access or legal rights of the compilation's users
241 | beyond what the individual works permit. Inclusion of a covered work
242 | in an aggregate does not cause this License to apply to the other
243 | parts of the aggregate.
244 |
245 | 6. Conveying Non-Source Forms.
246 |
247 | You may convey a covered work in object code form under the terms
248 | of sections 4 and 5, provided that you also convey the
249 | machine-readable Corresponding Source under the terms of this License,
250 | in one of these ways:
251 |
252 | a) Convey the object code in, or embodied in, a physical product
253 | (including a physical distribution medium), accompanied by the
254 | Corresponding Source fixed on a durable physical medium
255 | customarily used for software interchange.
256 |
257 | b) Convey the object code in, or embodied in, a physical product
258 | (including a physical distribution medium), accompanied by a
259 | written offer, valid for at least three years and valid for as
260 | long as you offer spare parts or customer support for that product
261 | model, to give anyone who possesses the object code either (1) a
262 | copy of the Corresponding Source for all the software in the
263 | product that is covered by this License, on a durable physical
264 | medium customarily used for software interchange, for a price no
265 | more than your reasonable cost of physically performing this
266 | conveying of source, or (2) access to copy the
267 | Corresponding Source from a network server at no charge.
268 |
269 | c) Convey individual copies of the object code with a copy of the
270 | written offer to provide the Corresponding Source. This
271 | alternative is allowed only occasionally and noncommercially, and
272 | only if you received the object code with such an offer, in accord
273 | with subsection 6b.
274 |
275 | d) Convey the object code by offering access from a designated
276 | place (gratis or for a charge), and offer equivalent access to the
277 | Corresponding Source in the same way through the same place at no
278 | further charge. You need not require recipients to copy the
279 | Corresponding Source along with the object code. If the place to
280 | copy the object code is a network server, the Corresponding Source
281 | may be on a different server (operated by you or a third party)
282 | that supports equivalent copying facilities, provided you maintain
283 | clear directions next to the object code saying where to find the
284 | Corresponding Source. Regardless of what server hosts the
285 | Corresponding Source, you remain obligated to ensure that it is
286 | available for as long as needed to satisfy these requirements.
287 |
288 | e) Convey the object code using peer-to-peer transmission, provided
289 | you inform other peers where the object code and Corresponding
290 | Source of the work are being offered to the general public at no
291 | charge under subsection 6d.
292 |
293 | A separable portion of the object code, whose source code is excluded
294 | from the Corresponding Source as a System Library, need not be
295 | included in conveying the object code work.
296 |
297 | A "User Product" is either (1) a "consumer product", which means any
298 | tangible personal property which is normally used for personal, family,
299 | or household purposes, or (2) anything designed or sold for incorporation
300 | into a dwelling. In determining whether a product is a consumer product,
301 | doubtful cases shall be resolved in favor of coverage. For a particular
302 | product received by a particular user, "normally used" refers to a
303 | typical or common use of that class of product, regardless of the status
304 | of the particular user or of the way in which the particular user
305 | actually uses, or expects or is expected to use, the product. A product
306 | is a consumer product regardless of whether the product has substantial
307 | commercial, industrial or non-consumer uses, unless such uses represent
308 | the only significant mode of use of the product.
309 |
310 | "Installation Information" for a User Product means any methods,
311 | procedures, authorization keys, or other information required to install
312 | and execute modified versions of a covered work in that User Product from
313 | a modified version of its Corresponding Source. The information must
314 | suffice to ensure that the continued functioning of the modified object
315 | code is in no case prevented or interfered with solely because
316 | modification has been made.
317 |
318 | If you convey an object code work under this section in, or with, or
319 | specifically for use in, a User Product, and the conveying occurs as
320 | part of a transaction in which the right of possession and use of the
321 | User Product is transferred to the recipient in perpetuity or for a
322 | fixed term (regardless of how the transaction is characterized), the
323 | Corresponding Source conveyed under this section must be accompanied
324 | by the Installation Information. But this requirement does not apply
325 | if neither you nor any third party retains the ability to install
326 | modified object code on the User Product (for example, the work has
327 | been installed in ROM).
328 |
329 | The requirement to provide Installation Information does not include a
330 | requirement to continue to provide support service, warranty, or updates
331 | for a work that has been modified or installed by the recipient, or for
332 | the User Product in which it has been modified or installed. Access to a
333 | network may be denied when the modification itself materially and
334 | adversely affects the operation of the network or violates the rules and
335 | protocols for communication across the network.
336 |
337 | Corresponding Source conveyed, and Installation Information provided,
338 | in accord with this section must be in a format that is publicly
339 | documented (and with an implementation available to the public in
340 | source code form), and must require no special password or key for
341 | unpacking, reading or copying.
342 |
343 | 7. Additional Terms.
344 |
345 | "Additional permissions" are terms that supplement the terms of this
346 | License by making exceptions from one or more of its conditions.
347 | Additional permissions that are applicable to the entire Program shall
348 | be treated as though they were included in this License, to the extent
349 | that they are valid under applicable law. If additional permissions
350 | apply only to part of the Program, that part may be used separately
351 | under those permissions, but the entire Program remains governed by
352 | this License without regard to the additional permissions.
353 |
354 | When you convey a copy of a covered work, you may at your option
355 | remove any additional permissions from that copy, or from any part of
356 | it. (Additional permissions may be written to require their own
357 | removal in certain cases when you modify the work.) You may place
358 | additional permissions on material, added by you to a covered work,
359 | for which you have or can give appropriate copyright permission.
360 |
361 | Notwithstanding any other provision of this License, for material you
362 | add to a covered work, you may (if authorized by the copyright holders of
363 | that material) supplement the terms of this License with terms:
364 |
365 | a) Disclaiming warranty or limiting liability differently from the
366 | terms of sections 15 and 16 of this License; or
367 |
368 | b) Requiring preservation of specified reasonable legal notices or
369 | author attributions in that material or in the Appropriate Legal
370 | Notices displayed by works containing it; or
371 |
372 | c) Prohibiting misrepresentation of the origin of that material, or
373 | requiring that modified versions of such material be marked in
374 | reasonable ways as different from the original version; or
375 |
376 | d) Limiting the use for publicity purposes of names of licensors or
377 | authors of the material; or
378 |
379 | e) Declining to grant rights under trademark law for use of some
380 | trade names, trademarks, or service marks; or
381 |
382 | f) Requiring indemnification of licensors and authors of that
383 | material by anyone who conveys the material (or modified versions of
384 | it) with contractual assumptions of liability to the recipient, for
385 | any liability that these contractual assumptions directly impose on
386 | those licensors and authors.
387 |
388 | All other non-permissive additional terms are considered "further
389 | restrictions" within the meaning of section 10. If the Program as you
390 | received it, or any part of it, contains a notice stating that it is
391 | governed by this License along with a term that is a further
392 | restriction, you may remove that term. If a license document contains
393 | a further restriction but permits relicensing or conveying under this
394 | License, you may add to a covered work material governed by the terms
395 | of that license document, provided that the further restriction does
396 | not survive such relicensing or conveying.
397 |
398 | If you add terms to a covered work in accord with this section, you
399 | must place, in the relevant source files, a statement of the
400 | additional terms that apply to those files, or a notice indicating
401 | where to find the applicable terms.
402 |
403 | Additional terms, permissive or non-permissive, may be stated in the
404 | form of a separately written license, or stated as exceptions;
405 | the above requirements apply either way.
406 |
407 | 8. Termination.
408 |
409 | You may not propagate or modify a covered work except as expressly
410 | provided under this License. Any attempt otherwise to propagate or
411 | modify it is void, and will automatically terminate your rights under
412 | this License (including any patent licenses granted under the third
413 | paragraph of section 11).
414 |
415 | However, if you cease all violation of this License, then your
416 | license from a particular copyright holder is reinstated (a)
417 | provisionally, unless and until the copyright holder explicitly and
418 | finally terminates your license, and (b) permanently, if the copyright
419 | holder fails to notify you of the violation by some reasonable means
420 | prior to 60 days after the cessation.
421 |
422 | Moreover, your license from a particular copyright holder is
423 | reinstated permanently if the copyright holder notifies you of the
424 | violation by some reasonable means, this is the first time you have
425 | received notice of violation of this License (for any work) from that
426 | copyright holder, and you cure the violation prior to 30 days after
427 | your receipt of the notice.
428 |
429 | Termination of your rights under this section does not terminate the
430 | licenses of parties who have received copies or rights from you under
431 | this License. If your rights have been terminated and not permanently
432 | reinstated, you do not qualify to receive new licenses for the same
433 | material under section 10.
434 |
435 | 9. Acceptance Not Required for Having Copies.
436 |
437 | You are not required to accept this License in order to receive or
438 | run a copy of the Program. Ancillary propagation of a covered work
439 | occurring solely as a consequence of using peer-to-peer transmission
440 | to receive a copy likewise does not require acceptance. However,
441 | nothing other than this License grants you permission to propagate or
442 | modify any covered work. These actions infringe copyright if you do
443 | not accept this License. Therefore, by modifying or propagating a
444 | covered work, you indicate your acceptance of this License to do so.
445 |
446 | 10. Automatic Licensing of Downstream Recipients.
447 |
448 | Each time you convey a covered work, the recipient automatically
449 | receives a license from the original licensors, to run, modify and
450 | propagate that work, subject to this License. You are not responsible
451 | for enforcing compliance by third parties with this License.
452 |
453 | An "entity transaction" is a transaction transferring control of an
454 | organization, or substantially all assets of one, or subdividing an
455 | organization, or merging organizations. If propagation of a covered
456 | work results from an entity transaction, each party to that
457 | transaction who receives a copy of the work also receives whatever
458 | licenses to the work the party's predecessor in interest had or could
459 | give under the previous paragraph, plus a right to possession of the
460 | Corresponding Source of the work from the predecessor in interest, if
461 | the predecessor has it or can get it with reasonable efforts.
462 |
463 | You may not impose any further restrictions on the exercise of the
464 | rights granted or affirmed under this License. For example, you may
465 | not impose a license fee, royalty, or other charge for exercise of
466 | rights granted under this License, and you may not initiate litigation
467 | (including a cross-claim or counterclaim in a lawsuit) alleging that
468 | any patent claim is infringed by making, using, selling, offering for
469 | sale, or importing the Program or any portion of it.
470 |
471 | 11. Patents.
472 |
473 | A "contributor" is a copyright holder who authorizes use under this
474 | License of the Program or a work on which the Program is based. The
475 | work thus licensed is called the contributor's "contributor version".
476 |
477 | A contributor's "essential patent claims" are all patent claims
478 | owned or controlled by the contributor, whether already acquired or
479 | hereafter acquired, that would be infringed by some manner, permitted
480 | by this License, of making, using, or selling its contributor version,
481 | but do not include claims that would be infringed only as a
482 | consequence of further modification of the contributor version. For
483 | purposes of this definition, "control" includes the right to grant
484 | patent sublicenses in a manner consistent with the requirements of
485 | this License.
486 |
487 | Each contributor grants you a non-exclusive, worldwide, royalty-free
488 | patent license under the contributor's essential patent claims, to
489 | make, use, sell, offer for sale, import and otherwise run, modify and
490 | propagate the contents of its contributor version.
491 |
492 | In the following three paragraphs, a "patent license" is any express
493 | agreement or commitment, however denominated, not to enforce a patent
494 | (such as an express permission to practice a patent or covenant not to
495 | sue for patent infringement). To "grant" such a patent license to a
496 | party means to make such an agreement or commitment not to enforce a
497 | patent against the party.
498 |
499 | If you convey a covered work, knowingly relying on a patent license,
500 | and the Corresponding Source of the work is not available for anyone
501 | to copy, free of charge and under the terms of this License, through a
502 | publicly available network server or other readily accessible means,
503 | then you must either (1) cause the Corresponding Source to be so
504 | available, or (2) arrange to deprive yourself of the benefit of the
505 | patent license for this particular work, or (3) arrange, in a manner
506 | consistent with the requirements of this License, to extend the patent
507 | license to downstream recipients. "Knowingly relying" means you have
508 | actual knowledge that, but for the patent license, your conveying the
509 | covered work in a country, or your recipient's use of the covered work
510 | in a country, would infringe one or more identifiable patents in that
511 | country that you have reason to believe are valid.
512 |
513 | If, pursuant to or in connection with a single transaction or
514 | arrangement, you convey, or propagate by procuring conveyance of, a
515 | covered work, and grant a patent license to some of the parties
516 | receiving the covered work authorizing them to use, propagate, modify
517 | or convey a specific copy of the covered work, then the patent license
518 | you grant is automatically extended to all recipients of the covered
519 | work and works based on it.
520 |
521 | A patent license is "discriminatory" if it does not include within
522 | the scope of its coverage, prohibits the exercise of, or is
523 | conditioned on the non-exercise of one or more of the rights that are
524 | specifically granted under this License. You may not convey a covered
525 | work if you are a party to an arrangement with a third party that is
526 | in the business of distributing software, under which you make payment
527 | to the third party based on the extent of your activity of conveying
528 | the work, and under which the third party grants, to any of the
529 | parties who would receive the covered work from you, a discriminatory
530 | patent license (a) in connection with copies of the covered work
531 | conveyed by you (or copies made from those copies), or (b) primarily
532 | for and in connection with specific products or compilations that
533 | contain the covered work, unless you entered into that arrangement,
534 | or that patent license was granted, prior to 28 March 2007.
535 |
536 | Nothing in this License shall be construed as excluding or limiting
537 | any implied license or other defenses to infringement that may
538 | otherwise be available to you under applicable patent law.
539 |
540 | 12. No Surrender of Others' Freedom.
541 |
542 | If conditions are imposed on you (whether by court order, agreement or
543 | otherwise) that contradict the conditions of this License, they do not
544 | excuse you from the conditions of this License. If you cannot convey a
545 | covered work so as to satisfy simultaneously your obligations under this
546 | License and any other pertinent obligations, then as a consequence you may
547 | not convey it at all. For example, if you agree to terms that obligate you
548 | to collect a royalty for further conveying from those to whom you convey
549 | the Program, the only way you could satisfy both those terms and this
550 | License would be to refrain entirely from conveying the Program.
551 |
552 | 13. Use with the GNU Affero General Public License.
553 |
554 | Notwithstanding any other provision of this License, you have
555 | permission to link or combine any covered work with a work licensed
556 | under version 3 of the GNU Affero General Public License into a single
557 | combined work, and to convey the resulting work. The terms of this
558 | License will continue to apply to the part which is the covered work,
559 | but the special requirements of the GNU Affero General Public License,
560 | section 13, concerning interaction through a network will apply to the
561 | combination as such.
562 |
563 | 14. Revised Versions of this License.
564 |
565 | The Free Software Foundation may publish revised and/or new versions of
566 | the GNU General Public License from time to time. Such new versions will
567 | be similar in spirit to the present version, but may differ in detail to
568 | address new problems or concerns.
569 |
570 | Each version is given a distinguishing version number. If the
571 | Program specifies that a certain numbered version of the GNU General
572 | Public License "or any later version" applies to it, you have the
573 | option of following the terms and conditions either of that numbered
574 | version or of any later version published by the Free Software
575 | Foundation. If the Program does not specify a version number of the
576 | GNU General Public License, you may choose any version ever published
577 | by the Free Software Foundation.
578 |
579 | If the Program specifies that a proxy can decide which future
580 | versions of the GNU General Public License can be used, that proxy's
581 | public statement of acceptance of a version permanently authorizes you
582 | to choose that version for the Program.
583 |
584 | Later license versions may give you additional or different
585 | permissions. However, no additional obligations are imposed on any
586 | author or copyright holder as a result of your choosing to follow a
587 | later version.
588 |
589 | 15. Disclaimer of Warranty.
590 |
591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599 |
600 | 16. Limitation of Liability.
601 |
602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610 | SUCH DAMAGES.
611 |
612 | 17. Interpretation of Sections 15 and 16.
613 |
614 | If the disclaimer of warranty and limitation of liability provided
615 | above cannot be given local legal effect according to their terms,
616 | reviewing courts shall apply local law that most closely approximates
617 | an absolute waiver of all civil liability in connection with the
618 | Program, unless a warranty or assumption of liability accompanies a
619 | copy of the Program in return for a fee.
620 |
621 | END OF TERMS AND CONDITIONS
622 |
623 | How to Apply These Terms to Your New Programs
624 |
625 | If you develop a new program, and you want it to be of the greatest
626 | possible use to the public, the best way to achieve this is to make it
627 | free software which everyone can redistribute and change under these terms.
628 |
629 | To do so, attach the following notices to the program. It is safest
630 | to attach them to the start of each source file to most effectively
631 | state the exclusion of warranty; and each file should have at least
632 | the "copyright" line and a pointer to where the full notice is found.
633 |
634 |
635 | Copyright (C)
636 |
637 | This program is free software: you can redistribute it and/or modify
638 | it under the terms of the GNU General Public License as published by
639 | the Free Software Foundation, either version 3 of the License, or
640 | (at your option) any later version.
641 |
642 | This program is distributed in the hope that it will be useful,
643 | but WITHOUT ANY WARRANTY; without even the implied warranty of
644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
645 | GNU General Public License for more details.
646 |
647 | You should have received a copy of the GNU General Public License
648 | along with this program. If not, see .
649 |
650 | Also add information on how to contact you by electronic and paper mail.
651 |
652 | If the program does terminal interaction, make it output a short
653 | notice like this when it starts in an interactive mode:
654 |
655 | Copyright (C)
656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
657 | This is free software, and you are welcome to redistribute it
658 | under certain conditions; type `show c' for details.
659 |
660 | The hypothetical commands `show w' and `show c' should show the appropriate
661 | parts of the General Public License. Of course, your program's commands
662 | might be different; for a GUI interface, you would use an "about box".
663 |
664 | You should also get your employer (if you work as a programmer) or school,
665 | if any, to sign a "copyright disclaimer" for the program, if necessary.
666 | For more information on this, and how to apply and follow the GNU GPL, see
667 | .
668 |
669 | The GNU General Public License does not permit incorporating your program
670 | into proprietary programs. If your program is a subroutine library, you
671 | may consider it more useful to permit linking proprietary applications with
672 | the library. If this is what you want to do, use the GNU Lesser General
673 | Public License instead of this License. But first, please read
674 | .
675 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # YATPGPSDO
2 | ## Yet Another TruePosition GPSDO
3 |
4 | This is a hardware and the corresponding firmware implemented on an STM32 BluePill board that drives a TruePosition
5 | GPS Disciplined Oscillator board to provide frequency reference.
6 |
7 | For details see [my blog](https://diysquared.blogspot.com/2021/02/yatg-yet-another-trueposition-gpsdo.html).
8 |
--------------------------------------------------------------------------------
/YATPGPSDO/README.md:
--------------------------------------------------------------------------------
1 | # Source for YATPGPSDO
2 | ## Yet Another TruePosition GPSDO
3 | Arduino ide source code
4 | Compile with 'Genetric STM32F103C Series' device under Arduino.
5 |
--------------------------------------------------------------------------------
/YATPGPSDO/YATPGPSDO.ino:
--------------------------------------------------------------------------------
1 | /*
2 | (c) Copyright Szabolcs Szigeti 2020-2021
3 |
4 | Redistribution under GPL V3. See the LICENSE file for details.
5 |
6 |
7 | Board: Generic STM32F103C series
8 | Display: 128x64 ST7920 based bitmap display in serial mode, connected to hw spi
9 |
10 | Additional libraries: Time and U8G2
11 |
12 | */
13 | /*
14 | Main program for the TruePosition GPSDO
15 | */
16 | #include
17 | #include
18 | #include
19 | #include
20 | #include
21 | #include
22 |
23 | #include "TP_GPSDO.h"
24 |
25 | struct CLOCK gpsdoClock; // Clock related data
26 | struct STATUS gpsdoStatus; // Everything about the status of the GPSDO
27 | struct SATS gpsdoSats[NUMSAT]; // Data on the tracked satellites
28 | struct ALERTS gpsdoAlerts; // Alerts
29 | struct CONFIG gpsdoConfig; // Configuration settings
30 |
31 | char GPSmsg[MSGMAX]; // Buffer for TruePosition messages
32 |
33 | bool refresh = false; // Do we need to redraw the display?
34 |
35 | unsigned long lastMsgTime, periodicMsgTime, blinkTime, backlTime; // Timers for messages, blinking and backlight
36 | unsigned long popupTimer; // Timer for the popup message box;
37 | unsigned long lastBtnModeTime, lastBtnSelTime, btnPress; // Timers for the buttons
38 | int lastBtnMode = 1, lastBtnSel = 1; // Button state for the Mode and Select buttons
39 | enum DisplayModes displayMode = STATUS; // Current display mode
40 | enum MenuModes menuMode = SETSURVEY; // Current menu mode
41 | bool heartBeat = false; // Heartbeat led
42 | bool initPPSDBG = false; // PPSDBG command sent at init
43 | bool inAlert = false; // Is there any alert?
44 | bool blink; // The global blink used for any kind of blinking
45 | bool popupShown = false; // Is there any popup displayed?
46 |
47 | void setup() {
48 |
49 | Serial2.begin(GPSDO_BAUD); // GPSDO is on Serial 2. It is always 9600 baud.
50 |
51 | /*
52 | Set up button inputs with pull-up
53 | */
54 | pinMode(BTN_MODE, INPUT_PULLUP);
55 | pinMode(BTN_SEL, INPUT_PULLUP);
56 | /*
57 | Setup LEDs for output
58 | */
59 | pinMode(LED_ONBOARD, OUTPUT);
60 | pinMode(LED_HOLDOVER, OUTPUT);
61 | pinMode(LED_LOCK, OUTPUT);
62 | pinMode(LED_ALARM, OUTPUT);
63 | pinMode(LED_BACKLIGHT, OUTPUT);
64 |
65 | digitalWrite(LED_HOLDOVER, HIGH);
66 | digitalWrite(LED_LOCK, HIGH);
67 | digitalWrite(LED_ALARM, HIGH);
68 | digitalWrite(LED_BACKLIGHT, HIGH);
69 |
70 | EEPROM.init();
71 | gpsdoStatus.status = 24;
72 | gpsdoAlerts.tenmhz = gpsdoAlerts.onepps = true;
73 | gpsdoStatus.surveyed = false;
74 | periodicMsgTime = lastMsgTime = blinkTime = backlTime = millis();
75 | SetupDisplay();
76 | readConfig();
77 |
78 | }
79 |
80 | void loop() {
81 |
82 | for (;;) {
83 |
84 | if (GetGPSMsg()) {
85 | ProcessGPSMsg();
86 | lastMsgTime = millis();
87 | gpsdoAlerts.nogps = false;
88 | }
89 |
90 | /*
91 | This will detect if there is no message from the GPS for longer than NOMSGTIME
92 | If triggered, it will cause a GPS lost alert.
93 | */
94 | if (millis() - lastMsgTime > NOMSGTIME && gpsdoAlerts.nogps == false) {
95 | gpsdoAlerts.nogps = true;
96 | gpsdoAlerts.tenmhz = true;
97 | gpsdoAlerts.onepps = true;
98 | gpsdoStatus.status = 24;
99 | gpsdoStatus.initialized = false;
100 | gpsdoStatus.surveyed = false;
101 | initPPSDBG = false;
102 | }
103 |
104 | /*
105 | We force the GPS to provide position report every PERIODICMSG time
106 | TruePosition normally only reports position during survey.
107 | */
108 | if (millis() - periodicMsgTime > PERIODICMSG) {
109 | periodicMsgTime = millis();
110 | Serial2.println("$GETPOS");
111 | }
112 |
113 | /*
114 | Fancy blinking. This does two things:
115 | 1 - sets the blink variable to use for blinking wherever needed.
116 | 2 - blinks the onboard led for heartbeat.
117 | */
118 | if (millis() - blinkTime > BLINKTIME) {
119 | blinkTime = millis();
120 | blink = !blink;
121 | refresh = true;
122 | digitalWrite(LED_ONBOARD, blink ? HIGH : LOW);
123 | }
124 |
125 | /*
126 | Do the popup timer
127 | */
128 | if (popupShown) {
129 | if (millis() - popupTimer > POPUPDURATION) {
130 | popupShown = false;
131 | }
132 | }
133 |
134 | /*
135 | Check for button presesses and do the needed action
136 | */
137 | handleButtons();
138 |
139 | /*
140 | Set the LEDS to the current status
141 | */
142 | handleLEDs();
143 |
144 | /*
145 | This handles the lock timer. Every time the GPSDO locks, it will start the timer to show
146 | how long it is in lock. Any other status clears the timer.
147 | */
148 | if (gpsdoStatus.lockedSince == 0 && (gpsdoStatus.status == 0 )) {
149 | gpsdoStatus.lockedSince = gpsdoClock.ticks;
150 | } else {
151 | if (gpsdoStatus.status != 0 ) {
152 | gpsdoStatus.lockedSince = 0;
153 | }
154 | }
155 | /*
156 | Any failure sets the alert status.
157 | Not sure if the 10 MHz and the 1PPS alert is ever activated by the TP.
158 | */
159 | if (gpsdoAlerts.nogps || gpsdoAlerts.tenmhz || gpsdoAlerts.onepps || gpsdoAlerts.antenna) {
160 | if (!inAlert) {
161 | inAlert = true;
162 | refresh = true;
163 | }
164 | }
165 | else {
166 | if (inAlert) {
167 | inAlert = false;
168 | refresh = true;
169 | }
170 |
171 | }
172 | /*
173 | Only refresh display if there is a reason to refresh
174 | */
175 | if (refresh == true) {
176 | refresh = false;
177 | UpdateDisplay();
178 | }
179 |
180 | }
181 | }
182 |
183 | /*
184 | Based on the status the front panel LEDs are lit.
185 | */
186 | void handleLEDs() {
187 |
188 | digitalWrite(LED_ALARM, inAlert ? HIGH : LOW); // If there is an alert, light the red LED.
189 |
190 | switch (gpsdoStatus.status) {
191 | case 0: // Locked: Green lock LED on
192 | digitalWrite(LED_LOCK, HIGH);
193 | digitalWrite(LED_HOLDOVER, LOW);
194 | break;
195 | case 1: // Acquisition: Blink yellow holdover LED.
196 | digitalWrite(LED_LOCK, LOW);
197 | digitalWrite(LED_HOLDOVER, blink ? HIGH : LOW);
198 | break;
199 | case 2: // During startup both Lock and Holdover LEDs blink
200 | case 9:
201 | case 10:
202 | case 11:
203 | case 12:
204 | case 13:
205 | case 19:
206 | digitalWrite(LED_LOCK, blink ? HIGH : LOW);
207 | digitalWrite(LED_HOLDOVER, blink ? HIGH : LOW);
208 | break;
209 | case 3: // Holdover: yellow Holdover LED is on.
210 | case 4:
211 | case 5:
212 | case 8:
213 | digitalWrite(LED_HOLDOVER, HIGH);
214 | digitalWrite(LED_LOCK, LOW);
215 | break;
216 |
217 | case 6: // No ackquisition, both LEDs are off
218 | digitalWrite(LED_LOCK, LOW);
219 | digitalWrite(LED_HOLDOVER, LOW);
220 | break;
221 | case 7: // OCXO training, both LED blinks in opposite
222 | digitalWrite(LED_LOCK, blink ? HIGH : LOW);
223 | digitalWrite(LED_HOLDOVER, blink ? LOW : HIGH);
224 | break;
225 | case 14:
226 | case 15:
227 | case 16:
228 | case 17:
229 | case 18: // Transition to lock: Lock LED on, Holdover LED blinks
230 | digitalWrite(LED_LOCK, HIGH);
231 | digitalWrite(LED_HOLDOVER, blink ? LOW : HIGH);
232 | break;
233 | case 20:
234 | case 21:
235 | case 22: // Transition to acquisition: Lock LED blinks, Holdover LED on
236 | digitalWrite(LED_LOCK, blink ? LOW : HIGH);
237 | digitalWrite(LED_HOLDOVER, HIGH);
238 | break;
239 | default: ;
240 | }
241 |
242 | /*
243 | Control the backlight.
244 | off (0) - always off
245 | auto (1) - turns on with button press, automatically off after BACKLIGHTOFF ticks.
246 | on (2) - always on
247 | */
248 | if (gpsdoConfig.backlight == 0) {
249 | digitalWrite(LED_BACKLIGHT, LOW);
250 | } else {
251 | if (gpsdoConfig.backlight == 2) {
252 | digitalWrite(LED_BACKLIGHT, HIGH);
253 | } else {
254 | digitalWrite(LED_BACKLIGHT, (millis() - backlTime > BACKLIGTHOFF) ? LOW : HIGH);
255 | }
256 | }
257 | }
258 |
259 | /*
260 | Save configuration to the EEPROM (emualted EEPROM)
261 | Simply writes the gpsdoConfig struct.
262 | */
263 | void saveConfig() {
264 | int i;
265 | byte *p;
266 |
267 | p = (byte*)&gpsdoConfig;
268 | for (i = 0; i < sizeof(struct CONFIG); i++) {
269 | EEPROM.update(i, *p++);
270 | }
271 |
272 | }
273 |
274 | /*
275 | Read back config from EEPROM and do some sanitiy checking
276 | */
277 | void readConfig() {
278 | int i;
279 | byte *p;
280 | struct CONFIG conf;
281 | p = (byte*)&conf;
282 | for (i = 0; i < sizeof(struct CONFIG); i++) {
283 | *p++ = EEPROM.read(i);
284 | }
285 | if (conf.timeoffset > 12 || conf.timeoffset < -12)
286 | conf.timeoffset = 0;
287 | if (conf.backlight > 2)
288 | conf.backlight = 1;
289 | if (conf.surveytime > 24)
290 | conf.surveytime = 1;
291 | gpsdoConfig = conf;
292 |
293 | }
294 |
--------------------------------------------------------------------------------
/YATPGPSDO/tp_button.ino:
--------------------------------------------------------------------------------
1 | /*
2 | (c) Copyright Szabolcs Szigeti 2020-2021
3 |
4 | Redistribution under GPL V3. See the LICENSE file for details.
5 |
6 | */
7 | /*
8 | Handle the button presses. Both buttons, the mode and the select buttons
9 | are managed. They are debounced that is only presses longer than the DBOUNCE time are detected.
10 |
11 | Once for the Mode and once for the Select button, the code is identical.
12 | The buttons' press functions are called giving the lenght of press as parameter
13 | */
14 |
15 | void handleButtons() {
16 |
17 | if (digitalRead(BTN_MODE) == LOW && lastBtnMode == 1) {
18 | backlTime = lastBtnModeTime = millis();
19 | lastBtnMode = 0;
20 | }
21 |
22 | if (digitalRead(BTN_MODE) == HIGH && lastBtnMode == 0) {
23 | lastBtnMode = 1;
24 | btnPress = millis() - lastBtnModeTime;
25 | if (btnPress > DEBOUNCE) {
26 | PressBtnMode(btnPress);
27 | }
28 | }
29 |
30 |
31 | if (digitalRead(BTN_SEL) == LOW && lastBtnSel == 1) {
32 | backlTime = lastBtnSelTime = millis();
33 | lastBtnSel = 0;
34 | }
35 |
36 | if (digitalRead(BTN_SEL) == HIGH && lastBtnSel == 0) {
37 | lastBtnSel = 1;
38 | btnPress = millis() - lastBtnSelTime;
39 | if (btnPress > DEBOUNCE) {
40 | PressBtnSel(btnPress);
41 | }
42 | }
43 |
44 | }
45 | /*
46 | Handle press of the Mode button.
47 | A short press will always select a new display.
48 | Long press action depends on display mode, currently none.
49 | */
50 | void PressBtnMode(int len) {
51 | if (len < SHORTPRESS) {
52 | nextDisplay(); // short press: go to next page
53 | }
54 | else {
55 | displayMode = STATUS; // long press: go to main status page
56 | }
57 | }
58 |
59 | /*
60 | Handle pressing of the Select button.
61 | This is a big ugly code to do whatever is needed on the current display mode
62 | */
63 | void PressBtnSel(int len) {
64 | switch (displayMode) {
65 | case POSITION:
66 | if (len < SHORTPRESS) {
67 | if (menuMode == SHOWSURVEY)
68 | menuMode = SETSURVEY;
69 | else if (++gpsdoConfig.surveytime > 24)
70 | gpsdoConfig.surveytime = 1;
71 | }
72 | else {
73 | menuMode = SHOWSURVEY;
74 | refresh = true;
75 | showPopup("Survey start");
76 | Serial2.print("$SURVEY ");
77 | Serial2.println(gpsdoConfig.surveytime);
78 | }
79 | break;
80 | case CONFIG:
81 | if (len < SHORTPRESS) {
82 | switch (menuMode) {
83 | case SETOFFSET: menuMode = SETBACKLIGHT; break;
84 | case SETBACKLIGHT: menuMode = SAVECONFIG; break;
85 | case SAVECONFIG: menuMode = TRAINO; break;
86 | case TRAINO:
87 | default: menuMode = SETOFFSET; break;
88 | }
89 | }
90 | else {
91 | switch (menuMode) {
92 | case SETOFFSET:
93 | if (++gpsdoConfig.timeoffset > 12)
94 | gpsdoConfig.timeoffset = -12;
95 | break;
96 | case SETBACKLIGHT:
97 | if (++gpsdoConfig.backlight > 2)
98 | gpsdoConfig.backlight = 0;
99 | break;
100 | case SAVECONFIG:
101 | showPopup("Config saved");
102 | saveConfig();
103 | break;
104 | case TRAINO:
105 | Serial2.println("$TRAINOXCO");
106 | showPopup("Train OCXO");
107 | displayMode = STATUS;
108 | break;
109 | }
110 | }
111 | break;
112 |
113 | default: ;
114 | }
115 | refresh = true;
116 | }
117 |
--------------------------------------------------------------------------------
/YATPGPSDO/tp_display.ino:
--------------------------------------------------------------------------------
1 | /*
2 | (c) Copyright Szabolcs Szigeti 2020-2021
3 |
4 | Redistribution under GPL V3. See the LICENSE file for details.
5 |
6 | */
7 | /*
8 | This file contains the display related functions.
9 | Basically there are a number of screens, which can be selected by the Mode button.
10 | Pressing the button will cycle trough the general status, the clock, the satellites,
11 | the position, and the config screens.
12 |
13 | The display is a 128x64 pixel LCD with an ST7920 driver.
14 | No attempt is made to accomodate any other display, most of the text and graphics
15 | positions are hard coded.
16 |
17 | However the U8G2 library is used so other similar sized bitmap display might be used.
18 | All display related stuff are in this file, so to use other display, make changes here.
19 | */
20 |
21 | /*
22 | Printable strings for date and for the TruePosition status.
23 | */
24 | const char *weekdays[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
25 | const char *months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
26 | const char *gpsstatus[] = {"Locked", "Acquisition", "Init 5/6", "Holdover", // 0 1 2 3
27 | "Force HO", "Soft HO", "No position", "Train OCXO", // 4 5 6 7
28 | "Holdover", "Init 0/6", "Init 1/6", "Init 2/6", // 8 9 10 11
29 | "Init 3/6", "Init 4/6", "Lock 1/5", "Lock 2/5", // 12 13 14 15
30 | "Lock 3/5", "Lock 4/5", "Lock 5/5", "Initializing", // 16 17 18 19
31 | "Acquire 1/3", "Acquire 2/3", "Acquire 3/3", " " // 20 21 22 23
32 | };
33 |
34 | /*
35 | Various bitmaps for the status bar on the main page
36 | */
37 | const uint8_t bitmapAnt[] = {16, 146, 84, 56, 16, 16, 16, 16, 16, 16, 0}; // Antenna symbol
38 | const uint8_t bitmapIAnt[] = {170, 84, 170, 84, 170, 84, 170, 84, 170, 84, 170}; // Checkerboard for antenna error
39 | const uint8_t bitmap10MHz[] = {73, 84, 0, 213, 213, 224, 85, 92, 64, 85, 84, 128, 73, 85, 224}; // 10Mhz
40 | const uint8_t bitmapI10MHz[] = {170, 170, 170, 85, 85, 85, 170, 170, 170, 85, 85, 85, 170, 170, 170}; // Bad 10Mhz
41 | const uint8_t bitmap1PPS[] = {89, 140, 213, 80, 89, 136, 81, 4, 81, 24}; // 1 PPS
42 | const uint8_t bitmapI1PPS[] = {170, 170, 85, 84, 170, 170, 85, 84, 170, 170}; // Bad 1PPS
43 | const uint8_t bitmapSurv1[] = {16, 16, 16, 16, 16, 254, 124, 56, 16, 254}; // Survey needed
44 | const uint8_t bitmapSurv2[] = {16, 254, 124, 56, 16, 0, 0, 0, 0, 254}; // Animation during survey
45 | const uint8_t bitmapSurveyed[] = {56, 108, 198, 238, 254, 124, 56, 56, 16, 16}; // Location has been surveyed
46 | #define clockface_width 49
47 | #define clockface_height 47
48 | const uint8_t clockface_bits[] = {
49 | 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00,
50 | 0x00, 0x00, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f,
51 | 0xe3, 0x01, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00,
52 | 0x30, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x24, 0x00,
53 | 0x00, 0x00, 0x84, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
54 | 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00,
55 | 0x00, 0x00, 0x00, 0x02, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
56 | 0x60, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00,
57 | 0x0a, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x10, 0x00, 0x00,
58 | 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x08,
59 | 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20,
60 | 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00,
61 | 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00,
62 | 0x00, 0x01, 0x00, 0x40, 0x00, 0x1f, 0x00, 0x80, 0x02, 0x00, 0xf0, 0x01,
63 | 0x04, 0x00, 0x00, 0x01, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
64 | 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00,
65 | 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x08,
66 | 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20,
67 | 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x01, 0x00, 0x00,
68 | 0x00, 0x11, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x60, 0x00,
69 | 0x00, 0x00, 0x00, 0x0c, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
70 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
71 | 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x84, 0x00,
72 | 0x00, 0x42, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
73 | 0x60, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x80, 0x01, 0x01, 0x03, 0x00,
74 | 0x00, 0x00, 0x00, 0x0e, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x1f,
75 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
76 | 0x00, 0x01, 0x00, 0x00, 0x00
77 | };
78 | char popupText[POPUPLEN];
79 | /*
80 | Initialize the display. It is in HW SPI mode, so uses the HW SPI pins
81 | PA4 is used for CS and PB0 is connected as resert.
82 | */
83 | U8G2_ST7920_128X64_F_HW_SPI u8g2(U8G2_R0, /* CS=*/ PA4, /* reset=*/ PB0 /*U8X8_PIN_NONE */);
84 |
85 | /*
86 | Let's do some fancy initialization with Display and LED test.
87 | */
88 | void SetupDisplay() {
89 |
90 |
91 | u8g2.begin();
92 | u8g2.enableUTF8Print(); // that is required to properly display the degree symbol
93 | u8g2.setFont(u8g2_font_profont12_tf);
94 | u8g2.clearBuffer();
95 | u8g2.drawBox(0, 0, 128, 64); // all pixels dark
96 | u8g2.sendBuffer();
97 | delay(500); // and wait a little bit for fancyness
98 | }
99 |
100 | /*
101 | Print the current time in HH:MM:SS format, with blinking :
102 | This prints at the current positoion with the current font
103 | */
104 | void printTime() {
105 | if (gpsdoClock.hour < 10)
106 | u8g2.print(" ");
107 | u8g2.print(gpsdoClock.hour);
108 | u8g2.print(blink ? ":" : " ");
109 | if (gpsdoClock.minute < 10)
110 | u8g2.print("0");
111 | u8g2.print(gpsdoClock.minute);
112 | u8g2.print(blink ? ":" : " ");
113 | if (gpsdoClock.second < 10)
114 | u8g2.print("0");
115 | u8g2.print(gpsdoClock.second);
116 | }
117 |
118 | /*
119 | Print a time lenght in DDD|HH:MM.SS format supressing
120 | leading zero days, hours and minutes
121 | This also prints at the current positoion with the current font
122 | */
123 | void printInterval(uint32_t secs) {
124 | unsigned int days, hours, minutes, seconds;
125 | days = secs / 86400;
126 | secs -= days * 86400;
127 | hours = secs / 3600;
128 | secs -= hours * 3600;
129 | minutes = secs / 60;
130 | seconds = secs % 60;
131 | if (days > 0) {
132 | u8g2.print(days);
133 | u8g2.print("|");
134 | }
135 | if (hours > 0 || days > 0) {
136 | if (hours < 10)
137 | u8g2.print(" ");
138 | u8g2.print(hours);
139 | u8g2.print(":");
140 | }
141 | if ( minutes > 0 || hours > 0 || days > 0) {
142 | if (minutes < 10)
143 | u8g2.print("0");
144 | u8g2.print(minutes);
145 | u8g2.print(".");
146 | }
147 | if (seconds < 10)
148 | u8g2.print("0");
149 | u8g2.print(seconds);
150 | }
151 |
152 | /*
153 | Display popup message
154 | */
155 | void displayPopup() {
156 | if (popupShown) {
157 | u8g2.setDrawColor(0);
158 | u8g2.drawBox(16, 16, 96, 32);
159 | u8g2.setDrawColor(1);
160 | u8g2.drawButtonUTF8(64, 32, U8G2_BTN_HCENTER | U8G2_BTN_BW1 | U8G2_BTN_SHADOW1, 0, 2, 2, popupText);
161 | }
162 | }
163 | /*
164 | Display general status of the unit
165 | */
166 | void displayStatusPage() {
167 | int shour, smin, ssec;
168 | u8g2.clearBuffer();
169 | u8g2.setFont(u8g2_font_profont12_tf);
170 |
171 | /*
172 | Print the status line with the TruePosition status and some
173 | icons for 10Mhz, 1PPS status
174 | */
175 | u8g2.setCursor(0, 10);
176 | if (gpsdoAlerts.nogps)
177 | u8g2.print(blink ? "GPS Lost" : " ");
178 | else if (gpsdoStatus.status < 23)
179 | u8g2.print(gpsstatus[gpsdoStatus.status]);
180 | else
181 | u8g2.print("No status");
182 |
183 | u8g2.drawBitmap(95, 00, 1, 11, !gpsdoAlerts.antenna ? bitmapAnt : blink ? bitmapIAnt : bitmapAnt);
184 | u8g2.drawBitmap(105, 06, 3, 5, !gpsdoAlerts.tenmhz ? bitmap10MHz : blink ? bitmapI10MHz : bitmap10MHz);
185 | u8g2.drawBitmap(105, 00, 2, 5, !gpsdoAlerts.onepps ? bitmap1PPS : blink ? bitmapI1PPS : bitmap1PPS);
186 |
187 | u8g2.drawHLine(0, 12, 128);
188 |
189 | /*
190 | If the TruePosition is up and runing print the icon for survey or normal mode
191 | Print the time
192 | Lock and holdover duration if applicable
193 | Number of satellites, DOP, DAC value and temperature.
194 | */
195 | if (gpsdoStatus.initialized) {
196 | u8g2.drawBitmap(85, 0, 1, 10, gpsdoStatus.surveying ? blink ? bitmapSurv1 : bitmapSurv2 : gpsdoStatus.surveyed ? bitmapSurveyed : bitmapSurv1);
197 | u8g2.setCursor(0, 27);
198 | u8g2.setFont(u8g2_font_profont17_tf);
199 | printTime();
200 | u8g2.setFont(u8g2_font_profont10_tf);
201 | if (gpsdoStatus.holdover > 0) {
202 | u8g2.setCursor(0, 40);
203 | u8g2.print("Holdover:");
204 | printInterval(gpsdoStatus.holdover);
205 | }
206 | if (gpsdoStatus.lockedSince > 0) {
207 | u8g2.setCursor(0, 40);
208 | u8g2.print("Locked:");
209 | printInterval(gpsdoClock.ticks - gpsdoStatus.lockedSince);
210 | }
211 |
212 | u8g2.setCursor(0, 50);
213 | u8g2.print("Sat:"); u8g2.print(gpsdoStatus.nsats); u8g2.print("/"); u8g2.print(gpsdoStatus.tsats);
214 | if (gpsdoStatus.dop > 0.0) {
215 | u8g2.print(" DOP:"); u8g2.print(gpsdoStatus.dop, 2);
216 | } else
217 | {
218 | u8g2.print (" No fix");
219 | }
220 | if (gpsdoStatus.phaseoffset != -253) {
221 | u8g2.print(" po:"); u8g2.print(gpsdoStatus.phaseoffset);
222 | }
223 |
224 | u8g2.setCursor(0, 58);
225 | u8g2.print("DAC:"); u8g2.print(gpsdoStatus.dac, 6); u8g2.print("V");
226 | u8g2.print(" T:"); u8g2.print(gpsdoStatus.temp, 2); u8g2.print("°C");
227 | } else {
228 |
229 | /*
230 | If the TruePosition is not yet up, print a splash screen
231 | */
232 |
233 | u8g2.setFont(u8g2_font_profont17_tf);
234 | u8g2.drawStr(10, 30, "YATPGPSDO");
235 | u8g2.setFont(u8g2_font_profont10_tf);
236 | u8g2.drawStr(5, 40, "(c) Szabolcs Szigeti");
237 | u8g2.setFont(u8g2_font_profont12_tf);
238 | u8g2.drawStr(10, 52, VERSION);
239 | u8g2.drawStr(10, 62, gpsdoStatus.TPversion);
240 | }
241 | displayPopup();
242 | u8g2.sendBuffer();
243 | }
244 |
245 | /*
246 | Display current time, date, time quality reported and an analog clock
247 | */
248 |
249 | void displayTimePage() {
250 | float hourdeg, mindeg, secdeg, tickdeg;
251 | int i;
252 |
253 | u8g2.clearBuffer();
254 | u8g2.setFont(u8g2_font_profont17_tf);
255 | u8g2.setCursor(0, 15);
256 | printTime();
257 | u8g2.setCursor(0, 29);
258 | u8g2.setFont(u8g2_font_profont12_tf);
259 | u8g2.print(gpsdoClock.year);
260 | u8g2.print(" ");
261 | u8g2.print(months[gpsdoClock.month - 1]);
262 | u8g2.print(" ");
263 | u8g2.print(gpsdoClock.day);
264 | u8g2.print(" ");
265 | u8g2.setCursor(0, 39);
266 | u8g2.println(weekdays[gpsdoClock.weekday - 1]);
267 | u8g2.setCursor(0, 53);
268 | u8g2.setFont(u8g2_font_profont10_tf);
269 | u8g2.print("Quality:");
270 | u8g2.print(gpsdoClock.quality);
271 | u8g2.drawFrame(0, 57, 70, 7);
272 | u8g2.drawBox(1, 58, gpsdoClock.quality * 10, 5);
273 | /*
274 | Draw the analog clock. The STM32 is fast enough to simply use trigonometrics instead of look-up tables
275 | or some approximation. This is a pretty simple and ugly looking clock. No attempt was made to use parameters for the clock.
276 | A bitmap clockface is used and coordinates are hardcoded into the code.
277 | */
278 | u8g2.drawXBM(80, 9, clockface_width, clockface_height, clockface_bits);
279 | hourdeg = (gpsdoClock.hour * 5 + gpsdoClock.minute / 12 - 15) * 0.104719755; // magic number to convert 6 degrees to radians.
280 | mindeg = (gpsdoClock.minute - 15) * 0.104719755;
281 | secdeg = (gpsdoClock.second - 15) * 0.104719755;
282 | u8g2.drawLine(104, 32, 104 + 20 * cos(secdeg) + 0.5, 32 + 20 * sin(secdeg) + 0.5);
283 | u8g2.drawLine(104, 32, 104 + 18 * cos(mindeg) + 0.5, 32 + 18 * sin(mindeg) + 0.5);
284 | u8g2.drawLine(104, 32, 104 + 13 * cos(hourdeg) + 0.5, 32 + 13 * sin(hourdeg) + 0.5);
285 |
286 | displayPopup();
287 | u8g2.sendBuffer();
288 | }
289 |
290 | /*
291 | Display satellite info.
292 | Anything with non 0 SNR is listed on the right and the constellation is drawn on the left.
293 | Normal sats are drawn as a circle, WAAS/EGNOS as a square.
294 | Again, STM32 can handle trig functions just fine.
295 | */
296 | void displaySatsPage() {
297 | int i, row;
298 | int x, y, r, snr;
299 | u8g2.clearBuffer();
300 | u8g2.setFont(u8g2_font_profont10_tf);
301 | u8g2.setCursor(60, 63);
302 | u8g2.print(gpsdoStatus.nsats); u8g2.print("/"); u8g2.println(gpsdoStatus.tsats);
303 | u8g2.print(" DOP:"); u8g2.println(gpsdoStatus.dop, 2);
304 | row = 6;
305 | for (i = 0; i < NUMSAT; i++)
306 | if (gpsdoSats[i].snr > 0) {
307 |
308 | snr = (gpsdoSats[i].snr - 30) / 2; // Seems like SNR values are about in the 30-45 dB range
309 | if (snr < 0) snr = 0;
310 | if (snr > 7) snr = 7; // so we transform it into the height of one row. Yes, it could be better.
311 | u8g2.drawLine(64, row, 64, row - snr);
312 |
313 | u8g2.setCursor(67, row);
314 | u8g2.print(i);
315 | u8g2.print(":");
316 | u8g2.print(gpsdoSats[i].satnum);
317 | u8g2.print(">");
318 | u8g2.print(gpsdoSats[i].elevation);
319 | u8g2.print("/");
320 | u8g2.print(gpsdoSats[i].azimuth);
321 | row += 7;
322 | /*
323 | Start graphic
324 | */
325 | r = 30 * cos(0.017453 * (gpsdoSats[i].elevation));
326 | x = 32 + r * cos(0.017453 * (gpsdoSats[i].azimuth - 90));
327 | y = 32 + r * sin(0.017453 * (gpsdoSats[i].azimuth - 90));
328 |
329 | if (gpsdoSats[i].iswaas) { // Circle for normal, box for WAAS satellites
330 | u8g2.drawFrame(x - 5, y - 5, 10, 10);
331 | } else {
332 | u8g2.drawCircle(x, y, 5);
333 | }
334 |
335 | u8g2.setCursor(x - 2, y + 3);
336 | u8g2.print(i);
337 | }
338 |
339 | u8g2.drawCircle(32, 32, 30, U8G2_DRAW_ALL);
340 | u8g2.drawCircle(32, 32, 10, U8G2_DRAW_ALL);
341 | u8g2.drawVLine(32, 0, 64);
342 | u8g2.drawHLine(0, 32, 64);
343 | u8g2.drawTriangle(32, 0, 29, 6, 35, 6);
344 |
345 | displayPopup();
346 | u8g2.sendBuffer();
347 | }
348 |
349 | /*
350 | Display position and start survey.
351 | Short press of the select button will increment the survey time, long press will start the survey.
352 | */
353 | void displayPosPage() {
354 | long lat, lon;
355 | u8g2.clearBuffer();
356 | u8g2.setFont(u8g2_font_profont12_tf);
357 | u8g2.setCursor(0, 10);
358 | u8g2.print("Position ");
359 | printTime();
360 |
361 | u8g2.setCursor(0, 24);
362 |
363 | lat = gpsdoStatus.lat;
364 | lon = gpsdoStatus.lon;
365 | u8g2.setFont(u8g2_font_profont17_tf);
366 |
367 | if (lat < 0) {
368 | u8g2.print("S");
369 | lat = -lat;
370 | } else {
371 | u8g2.print("N");
372 | }
373 | u8g2.print(lat / 1000000);
374 | u8g2.print("°");
375 | u8g2.print((lat % 1000000) * 6E-5, 4);
376 | u8g2.print("'");
377 | u8g2.setCursor(0, 38);
378 |
379 | if (lon < 0) {
380 | u8g2.print("W");
381 | lon = -lon;
382 | } else {
383 | u8g2.print("E");
384 | }
385 | u8g2.print(lon / 1000000);
386 | u8g2.print("°");
387 | u8g2.print((lon % 1000000) * 6E-5, 4);
388 | u8g2.print("'");
389 | u8g2.setCursor(0, 50);
390 | u8g2.setFont(u8g2_font_profont12_tf);
391 | u8g2.print("Elev:");
392 | u8g2.println(gpsdoStatus.elev);
393 | u8g2.print(" Sats:");
394 | u8g2.print(gpsdoStatus.nsats);
395 | u8g2.print("/");
396 | u8g2.println(gpsdoStatus.tsats);
397 |
398 | u8g2.setCursor(0, 60);
399 | u8g2.setFont(u8g2_font_profont10_tf);
400 | if (menuMode == SHOWSURVEY) {
401 | u8g2.print("Survey ");
402 | u8g2.print(gpsdoStatus.surveytime);
403 | u8g2.print("s remain");
404 | }
405 | else if (menuMode == SETSURVEY) {
406 | u8g2.print("Survey for ");
407 | u8g2.print(gpsdoConfig.surveytime);
408 | u8g2.print(gpsdoConfig.surveytime == 1 ? " hour" : " hours");
409 | }
410 | displayPopup();
411 | u8g2.sendBuffer();
412 | }
413 |
414 | /*
415 | Configuration page. Select selects the items, long press changes them.
416 | Save config to make it permanent.
417 | */
418 | void displayConfigPage() {
419 | u8g2.clearBuffer();
420 | u8g2.setFont(u8g2_font_profont12_tf);
421 | u8g2.setCursor(0, 8);
422 | u8g2.print("Config ");
423 | u8g2.setFont(u8g2_font_profont10_tf);
424 | u8g2.print(VERSION);
425 |
426 |
427 | u8g2.setCursor(00, 20);
428 | u8g2.print(menuMode == SETOFFSET ? ">" : " ");
429 | u8g2.print("Time offset:");
430 | u8g2.print(gpsdoConfig.timeoffset);
431 |
432 | u8g2.setCursor(00, 28);
433 | u8g2.print(menuMode == SETBACKLIGHT ? ">" : " ");
434 | u8g2.print("Backlight:");
435 | switch (gpsdoConfig.backlight) {
436 | case 0:
437 | u8g2.print("Off"); break;
438 | case 1:
439 | u8g2.print("Auto"); break;
440 | case 2:
441 | u8g2.print("On"); break;
442 | }
443 | u8g2.setCursor(00, 36);
444 | u8g2.print(menuMode == SAVECONFIG ? ">" : " ");
445 | u8g2.print("Save config ");
446 |
447 | u8g2.setCursor(00, 44);
448 | u8g2.print(menuMode == TRAINO ? ">" : " ");
449 | u8g2.print("Train OCXO");
450 |
451 | u8g2.setCursor(00, 63);
452 | u8g2.print("Uptime: ");
453 | printInterval(millis() / 1000);
454 | displayPopup();
455 | u8g2.sendBuffer();
456 | }
457 |
458 | /*
459 | Select the page on the display mode.
460 | */
461 | void UpdateDisplay() {
462 | switch (displayMode) {
463 |
464 | case STATUS: displayStatusPage(); // General Status
465 | break;
466 | case TIME: displayTimePage(); // Time
467 | break;
468 | case SATS: displaySatsPage(); // Sats
469 | break;
470 | case POSITION: displayPosPage(); // Position and survey
471 | break;
472 | case CONFIG: displayConfigPage(); // Config
473 | break;
474 | default: displayStatusPage();
475 | }
476 |
477 | }
478 |
479 | /*
480 | Advance to next display on the press of the Mode button
481 | */
482 | void nextDisplay() {
483 | switch (displayMode) {
484 | case STATUS: displayMode = TIME;
485 | break;
486 | case TIME: displayMode = SATS;
487 | break;
488 | case SATS: displayMode = POSITION;
489 | menuMode = gpsdoStatus.surveying ? SHOWSURVEY : SETSURVEY;
490 | break;
491 | case POSITION: displayMode = CONFIG;
492 | menuMode = SETOFFSET;
493 | break;
494 | case CONFIG: displayMode = STATUS;
495 | break;
496 | default: displayMode = STATUS;
497 | }
498 | refresh = true; // redraw
499 | popupShown = false;
500 | }
501 |
502 | void showPopup(const char *text) {
503 | popupTimer = millis();
504 | popupShown = true;
505 | refresh = true;
506 | memset(popupText,0,POPUPLEN);
507 | strncpy(popupText, text, POPUPLEN-1);
508 | }
509 |
--------------------------------------------------------------------------------
/YATPGPSDO/tp_gpsdo.h:
--------------------------------------------------------------------------------
1 | /*
2 | (c) Copyright Szabolcs Szigeti 2020-2021
3 |
4 | Redistribution under GPL V3. See the LICENSE file for details.
5 |
6 | */
7 | /*
8 | Configuration section
9 | */
10 |
11 | #define VERSION "V1.15 2022/06/04"
12 |
13 | #define GPSDO_BAUD 9600 // GPSDO serial speed: 9600 do not change
14 |
15 | #define BTN_MODE PB15 // mode button
16 | #define BTN_SEL PB14 // select button
17 | #define LED_ONBOARD PC13 // BluePill onboard LED - used for heartbeat indication
18 | #define LED_HOLDOVER PB6 // Yellow LED for holdover
19 | #define LED_LOCK PB5 // Green LED for lock
20 | #define LED_ALARM PB7 // Red LED for failure
21 | #define LED_BACKLIGHT PB8 // Port for controlling display backlight
22 |
23 | #define EEConfAddr 0x00 // Config address in EEPROM
24 |
25 | #define DEBOUNCE 40 // Button debounce time in miliseconds. Shorter presses are not registred.
26 | #define SHORTPRESS 500 // Limit for long button press.
27 |
28 | #define NOMSGTIME 10000 // timeout if no GPS message for 10 seconds
29 | #define PERIODICMSG 60000 // Position report every 60 seconds
30 | #define BLINKTIME 500 // How fast things on the LEDs and display blink.
31 | #define BACKLIGTHOFF 10000 // Backlight for 10 sec in auto mode
32 | #define POPUPDURATION 5000 // Duration of popup messages
33 | #define POPUPLEN 13 // Max popup text length
34 |
35 | #define TIMEOFFSET 315964800L // Magic correction for the 10 years off time from the gps. My TP reports time about 10 years off
36 |
37 | #define NUMSAT 8 // Max number of satellites to track
38 | #define MSGMAX 60 // Max msg size in chars
39 |
40 | enum DisplayModes {STATUS, TIME, SATS, POSITION, CONFIG, ENDOFMODES}; // Display screens to flip with the Mode button
41 | enum MenuModes {SHOWSURVEY, SETSURVEY, SETBACKLIGHT, SETOFFSET, SAVECONFIG, TRAINO}; // Various sub modes for the sreens
42 |
43 | void ProcessGPSMsg();
44 | bool GetGPSMsg();
45 |
46 | void SetupDisplay();
47 | void UpdateDisplay();
48 | void handleButtons();
49 | void PressBtnMode(int);
50 | void PressBtnSel(int);
51 | void handleLEDs();
52 | void nextDisplay();
53 | void showPopup(const char* text);
54 |
55 | unsigned long millis();
56 |
57 | /*
58 | System comfguration
59 | */
60 | struct CONFIG {
61 | int timeoffset; // Timezone settings in hours
62 | unsigned int surveytime; // Default survey time
63 | unsigned int backlight; // Backlight mode
64 | };
65 |
66 | /*
67 | Data from the CLOCK message
68 | */
69 | struct CLOCK {
70 | int year;
71 | int month;
72 | int day;
73 | int hour;
74 | int minute;
75 | int second;
76 | int weekday;
77 | int quality; // Time quality reported by the GPS
78 | uint32_t ticks; // Unixtime ticks
79 | };
80 |
81 | /*
82 | General status of the system, mostly form the STATUS, EXTATUS messages
83 | */
84 | struct STATUS {
85 | bool tenmhz; // 10MHz is good. Is it ever bad???
86 | bool onepps; // 1PPS id good. Same as above
87 | bool antenna; // Antenna is correctly connected.
88 | int holdover; // Holdover time
89 | int status; // TruePosition status
90 | bool initialized; // Has the TruePosition booted up?
91 | int nsats; // Number of sats seen
92 | int tsats; // Number of sats tracked
93 | float dop; // DOP value
94 | float temp; // Temperature of the unit
95 | int phaseoffset; // Phase offset
96 | long lat; // Latitude
97 | long lon; // Longitude
98 | int elev; // Elevation
99 | bool surveying; // Survey is in progress
100 | bool surveyed; // Survey was run since last reboot
101 | int surveytime; // Survey length
102 | float dac; // DAC value for the OCXO steering
103 | char TPversion[11]; // Version string from the TruePosition board
104 | uint32_t lockedSince; // Start time of current locked status, 0 if not locked
105 | };
106 |
107 | /*
108 | Data on satellites
109 | */
110 | struct SATS {
111 | int satnum; // Satellite PRN number
112 | int elevation; // Elevation in degrees
113 | int azimuth; // Azimuth in degrees
114 | int snr; // SNR value
115 | bool iswaas; // Is it a WAAS/EGNOS sat?
116 | };
117 |
118 | /*
119 | Current alerts
120 | */
121 | struct ALERTS {
122 | bool tenmhz; // 10MHz is bad
123 | bool onepps; // 1PPS is bad
124 | bool antenna; // Antenna not detected
125 | bool nogps; // Lost connection with TruePosition board
126 | };
127 |
--------------------------------------------------------------------------------
/YATPGPSDO/tp_message.ino:
--------------------------------------------------------------------------------
1 | /*
2 | (c) Copyright Szabolcs Szigeti 2020-2021
3 |
4 | Redistribution under GPL V3. See the LICENSE file for details.
5 |
6 | */
7 | /*
8 | This file contains most of he code to process the messages from the TruePosition
9 | boards.
10 | Messages are read as available the parameters are identified
11 | and pocessed according to the message.
12 | */
13 |
14 | void ProcessGETVER();
15 | void ProcessCLOCK(uint32_t, int);
16 | void ProcessSTATUS();
17 | void ProcessEXTSTATUS();
18 | void ProcessSURVEY(long, long, int, int);
19 | void ProcessSAT(int chan, int sat, int elevation, int azimuth, int snr, bool iswaas);
20 |
21 | #define MAXPARAM 8 // Maximum number of GPS message parameters
22 | static char* params[MAXPARAM]; // This indexes the parameters in the message
23 |
24 | /*
25 | Read GPS serial line and push read text into the GPSmsg buffer for a maximum length of MSGMAX
26 | Return true if at the end of message, so that the main loop knows to dispatch message for processing
27 | */
28 | bool GetGPSMsg() {
29 | static int current = 0;
30 | int Incoming;
31 |
32 | while (Serial2.available() > 0) {
33 | Incoming = Serial2.read();
34 |
35 | if (Incoming == '\n' || current >= MSGMAX - 1) {
36 | GPSmsg[current] = '\0';
37 | current = 0;
38 | return true;
39 | }
40 |
41 | if (Incoming == '\r') continue; // Skip NewLine
42 |
43 | GPSmsg[current++] = Incoming;
44 |
45 | }
46 | return false;
47 | }
48 |
49 | /*
50 | Procerss the message in the GPSmsg buffer
51 |
52 | First check for validity by verifying the starting $
53 | Then break up into substrings at the parameters and put the pointers to the parameters
54 | into the params array.
55 | Then depending on the message type do whatever action is required.
56 | Set alert condition if no message for some time
57 | Also handle the special case of booting, when the TruePosition needs the $PROCEED command.
58 | */
59 |
60 | void ProcessGPSMsg() {
61 | int i = 1;
62 | int parn = 0;
63 |
64 | if (GPSmsg[0] != '$') {
65 |
66 | return;
67 | }
68 | refresh = true;
69 | lastMsgTime = millis();
70 |
71 | while (i < MSGMAX && GPSmsg[i] != '\0') {
72 | if (GPSmsg[i] == ' ') {
73 | GPSmsg[i] = '\0';
74 | params[parn++] = &GPSmsg[i + 1];
75 | if (parn >= MAXPARAM)
76 | break;
77 | }
78 | i++;
79 | }
80 | /*
81 | Kickstart the TruePosition.
82 | It keeps sending the GETVER message with BOOT as second parameter
83 | This triggers the code to send the PROCEED command which will make the board boot.
84 | Also, initialize a couple of things.
85 | */
86 | if (strcmp(&GPSmsg[1], "GETVER") == 0) {
87 | if (strcmp(params[1], "BOOT") == 0) {
88 | Serial2.println("$PROCEED");
89 |
90 | gpsdoStatus.TPversion[0] = 0;
91 | strncpy(gpsdoStatus.TPversion, params[0], 10);
92 | gpsdoStatus.TPversion[10] = 0;
93 | gpsdoStatus.status = atoi(params[2]);
94 | gpsdoAlerts.nogps = true;
95 | gpsdoAlerts.tenmhz = true;
96 | gpsdoAlerts.onepps = true;
97 | gpsdoStatus.status = 24;
98 | gpsdoStatus.initialized = false;
99 | gpsdoStatus.surveyed = false;
100 | initPPSDBG = false;
101 |
102 | }
103 | return; // don't process further after PROCEED
104 | }
105 |
106 | /*
107 | Send the PPSDBG command to periodically provide additional status
108 | */
109 | if (!gpsdoStatus.initialized) {
110 | if (!initPPSDBG) {
111 | Serial2.println("$PPSDBG 1");
112 | initPPSDBG = true;
113 | }
114 | }
115 |
116 |
117 | /*
118 | From here on verious messages are identified and processed either
119 | in this loop or via calling a function to process.
120 | */
121 |
122 | /*
123 | $CLOCK Unixtime Leapsecs Merit
124 | */
125 | if (strcmp(&GPSmsg[1], "CLOCK") == 0) {
126 | ProcessCLOCK(atol(params[0]), atoi(params[1]), atoi(params[2]));
127 | return;
128 | }
129 |
130 | /*
131 | $STATUS 10Mhz 1pps Antenna Holdovertime NumSats Status
132 | */
133 | if (strcmp(&GPSmsg[1], "STATUS") == 0) {
134 |
135 | gpsdoStatus.initialized = true; // after first STATUS we consider the GPSDO fully initilaized and working
136 | gpsdoAlerts.tenmhz = (gpsdoStatus.tenmhz = atoi(params[0]));
137 | gpsdoAlerts.onepps = (gpsdoStatus.onepps = atoi(params[1]));
138 | gpsdoAlerts.antenna = (gpsdoStatus.antenna = atoi(params[2]));
139 | gpsdoStatus.holdover = atoi(params[3]);
140 | gpsdoStatus.nsats = atoi(params[4]);
141 |
142 | if (!initPPSDBG) gpsdoStatus.status = atoi(params[5]); // we only use the status from here if PPSDBG has not been initialized
143 | return;
144 | }
145 |
146 | /*
147 | $EXTSTATUS Surveying NumSats DOP Temp Discardcount
148 | */
149 | if (strcmp(&GPSmsg[1], "EXTSTATUS") == 0) {
150 | gpsdoStatus.surveying = (atoi(params[0]) == 1);
151 | gpsdoStatus.tsats = atoi(params[1]);
152 | gpsdoStatus.dop = atof(params[2]);
153 | gpsdoStatus.temp = atof(params[3]);
154 |
155 | if (!gpsdoStatus.surveyed && gpsdoStatus.surveying) {
156 | gpsdoStatus.surveyed = true;
157 | }
158 | return;
159 | }
160 |
161 | /*
162 | $SURVEY Lat Lon Elev Elevcorrection RemainingTime
163 | */
164 | if (strcmp(&GPSmsg[1], "SURVEY") == 0) {
165 | ProcessSURVEY(atol(params[0]), atol(params[1]), atoi(params[2]), atoi(params[4]));
166 | return;
167 | }
168 |
169 | /*
170 | $SAT Channel Satnumber Elev Azimuth SNR
171 | */
172 | if (strcmp(&GPSmsg[1], "SAT") == 0) {
173 | ProcessSAT(atoi(params[0]), atoi(params[1]), atoi(params[2]), atoi(params[3]), atoi(params[4]), false);
174 | return;
175 | }
176 |
177 | /*
178 | $WSAT Channel Satnumber Elev Azimuth SNR
179 | */
180 | if (strcmp(&GPSmsg[1], "WSAT") == 0) {
181 | ProcessSAT(atoi(params[0]), atoi(params[1]), atoi(params[2]), atoi(params[3]), atoi(params[4]), true);
182 | return;
183 | }
184 | /*
185 | $GETPOS Lon Lat Elev Elevcorr Traim
186 | */
187 | if (strcmp(&GPSmsg[1], "GETPOS") == 0) {
188 | ProcessGETPOS(atol(params[0]), atol(params[1]), atoi(params[2]));
189 | return;
190 | }
191 | /*
192 | $PPSDBG Time Status DAC Phase PPSoffset PPSstatus Traim status 0.0
193 | */
194 | if (strcmp(&GPSmsg[1], "PPSDBG") == 0) {
195 | ProcessPPSDBG(atoi(params[1]), atof(params[2]), atoi(params[3]), atoi(params[4]));
196 | return;
197 | }
198 | if (strcmp(&GPSmsg[1], "SET1PPS") == 0) {
199 | return;
200 | }
201 |
202 | refresh = false;
203 | }
204 |
205 | void ProcessGETVER() {
206 |
207 | }
208 |
209 | /*
210 | This processes the CLOCK message
211 | We save the ticks and also we save the date nad time components for simpler displaying later
212 | The user configurable timezone offset is added as well as the magic TIMEOFFSET to correct the
213 | ~10 year time difference reported by the GPSDO
214 | */
215 | void ProcessCLOCK(uint32_t ti, int leapsec, int quality) {
216 | gpsdoClock.ticks = ti = ti - leapsec + TIMEOFFSET + 3600 * gpsdoConfig.timeoffset;
217 | gpsdoClock.year = year(ti);
218 | gpsdoClock.month = month(ti);
219 | gpsdoClock.day = day(ti);
220 | gpsdoClock.weekday = weekday(ti);
221 | gpsdoClock.hour = hour(ti);
222 | gpsdoClock.minute = minute(ti);
223 | gpsdoClock.second = second(ti);
224 | gpsdoClock.quality = 8 - quality;
225 |
226 |
227 | }
228 |
229 | /*
230 | Starightforward saving of the position data.
231 | Not really used for much
232 | */
233 | void ProcessSURVEY(long lat, long lon, int elev, int stime) {
234 | gpsdoStatus.lat = lat;
235 | gpsdoStatus.lon = lon;
236 | gpsdoStatus.elev = elev;
237 | gpsdoStatus.surveytime = stime;
238 |
239 | }
240 |
241 | /*
242 | The same function is used to store sat data for normal and for WAAS sats, the last parameter
243 | tells the type of the satellite
244 | */
245 | void ProcessSAT(int chan, int sat, int elevation, int azimuth, int snr, bool iswaas) {
246 | if (chan >= NUMSAT)
247 | return;
248 | gpsdoSats[chan].satnum = sat;
249 | gpsdoSats[chan].elevation = elevation;
250 | gpsdoSats[chan].azimuth = azimuth;
251 | gpsdoSats[chan].snr = snr;
252 | gpsdoSats[chan].iswaas = iswaas;
253 | }
254 |
255 | void ProcessGETPOS(long lat, long lon, int elev) {
256 | gpsdoStatus.lat = lat;
257 | gpsdoStatus.lon = lon;
258 | gpsdoStatus.elev = elev;
259 |
260 | }
261 |
262 | void ProcessPPSDBG(int status, float dac, int phaseoffset, int ppsoffset) {
263 | gpsdoStatus.status = status;
264 | gpsdoStatus.dac = dac * 6.25E-5; // V/bit value of the DAC
265 | gpsdoStatus.phaseoffset = phaseoffset;
266 | }
267 |
--------------------------------------------------------------------------------
/hardware/GPSDO-backups/GPSDO-2022-03-15_232258.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/szigix/YATPGPSDO/f5d7ab6bb340e0f3caba092694e221dcf63f2024/hardware/GPSDO-backups/GPSDO-2022-03-15_232258.zip
--------------------------------------------------------------------------------
/hardware/GPSDO-backups/GPSDO-2022-03-28_073945.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/szigix/YATPGPSDO/f5d7ab6bb340e0f3caba092694e221dcf63f2024/hardware/GPSDO-backups/GPSDO-2022-03-28_073945.zip
--------------------------------------------------------------------------------
/hardware/GPSDO-backups/GPSDO-2022-04-09_113002.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/szigix/YATPGPSDO/f5d7ab6bb340e0f3caba092694e221dcf63f2024/hardware/GPSDO-backups/GPSDO-2022-04-09_113002.zip
--------------------------------------------------------------------------------
/hardware/GPSDO-cache.lib:
--------------------------------------------------------------------------------
1 | EESchema-LIBRARY Version 2.4
2 | #encoding utf-8
3 | #
4 | # Connector_Generic_Conn_01x03
5 | #
6 | DEF Connector_Generic_Conn_01x03 J 0 40 Y N 1 F N
7 | F0 "J" 0 200 50 H V C CNN
8 | F1 "Connector_Generic_Conn_01x03" 0 -200 50 H V C CNN
9 | F2 "" 0 0 50 H I C CNN
10 | F3 "" 0 0 50 H I C CNN
11 | $FPLIST
12 | Connector*:*_1x??_*
13 | $ENDFPLIST
14 | DRAW
15 | S -50 -95 0 -105 1 1 6 N
16 | S -50 5 0 -5 1 1 6 N
17 | S -50 105 0 95 1 1 6 N
18 | S -50 150 50 -150 1 1 10 f
19 | X Pin_1 1 -200 100 150 R 50 50 1 1 P
20 | X Pin_2 2 -200 0 150 R 50 50 1 1 P
21 | X Pin_3 3 -200 -100 150 R 50 50 1 1 P
22 | ENDDRAW
23 | ENDDEF
24 | #
25 | # Connector_Generic_Conn_01x04
26 | #
27 | DEF Connector_Generic_Conn_01x04 J 0 40 Y N 1 F N
28 | F0 "J" 0 200 50 H V C CNN
29 | F1 "Connector_Generic_Conn_01x04" 0 -300 50 H V C CNN
30 | F2 "" 0 0 50 H I C CNN
31 | F3 "" 0 0 50 H I C CNN
32 | $FPLIST
33 | Connector*:*_1x??_*
34 | $ENDFPLIST
35 | DRAW
36 | S -50 -195 0 -205 1 1 6 N
37 | S -50 -95 0 -105 1 1 6 N
38 | S -50 5 0 -5 1 1 6 N
39 | S -50 105 0 95 1 1 6 N
40 | S -50 150 50 -250 1 1 10 f
41 | X Pin_1 1 -200 100 150 R 50 50 1 1 P
42 | X Pin_2 2 -200 0 150 R 50 50 1 1 P
43 | X Pin_3 3 -200 -100 150 R 50 50 1 1 P
44 | X Pin_4 4 -200 -200 150 R 50 50 1 1 P
45 | ENDDRAW
46 | ENDDEF
47 | #
48 | # Connector_Generic_Conn_01x09
49 | #
50 | DEF Connector_Generic_Conn_01x09 J 0 40 Y N 1 F N
51 | F0 "J" 0 500 50 H V C CNN
52 | F1 "Connector_Generic_Conn_01x09" 0 -500 50 H V C CNN
53 | F2 "" 0 0 50 H I C CNN
54 | F3 "" 0 0 50 H I C CNN
55 | $FPLIST
56 | Connector*:*_1x??_*
57 | $ENDFPLIST
58 | DRAW
59 | S -50 -395 0 -405 1 1 6 N
60 | S -50 -295 0 -305 1 1 6 N
61 | S -50 -195 0 -205 1 1 6 N
62 | S -50 -95 0 -105 1 1 6 N
63 | S -50 5 0 -5 1 1 6 N
64 | S -50 105 0 95 1 1 6 N
65 | S -50 205 0 195 1 1 6 N
66 | S -50 305 0 295 1 1 6 N
67 | S -50 405 0 395 1 1 6 N
68 | S -50 450 50 -450 1 1 10 f
69 | X Pin_1 1 -200 400 150 R 50 50 1 1 P
70 | X Pin_2 2 -200 300 150 R 50 50 1 1 P
71 | X Pin_3 3 -200 200 150 R 50 50 1 1 P
72 | X Pin_4 4 -200 100 150 R 50 50 1 1 P
73 | X Pin_5 5 -200 0 150 R 50 50 1 1 P
74 | X Pin_6 6 -200 -100 150 R 50 50 1 1 P
75 | X Pin_7 7 -200 -200 150 R 50 50 1 1 P
76 | X Pin_8 8 -200 -300 150 R 50 50 1 1 P
77 | X Pin_9 9 -200 -400 150 R 50 50 1 1 P
78 | ENDDRAW
79 | ENDDEF
80 | #
81 | # Device_C
82 | #
83 | DEF Device_C C 0 10 N Y 1 F N
84 | F0 "C" 25 100 50 H V L CNN
85 | F1 "Device_C" 25 -100 50 H V L CNN
86 | F2 "" 38 -150 50 H I C CNN
87 | F3 "" 0 0 50 H I C CNN
88 | $FPLIST
89 | C_*
90 | $ENDFPLIST
91 | DRAW
92 | P 2 0 1 20 -80 -30 80 -30 N
93 | P 2 0 1 20 -80 30 80 30 N
94 | X ~ 1 0 150 110 D 50 50 1 1 P
95 | X ~ 2 0 -150 110 U 50 50 1 1 P
96 | ENDDRAW
97 | ENDDEF
98 | #
99 | # Device_CP
100 | #
101 | DEF Device_CP C 0 10 N Y 1 F N
102 | F0 "C" 25 100 50 H V L CNN
103 | F1 "Device_CP" 25 -100 50 H V L CNN
104 | F2 "" 38 -150 50 H I C CNN
105 | F3 "" 0 0 50 H I C CNN
106 | $FPLIST
107 | CP_*
108 | $ENDFPLIST
109 | DRAW
110 | S -90 20 90 40 0 1 0 N
111 | S 90 -20 -90 -40 0 1 0 F
112 | P 2 0 1 0 -70 90 -30 90 N
113 | P 2 0 1 0 -50 110 -50 70 N
114 | X ~ 1 0 150 110 D 50 50 1 1 P
115 | X ~ 2 0 -150 110 U 50 50 1 1 P
116 | ENDDRAW
117 | ENDDEF
118 | #
119 | # Device_LED
120 | #
121 | DEF Device_LED D 0 40 N N 1 F N
122 | F0 "D" 0 100 50 H V C CNN
123 | F1 "Device_LED" 0 -100 50 H V C CNN
124 | F2 "" 0 0 50 H I C CNN
125 | F3 "" 0 0 50 H I C CNN
126 | $FPLIST
127 | LED*
128 | LED_SMD:*
129 | LED_THT:*
130 | $ENDFPLIST
131 | DRAW
132 | P 2 0 1 10 -50 -50 -50 50 N
133 | P 2 0 1 0 -50 0 50 0 N
134 | P 4 0 1 10 50 -50 50 50 -50 0 50 -50 N
135 | P 5 0 1 0 -120 -30 -180 -90 -150 -90 -180 -90 -180 -60 N
136 | P 5 0 1 0 -70 -30 -130 -90 -100 -90 -130 -90 -130 -60 N
137 | X K 1 -150 0 100 R 50 50 1 1 P
138 | X A 2 150 0 100 L 50 50 1 1 P
139 | ENDDRAW
140 | ENDDEF
141 | #
142 | # Device_R
143 | #
144 | DEF Device_R R 0 0 N Y 1 F N
145 | F0 "R" 80 0 50 V V C CNN
146 | F1 "Device_R" 0 0 50 V V C CNN
147 | F2 "" -70 0 50 V I C CNN
148 | F3 "" 0 0 50 H I C CNN
149 | $FPLIST
150 | R_*
151 | $ENDFPLIST
152 | DRAW
153 | S -40 -100 40 100 0 1 10 N
154 | X ~ 1 0 150 50 D 50 50 1 1 P
155 | X ~ 2 0 -150 50 U 50 50 1 1 P
156 | ENDDRAW
157 | ENDDEF
158 | #
159 | # Device_R_POT
160 | #
161 | DEF Device_R_POT RV 0 40 Y N 1 F N
162 | F0 "RV" -175 0 50 V V C CNN
163 | F1 "Device_R_POT" -100 0 50 V V C CNN
164 | F2 "" 0 0 50 H I C CNN
165 | F3 "" 0 0 50 H I C CNN
166 | $FPLIST
167 | Potentiometer*
168 | $ENDFPLIST
169 | DRAW
170 | S 40 100 -40 -100 0 1 10 N
171 | P 2 0 1 0 100 0 60 0 N
172 | P 4 0 1 0 45 0 90 20 90 -20 45 0 F
173 | X 1 1 0 150 50 D 50 50 1 1 P
174 | X 2 2 150 0 50 L 50 50 1 1 P
175 | X 3 3 0 -150 50 U 50 50 1 1 P
176 | ENDDRAW
177 | ENDDEF
178 | #
179 | # Device_Transformer_1P_1S
180 | #
181 | DEF Device_Transformer_1P_1S T 0 40 Y N 1 F N
182 | F0 "T" 0 250 50 H V C CNN
183 | F1 "Device_Transformer_1P_1S" 0 -300 50 H V C CNN
184 | F2 "" 0 0 50 H I C CNN
185 | F3 "" 0 0 50 H I C CNN
186 | DRAW
187 | A -100 -150 50 899 1 0 1 0 N -100 -100 -50 -150
188 | A -100 -150 50 -1 -899 0 1 0 N -50 -150 -100 -199
189 | A -100 -50 50 899 1 0 1 0 N -100 0 -50 -50
190 | A -100 -50 50 -1 -899 0 1 0 N -50 -50 -100 -99
191 | A -100 50 50 899 1 0 1 0 N -100 100 -50 50
192 | A -100 50 50 -1 -899 0 1 0 N -50 50 -100 1
193 | A -100 150 50 899 1 0 1 0 N -100 200 -50 150
194 | A -100 150 50 -1 -899 0 1 0 N -50 150 -100 101
195 | A 100 -50 50 899 -1799 0 1 0 N 100 0 51 -50
196 | A 100 -50 50 1799 -899 0 1 0 N 51 -50 100 -99
197 | A 100 50 50 899 -1799 0 1 0 N 100 100 51 50
198 | A 100 50 50 1799 -899 0 1 0 N 51 50 100 1
199 | A 100 150 50 899 -1799 0 1 0 N 100 200 51 150
200 | A 100 150 50 1799 -899 0 1 0 N 51 150 100 101
201 | A 101 -150 50 910 -1799 0 1 0 N 101 -100 52 -150
202 | A 101 -150 50 -912 -1799 0 1 0 N 101 -199 52 -150
203 | P 2 0 1 0 -25 200 -25 -200 N
204 | P 2 0 1 0 25 -200 25 200 N
205 | X AA 1 -400 200 300 R 50 50 1 1 P
206 | X AB 2 -400 -200 300 R 50 50 1 1 P
207 | X SA 3 400 -200 300 L 50 50 1 1 P
208 | X SB 4 400 200 300 L 50 50 1 1 P
209 | ENDDRAW
210 | ENDDEF
211 | #
212 | # Diode_Bridge_B250C1500G
213 | #
214 | DEF Diode_Bridge_B250C1500G D 0 0 Y Y 1 F N
215 | F0 "D" 100 275 50 H V L CNN
216 | F1 "Diode_Bridge_B250C1500G" 100 200 50 H V L CNN
217 | F2 "Diode_THT:Diode_Bridge_Round_D9.8mm" 150 125 50 H I L CNN
218 | F3 "" 0 0 50 H I C CNN
219 | ALIAS B80C1500G B125C1500G B250C1500G B380C1500G W005G W01G W02G W04G W06G W08G W10G
220 | $FPLIST
221 | D*Bridge*Round*D9.8mm*
222 | $ENDFPLIST
223 | DRAW
224 | P 2 0 1 0 -100 150 -50 100 N
225 | P 2 0 1 0 -50 -100 -100 -150 N
226 | P 2 0 1 0 100 -50 150 -100 N
227 | P 2 0 1 0 100 50 150 100 N
228 | P 4 0 1 0 -150 100 -100 50 -75 125 -150 100 N
229 | P 4 0 1 0 -100 -50 -150 -100 -75 -125 -100 -50 N
230 | P 4 0 1 0 50 100 100 150 125 75 50 100 N
231 | P 4 0 1 0 125 -75 50 -100 100 -150 125 -75 N
232 | P 5 0 1 0 -200 0 0 -200 200 0 0 200 -200 0 N
233 | X + 1 300 0 100 L 50 50 1 1 P
234 | X ~~ 2 0 -300 100 U 50 50 1 1 P
235 | X - 3 -300 0 100 R 50 50 1 1 P
236 | X ~~ 4 0 300 100 D 50 50 1 1 P
237 | ENDDRAW
238 | ENDDEF
239 | #
240 | # Mechanical_MountingHole
241 | #
242 | DEF Mechanical_MountingHole H 0 40 Y Y 1 F N
243 | F0 "H" 0 200 50 H V C CNN
244 | F1 "Mechanical_MountingHole" 0 125 50 H V C CNN
245 | F2 "" 0 0 50 H I C CNN
246 | F3 "" 0 0 50 H I C CNN
247 | $FPLIST
248 | MountingHole*
249 | $ENDFPLIST
250 | DRAW
251 | C 0 0 50 0 1 50 N
252 | ENDDRAW
253 | ENDDEF
254 | #
255 | # Mechanical_MountingHole_Pad
256 | #
257 | DEF Mechanical_MountingHole_Pad H 0 40 N N 1 F N
258 | F0 "H" 0 250 50 H V C CNN
259 | F1 "Mechanical_MountingHole_Pad" 0 175 50 H V C CNN
260 | F2 "" 0 0 50 H I C CNN
261 | F3 "" 0 0 50 H I C CNN
262 | $FPLIST
263 | MountingHole*Pad*
264 | $ENDFPLIST
265 | DRAW
266 | C 0 50 50 0 1 50 N
267 | X 1 1 0 -100 100 U 50 50 1 1 I
268 | ENDDRAW
269 | ENDDEF
270 | #
271 | # MyLib_BluePill_1
272 | #
273 | DEF MyLib_BluePill_1 BP? 0 40 Y Y 1 F N
274 | F0 "BP?" 650 50 50 H V C CNN
275 | F1 "MyLib_BluePill_1" 300 50 50 H V C CNN
276 | F2 "" 1250 -1950 50 H I C CNN
277 | F3 "" 1250 -1950 50 H I C CNN
278 | DRAW
279 | C -20 -1750 14 0 0 0 F
280 | C -20 -1650 14 0 0 0 F
281 | C -20 -1550 14 0 0 0 F
282 | C -20 -1450 14 0 0 0 F
283 | C -20 -1350 14 0 0 0 F
284 | C -20 -1250 14 0 0 0 F
285 | C -20 -1150 14 0 0 0 F
286 | C -20 -1050 14 0 0 0 F
287 | C -20 -950 14 0 0 0 F
288 | C -20 -850 14 0 0 0 F
289 | C -20 -750 14 0 0 0 F
290 | C -20 -650 14 0 0 0 F
291 | C -20 -550 14 0 0 0 F
292 | C -20 -450 14 0 0 0 F
293 | C -20 -350 14 0 0 0 F
294 | C -20 -250 14 0 0 0 F
295 | C -20 -50 14 0 0 0 F
296 | C 305 -1925 5 0 0 0 F
297 | C 305 -1925 10 0 0 0 N
298 | C 305 -1925 14 0 0 0 N
299 | C 1170 -550 10 0 0 0 F
300 | C 1170 -550 14 0 0 0 N
301 | C 1170 -450 10 0 0 0 F
302 | C 1170 -450 14 0 0 0 N
303 | C -20 -150 14 1 1 0 F
304 | T 0 520 -1760 39 0 0 0 "30pF 2MHz" Normal 0 C C
305 | T 0 520 -1925 39 0 0 0 "5V tolerant" Normal 0 C C
306 | T 0 855 -1550 39 0 0 0 ADC0 Normal 0 C C
307 | T 0 855 -1450 39 0 0 0 ADC1 Normal 0 C C
308 | T 0 855 -1350 39 0 0 0 ADC2 Normal 0 C C
309 | T 0 855 -1255 39 0 0 0 ADC3 Normal 0 C C
310 | T 0 855 -1150 39 0 0 0 ADC4 Normal 0 C C
311 | T 0 850 -750 39 0 0 0 ADC8 Normal 0 C C
312 | T 0 850 -650 39 0 0 0 ADC9 Normal 0 C C
313 | T 0 840 -1845 39 0 0 0 LED Normal 0 C C
314 | T 0 845 -950 39 0 0 0 MISO1 Normal 0 C C
315 | T 0 845 -850 39 0 0 0 MOSI1 Normal 0 C C
316 | T 0 330 -945 39 0 0 0 NSS1 Normal 0 C C
317 | T 0 475 -1845 39 0 0 0 "PWM pin" Normal 0 C C
318 | T 0 310 -655 39 0 0 0 RX1 Normal 0 C C
319 | T 0 710 -1255 39 0 0 0 RX2 Normal 0 C C
320 | T 0 830 -450 39 0 0 0 RX3 Normal 0 C C
321 | T 0 855 -1050 39 0 0 0 SCK1 Normal 0 C C
322 | T 0 325 -1345 39 0 0 0 SCL1 Normal 0 C C
323 | T 0 325 -1450 39 0 0 0 SDA1 Normal 0 C C
324 | T 0 485 -1640 39 0 0 0 "sink 3mA" Normal 0 C C
325 | T 0 525 -1695 39 0 0 0 "source 0mA" Normal 0 C C
326 | T 0 305 -550 39 0 0 0 TX1 Normal 0 C C
327 | T 0 705 -1350 39 0 0 0 TX2 Normal 0 C C
328 | T 0 835 -550 39 0 0 0 TX3 Normal 0 C C
329 | T 0 600 -100 50 0 0 0 USB Normal 0 C C
330 | T 0 335 -850 39 0 0 0 USB+ Normal 0 C C
331 | T 0 335 -750 39 0 0 0 USB- Normal 0 C C
332 | T 0 515 -20 20 0 0 0 Y@@J Normal 0 C C
333 | S 0 0 1150 -2000 0 0 0 N
334 | S 750 0 450 -200 0 1 0 N
335 | P 18 0 0 0 280 -1665 305 -1625 330 -1665 280 -1665 305 -1630 325 -1665 285 -1660 305 -1635 320 -1665 290 -1655 310 -1640 315 -1665 295 -1650 315 -1645 310 -1660 300 -1650 310 -1655 305 -1645 N
336 | P 18 0 0 0 1275 -1865 1300 -1825 1325 -1865 1275 -1865 1300 -1830 1320 -1865 1280 -1860 1300 -1835 1315 -1865 1285 -1855 1305 -1840 1310 -1865 1290 -1850 1310 -1845 1305 -1860 1295 -1850 1305 -1855 1300 -1845 N
337 | P 18 0 0 0 1275 -1765 1300 -1725 1325 -1765 1275 -1765 1300 -1730 1320 -1765 1280 -1760 1300 -1735 1315 -1765 1285 -1755 1305 -1740 1310 -1765 1290 -1750 1310 -1745 1305 -1760 1295 -1750 1305 -1755 1300 -1745 N
338 | P 18 0 0 0 1275 -1665 1300 -1625 1325 -1665 1275 -1665 1300 -1630 1320 -1665 1280 -1660 1300 -1635 1315 -1665 1285 -1655 1305 -1640 1310 -1665 1290 -1650 1310 -1645 1305 -1660 1295 -1650 1305 -1655 1300 -1645 N
339 | P 6 0 1 0 -140 -1650 -140 -1670 -160 -1670 -160 -1630 -180 -1630 -180 -1650 N
340 | P 6 0 1 0 -140 -1550 -140 -1570 -160 -1570 -160 -1530 -180 -1530 -180 -1550 N
341 | P 6 0 1 0 -140 -1450 -140 -1470 -160 -1470 -160 -1430 -180 -1430 -180 -1450 N
342 | P 6 0 1 0 -140 -1350 -140 -1370 -160 -1370 -160 -1330 -180 -1330 -180 -1350 N
343 | P 6 0 1 0 -140 -650 -140 -670 -160 -670 -160 -630 -180 -630 -180 -650 N
344 | P 6 0 1 0 -140 -550 -140 -570 -160 -570 -160 -530 -180 -530 -180 -550 N
345 | P 6 0 1 0 -140 -450 -140 -470 -160 -470 -160 -430 -180 -430 -180 -450 N
346 | P 6 0 1 0 320 -1845 320 -1865 300 -1865 300 -1825 280 -1825 280 -1845 N
347 | P 6 0 1 0 1330 -1550 1330 -1570 1310 -1570 1310 -1530 1290 -1530 1290 -1550 N
348 | P 6 0 1 0 1330 -1450 1330 -1470 1310 -1470 1310 -1430 1290 -1430 1290 -1450 N
349 | P 6 0 1 0 1330 -1350 1330 -1370 1310 -1370 1310 -1330 1290 -1330 1290 -1350 N
350 | P 6 0 1 0 1330 -1250 1330 -1270 1310 -1270 1310 -1230 1290 -1230 1290 -1250 N
351 | P 6 0 1 0 1330 -950 1330 -970 1310 -970 1310 -930 1290 -930 1290 -950 N
352 | P 6 0 1 0 1330 -850 1330 -870 1310 -870 1310 -830 1290 -830 1290 -850 N
353 | P 6 0 1 0 1330 -750 1330 -770 1310 -770 1310 -730 1290 -730 1290 -750 N
354 | P 6 0 1 0 1330 -650 1330 -670 1310 -670 1310 -630 1290 -630 1290 -650 N
355 | X PB12 1 -200 -50 200 R 50 50 1 1 B
356 | X PA15 10 -200 -950 200 R 50 50 1 1 B
357 | X PB3 11 -200 -1050 200 R 50 50 1 1 B
358 | X PB4 12 -200 -1150 200 R 50 50 1 1 B
359 | X PB5 13 -200 -1250 200 R 50 50 1 1 B
360 | X PB6 14 -200 -1350 200 R 50 50 1 1 B
361 | X PB7 15 -200 -1450 200 R 50 50 1 1 B
362 | X PB8 16 -200 -1550 200 R 50 50 1 1 B
363 | X PB9 17 -200 -1650 200 R 50 50 1 1 B
364 | X 5V 18 -200 -1750 200 R 50 50 1 1 w
365 | X GND 19 -200 -1850 200 R 50 50 1 1 W
366 | X PB13 2 -200 -150 200 R 50 50 1 1 B
367 | X 3V3 20 -200 -1950 200 R 50 50 1 1 w
368 | X VBat 21 1350 -1950 200 L 50 50 1 1 W
369 | X PC13 22 1350 -1850 200 L 50 50 1 1 B
370 | X PC14 23 1350 -1750 200 L 50 50 1 1 B
371 | X PC15 24 1350 -1650 200 L 50 50 1 1 B
372 | X PA0 25 1350 -1550 200 L 50 50 1 1 B
373 | X PA1 26 1350 -1450 200 L 50 50 1 1 B
374 | X PA2 27 1350 -1350 200 L 50 50 1 1 B
375 | X PA3 28 1350 -1250 200 L 50 50 1 1 B
376 | X PA4 29 1350 -1150 200 L 50 50 1 1 B
377 | X PB14 3 -200 -250 200 R 50 50 1 1 B
378 | X PA5 30 1350 -1050 200 L 50 50 1 1 B
379 | X PA6 31 1350 -950 200 L 50 50 1 1 B
380 | X PA7 32 1350 -850 200 L 50 50 1 1 B
381 | X PB0 33 1350 -750 200 L 50 50 1 1 B
382 | X PB1 34 1350 -650 200 L 50 50 1 1 B
383 | X PB10 35 1350 -550 200 L 50 50 1 1 B
384 | X PB11 36 1350 -450 200 L 50 50 1 1 B
385 | X RST 37 1350 -350 200 L 50 50 1 1 I
386 | X 3V3 38 1350 -250 200 L 50 50 1 1 w
387 | X GND 39 1350 -150 200 L 50 50 1 1 W
388 | X PB15 4 -200 -350 200 R 50 50 1 1 B
389 | X GND 40 1350 -50 200 L 50 50 1 1 W
390 | X PA8 5 -200 -450 200 R 50 50 1 1 B
391 | X PA9 6 -200 -550 200 R 50 50 1 1 B
392 | X PA10 7 -200 -650 200 R 50 50 1 1 B
393 | X PA11 8 -200 -750 200 R 50 50 1 1 B
394 | X PA12 9 -200 -850 200 R 50 50 1 1 B
395 | ENDDRAW
396 | ENDDEF
397 | #
398 | # Regulator_Linear_L7805
399 | #
400 | DEF Regulator_Linear_L7805 U 0 10 Y Y 1 F N
401 | F0 "U" -150 125 50 H V C CNN
402 | F1 "Regulator_Linear_L7805" 0 125 50 H V L CNN
403 | F2 "" 25 -150 50 H I L CIN
404 | F3 "" 0 -50 50 H I C CNN
405 | ALIAS L7806 L7808 L7885 L7809 L7812 L7815 L7818 L7824
406 | $FPLIST
407 | TO?252*
408 | TO?263*
409 | TO?220*
410 | $ENDFPLIST
411 | DRAW
412 | S -200 75 200 -200 0 1 10 f
413 | X IN 1 -300 0 100 R 50 50 1 1 W
414 | X GND 2 0 -300 100 U 50 50 1 1 W
415 | X OUT 3 300 0 100 L 50 50 1 1 w
416 | ENDDRAW
417 | ENDDEF
418 | #
419 | # Regulator_Linear_LM7810_TO220
420 | #
421 | DEF Regulator_Linear_LM7810_TO220 U 0 10 Y Y 1 F N
422 | F0 "U" -150 125 50 H V C CNN
423 | F1 "Regulator_Linear_LM7810_TO220" 0 125 50 H V L CNN
424 | F2 "Package_TO_SOT_THT:TO-220-3_Vertical" 0 225 50 H I C CIN
425 | F3 "" 0 -50 50 H I C CNN
426 | ALIAS LM7806_TO220 LM7808_TO220 LM7809_TO220 LM7810_TO220 LM7812_TO220 LM7815_TO220 LM7818_TO220 LM7824_TO220 LM78M05_TO220 SPX2920U-3.3_TO220 SPX2920U-5.0_TO220 LF15_TO220 LF18_TO220 LF25_TO220 LF33_TO220 LF50_TO220 LF60_TO220 LF80_TO220 LF85_TO220 LF120_TO220 LF47_TO220 LF90_TO220 LM341T-05_TO220 LM341T-12_TO220 LM341T-15_TO220 LM2937xT LM2931-3.3_TO220 LM2931-5.0_TO220
427 | $FPLIST
428 | TO?220*
429 | $ENDFPLIST
430 | DRAW
431 | S -200 75 200 -200 0 1 10 f
432 | X VI 1 -300 0 100 R 50 50 1 1 W
433 | X GND 2 0 -300 100 U 50 50 1 1 W
434 | X VO 3 300 0 100 L 50 50 1 1 w
435 | ENDDRAW
436 | ENDDEF
437 | #
438 | # Switch_SW_Push
439 | #
440 | DEF Switch_SW_Push SW 0 40 N N 1 F N
441 | F0 "SW" 50 100 50 H V L CNN
442 | F1 "Switch_SW_Push" 0 -60 50 H V C CNN
443 | F2 "" 0 200 50 H I C CNN
444 | F3 "" 0 200 50 H I C CNN
445 | DRAW
446 | C -80 0 20 0 1 0 N
447 | C 80 0 20 0 1 0 N
448 | P 2 0 1 0 0 50 0 120 N
449 | P 2 0 1 0 100 50 -100 50 N
450 | X 1 1 -200 0 100 R 50 50 0 1 P
451 | X 2 2 200 0 100 L 50 50 0 1 P
452 | ENDDRAW
453 | ENDDEF
454 | #
455 | # Transistor_BJT_BC237
456 | #
457 | DEF Transistor_BJT_BC237 Q 0 0 Y N 1 F N
458 | F0 "Q" 200 75 50 H V L CNN
459 | F1 "Transistor_BJT_BC237" 200 0 50 H V L CNN
460 | F2 "Package_TO_SOT_THT:TO-92_Inline" 200 -75 50 H I L CIN
461 | F3 "" 0 0 50 H I L CNN
462 | $FPLIST
463 | TO?92*
464 | $ENDFPLIST
465 | DRAW
466 | C 50 0 111 0 1 10 N
467 | P 2 0 1 0 0 0 25 0 N
468 | P 2 0 1 0 25 25 100 100 N
469 | P 3 0 1 0 25 -25 100 -100 100 -100 N
470 | P 3 0 1 20 25 75 25 -75 25 -75 N
471 | P 5 0 1 0 50 -70 70 -50 90 -90 50 -70 50 -70 F
472 | X C 1 100 200 100 D 50 50 1 1 P
473 | X B 2 -200 0 200 R 50 50 1 1 I
474 | X E 3 100 -200 100 U 50 50 1 1 P
475 | ENDDRAW
476 | ENDDEF
477 | #
478 | # power_+10V
479 | #
480 | DEF power_+10V #PWR 0 0 Y Y 1 F P
481 | F0 "#PWR" 0 -150 50 H I C CNN
482 | F1 "power_+10V" 0 140 50 H V C CNN
483 | F2 "" 0 0 50 H I C CNN
484 | F3 "" 0 0 50 H I C CNN
485 | DRAW
486 | P 2 0 1 0 -30 50 0 100 N
487 | P 2 0 1 0 0 0 0 100 N
488 | P 2 0 1 0 0 100 30 50 N
489 | X +10V 1 0 0 0 U 50 50 1 1 W N
490 | ENDDRAW
491 | ENDDEF
492 | #
493 | # power_+5V
494 | #
495 | DEF power_+5V #PWR 0 0 Y Y 1 F P
496 | F0 "#PWR" 0 -150 50 H I C CNN
497 | F1 "power_+5V" 0 140 50 H V C CNN
498 | F2 "" 0 0 50 H I C CNN
499 | F3 "" 0 0 50 H I C CNN
500 | DRAW
501 | P 2 0 1 0 -30 50 0 100 N
502 | P 2 0 1 0 0 0 0 100 N
503 | P 2 0 1 0 0 100 30 50 N
504 | X +5V 1 0 0 0 U 50 50 1 1 W N
505 | ENDDRAW
506 | ENDDEF
507 | #
508 | # power_GND
509 | #
510 | DEF power_GND #PWR 0 0 Y Y 1 F P
511 | F0 "#PWR" 0 -250 50 H I C CNN
512 | F1 "power_GND" 0 -150 50 H V C CNN
513 | F2 "" 0 0 50 H I C CNN
514 | F3 "" 0 0 50 H I C CNN
515 | DRAW
516 | P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N
517 | X GND 1 0 0 0 D 50 50 1 1 W N
518 | ENDDRAW
519 | ENDDEF
520 | #
521 | #End Library
522 |
--------------------------------------------------------------------------------
/hardware/GPSDO.kicad_prl:
--------------------------------------------------------------------------------
1 | {
2 | "board": {
3 | "active_layer": 0,
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": 0.6
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 | 0,
31 | 1,
32 | 2,
33 | 3,
34 | 4,
35 | 5,
36 | 6,
37 | 7,
38 | 8,
39 | 9,
40 | 10,
41 | 11,
42 | 12,
43 | 13,
44 | 14,
45 | 15,
46 | 16,
47 | 17,
48 | 18,
49 | 19,
50 | 20,
51 | 21,
52 | 22,
53 | 23,
54 | 24,
55 | 25,
56 | 26,
57 | 27,
58 | 28,
59 | 29,
60 | 30,
61 | 32,
62 | 33,
63 | 34,
64 | 35,
65 | 36
66 | ],
67 | "visible_layers": "000ffff_80000001",
68 | "zone_display_mode": 0
69 | },
70 | "meta": {
71 | "filename": "GPSDO.kicad_prl",
72 | "version": 3
73 | },
74 | "project": {
75 | "files": []
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/hardware/GPSDO.kicad_pro:
--------------------------------------------------------------------------------
1 | {
2 | "board": {
3 | "design_settings": {
4 | "defaults": {
5 | "board_outline_line_width": 0.049999999999999996,
6 | "copper_line_width": 0.19999999999999998,
7 | "copper_text_italic": false,
8 | "copper_text_size_h": 1.5,
9 | "copper_text_size_v": 1.5,
10 | "copper_text_thickness": 0.3,
11 | "copper_text_upright": false,
12 | "courtyard_line_width": 0.049999999999999996,
13 | "dimension_precision": 4,
14 | "dimension_units": 3,
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.09999999999999999,
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": false,
35 | "pads": {
36 | "drill": 0.762,
37 | "height": 1.524,
38 | "width": 1.524
39 | },
40 | "silk_line_width": 0.12,
41 | "silk_text_italic": false,
42 | "silk_text_size_h": 1.0,
43 | "silk_text_size_v": 1.0,
44 | "silk_text_thickness": 0.15,
45 | "silk_text_upright": false,
46 | "zones": {
47 | "45_degree_only": false,
48 | "min_clearance": 0.508
49 | }
50 | },
51 | "diff_pair_dimensions": [],
52 | "drc_exclusions": [],
53 | "meta": {
54 | "filename": "board_design_settings.json",
55 | "version": 2
56 | },
57 | "rule_severities": {
58 | "annular_width": "error",
59 | "clearance": "error",
60 | "copper_edge_clearance": "error",
61 | "courtyards_overlap": "error",
62 | "diff_pair_gap_out_of_range": "error",
63 | "diff_pair_uncoupled_length_too_long": "error",
64 | "drill_out_of_range": "error",
65 | "duplicate_footprints": "warning",
66 | "extra_footprint": "warning",
67 | "footprint_type_mismatch": "error",
68 | "hole_clearance": "error",
69 | "hole_near_hole": "error",
70 | "invalid_outline": "error",
71 | "item_on_disabled_layer": "error",
72 | "items_not_allowed": "error",
73 | "length_out_of_range": "error",
74 | "malformed_courtyard": "error",
75 | "microvia_drill_out_of_range": "error",
76 | "missing_courtyard": "ignore",
77 | "missing_footprint": "warning",
78 | "net_conflict": "warning",
79 | "npth_inside_courtyard": "ignore",
80 | "padstack": "error",
81 | "pth_inside_courtyard": "ignore",
82 | "shorting_items": "error",
83 | "silk_over_copper": "warning",
84 | "silk_overlap": "warning",
85 | "skew_out_of_range": "error",
86 | "through_hole_pad_without_hole": "error",
87 | "too_many_vias": "error",
88 | "track_dangling": "warning",
89 | "track_width": "error",
90 | "tracks_crossing": "error",
91 | "unconnected_items": "error",
92 | "unresolved_variable": "error",
93 | "via_dangling": "warning",
94 | "zone_has_empty_net": "error",
95 | "zones_intersect": "error"
96 | },
97 | "rule_severitieslegacy_courtyards_overlap": true,
98 | "rule_severitieslegacy_no_courtyard_defined": false,
99 | "rules": {
100 | "allow_blind_buried_vias": false,
101 | "allow_microvias": false,
102 | "max_error": 0.005,
103 | "min_clearance": 0.0,
104 | "min_copper_edge_clearance": 0.024999999999999998,
105 | "min_hole_clearance": 0.25,
106 | "min_hole_to_hole": 0.25,
107 | "min_microvia_diameter": 0.19999999999999998,
108 | "min_microvia_drill": 0.09999999999999999,
109 | "min_silk_clearance": 0.0,
110 | "min_through_hole_diameter": 0.3,
111 | "min_track_width": 0.19999999999999998,
112 | "min_via_annular_width": 0.049999999999999996,
113 | "min_via_diameter": 0.39999999999999997,
114 | "use_height_for_length_calcs": true
115 | },
116 | "track_widths": [
117 | 0.0,
118 | 0.25,
119 | 0.5,
120 | 1.0,
121 | 2.0
122 | ],
123 | "via_dimensions": [],
124 | "zones_allow_external_fillets": false,
125 | "zones_use_no_outline": true
126 | },
127 | "layer_presets": []
128 | },
129 | "boards": [],
130 | "cvpcb": {
131 | "equivalence_files": []
132 | },
133 | "libraries": {
134 | "pinned_footprint_libs": [],
135 | "pinned_symbol_libs": []
136 | },
137 | "meta": {
138 | "filename": "GPSDO.kicad_pro",
139 | "version": 1
140 | },
141 | "net_settings": {
142 | "classes": [
143 | {
144 | "bus_width": 12.0,
145 | "clearance": 0.2,
146 | "diff_pair_gap": 0.25,
147 | "diff_pair_via_gap": 0.25,
148 | "diff_pair_width": 0.2,
149 | "line_style": 0,
150 | "microvia_diameter": 0.3,
151 | "microvia_drill": 0.1,
152 | "name": "Default",
153 | "pcb_color": "rgba(0, 0, 0, 0.000)",
154 | "schematic_color": "rgba(0, 0, 0, 0.000)",
155 | "track_width": 0.25,
156 | "via_diameter": 0.8,
157 | "via_drill": 0.4,
158 | "wire_width": 6.0
159 | }
160 | ],
161 | "meta": {
162 | "version": 2
163 | },
164 | "net_colors": null
165 | },
166 | "pcbnew": {
167 | "last_paths": {
168 | "gencad": "",
169 | "idf": "",
170 | "netlist": "GPSDO.net",
171 | "specctra_dsn": "",
172 | "step": "",
173 | "vrml": ""
174 | },
175 | "page_layout_descr_file": ""
176 | },
177 | "schematic": {
178 | "drawing": {
179 | "default_text_size": 50,
180 | "label_size_ratio": 0.25,
181 | "pin_symbol_size": 0,
182 | "text_offset_ratio": 0.08
183 | },
184 | "legacy_lib_dir": "",
185 | "legacy_lib_list": [],
186 | "net_format_name": "Pcbnew",
187 | "page_layout_descr_file": "",
188 | "plot_directory": "",
189 | "spice_adjust_passive_values": false,
190 | "subpart_first_id": 65,
191 | "subpart_id_separator": 0
192 | },
193 | "sheets": [],
194 | "text_variables": {}
195 | }
196 |
--------------------------------------------------------------------------------
/hardware/GPSDO.pro:
--------------------------------------------------------------------------------
1 | update=02/12/2020 18:41:36
2 | version=1
3 | last_client=kicad
4 | [general]
5 | version=1
6 | RootSch=
7 | BoardNm=
8 | [cvpcb]
9 | version=1
10 | NetIExt=net
11 | [eeschema]
12 | version=1
13 | LibDir=
14 | [eeschema/libraries]
15 | [schematic_editor]
16 | version=1
17 | PageLayoutDescrFile=
18 | PlotDirectoryName=
19 | SubpartIdSeparator=0
20 | SubpartFirstId=65
21 | NetFmtName=Pcbnew
22 | SpiceAjustPassiveValues=0
23 | LabSize=50
24 | ERC_TestSimilarLabels=1
25 | [pcbnew]
26 | version=1
27 | PageLayoutDescrFile=
28 | LastNetListRead=GPSDO.net
29 | CopperLayerCount=2
30 | BoardThickness=1.6
31 | AllowMicroVias=0
32 | AllowBlindVias=0
33 | RequireCourtyardDefinitions=0
34 | ProhibitOverlappingCourtyards=1
35 | MinTrackWidth=0.2
36 | MinViaDiameter=0.4
37 | MinViaDrill=0.3
38 | MinMicroViaDiameter=0.2
39 | MinMicroViaDrill=0.09999999999999999
40 | MinHoleToHole=0.25
41 | TrackWidth1=0.25
42 | TrackWidth2=0.25
43 | TrackWidth3=0.5
44 | TrackWidth4=1
45 | TrackWidth5=2
46 | ViaDiameter1=0.8
47 | ViaDrill1=0.4
48 | dPairWidth1=0.2
49 | dPairGap1=0.25
50 | dPairViaGap1=0.25
51 | SilkLineWidth=0.12
52 | SilkTextSizeV=1
53 | SilkTextSizeH=1
54 | SilkTextSizeThickness=0.15
55 | SilkTextItalic=0
56 | SilkTextUpright=1
57 | CopperLineWidth=0.2
58 | CopperTextSizeV=1.5
59 | CopperTextSizeH=1.5
60 | CopperTextThickness=0.3
61 | CopperTextItalic=0
62 | CopperTextUpright=1
63 | EdgeCutLineWidth=0.05
64 | CourtyardLineWidth=0.05
65 | OthersLineWidth=0.15
66 | OthersTextSizeV=1
67 | OthersTextSizeH=1
68 | OthersTextSizeThickness=0.15
69 | OthersTextItalic=0
70 | OthersTextUpright=1
71 | SolderMaskClearance=0
72 | SolderMaskMinWidth=0
73 | SolderPasteClearance=0
74 | SolderPasteRatio=-0
75 | [pcbnew/Layer.F.Cu]
76 | Name=F.Cu
77 | Type=0
78 | Enabled=1
79 | [pcbnew/Layer.In1.Cu]
80 | Name=In1.Cu
81 | Type=0
82 | Enabled=0
83 | [pcbnew/Layer.In2.Cu]
84 | Name=In2.Cu
85 | Type=0
86 | Enabled=0
87 | [pcbnew/Layer.In3.Cu]
88 | Name=In3.Cu
89 | Type=0
90 | Enabled=0
91 | [pcbnew/Layer.In4.Cu]
92 | Name=In4.Cu
93 | Type=0
94 | Enabled=0
95 | [pcbnew/Layer.In5.Cu]
96 | Name=In5.Cu
97 | Type=0
98 | Enabled=0
99 | [pcbnew/Layer.In6.Cu]
100 | Name=In6.Cu
101 | Type=0
102 | Enabled=0
103 | [pcbnew/Layer.In7.Cu]
104 | Name=In7.Cu
105 | Type=0
106 | Enabled=0
107 | [pcbnew/Layer.In8.Cu]
108 | Name=In8.Cu
109 | Type=0
110 | Enabled=0
111 | [pcbnew/Layer.In9.Cu]
112 | Name=In9.Cu
113 | Type=0
114 | Enabled=0
115 | [pcbnew/Layer.In10.Cu]
116 | Name=In10.Cu
117 | Type=0
118 | Enabled=0
119 | [pcbnew/Layer.In11.Cu]
120 | Name=In11.Cu
121 | Type=0
122 | Enabled=0
123 | [pcbnew/Layer.In12.Cu]
124 | Name=In12.Cu
125 | Type=0
126 | Enabled=0
127 | [pcbnew/Layer.In13.Cu]
128 | Name=In13.Cu
129 | Type=0
130 | Enabled=0
131 | [pcbnew/Layer.In14.Cu]
132 | Name=In14.Cu
133 | Type=0
134 | Enabled=0
135 | [pcbnew/Layer.In15.Cu]
136 | Name=In15.Cu
137 | Type=0
138 | Enabled=0
139 | [pcbnew/Layer.In16.Cu]
140 | Name=In16.Cu
141 | Type=0
142 | Enabled=0
143 | [pcbnew/Layer.In17.Cu]
144 | Name=In17.Cu
145 | Type=0
146 | Enabled=0
147 | [pcbnew/Layer.In18.Cu]
148 | Name=In18.Cu
149 | Type=0
150 | Enabled=0
151 | [pcbnew/Layer.In19.Cu]
152 | Name=In19.Cu
153 | Type=0
154 | Enabled=0
155 | [pcbnew/Layer.In20.Cu]
156 | Name=In20.Cu
157 | Type=0
158 | Enabled=0
159 | [pcbnew/Layer.In21.Cu]
160 | Name=In21.Cu
161 | Type=0
162 | Enabled=0
163 | [pcbnew/Layer.In22.Cu]
164 | Name=In22.Cu
165 | Type=0
166 | Enabled=0
167 | [pcbnew/Layer.In23.Cu]
168 | Name=In23.Cu
169 | Type=0
170 | Enabled=0
171 | [pcbnew/Layer.In24.Cu]
172 | Name=In24.Cu
173 | Type=0
174 | Enabled=0
175 | [pcbnew/Layer.In25.Cu]
176 | Name=In25.Cu
177 | Type=0
178 | Enabled=0
179 | [pcbnew/Layer.In26.Cu]
180 | Name=In26.Cu
181 | Type=0
182 | Enabled=0
183 | [pcbnew/Layer.In27.Cu]
184 | Name=In27.Cu
185 | Type=0
186 | Enabled=0
187 | [pcbnew/Layer.In28.Cu]
188 | Name=In28.Cu
189 | Type=0
190 | Enabled=0
191 | [pcbnew/Layer.In29.Cu]
192 | Name=In29.Cu
193 | Type=0
194 | Enabled=0
195 | [pcbnew/Layer.In30.Cu]
196 | Name=In30.Cu
197 | Type=0
198 | Enabled=0
199 | [pcbnew/Layer.B.Cu]
200 | Name=B.Cu
201 | Type=0
202 | Enabled=1
203 | [pcbnew/Layer.B.Adhes]
204 | Enabled=1
205 | [pcbnew/Layer.F.Adhes]
206 | Enabled=1
207 | [pcbnew/Layer.B.Paste]
208 | Enabled=1
209 | [pcbnew/Layer.F.Paste]
210 | Enabled=1
211 | [pcbnew/Layer.B.SilkS]
212 | Enabled=1
213 | [pcbnew/Layer.F.SilkS]
214 | Enabled=1
215 | [pcbnew/Layer.B.Mask]
216 | Enabled=1
217 | [pcbnew/Layer.F.Mask]
218 | Enabled=1
219 | [pcbnew/Layer.Dwgs.User]
220 | Enabled=1
221 | [pcbnew/Layer.Cmts.User]
222 | Enabled=1
223 | [pcbnew/Layer.Eco1.User]
224 | Enabled=1
225 | [pcbnew/Layer.Eco2.User]
226 | Enabled=1
227 | [pcbnew/Layer.Edge.Cuts]
228 | Enabled=1
229 | [pcbnew/Layer.Margin]
230 | Enabled=1
231 | [pcbnew/Layer.B.CrtYd]
232 | Enabled=1
233 | [pcbnew/Layer.F.CrtYd]
234 | Enabled=1
235 | [pcbnew/Layer.B.Fab]
236 | Enabled=1
237 | [pcbnew/Layer.F.Fab]
238 | Enabled=1
239 | [pcbnew/Layer.Rescue]
240 | Enabled=0
241 | [pcbnew/Netclasses]
242 | [pcbnew/Netclasses/Default]
243 | Name=Default
244 | Clearance=0.2
245 | TrackWidth=0.25
246 | ViaDiameter=0.8
247 | ViaDrill=0.4
248 | uViaDiameter=0.3
249 | uViaDrill=0.1
250 | dPairWidth=0.2
251 | dPairGap=0.25
252 | dPairViaGap=0.25
253 |
--------------------------------------------------------------------------------
/hardware/GPSDO.sch:
--------------------------------------------------------------------------------
1 | EESchema Schematic File Version 4
2 | EELAYER 30 0
3 | EELAYER END
4 | $Descr A4 11693 8268
5 | encoding utf-8
6 | Sheet 1 1
7 | Title "TruePosition GPSDO control"
8 | Date ""
9 | Rev "A"
10 | Comp ""
11 | Comment1 ""
12 | Comment2 ""
13 | Comment3 ""
14 | Comment4 ""
15 | $EndDescr
16 | $Comp
17 | L Regulator_Linear:L7805 U1
18 | U 1 1 5E7E42AC
19 | P 5500 2000
20 | F 0 "U1" H 5500 2242 50 0000 C CNN
21 | F 1 "L7805" H 5500 2151 50 0000 C CNN
22 | F 2 "Package_TO_SOT_THT:TO-220-3_Vertical" H 5525 1850 50 0001 L CIN
23 | F 3 "http://www.st.com/content/ccc/resource/technical/document/datasheet/41/4f/b3/b0/12/d4/47/88/CD00000444.pdf/files/CD00000444.pdf/jcr:content/translations/en.CD00000444.pdf" H 5500 1950 50 0001 C CNN
24 | 1 5500 2000
25 | 1 0 0 -1
26 | $EndComp
27 | $Comp
28 | L Device:C C3
29 | U 1 1 5E7E89D9
30 | P 5000 2150
31 | F 0 "C3" H 4950 1900 50 0000 L CNN
32 | F 1 "100n" H 4900 1800 50 0000 L CNN
33 | F 2 "Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm" H 5038 2000 50 0001 C CNN
34 | F 3 "~" H 5000 2150 50 0001 C CNN
35 | 1 5000 2150
36 | 1 0 0 -1
37 | $EndComp
38 | $Comp
39 | L Device:C C6
40 | U 1 1 5E7E9418
41 | P 6000 3000
42 | F 0 "C6" H 5950 2750 50 0000 L CNN
43 | F 1 "100n" H 5950 2650 50 0000 L CNN
44 | F 2 "Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm" H 6038 2850 50 0001 C CNN
45 | F 3 "~" H 6000 3000 50 0001 C CNN
46 | 1 6000 3000
47 | 1 0 0 -1
48 | $EndComp
49 | $Comp
50 | L Device:C C5
51 | U 1 1 5E7E9A56
52 | P 6000 2150
53 | F 0 "C5" H 5950 1900 50 0000 L CNN
54 | F 1 "100n" H 5900 1800 50 0000 L CNN
55 | F 2 "Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm" H 6038 2000 50 0001 C CNN
56 | F 3 "~" H 6000 2150 50 0001 C CNN
57 | 1 6000 2150
58 | 1 0 0 -1
59 | $EndComp
60 | $Comp
61 | L Device:CP C2
62 | U 1 1 5E7E9D9F
63 | P 4450 2150
64 | F 0 "C2" H 4400 2600 50 0000 L CNN
65 | F 1 "2200uF/35V" H 4350 2500 50 0000 L CNN
66 | F 2 "Capacitor_THT:CP_Radial_D16.0mm_P7.50mm" H 4488 2000 50 0001 C CNN
67 | F 3 "~" H 4450 2150 50 0001 C CNN
68 | 1 4450 2150
69 | 1 0 0 -1
70 | $EndComp
71 | $Comp
72 | L Device:CP C7
73 | U 1 1 5E7EA8E3
74 | P 6300 2150
75 | F 0 "C7" H 6250 1950 50 0000 L CNN
76 | F 1 "4,7uF/25V" H 6250 1850 50 0000 L CNN
77 | F 2 "Capacitor_THT:CP_Radial_D5.0mm_P2.00mm" H 6338 2000 50 0001 C CNN
78 | F 3 "~" H 6300 2150 50 0001 C CNN
79 | 1 6300 2150
80 | 1 0 0 -1
81 | $EndComp
82 | $Comp
83 | L Device:CP C8
84 | U 1 1 5E7EB9AE
85 | P 6300 3000
86 | F 0 "C8" H 6250 2750 50 0000 L CNN
87 | F 1 "4.7uF/25V" H 6250 2650 50 0000 L CNN
88 | F 2 "Capacitor_THT:CP_Radial_D5.0mm_P2.00mm" H 6338 2850 50 0001 C CNN
89 | F 3 "~" H 6300 3000 50 0001 C CNN
90 | 1 6300 3000
91 | 1 0 0 -1
92 | $EndComp
93 | Wire Wire Line
94 | 4450 2000 4750 2000
95 | Connection ~ 5000 2000
96 | Wire Wire Line
97 | 5000 2000 5200 2000
98 | $Comp
99 | L Device:C C4
100 | U 1 1 5E82948E
101 | P 5000 3000
102 | F 0 "C4" H 4950 2750 50 0000 L CNN
103 | F 1 "100n" H 4950 2650 50 0000 L CNN
104 | F 2 "Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm" H 5038 2850 50 0001 C CNN
105 | F 3 "~" H 5000 3000 50 0001 C CNN
106 | 1 5000 3000
107 | 1 0 0 -1
108 | $EndComp
109 | Wire Wire Line
110 | 5200 2850 5000 2850
111 | Wire Wire Line
112 | 4750 2850 4750 2000
113 | Connection ~ 5000 2850
114 | Wire Wire Line
115 | 5000 2850 4750 2850
116 | Connection ~ 4750 2000
117 | Wire Wire Line
118 | 4750 2000 5000 2000
119 | Wire Wire Line
120 | 5800 2000 6000 2000
121 | Connection ~ 6000 2000
122 | Wire Wire Line
123 | 6000 2000 6300 2000
124 | Wire Wire Line
125 | 5800 2850 6000 2850
126 | Connection ~ 6000 2850
127 | Wire Wire Line
128 | 6000 2850 6300 2850
129 | Connection ~ 6300 2000
130 | Connection ~ 6300 2850
131 | Wire Wire Line
132 | 4450 2300 5000 2300
133 | Connection ~ 5000 2300
134 | Wire Wire Line
135 | 5000 2300 5500 2300
136 | Connection ~ 5500 2300
137 | Wire Wire Line
138 | 5500 2300 6000 2300
139 | Connection ~ 6000 2300
140 | Wire Wire Line
141 | 6000 2300 6300 2300
142 | Connection ~ 6000 3150
143 | Wire Wire Line
144 | 6300 3150 6000 3150
145 | Wire Wire Line
146 | 5000 3150 4450 3150
147 | Connection ~ 5000 3150
148 | Connection ~ 4450 2300
149 | Connection ~ 4450 3150
150 | $Comp
151 | L power:GND #PWR07
152 | U 1 1 5E8359EF
153 | P 4450 3150
154 | F 0 "#PWR07" H 4450 2900 50 0001 C CNN
155 | F 1 "GND" H 4455 2977 50 0000 C CNN
156 | F 2 "" H 4450 3150 50 0001 C CNN
157 | F 3 "" H 4450 3150 50 0001 C CNN
158 | 1 4450 3150
159 | 1 0 0 -1
160 | $EndComp
161 | $Comp
162 | L power:+5V #PWR010
163 | U 1 1 5E83605D
164 | P 6300 2000
165 | F 0 "#PWR010" H 6300 1850 50 0001 C CNN
166 | F 1 "+5V" H 6315 2173 50 0000 C CNN
167 | F 2 "" H 6300 2000 50 0001 C CNN
168 | F 3 "" H 6300 2000 50 0001 C CNN
169 | 1 6300 2000
170 | 1 0 0 -1
171 | $EndComp
172 | $Comp
173 | L power:+10V #PWR011
174 | U 1 1 5E836706
175 | P 6300 2850
176 | F 0 "#PWR011" H 6300 2700 50 0001 C CNN
177 | F 1 "+10V" H 6315 3023 50 0000 C CNN
178 | F 2 "" H 6300 2850 50 0001 C CNN
179 | F 3 "" H 6300 2850 50 0001 C CNN
180 | 1 6300 2850
181 | 1 0 0 -1
182 | $EndComp
183 | $Comp
184 | L Regulator_Linear:LM7810_TO220 U2
185 | U 1 1 5E836E30
186 | P 5500 2850
187 | F 0 "U2" H 5500 3092 50 0000 C CNN
188 | F 1 "LM7810_TO220" H 5500 3001 50 0000 C CNN
189 | F 2 "Package_TO_SOT_THT:TO-220-3_Vertical" H 5500 3075 50 0001 C CIN
190 | F 3 "http://www.fairchildsemi.com/ds/LM/LM7805.pdf" H 5500 2800 50 0001 C CNN
191 | 1 5500 2850
192 | 1 0 0 -1
193 | $EndComp
194 | Wire Wire Line
195 | 5000 3150 5500 3150
196 | Connection ~ 5500 3150
197 | Wire Wire Line
198 | 5500 3150 6000 3150
199 | $Comp
200 | L MyLib:BluePill_1 BP1
201 | U 1 1 5E83AC76
202 | P 4600 4000
203 | F 0 "BP1" H 5175 4175 50 0000 C CNN
204 | F 1 "BluePill_1" H 5175 4084 50 0000 C CNN
205 | F 2 "Cutom-modules:STM32-BluePill" H 5850 2050 50 0001 C CNN
206 | F 3 "" H 5850 2050 50 0001 C CNN
207 | 1 4600 4000
208 | 1 0 0 -1
209 | $EndComp
210 | $Comp
211 | L power:GND #PWR06
212 | U 1 1 5E83E250
213 | P 4150 6100
214 | F 0 "#PWR06" H 4150 5850 50 0001 C CNN
215 | F 1 "GND" H 4155 5927 50 0000 C CNN
216 | F 2 "" H 4150 6100 50 0001 C CNN
217 | F 3 "" H 4150 6100 50 0001 C CNN
218 | 1 4150 6100
219 | 1 0 0 -1
220 | $EndComp
221 | $Comp
222 | L power:GND #PWR08
223 | U 1 1 5E83E6BB
224 | P 6150 4050
225 | F 0 "#PWR08" H 6150 3800 50 0001 C CNN
226 | F 1 "GND" H 6155 3877 50 0000 C CNN
227 | F 2 "" H 6150 4050 50 0001 C CNN
228 | F 3 "" H 6150 4050 50 0001 C CNN
229 | 1 6150 4050
230 | 1 0 0 -1
231 | $EndComp
232 | Wire Wire Line
233 | 4400 5850 4150 5850
234 | Wire Wire Line
235 | 4150 5850 4150 6100
236 | Wire Wire Line
237 | 6150 4050 6050 4050
238 | Wire Wire Line
239 | 5950 4150 6050 4150
240 | Wire Wire Line
241 | 6050 4150 6050 4050
242 | Connection ~ 6050 4050
243 | Wire Wire Line
244 | 6050 4050 5950 4050
245 | $Comp
246 | L power:+5V #PWR05
247 | U 1 1 5E8415A0
248 | P 4150 5750
249 | F 0 "#PWR05" H 4150 5600 50 0001 C CNN
250 | F 1 "+5V" H 4165 5923 50 0000 C CNN
251 | F 2 "" H 4150 5750 50 0001 C CNN
252 | F 3 "" H 4150 5750 50 0001 C CNN
253 | 1 4150 5750
254 | 1 0 0 -1
255 | $EndComp
256 | Wire Wire Line
257 | 4400 5750 4150 5750
258 | $Comp
259 | L power:GND #PWR09
260 | U 1 1 5E85863E
261 | P 6400 5600
262 | F 0 "#PWR09" H 6400 5350 50 0001 C CNN
263 | F 1 "GND" H 6405 5427 50 0000 C CNN
264 | F 2 "" H 6400 5600 50 0001 C CNN
265 | F 3 "" H 6400 5600 50 0001 C CNN
266 | 1 6400 5600
267 | 1 0 0 -1
268 | $EndComp
269 | $Comp
270 | L Switch:SW_Push SW1
271 | U 1 1 5E84D043
272 | P 4050 4000
273 | F 0 "SW1" H 4050 4285 50 0000 C CNN
274 | F 1 "SW_Mode" H 4050 4194 50 0000 C CNN
275 | F 2 "Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical" H 4050 4200 50 0001 C CNN
276 | F 3 "~" H 4050 4200 50 0001 C CNN
277 | 1 4050 4000
278 | -1 0 0 -1
279 | $EndComp
280 | $Comp
281 | L Switch:SW_Push SW2
282 | U 1 1 5E84C9C6
283 | P 4050 4350
284 | F 0 "SW2" H 4050 4635 50 0000 C CNN
285 | F 1 "SW_Sel" H 4050 4544 50 0000 C CNN
286 | F 2 "Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical" H 4050 4550 50 0001 C CNN
287 | F 3 "~" H 4050 4550 50 0001 C CNN
288 | 1 4050 4350
289 | -1 0 0 -1
290 | $EndComp
291 | Wire Wire Line
292 | 2300 5250 2150 5250
293 | Wire Wire Line
294 | 2300 4950 2150 4950
295 | Wire Wire Line
296 | 2150 4650 2300 4650
297 | Wire Wire Line
298 | 2600 5250 2700 5250
299 | Wire Wire Line
300 | 2700 4950 2600 4950
301 | Wire Wire Line
302 | 2700 4650 2600 4650
303 | $Comp
304 | L power:GND #PWR03
305 | U 1 1 5E844B75
306 | P 2750 6100
307 | F 0 "#PWR03" H 2750 5850 50 0001 C CNN
308 | F 1 "GND" H 2755 5927 50 0000 C CNN
309 | F 2 "" H 2750 6100 50 0001 C CNN
310 | F 3 "" H 2750 6100 50 0001 C CNN
311 | 1 2750 6100
312 | -1 0 0 -1
313 | $EndComp
314 | $Comp
315 | L Device:LED D3
316 | U 1 1 5E8447A6
317 | P 2450 5250
318 | F 0 "D3" H 2443 4995 50 0000 C CNN
319 | F 1 "LED red" H 2443 5086 50 0000 C CNN
320 | F 2 "Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical" H 2450 5250 50 0001 C CNN
321 | F 3 "~" H 2450 5250 50 0001 C CNN
322 | 1 2450 5250
323 | 1 0 0 1
324 | $EndComp
325 | $Comp
326 | L Device:LED D2
327 | U 1 1 5E844296
328 | P 2450 4950
329 | F 0 "D2" H 2443 4695 50 0000 C CNN
330 | F 1 "LED yellow" H 2443 4786 50 0000 C CNN
331 | F 2 "Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical" H 2450 4950 50 0001 C CNN
332 | F 3 "~" H 2450 4950 50 0001 C CNN
333 | 1 2450 4950
334 | 1 0 0 1
335 | $EndComp
336 | $Comp
337 | L Device:LED D1
338 | U 1 1 5E843C2F
339 | P 2450 4650
340 | F 0 "D1" H 2443 4395 50 0000 C CNN
341 | F 1 "LED green" H 2443 4486 50 0000 C CNN
342 | F 2 "Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical" H 2450 4650 50 0001 C CNN
343 | F 3 "~" H 2450 4650 50 0001 C CNN
344 | 1 2450 4650
345 | 1 0 0 1
346 | $EndComp
347 | $Comp
348 | L Device:R R3
349 | U 1 1 5E8438BA
350 | P 2850 5250
351 | F 0 "R3" V 2643 5250 50 0000 C CNN
352 | F 1 "1k5" V 2734 5250 50 0000 C CNN
353 | F 2 "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 2780 5250 50 0001 C CNN
354 | F 3 "~" H 2850 5250 50 0001 C CNN
355 | 1 2850 5250
356 | 0 -1 1 0
357 | $EndComp
358 | $Comp
359 | L Device:R R2
360 | U 1 1 5E8433CE
361 | P 2850 4950
362 | F 0 "R2" V 3057 4950 50 0000 C CNN
363 | F 1 "1k5" V 2966 4950 50 0000 C CNN
364 | F 2 "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 2780 4950 50 0001 C CNN
365 | F 3 "~" H 2850 4950 50 0001 C CNN
366 | 1 2850 4950
367 | 0 1 -1 0
368 | $EndComp
369 | $Comp
370 | L Device:R R1
371 | U 1 1 5E842C41
372 | P 2850 4650
373 | F 0 "R1" V 2643 4650 50 0000 C CNN
374 | F 1 "1k5" V 2734 4650 50 0000 C CNN
375 | F 2 "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 2780 4650 50 0001 C CNN
376 | F 3 "~" H 2850 4650 50 0001 C CNN
377 | 1 2850 4650
378 | 0 -1 1 0
379 | $EndComp
380 | $Comp
381 | L Device:C C1
382 | U 1 1 5E855AC8
383 | P 4100 2150
384 | F 0 "C1" H 4050 2600 50 0000 L CNN
385 | F 1 "100nF" H 4000 2500 50 0000 L CNN
386 | F 2 "Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm" H 4138 2000 50 0001 C CNN
387 | F 3 "~" H 4100 2150 50 0001 C CNN
388 | 1 4100 2150
389 | 1 0 0 -1
390 | $EndComp
391 | Wire Wire Line
392 | 4250 4250 4250 4000
393 | Wire Wire Line
394 | 4400 5250 3500 5250
395 | Wire Wire Line
396 | 3500 5250 3500 4650
397 | Wire Wire Line
398 | 3500 4650 3000 4650
399 | Wire Wire Line
400 | 4400 5350 3350 5350
401 | Wire Wire Line
402 | 3350 5350 3350 4950
403 | Wire Wire Line
404 | 3350 4950 3000 4950
405 | Wire Wire Line
406 | 4400 5450 3150 5450
407 | Wire Wire Line
408 | 3150 5450 3150 5250
409 | Wire Wire Line
410 | 3150 5250 3000 5250
411 | $Comp
412 | L Device:R R4
413 | U 1 1 5E89BCC6
414 | P 3300 5900
415 | F 0 "R4" V 3093 5900 50 0000 C CNN
416 | F 1 "10k" V 3184 5900 50 0000 C CNN
417 | F 2 "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 3230 5900 50 0001 C CNN
418 | F 3 "~" H 3300 5900 50 0001 C CNN
419 | 1 3300 5900
420 | 0 1 1 0
421 | $EndComp
422 | Wire Wire Line
423 | 4400 5550 3650 5550
424 | Wire Wire Line
425 | 3650 5900 3450 5900
426 | Wire Wire Line
427 | 3150 5900 3050 5900
428 | Wire Wire Line
429 | 2600 5650 2750 5650
430 | Wire Wire Line
431 | 2750 5650 2750 5700
432 | Connection ~ 2150 4950
433 | Wire Wire Line
434 | 2150 4950 2150 4650
435 | Wire Wire Line
436 | 2150 5250 2150 4950
437 | $Comp
438 | L Connector_Generic:Conn_01x04 J3
439 | U 1 1 5E8C0B0A
440 | P 6700 5350
441 | F 0 "J3" H 6650 5050 50 0000 L CNN
442 | F 1 "GPSDO" H 6650 4950 50 0000 L CNN
443 | F 2 "Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical" H 6700 5350 50 0001 C CNN
444 | F 3 "~" H 6700 5350 50 0001 C CNN
445 | 1 6700 5350
446 | 1 0 0 -1
447 | $EndComp
448 | Wire Wire Line
449 | 5950 5350 6300 5350
450 | Wire Wire Line
451 | 6300 5350 6300 5450
452 | Wire Wire Line
453 | 6300 5450 6500 5450
454 | Wire Wire Line
455 | 5950 5250 6500 5250
456 | Wire Wire Line
457 | 6500 5350 6400 5350
458 | Wire Wire Line
459 | 6400 5350 6400 5550
460 | Wire Wire Line
461 | 6400 5550 6500 5550
462 | Connection ~ 6400 5550
463 | Wire Wire Line
464 | 6400 5550 6400 5600
465 | $Comp
466 | L Device:Transformer_1P_1S T1
467 | U 1 1 5ED9B0D1
468 | P 2550 2200
469 | F 0 "T1" H 2550 2581 50 0000 C CNN
470 | F 1 "230V/12V 16VA" H 2550 2490 50 0000 C CNN
471 | F 2 "Cutom-modules:Transforme_Gerth_Bv_54112" H 2550 2200 50 0001 C CNN
472 | F 3 "~" H 2550 2200 50 0001 C CNN
473 | 1 2550 2200
474 | 1 0 0 -1
475 | $EndComp
476 | Wire Wire Line
477 | 2950 2000 3050 2000
478 | Wire Wire Line
479 | 3050 2000 3050 1900
480 | Wire Wire Line
481 | 3050 1900 3500 1900
482 | Wire Wire Line
483 | 2950 2400 3050 2400
484 | Wire Wire Line
485 | 3050 2400 3050 2500
486 | Wire Wire Line
487 | 3050 2500 3500 2500
488 | Wire Wire Line
489 | 3800 2200 3800 2000
490 | Wire Wire Line
491 | 3800 2000 4100 2000
492 | Connection ~ 4450 2000
493 | Connection ~ 4100 2000
494 | Wire Wire Line
495 | 4100 2000 4450 2000
496 | Wire Wire Line
497 | 3200 2200 3200 3150
498 | Wire Wire Line
499 | 3200 3150 4100 3150
500 | Wire Wire Line
501 | 4100 2300 4450 2300
502 | Wire Wire Line
503 | 4100 2300 4100 3150
504 | Connection ~ 4100 2300
505 | Connection ~ 4100 3150
506 | Wire Wire Line
507 | 4100 3150 4450 3150
508 | $Comp
509 | L Connector_Generic:Conn_01x03 J2
510 | U 1 1 5EDBF924
511 | P 1500 2200
512 | F 0 "J2" H 1418 2517 50 0000 C CNN
513 | F 1 "Power 230V" H 1418 2426 50 0000 C CNN
514 | F 2 "Connector_Wire:SolderWire-1.5sqmm_1x03_P6mm_D1.7mm_OD3mm" H 1500 2200 50 0001 C CNN
515 | F 3 "~" H 1500 2200 50 0001 C CNN
516 | 1 1500 2200
517 | -1 0 0 -1
518 | $EndComp
519 | Wire Wire Line
520 | 1700 2100 2150 2100
521 | Wire Wire Line
522 | 2150 2100 2150 2000
523 | Wire Wire Line
524 | 1900 3150 3200 3150
525 | Connection ~ 3200 3150
526 | $Comp
527 | L Device:R R5
528 | U 1 1 5EDB2A36
529 | P 2450 5650
530 | F 0 "R5" V 2243 5650 50 0000 C CNN
531 | F 1 "220" V 2334 5650 50 0000 C CNN
532 | F 2 "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 2380 5650 50 0001 C CNN
533 | F 3 "~" H 2450 5650 50 0001 C CNN
534 | 1 2450 5650
535 | 0 1 1 0
536 | $EndComp
537 | $Comp
538 | L power:GND #PWR0101
539 | U 1 1 5EDD195E
540 | P 7400 5400
541 | F 0 "#PWR0101" H 7400 5150 50 0001 C CNN
542 | F 1 "GND" H 7405 5227 50 0000 C CNN
543 | F 2 "" H 7400 5400 50 0001 C CNN
544 | F 3 "" H 7400 5400 50 0001 C CNN
545 | 1 7400 5400
546 | 1 0 0 -1
547 | $EndComp
548 | $Comp
549 | L power:+5V #PWR0102
550 | U 1 1 5EDD2137
551 | P 7300 3750
552 | F 0 "#PWR0102" H 7300 3600 50 0001 C CNN
553 | F 1 "+5V" H 7315 3923 50 0000 C CNN
554 | F 2 "" H 7300 3750 50 0001 C CNN
555 | F 3 "" H 7300 3750 50 0001 C CNN
556 | 1 7300 3750
557 | 1 0 0 -1
558 | $EndComp
559 | Wire Wire Line
560 | 2000 5650 2300 5650
561 | Wire Wire Line
562 | 5950 5150 6650 5150
563 | Wire Wire Line
564 | 6650 5150 6650 5050
565 | Wire Wire Line
566 | 5950 5050 6550 5050
567 | Wire Wire Line
568 | 6550 5050 6550 4950
569 | Wire Wire Line
570 | 2000 3650 2000 5650
571 | Wire Wire Line
572 | 3650 5900 3650 5550
573 | Wire Wire Line
574 | 4250 4250 4400 4250
575 | Wire Wire Line
576 | 4400 4350 4250 4350
577 | Wire Wire Line
578 | 3850 4000 3850 4350
579 | Wire Wire Line
580 | 2150 4400 2300 4400
581 | Wire Wire Line
582 | 2700 4400 2600 4400
583 | $Comp
584 | L Device:LED D4
585 | U 1 1 5EE68135
586 | P 2450 4400
587 | F 0 "D4" H 2443 4145 50 0000 C CNN
588 | F 1 "LED green" H 2443 4236 50 0000 C CNN
589 | F 2 "Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical" H 2450 4400 50 0001 C CNN
590 | F 3 "~" H 2450 4400 50 0001 C CNN
591 | 1 2450 4400
592 | 1 0 0 1
593 | $EndComp
594 | $Comp
595 | L Device:R R6
596 | U 1 1 5EE6813B
597 | P 2850 4400
598 | F 0 "R6" V 2643 4400 50 0000 C CNN
599 | F 1 "1k5" V 2734 4400 50 0000 C CNN
600 | F 2 "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 2780 4400 50 0001 C CNN
601 | F 3 "~" H 2850 4400 50 0001 C CNN
602 | 1 2850 4400
603 | 0 -1 1 0
604 | $EndComp
605 | Wire Wire Line
606 | 2150 4400 2150 4650
607 | Connection ~ 2150 4650
608 | $Comp
609 | L power:+5V #PWR0103
610 | U 1 1 5EE7246A
611 | P 3050 4400
612 | F 0 "#PWR0103" H 3050 4250 50 0001 C CNN
613 | F 1 "+5V" H 3065 4573 50 0000 C CNN
614 | F 2 "" H 3050 4400 50 0001 C CNN
615 | F 3 "" H 3050 4400 50 0001 C CNN
616 | 1 3050 4400
617 | 1 0 0 -1
618 | $EndComp
619 | Wire Wire Line
620 | 2150 4400 2150 4000
621 | Wire Wire Line
622 | 2150 4000 3850 4000
623 | Connection ~ 2150 4400
624 | Connection ~ 3850 4000
625 | $Comp
626 | L power:GND #PWR0104
627 | U 1 1 5EE780CB
628 | P 2150 5250
629 | F 0 "#PWR0104" H 2150 5000 50 0001 C CNN
630 | F 1 "GND" H 2155 5077 50 0000 C CNN
631 | F 2 "" H 2150 5250 50 0001 C CNN
632 | F 3 "" H 2150 5250 50 0001 C CNN
633 | 1 2150 5250
634 | 1 0 0 -1
635 | $EndComp
636 | Connection ~ 2150 5250
637 | $Comp
638 | L Device:R_POT RV1
639 | U 1 1 5EEC4030
640 | P 7050 3850
641 | F 0 "RV1" V 6843 3850 50 0000 C CNN
642 | F 1 "10k lin" V 6934 3850 50 0000 C CNN
643 | F 2 "Potentiometer_THT:Potentiometer_ACP_CA9-H2,5_Horizontal" H 7050 3850 50 0001 C CNN
644 | F 3 "~" H 7050 3850 50 0001 C CNN
645 | 1 7050 3850
646 | 0 1 1 0
647 | $EndComp
648 | $Comp
649 | L Connector_Generic:Conn_01x09 J5
650 | U 1 1 5EEDA1D6
651 | P 7700 4950
652 | F 0 "J5" H 7650 5600 50 0000 L CNN
653 | F 1 "Display" H 7650 5500 50 0000 L CNN
654 | F 2 "Connector_PinHeader_2.54mm:PinHeader_1x09_P2.54mm_Vertical" H 7700 4950 50 0001 C CNN
655 | F 3 "~" H 7700 4950 50 0001 C CNN
656 | 1 7700 4950
657 | 1 0 0 -1
658 | $EndComp
659 | Wire Wire Line
660 | 6900 3850 6900 4150
661 | Wire Wire Line
662 | 6900 4150 7400 4150
663 | Wire Wire Line
664 | 7500 4750 7050 4750
665 | Wire Wire Line
666 | 7050 4750 7050 4000
667 | Wire Wire Line
668 | 7500 5250 6850 5250
669 | Wire Wire Line
670 | 6850 5250 6850 3650
671 | Wire Wire Line
672 | 6850 3650 2000 3650
673 | Wire Wire Line
674 | 7500 4650 7300 4650
675 | Wire Wire Line
676 | 7300 4650 7300 3850
677 | Wire Wire Line
678 | 7200 3850 7300 3850
679 | Connection ~ 7300 3850
680 | Wire Wire Line
681 | 7300 3850 7300 3750
682 | Wire Wire Line
683 | 5950 4850 7500 4850
684 | Wire Wire Line
685 | 6550 4950 7500 4950
686 | Wire Wire Line
687 | 6650 5050 7500 5050
688 | Wire Wire Line
689 | 7400 4150 7400 4550
690 | Wire Wire Line
691 | 7500 4550 7400 4550
692 | Connection ~ 7400 4550
693 | $Comp
694 | L Connector_Generic:Conn_01x03 J1
695 | U 1 1 5FCD689F
696 | P 6700 4550
697 | F 0 "J1" H 6400 4850 50 0000 L CNN
698 | F 1 "SerialPort" H 6400 4750 50 0000 L CNN
699 | F 2 "Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical" H 6700 4550 50 0001 C CNN
700 | F 3 "~" H 6700 4550 50 0001 C CNN
701 | 1 6700 4550
702 | 1 0 0 -1
703 | $EndComp
704 | Wire Wire Line
705 | 5950 4450 6500 4450
706 | Wire Wire Line
707 | 5950 4550 6500 4550
708 | $Comp
709 | L power:GND #PWR0105
710 | U 1 1 5FCE4005
711 | P 6400 4650
712 | F 0 "#PWR0105" H 6400 4400 50 0001 C CNN
713 | F 1 "GND" H 6405 4477 50 0000 C CNN
714 | F 2 "" H 6400 4650 50 0001 C CNN
715 | F 3 "" H 6400 4650 50 0001 C CNN
716 | 1 6400 4650
717 | 1 0 0 -1
718 | $EndComp
719 | Wire Wire Line
720 | 6500 4650 6400 4650
721 | $Comp
722 | L Transistor_BJT:BC237 Q1
723 | U 1 1 5FCF4084
724 | P 2850 5900
725 | F 0 "Q1" H 3041 5946 50 0000 L CNN
726 | F 1 "BC237" H 3041 5855 50 0000 L CNN
727 | F 2 "Package_TO_SOT_THT:TO-92_Inline" H 3050 5825 50 0001 L CIN
728 | F 3 "http://www.onsemi.com/pub_link/Collateral/BC237-D.PDF" H 2850 5900 50 0001 L CNN
729 | 1 2850 5900
730 | -1 0 0 -1
731 | $EndComp
732 | Wire Wire Line
733 | 5950 4750 6950 4750
734 | Wire Wire Line
735 | 6950 4750 6950 5150
736 | Wire Wire Line
737 | 6950 5150 7500 5150
738 | Wire Wire Line
739 | 7400 4550 7400 5400
740 | Wire Wire Line
741 | 7300 4650 7300 5350
742 | Wire Wire Line
743 | 7300 5350 7500 5350
744 | Connection ~ 7300 4650
745 | $Comp
746 | L Diode_Bridge:B250C1500G D5
747 | U 1 1 5FD1DE85
748 | P 3500 2200
749 | F 0 "D5" H 3400 2700 50 0000 L CNN
750 | F 1 "B250C1500G" H 3150 2600 50 0000 L CNN
751 | F 2 "Diode_THT:Diode_Bridge_Round_D9.8mm" H 3650 2325 50 0001 L CNN
752 | F 3 "https://www.vishay.com/docs/88501/b40c1500g.pdf" H 3500 2200 50 0001 C CNN
753 | 1 3500 2200
754 | 1 0 0 -1
755 | $EndComp
756 | $Comp
757 | L Mechanical:MountingHole H1
758 | U 1 1 5FD33151
759 | P 900 6500
760 | F 0 "H1" H 1000 6546 50 0000 L CNN
761 | F 1 "MountingHole" H 1000 6455 50 0000 L CNN
762 | F 2 "MountingHole:MountingHole_3.2mm_M3_Pad" H 900 6500 50 0001 C CNN
763 | F 3 "~" H 900 6500 50 0001 C CNN
764 | 1 900 6500
765 | 1 0 0 -1
766 | $EndComp
767 | $Comp
768 | L Mechanical:MountingHole H2
769 | U 1 1 5FD336F1
770 | P 900 6750
771 | F 0 "H2" H 1000 6796 50 0000 L CNN
772 | F 1 "MountingHole" H 1000 6705 50 0000 L CNN
773 | F 2 "MountingHole:MountingHole_3.2mm_M3_Pad" H 900 6750 50 0001 C CNN
774 | F 3 "~" H 900 6750 50 0001 C CNN
775 | 1 900 6750
776 | 1 0 0 -1
777 | $EndComp
778 | $Comp
779 | L Mechanical:MountingHole H3
780 | U 1 1 5FD33F46
781 | P 900 7000
782 | F 0 "H3" H 1000 7046 50 0000 L CNN
783 | F 1 "MountingHole" H 1000 6955 50 0000 L CNN
784 | F 2 "MountingHole:MountingHole_3.2mm_M3_Pad" H 900 7000 50 0001 C CNN
785 | F 3 "~" H 900 7000 50 0001 C CNN
786 | 1 900 7000
787 | 1 0 0 -1
788 | $EndComp
789 | $Comp
790 | L Mechanical:MountingHole_Pad H4
791 | U 1 1 5FD3487E
792 | P 900 7300
793 | F 0 "H4" H 1000 7349 50 0000 L CNN
794 | F 1 "MountingHole_Pad" H 1000 7258 50 0000 L CNN
795 | F 2 "MountingHole:MountingHole_3.2mm_M3_Pad_Via" H 900 7300 50 0001 C CNN
796 | F 3 "~" H 900 7300 50 0001 C CNN
797 | 1 900 7300
798 | 1 0 0 -1
799 | $EndComp
800 | $Comp
801 | L power:GND #PWR01
802 | U 1 1 5FD35555
803 | P 900 7400
804 | F 0 "#PWR01" H 900 7150 50 0001 C CNN
805 | F 1 "GND" H 905 7227 50 0000 C CNN
806 | F 2 "" H 900 7400 50 0001 C CNN
807 | F 3 "" H 900 7400 50 0001 C CNN
808 | 1 900 7400
809 | 1 0 0 -1
810 | $EndComp
811 | $Comp
812 | L Mechanical:MountingHole H5
813 | U 1 1 5FD4558C
814 | P 1250 6500
815 | F 0 "H5" H 1350 6546 50 0000 L CNN
816 | F 1 "MountingHole" H 1350 6455 50 0000 L CNN
817 | F 2 "MountingHole:MountingHole_3.2mm_M3_Pad" H 1250 6500 50 0001 C CNN
818 | F 3 "~" H 1250 6500 50 0001 C CNN
819 | 1 1250 6500
820 | 1 0 0 -1
821 | $EndComp
822 | $Comp
823 | L Mechanical:MountingHole H6
824 | U 1 1 5FD45592
825 | P 1250 6750
826 | F 0 "H6" H 1350 6796 50 0000 L CNN
827 | F 1 "MountingHole" H 1350 6705 50 0000 L CNN
828 | F 2 "MountingHole:MountingHole_3.2mm_M3_Pad" H 1250 6750 50 0001 C CNN
829 | F 3 "~" H 1250 6750 50 0001 C CNN
830 | 1 1250 6750
831 | 1 0 0 -1
832 | $EndComp
833 | $Comp
834 | L Connector_Generic:Conn_01x03 J4
835 | U 1 1 5FCB183B
836 | P 7700 2950
837 | F 0 "J4" H 7780 2992 50 0000 L CNN
838 | F 1 "GPSDO Power" H 7780 2901 50 0000 L CNN
839 | F 2 "Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical" H 7700 2950 50 0001 C CNN
840 | F 3 "~" H 7700 2950 50 0001 C CNN
841 | 1 7700 2950
842 | 1 0 0 -1
843 | $EndComp
844 | Wire Wire Line
845 | 6300 2850 7500 2850
846 | Wire Wire Line
847 | 6300 3150 7400 3150
848 | Wire Wire Line
849 | 7400 3150 7400 3050
850 | Wire Wire Line
851 | 7400 2950 7500 2950
852 | Connection ~ 6300 3150
853 | Wire Wire Line
854 | 7500 3050 7400 3050
855 | Connection ~ 7400 3050
856 | Wire Wire Line
857 | 7400 3050 7400 2950
858 | Wire Wire Line
859 | 3000 4400 3050 4400
860 | NoConn ~ 4400 4050
861 | NoConn ~ 4400 4150
862 | NoConn ~ 4400 4450
863 | NoConn ~ 4400 4550
864 | NoConn ~ 4400 4650
865 | NoConn ~ 4400 4750
866 | NoConn ~ 4400 4850
867 | NoConn ~ 4400 4950
868 | NoConn ~ 4400 5050
869 | NoConn ~ 4400 5150
870 | NoConn ~ 4400 5650
871 | NoConn ~ 4400 5950
872 | NoConn ~ 5950 5950
873 | NoConn ~ 5950 5850
874 | NoConn ~ 5950 5750
875 | NoConn ~ 5950 5650
876 | NoConn ~ 5950 5550
877 | NoConn ~ 5950 5450
878 | NoConn ~ 5950 4950
879 | NoConn ~ 5950 4650
880 | NoConn ~ 5950 4350
881 | NoConn ~ 5950 4250
882 | Wire Wire Line
883 | 1700 2200 2150 2200
884 | Wire Wire Line
885 | 2150 2200 2150 2400
886 | Wire Wire Line
887 | 1900 3150 1900 2300
888 | Wire Wire Line
889 | 1900 2300 1700 2300
890 | $EndSCHEMATC
891 |
--------------------------------------------------------------------------------
/hardware/Gerbers/GPSDO-B_Cu.gbr:
--------------------------------------------------------------------------------
1 | %TF.GenerationSoftware,KiCad,Pcbnew,(6.0.2)*%
2 | %TF.CreationDate,2022-03-15T19:59:36+01:00*%
3 | %TF.ProjectId,GPSDO,47505344-4f2e-46b6-9963-61645f706362,rev?*%
4 | %TF.SameCoordinates,Original*%
5 | %TF.FileFunction,Copper,L2,Bot*%
6 | %TF.FilePolarity,Positive*%
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (6.0.2)) date 2022-03-15 19:59:36*
10 | %MOMM*%
11 | %LPD*%
12 | G01*
13 | G04 APERTURE LIST*
14 | G04 Aperture macros list*
15 | %AMRoundRect*
16 | 0 Rectangle with rounded corners*
17 | 0 $1 Rounding radius*
18 | 0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
19 | 0 Add a 4 corners polygon primitive as box body*
20 | 4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
21 | 0 Add four circle primitives for the rounded corners*
22 | 1,1,$1+$1,$2,$3*
23 | 1,1,$1+$1,$4,$5*
24 | 1,1,$1+$1,$6,$7*
25 | 1,1,$1+$1,$8,$9*
26 | 0 Add four rect primitives between the rounded corners*
27 | 20,1,$1+$1,$2,$3,$4,$5,0*
28 | 20,1,$1+$1,$4,$5,$6,$7,0*
29 | 20,1,$1+$1,$6,$7,$8,$9,0*
30 | 20,1,$1+$1,$8,$9,$2,$3,0*%
31 | G04 Aperture macros list end*
32 | %TA.AperFunction,ComponentPad*%
33 | %ADD10R,1.600000X1.600000*%
34 | %TD*%
35 | %TA.AperFunction,ComponentPad*%
36 | %ADD11O,1.600000X1.600000*%
37 | %TD*%
38 | %TA.AperFunction,ComponentPad*%
39 | %ADD12O,1.700000X1.700000*%
40 | %TD*%
41 | %TA.AperFunction,ComponentPad*%
42 | %ADD13R,1.700000X1.700000*%
43 | %TD*%
44 | %TA.AperFunction,ComponentPad*%
45 | %ADD14C,3.000000*%
46 | %TD*%
47 | %TA.AperFunction,ComponentPad*%
48 | %ADD15C,6.400000*%
49 | %TD*%
50 | %TA.AperFunction,ComponentPad*%
51 | %ADD16O,1.905000X2.000000*%
52 | %TD*%
53 | %TA.AperFunction,ComponentPad*%
54 | %ADD17R,1.905000X2.000000*%
55 | %TD*%
56 | %TA.AperFunction,ComponentPad*%
57 | %ADD18C,1.600000*%
58 | %TD*%
59 | %TA.AperFunction,ComponentPad*%
60 | %ADD19R,2.400000X2.400000*%
61 | %TD*%
62 | %TA.AperFunction,ComponentPad*%
63 | %ADD20C,2.400000*%
64 | %TD*%
65 | %TA.AperFunction,ComponentPad*%
66 | %ADD21O,2.000000X2.000000*%
67 | %TD*%
68 | %TA.AperFunction,ComponentPad*%
69 | %ADD22R,2.000000X2.000000*%
70 | %TD*%
71 | %TA.AperFunction,ComponentPad*%
72 | %ADD23C,0.800000*%
73 | %TD*%
74 | %TA.AperFunction,ComponentPad*%
75 | %ADD24RoundRect,0.249999X-1.300001X1.300001X-1.300001X-1.300001X1.300001X-1.300001X1.300001X1.300001X0*%
76 | %TD*%
77 | %TA.AperFunction,ComponentPad*%
78 | %ADD25C,3.100000*%
79 | %TD*%
80 | %TA.AperFunction,ComponentPad*%
81 | %ADD26O,1.050000X1.500000*%
82 | %TD*%
83 | %TA.AperFunction,ComponentPad*%
84 | %ADD27R,1.050000X1.500000*%
85 | %TD*%
86 | %TA.AperFunction,ComponentPad*%
87 | %ADD28C,2.340000*%
88 | %TD*%
89 | %TA.AperFunction,ViaPad*%
90 | %ADD29C,0.800000*%
91 | %TD*%
92 | %TA.AperFunction,Conductor*%
93 | %ADD30C,0.250000*%
94 | %TD*%
95 | %TA.AperFunction,Conductor*%
96 | %ADD31C,0.500000*%
97 | %TD*%
98 | %TA.AperFunction,Conductor*%
99 | %ADD32C,1.000000*%
100 | %TD*%
101 | %TA.AperFunction,Conductor*%
102 | %ADD33C,2.000000*%
103 | %TD*%
104 | G04 APERTURE END LIST*
105 | D10*
106 | %TO.P,BP1,1*%
107 | %TO.N,Net-(BP1-Pad1)*%
108 | X150495000Y-45720000D03*
109 | D11*
110 | %TO.P,BP1,21*%
111 | %TO.N,Net-(BP1-Pad21)*%
112 | X165735000Y-93980000D03*
113 | %TO.P,BP1,2*%
114 | %TO.N,Net-(BP1-Pad2)*%
115 | X150495000Y-48260000D03*
116 | %TO.P,BP1,22*%
117 | %TO.N,Net-(BP1-Pad22)*%
118 | X165735000Y-91440000D03*
119 | %TO.P,BP1,3*%
120 | %TO.N,Net-(BP1-Pad3)*%
121 | X150495000Y-50800000D03*
122 | %TO.P,BP1,23*%
123 | %TO.N,Net-(BP1-Pad23)*%
124 | X165735000Y-88900000D03*
125 | %TO.P,BP1,4*%
126 | %TO.N,Net-(BP1-Pad4)*%
127 | X150495000Y-53340000D03*
128 | %TO.P,BP1,24*%
129 | %TO.N,Net-(BP1-Pad24)*%
130 | X165735000Y-86360000D03*
131 | %TO.P,BP1,5*%
132 | %TO.N,Net-(BP1-Pad5)*%
133 | X150495000Y-55880000D03*
134 | %TO.P,BP1,25*%
135 | %TO.N,Net-(BP1-Pad25)*%
136 | X165735000Y-83820000D03*
137 | %TO.P,BP1,6*%
138 | %TO.N,Net-(BP1-Pad6)*%
139 | X150495000Y-58420000D03*
140 | %TO.P,BP1,26*%
141 | %TO.N,Net-(BP1-Pad26)*%
142 | X165735000Y-81280000D03*
143 | %TO.P,BP1,7*%
144 | %TO.N,Net-(BP1-Pad7)*%
145 | X150495000Y-60960000D03*
146 | %TO.P,BP1,27*%
147 | %TO.N,Net-(BP1-Pad27)*%
148 | X165735000Y-78740000D03*
149 | %TO.P,BP1,8*%
150 | %TO.N,Net-(BP1-Pad8)*%
151 | X150495000Y-63500000D03*
152 | %TO.P,BP1,28*%
153 | %TO.N,Net-(BP1-Pad28)*%
154 | X165735000Y-76200000D03*
155 | %TO.P,BP1,9*%
156 | %TO.N,Net-(BP1-Pad9)*%
157 | X150495000Y-66040000D03*
158 | %TO.P,BP1,29*%
159 | %TO.N,Net-(BP1-Pad29)*%
160 | X165735000Y-73660000D03*
161 | %TO.P,BP1,10*%
162 | %TO.N,Net-(BP1-Pad10)*%
163 | X150495000Y-68580000D03*
164 | %TO.P,BP1,30*%
165 | %TO.N,Net-(BP1-Pad30)*%
166 | X165735000Y-71120000D03*
167 | %TO.P,BP1,11*%
168 | %TO.N,Net-(BP1-Pad11)*%
169 | X150495000Y-71120000D03*
170 | %TO.P,BP1,31*%
171 | %TO.N,Net-(BP1-Pad31)*%
172 | X165735000Y-68580000D03*
173 | %TO.P,BP1,12*%
174 | %TO.N,Net-(BP1-Pad12)*%
175 | X150495000Y-73660000D03*
176 | %TO.P,BP1,32*%
177 | %TO.N,Net-(BP1-Pad32)*%
178 | X165735000Y-66040000D03*
179 | %TO.P,BP1,13*%
180 | %TO.N,Net-(BP1-Pad13)*%
181 | X150495000Y-76200000D03*
182 | %TO.P,BP1,33*%
183 | %TO.N,Net-(BP1-Pad33)*%
184 | X165735000Y-63500000D03*
185 | %TO.P,BP1,14*%
186 | %TO.N,Net-(BP1-Pad14)*%
187 | X150495000Y-78740000D03*
188 | %TO.P,BP1,34*%
189 | %TO.N,Net-(BP1-Pad34)*%
190 | X165735000Y-60960000D03*
191 | %TO.P,BP1,15*%
192 | %TO.N,Net-(BP1-Pad15)*%
193 | X150495000Y-81280000D03*
194 | %TO.P,BP1,35*%
195 | %TO.N,Net-(BP1-Pad35)*%
196 | X165735000Y-58420000D03*
197 | %TO.P,BP1,16*%
198 | %TO.N,Net-(BP1-Pad16)*%
199 | X150495000Y-83820000D03*
200 | %TO.P,BP1,36*%
201 | %TO.N,Net-(BP1-Pad36)*%
202 | X165735000Y-55880000D03*
203 | %TO.P,BP1,17*%
204 | %TO.N,Net-(BP1-Pad17)*%
205 | X150495000Y-86360000D03*
206 | %TO.P,BP1,37*%
207 | %TO.N,Net-(BP1-Pad37)*%
208 | X165735000Y-53340000D03*
209 | %TO.P,BP1,18*%
210 | %TO.N,+5V*%
211 | X150495000Y-88900000D03*
212 | %TO.P,BP1,38*%
213 | %TO.N,Net-(BP1-Pad38)*%
214 | X165735000Y-50800000D03*
215 | %TO.P,BP1,19*%
216 | %TO.N,GND*%
217 | X150495000Y-91440000D03*
218 | %TO.P,BP1,39*%
219 | X165735000Y-48260000D03*
220 | %TO.P,BP1,20*%
221 | %TO.N,Net-(BP1-Pad20)*%
222 | X150495000Y-93980000D03*
223 | %TO.P,BP1,40*%
224 | %TO.N,GND*%
225 | X165735000Y-45720000D03*
226 | %TD*%
227 | D12*
228 | %TO.P,J4,3*%
229 | %TO.N,GND*%
230 | X127000000Y-99695000D03*
231 | %TO.P,J4,2*%
232 | X124460000Y-99695000D03*
233 | D13*
234 | %TO.P,J4,1*%
235 | %TO.N,+10V*%
236 | X121920000Y-99695000D03*
237 | %TD*%
238 | D14*
239 | %TO.P,T1,3*%
240 | %TO.N,Net-(D5-Pad2)*%
241 | X67230000Y-87785000D03*
242 | %TO.P,T1,4*%
243 | %TO.N,Net-(D5-Pad4)*%
244 | X87230000Y-87785000D03*
245 | %TO.P,T1,2*%
246 | %TO.N,Net-(J2-Pad2)*%
247 | X92230000Y-57785000D03*
248 | %TO.P,T1,1*%
249 | %TO.N,Net-(J2-Pad1)*%
250 | X62230000Y-57785000D03*
251 | %TD*%
252 | D15*
253 | %TO.P,H6,1*%
254 | %TO.N,N/C*%
255 | X110490000Y-36195000D03*
256 | %TD*%
257 | %TO.P,H5,1*%
258 | %TO.N,N/C*%
259 | X193675000Y-102235000D03*
260 | %TD*%
261 | %TO.P,H3,1*%
262 | %TO.N,N/C*%
263 | X193675000Y-36195000D03*
264 | %TD*%
265 | %TO.P,H2,1*%
266 | %TO.N,N/C*%
267 | X42545000Y-36195000D03*
268 | %TD*%
269 | %TO.P,H1,1*%
270 | %TO.N,N/C*%
271 | X110490000Y-102235000D03*
272 | %TD*%
273 | D16*
274 | %TO.P,U1,3*%
275 | %TO.N,+5V*%
276 | X140335000Y-36830000D03*
277 | %TO.P,U1,2*%
278 | %TO.N,GND*%
279 | X137795000Y-36830000D03*
280 | D17*
281 | %TO.P,U1,1*%
282 | %TO.N,Net-(C1-Pad1)*%
283 | X135255000Y-36830000D03*
284 | %TD*%
285 | D12*
286 | %TO.P,D4,2*%
287 | %TO.N,Net-(D4-Pad2)*%
288 | X192405000Y-92710000D03*
289 | D13*
290 | %TO.P,D4,1*%
291 | %TO.N,GND*%
292 | X192405000Y-90170000D03*
293 | %TD*%
294 | D12*
295 | %TO.P,D3,2*%
296 | %TO.N,Net-(D3-Pad2)*%
297 | X192405000Y-78740000D03*
298 | D13*
299 | %TO.P,D3,1*%
300 | %TO.N,GND*%
301 | X192405000Y-76200000D03*
302 | %TD*%
303 | D12*
304 | %TO.P,D2,2*%
305 | %TO.N,Net-(D2-Pad2)*%
306 | X192405000Y-71755000D03*
307 | D13*
308 | %TO.P,D2,1*%
309 | %TO.N,GND*%
310 | X192405000Y-69215000D03*
311 | %TD*%
312 | D12*
313 | %TO.P,D1,2*%
314 | %TO.N,Net-(D1-Pad2)*%
315 | X192405000Y-85725000D03*
316 | D13*
317 | %TO.P,D1,1*%
318 | %TO.N,GND*%
319 | X192405000Y-83185000D03*
320 | %TD*%
321 | D18*
322 | %TO.P,C1,1*%
323 | %TO.N,Net-(C1-Pad1)*%
324 | X124460000Y-80645000D03*
325 | %TO.P,C1,2*%
326 | %TO.N,GND*%
327 | X121960000Y-80645000D03*
328 | %TD*%
329 | D19*
330 | %TO.P,C2,1*%
331 | %TO.N,Net-(C1-Pad1)*%
332 | X134620000Y-66040000D03*
333 | D20*
334 | %TO.P,C2,2*%
335 | %TO.N,GND*%
336 | X127120000Y-66040000D03*
337 | %TD*%
338 | D18*
339 | %TO.P,C3,1*%
340 | %TO.N,Net-(C1-Pad1)*%
341 | X133390000Y-41910000D03*
342 | %TO.P,C3,2*%
343 | %TO.N,GND*%
344 | X135890000Y-41910000D03*
345 | %TD*%
346 | %TO.P,C4,2*%
347 | %TO.N,GND*%
348 | X123150000Y-41910000D03*
349 | %TO.P,C4,1*%
350 | %TO.N,Net-(C1-Pad1)*%
351 | X120650000Y-41910000D03*
352 | %TD*%
353 | %TO.P,C5,1*%
354 | %TO.N,+5V*%
355 | X142240000Y-41910000D03*
356 | %TO.P,C5,2*%
357 | %TO.N,GND*%
358 | X139740000Y-41910000D03*
359 | %TD*%
360 | %TO.P,C6,2*%
361 | %TO.N,GND*%
362 | X127000000Y-41910000D03*
363 | %TO.P,C6,1*%
364 | %TO.N,+10V*%
365 | X129500000Y-41910000D03*
366 | %TD*%
367 | %TO.P,C7,2*%
368 | %TO.N,GND*%
369 | X136430000Y-49530000D03*
370 | D10*
371 | %TO.P,C7,1*%
372 | %TO.N,+5V*%
373 | X138430000Y-49530000D03*
374 | %TD*%
375 | %TO.P,C8,1*%
376 | %TO.N,+10V*%
377 | X126365000Y-49530000D03*
378 | D18*
379 | %TO.P,C8,2*%
380 | %TO.N,GND*%
381 | X124365000Y-49530000D03*
382 | %TD*%
383 | D21*
384 | %TO.P,D5,4*%
385 | %TO.N,Net-(D5-Pad4)*%
386 | X127000000Y-90170000D03*
387 | %TO.P,D5,2*%
388 | %TO.N,Net-(D5-Pad2)*%
389 | X121920000Y-85090000D03*
390 | %TO.P,D5,3*%
391 | %TO.N,GND*%
392 | X121920000Y-90170000D03*
393 | D22*
394 | %TO.P,D5,1*%
395 | %TO.N,Net-(C1-Pad1)*%
396 | X127000000Y-85090000D03*
397 | %TD*%
398 | D23*
399 | %TO.P,H4,1*%
400 | %TO.N,GND*%
401 | X44242056Y-100537944D03*
402 | X42545000Y-99835000D03*
403 | X40847944Y-100537944D03*
404 | X40145000Y-102235000D03*
405 | X40847944Y-103932056D03*
406 | X42545000Y-104635000D03*
407 | X44242056Y-103932056D03*
408 | X44945000Y-102235000D03*
409 | D15*
410 | X42545000Y-102235000D03*
411 | %TD*%
412 | D13*
413 | %TO.P,J1,1*%
414 | %TO.N,Net-(BP1-Pad36)*%
415 | X173990000Y-52705000D03*
416 | D12*
417 | %TO.P,J1,2*%
418 | %TO.N,Net-(BP1-Pad35)*%
419 | X173990000Y-55245000D03*
420 | %TO.P,J1,3*%
421 | %TO.N,GND*%
422 | X173990000Y-57785000D03*
423 | %TD*%
424 | D24*
425 | %TO.P,J2,1*%
426 | %TO.N,Net-(J2-Pad1)*%
427 | X44450000Y-66390000D03*
428 | D25*
429 | %TO.P,J2,2*%
430 | %TO.N,Net-(J2-Pad2)*%
431 | X44450000Y-72390000D03*
432 | %TO.P,J2,3*%
433 | %TO.N,GND*%
434 | X44450000Y-78390000D03*
435 | %TD*%
436 | D13*
437 | %TO.P,J3,1*%
438 | %TO.N,Net-(BP1-Pad28)*%
439 | X132715000Y-99695000D03*
440 | D12*
441 | %TO.P,J3,2*%
442 | %TO.N,GND*%
443 | X135255000Y-99695000D03*
444 | %TO.P,J3,3*%
445 | %TO.N,Net-(BP1-Pad27)*%
446 | X137795000Y-99695000D03*
447 | %TO.P,J3,4*%
448 | %TO.N,GND*%
449 | X140335000Y-99695000D03*
450 | %TD*%
451 | D13*
452 | %TO.P,J5,1*%
453 | %TO.N,GND*%
454 | X192405000Y-43815000D03*
455 | D12*
456 | %TO.P,J5,2*%
457 | %TO.N,+5V*%
458 | X192405000Y-46355000D03*
459 | %TO.P,J5,3*%
460 | %TO.N,Net-(J5-Pad3)*%
461 | X192405000Y-48895000D03*
462 | %TO.P,J5,4*%
463 | %TO.N,Net-(BP1-Pad32)*%
464 | X192405000Y-51435000D03*
465 | %TO.P,J5,5*%
466 | %TO.N,Net-(BP1-Pad30)*%
467 | X192405000Y-53975000D03*
468 | %TO.P,J5,6*%
469 | %TO.N,Net-(BP1-Pad29)*%
470 | X192405000Y-56515000D03*
471 | %TO.P,J5,7*%
472 | %TO.N,Net-(BP1-Pad33)*%
473 | X192405000Y-59055000D03*
474 | %TO.P,J5,8*%
475 | %TO.N,Net-(J5-Pad8)*%
476 | X192405000Y-61595000D03*
477 | %TO.P,J5,9*%
478 | %TO.N,+5V*%
479 | X192405000Y-64135000D03*
480 | %TD*%
481 | D26*
482 | %TO.P,Q1,2*%
483 | %TO.N,Net-(Q1-Pad2)*%
484 | X186055000Y-47625000D03*
485 | %TO.P,Q1,3*%
486 | %TO.N,GND*%
487 | X187325000Y-47625000D03*
488 | D27*
489 | %TO.P,Q1,1*%
490 | %TO.N,Net-(Q1-Pad1)*%
491 | X184785000Y-47625000D03*
492 | %TD*%
493 | D11*
494 | %TO.P,R1,2*%
495 | %TO.N,Net-(BP1-Pad13)*%
496 | X173355000Y-80645000D03*
497 | D18*
498 | %TO.P,R1,1*%
499 | %TO.N,Net-(D1-Pad2)*%
500 | X183515000Y-80645000D03*
501 | %TD*%
502 | %TO.P,R2,1*%
503 | %TO.N,Net-(BP1-Pad14)*%
504 | X173355000Y-71755000D03*
505 | D11*
506 | %TO.P,R2,2*%
507 | %TO.N,Net-(D2-Pad2)*%
508 | X183515000Y-71755000D03*
509 | %TD*%
510 | %TO.P,R3,2*%
511 | %TO.N,Net-(BP1-Pad15)*%
512 | X173355000Y-76200000D03*
513 | D18*
514 | %TO.P,R3,1*%
515 | %TO.N,Net-(D3-Pad2)*%
516 | X183515000Y-76200000D03*
517 | %TD*%
518 | D11*
519 | %TO.P,R4,2*%
520 | %TO.N,Net-(Q1-Pad2)*%
521 | X177800000Y-47625000D03*
522 | D18*
523 | %TO.P,R4,1*%
524 | %TO.N,Net-(BP1-Pad16)*%
525 | X177800000Y-57785000D03*
526 | %TD*%
527 | %TO.P,R5,1*%
528 | %TO.N,Net-(Q1-Pad1)*%
529 | X181610000Y-47625000D03*
530 | D11*
531 | %TO.P,R5,2*%
532 | %TO.N,Net-(J5-Pad8)*%
533 | X181610000Y-57785000D03*
534 | %TD*%
535 | D18*
536 | %TO.P,R6,1*%
537 | %TO.N,Net-(D4-Pad2)*%
538 | X183515000Y-85090000D03*
539 | D11*
540 | %TO.P,R6,2*%
541 | %TO.N,+5V*%
542 | X173355000Y-85090000D03*
543 | %TD*%
544 | D28*
545 | %TO.P,RV1,3*%
546 | %TO.N,GND*%
547 | X181530000Y-42545000D03*
548 | %TO.P,RV1,2*%
549 | %TO.N,Net-(J5-Pad3)*%
550 | X179030000Y-40045000D03*
551 | %TO.P,RV1,1*%
552 | %TO.N,+5V*%
553 | X176530000Y-42545000D03*
554 | %TD*%
555 | D12*
556 | %TO.P,SW1,2*%
557 | %TO.N,GND*%
558 | X177165000Y-92710000D03*
559 | D13*
560 | %TO.P,SW1,1*%
561 | %TO.N,Net-(BP1-Pad3)*%
562 | X177165000Y-90170000D03*
563 | %TD*%
564 | %TO.P,SW2,1*%
565 | %TO.N,Net-(BP1-Pad4)*%
566 | X182880000Y-90170000D03*
567 | D12*
568 | %TO.P,SW2,2*%
569 | %TO.N,GND*%
570 | X182880000Y-92710000D03*
571 | %TD*%
572 | D17*
573 | %TO.P,U2,1*%
574 | %TO.N,Net-(C1-Pad1)*%
575 | X123190000Y-36830000D03*
576 | D16*
577 | %TO.P,U2,2*%
578 | %TO.N,GND*%
579 | X125730000Y-36830000D03*
580 | %TO.P,U2,3*%
581 | %TO.N,+10V*%
582 | X128270000Y-36830000D03*
583 | %TD*%
584 | D29*
585 | %TO.N,Net-(BP1-Pad28)*%
586 | X158750000Y-99060000D03*
587 | %TO.N,Net-(BP1-Pad33)*%
588 | X174625000Y-67310000D03*
589 | %TO.N,Net-(J5-Pad3)*%
590 | X172085000Y-43815000D03*
591 | %TD*%
592 | D30*
593 | %TO.N,Net-(BP1-Pad3)*%
594 | X161925000Y-60960000D02*
595 | X161925000Y-53975000D01*
596 | X163339999Y-62374999D02*
597 | X161925000Y-60960000D01*
598 | X186690000Y-69215000D02*
599 | X179849999Y-62374999D01*
600 | X158750000Y-50800000D02*
601 | X150495000Y-50800000D01*
602 | X186690000Y-90170000D02*
603 | X186690000Y-69215000D01*
604 | X185420000Y-91440000D02*
605 | X186690000Y-90170000D01*
606 | X179705000Y-90170000D02*
607 | X180975000Y-91440000D01*
608 | X161925000Y-53975000D02*
609 | X158750000Y-50800000D01*
610 | X179849999Y-62374999D02*
611 | X163339999Y-62374999D01*
612 | X180975000Y-91440000D02*
613 | X185420000Y-91440000D01*
614 | X177165000Y-90170000D02*
615 | X179705000Y-90170000D01*
616 | %TO.N,Net-(BP1-Pad4)*%
617 | X182880000Y-90170000D02*
618 | X182245000Y-90170000D01*
619 | X182245000Y-90170000D02*
620 | X180340000Y-88265000D01*
621 | X167495001Y-67165001D02*
622 | X161780001Y-67165001D01*
623 | X169545000Y-69215000D02*
624 | X167495001Y-67165001D01*
625 | X161780001Y-67165001D02*
626 | X159385000Y-64770000D01*
627 | X159385000Y-64770000D02*
628 | X159385000Y-55880000D01*
629 | X156845000Y-53340000D02*
630 | X150495000Y-53340000D01*
631 | X159385000Y-55880000D02*
632 | X156845000Y-53340000D01*
633 | X180340000Y-73025000D02*
634 | X176530000Y-69215000D01*
635 | X176530000Y-69215000D02*
636 | X169545000Y-69215000D01*
637 | X180340000Y-88265000D02*
638 | X180340000Y-73025000D01*
639 | D31*
640 | %TO.N,Net-(BP1-Pad27)*%
641 | X165735000Y-78740000D02*
642 | X164465000Y-78740000D01*
643 | X164465000Y-78740000D02*
644 | X161925000Y-81280000D01*
645 | X161925000Y-81280000D02*
646 | X161925000Y-100965000D01*
647 | X161925000Y-100965000D02*
648 | X160655000Y-102235000D01*
649 | X140335000Y-102235000D02*
650 | X137795000Y-99695000D01*
651 | X160655000Y-102235000D02*
652 | X140335000Y-102235000D01*
653 | %TO.N,Net-(BP1-Pad28)*%
654 | X165735000Y-76200000D02*
655 | X163195000Y-76200000D01*
656 | X158750000Y-80645000D02*
657 | X158750000Y-99060000D01*
658 | X163195000Y-76200000D02*
659 | X158750000Y-80645000D01*
660 | D30*
661 | %TO.N,Net-(BP1-Pad33)*%
662 | X174625000Y-67310000D02*
663 | X174625000Y-64770000D01*
664 | X174625000Y-64770000D02*
665 | X173355000Y-63500000D01*
666 | X173355000Y-63500000D02*
667 | X165735000Y-63500000D01*
668 | %TO.N,Net-(BP1-Pad15)*%
669 | X173355000Y-76200000D02*
670 | X172085000Y-76200000D01*
671 | X172085000Y-76200000D02*
672 | X170815000Y-74930000D01*
673 | X170815000Y-74930000D02*
674 | X159385000Y-74930000D01*
675 | X153035000Y-81280000D02*
676 | X150495000Y-81280000D01*
677 | X159385000Y-74930000D02*
678 | X153035000Y-81280000D01*
679 | D32*
680 | %TO.N,+5V*%
681 | X140335000Y-36830000D02*
682 | X142240000Y-38735000D01*
683 | X142240000Y-38735000D02*
684 | X142240000Y-41910000D01*
685 | D31*
686 | X175895000Y-41910000D02*
687 | X176530000Y-42545000D01*
688 | X142240000Y-41910000D02*
689 | X175895000Y-41910000D01*
690 | D32*
691 | X150495000Y-88900000D02*
692 | X147320000Y-88900000D01*
693 | X147320000Y-88900000D02*
694 | X142240000Y-83820000D01*
695 | X142240000Y-43815000D02*
696 | X142240000Y-41910000D01*
697 | X138430000Y-49530000D02*
698 | X142240000Y-49530000D01*
699 | X142240000Y-49530000D02*
700 | X142240000Y-43815000D01*
701 | X142240000Y-83820000D02*
702 | X142240000Y-49530000D01*
703 | D31*
704 | X176530000Y-42545000D02*
705 | X179070000Y-45085000D01*
706 | X179070000Y-45085000D02*
707 | X189865000Y-45085000D01*
708 | X191135000Y-46355000D02*
709 | X192405000Y-46355000D01*
710 | X189865000Y-45085000D02*
711 | X191135000Y-46355000D01*
712 | X192405000Y-64135000D02*
713 | X193675000Y-64135000D01*
714 | X193675000Y-64135000D02*
715 | X194945000Y-62865000D01*
716 | X194945000Y-62865000D02*
717 | X194945000Y-46990000D01*
718 | X194310000Y-46355000D02*
719 | X192405000Y-46355000D01*
720 | X194945000Y-46990000D02*
721 | X194310000Y-46355000D01*
722 | D33*
723 | %TO.N,GND*%
724 | X121920000Y-90170000D02*
725 | X116205000Y-95885000D01*
726 | X48895000Y-95885000D02*
727 | X42545000Y-102235000D01*
728 | X44450000Y-78390000D02*
729 | X49530000Y-83470000D01*
730 | X49530000Y-83470000D02*
731 | X49530000Y-95885000D01*
732 | X49530000Y-95885000D02*
733 | X48895000Y-95885000D01*
734 | X116205000Y-95885000D02*
735 | X49530000Y-95885000D01*
736 | D32*
737 | X125730000Y-36830000D02*
738 | X125730000Y-41910000D01*
739 | X125730000Y-41910000D02*
740 | X127000000Y-41910000D01*
741 | X123150000Y-41910000D02*
742 | X125730000Y-41910000D01*
743 | X137795000Y-36830000D02*
744 | X137795000Y-41910000D01*
745 | X135890000Y-41910000D02*
746 | X137795000Y-41910000D01*
747 | X139740000Y-41910000D02*
748 | X137795000Y-41910000D01*
749 | X135890000Y-48990000D02*
750 | X136430000Y-49530000D01*
751 | X135890000Y-41910000D02*
752 | X135890000Y-48990000D01*
753 | X123150000Y-48315000D02*
754 | X124365000Y-49530000D01*
755 | X123150000Y-41910000D02*
756 | X123150000Y-48315000D01*
757 | X124365000Y-63285000D02*
758 | X127120000Y-66040000D01*
759 | X124365000Y-49530000D02*
760 | X124365000Y-63285000D01*
761 | X136430000Y-56730000D02*
762 | X127120000Y-66040000D01*
763 | X136430000Y-49530000D02*
764 | X136430000Y-56730000D01*
765 | X124460000Y-99695000D02*
766 | X127000000Y-99695000D01*
767 | X150495000Y-91440000D02*
768 | X144780000Y-91440000D01*
769 | X140335000Y-95885000D02*
770 | X140335000Y-99695000D01*
771 | X144780000Y-91440000D02*
772 | X140335000Y-95885000D01*
773 | X135255000Y-99695000D02*
774 | X135255000Y-95885000D01*
775 | X135255000Y-95885000D02*
776 | X140335000Y-95885000D01*
777 | D33*
778 | X127000000Y-99695000D02*
779 | X127000000Y-95885000D01*
780 | D32*
781 | X127000000Y-95885000D02*
782 | X135255000Y-95885000D01*
783 | D33*
784 | X116205000Y-95885000D02*
785 | X127000000Y-95885000D01*
786 | D31*
787 | X182880000Y-92710000D02*
788 | X186690000Y-92710000D01*
789 | X189230000Y-90170000D02*
790 | X192405000Y-90170000D01*
791 | X186690000Y-92710000D02*
792 | X189230000Y-90170000D01*
793 | D32*
794 | %TO.N,Net-(C1-Pad1)*%
795 | X123190000Y-36830000D02*
796 | X122555000Y-36830000D01*
797 | X120650000Y-38735000D02*
798 | X120650000Y-41910000D01*
799 | X122555000Y-36830000D02*
800 | X120650000Y-38735000D01*
801 | D33*
802 | X127000000Y-73660000D02*
803 | X134620000Y-66040000D01*
804 | X126365000Y-80645000D02*
805 | X127000000Y-80010000D01*
806 | X124460000Y-80645000D02*
807 | X126365000Y-80645000D01*
808 | X127000000Y-80010000D02*
809 | X127000000Y-73660000D01*
810 | X127000000Y-85090000D02*
811 | X127000000Y-80010000D01*
812 | D32*
813 | %TO.N,+10V*%
814 | X128270000Y-36830000D02*
815 | X129540000Y-38100000D01*
816 | X129500000Y-38140000D02*
817 | X129500000Y-41910000D01*
818 | X129540000Y-38100000D02*
819 | X129500000Y-38140000D01*
820 | X129500000Y-41910000D02*
821 | X129500000Y-45045000D01*
822 | X129500000Y-45045000D02*
823 | X129540000Y-45085000D01*
824 | X129540000Y-46355000D02*
825 | X126365000Y-49530000D01*
826 | X129540000Y-45085000D02*
827 | X129540000Y-46355000D01*
828 | D33*
829 | %TO.N,Net-(D5-Pad2)*%
830 | X67230000Y-87785000D02*
831 | X71830000Y-83185000D01*
832 | X71830000Y-83185000D02*
833 | X114935000Y-83185000D01*
834 | X116840000Y-85090000D02*
835 | X121920000Y-85090000D01*
836 | X114935000Y-83185000D02*
837 | X116840000Y-85090000D01*
838 | %TO.N,Net-(J2-Pad1)*%
839 | X53625000Y-66390000D02*
840 | X62230000Y-57785000D01*
841 | X44450000Y-66390000D02*
842 | X53625000Y-66390000D01*
843 | D30*
844 | %TO.N,Net-(J5-Pad3)*%
845 | X192405000Y-48895000D02*
846 | X190500000Y-48895000D01*
847 | X190500000Y-48895000D02*
848 | X188595000Y-50800000D01*
849 | X188595000Y-50800000D02*
850 | X177165000Y-50800000D01*
851 | X172085000Y-45720000D02*
852 | X172085000Y-43815000D01*
853 | X177165000Y-50800000D02*
854 | X172085000Y-45720000D01*
855 | D32*
856 | %TO.N,Net-(J5-Pad8)*%
857 | X185420000Y-61595000D02*
858 | X181610000Y-57785000D01*
859 | X192405000Y-61595000D02*
860 | X185420000Y-61595000D01*
861 | %TO.N,Net-(Q1-Pad1)*%
862 | X184785000Y-47625000D02*
863 | X181610000Y-47625000D01*
864 | D33*
865 | %TO.N,Net-(J2-Pad2)*%
866 | X44450000Y-72390000D02*
867 | X59690000Y-72390000D01*
868 | X74295000Y-57785000D02*
869 | X92230000Y-57785000D01*
870 | X59690000Y-72390000D02*
871 | X74295000Y-57785000D01*
872 | %TD*%
873 | M02*
874 |
--------------------------------------------------------------------------------
/hardware/Gerbers/GPSDO-B_Mask.gbr:
--------------------------------------------------------------------------------
1 | %TF.GenerationSoftware,KiCad,Pcbnew,(6.0.2)*%
2 | %TF.CreationDate,2022-03-15T19:59:36+01:00*%
3 | %TF.ProjectId,GPSDO,47505344-4f2e-46b6-9963-61645f706362,rev?*%
4 | %TF.SameCoordinates,Original*%
5 | %TF.FileFunction,Soldermask,Bot*%
6 | %TF.FilePolarity,Negative*%
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (6.0.2)) date 2022-03-15 19:59:36*
10 | %MOMM*%
11 | %LPD*%
12 | G01*
13 | G04 APERTURE LIST*
14 | G04 Aperture macros list*
15 | %AMRoundRect*
16 | 0 Rectangle with rounded corners*
17 | 0 $1 Rounding radius*
18 | 0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
19 | 0 Add a 4 corners polygon primitive as box body*
20 | 4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
21 | 0 Add four circle primitives for the rounded corners*
22 | 1,1,$1+$1,$2,$3*
23 | 1,1,$1+$1,$4,$5*
24 | 1,1,$1+$1,$6,$7*
25 | 1,1,$1+$1,$8,$9*
26 | 0 Add four rect primitives between the rounded corners*
27 | 20,1,$1+$1,$2,$3,$4,$5,0*
28 | 20,1,$1+$1,$4,$5,$6,$7,0*
29 | 20,1,$1+$1,$6,$7,$8,$9,0*
30 | 20,1,$1+$1,$8,$9,$2,$3,0*%
31 | G04 Aperture macros list end*
32 | %ADD10R,1.600000X1.600000*%
33 | %ADD11O,1.600000X1.600000*%
34 | %ADD12O,1.700000X1.700000*%
35 | %ADD13R,1.700000X1.700000*%
36 | %ADD14C,4.500000*%
37 | %ADD15C,3.000000*%
38 | %ADD16C,6.400000*%
39 | %ADD17O,1.905000X2.000000*%
40 | %ADD18R,1.905000X2.000000*%
41 | %ADD19C,1.600000*%
42 | %ADD20R,2.400000X2.400000*%
43 | %ADD21C,2.400000*%
44 | %ADD22O,2.000000X2.000000*%
45 | %ADD23R,2.000000X2.000000*%
46 | %ADD24C,0.800000*%
47 | %ADD25RoundRect,0.249999X-1.300001X1.300001X-1.300001X-1.300001X1.300001X-1.300001X1.300001X1.300001X0*%
48 | %ADD26C,3.100000*%
49 | %ADD27O,1.050000X1.500000*%
50 | %ADD28R,1.050000X1.500000*%
51 | %ADD29C,2.340000*%
52 | G04 APERTURE END LIST*
53 | D10*
54 | %TO.C,BP1*%
55 | X150495000Y-45720000D03*
56 | D11*
57 | X165735000Y-93980000D03*
58 | X150495000Y-48260000D03*
59 | X165735000Y-91440000D03*
60 | X150495000Y-50800000D03*
61 | X165735000Y-88900000D03*
62 | X150495000Y-53340000D03*
63 | X165735000Y-86360000D03*
64 | X150495000Y-55880000D03*
65 | X165735000Y-83820000D03*
66 | X150495000Y-58420000D03*
67 | X165735000Y-81280000D03*
68 | X150495000Y-60960000D03*
69 | X165735000Y-78740000D03*
70 | X150495000Y-63500000D03*
71 | X165735000Y-76200000D03*
72 | X150495000Y-66040000D03*
73 | X165735000Y-73660000D03*
74 | X150495000Y-68580000D03*
75 | X165735000Y-71120000D03*
76 | X150495000Y-71120000D03*
77 | X165735000Y-68580000D03*
78 | X150495000Y-73660000D03*
79 | X165735000Y-66040000D03*
80 | X150495000Y-76200000D03*
81 | X165735000Y-63500000D03*
82 | X150495000Y-78740000D03*
83 | X165735000Y-60960000D03*
84 | X150495000Y-81280000D03*
85 | X165735000Y-58420000D03*
86 | X150495000Y-83820000D03*
87 | X165735000Y-55880000D03*
88 | X150495000Y-86360000D03*
89 | X165735000Y-53340000D03*
90 | X150495000Y-88900000D03*
91 | X165735000Y-50800000D03*
92 | X150495000Y-91440000D03*
93 | X165735000Y-48260000D03*
94 | X150495000Y-93980000D03*
95 | X165735000Y-45720000D03*
96 | %TD*%
97 | D12*
98 | %TO.C,J4*%
99 | X127000000Y-99695000D03*
100 | X124460000Y-99695000D03*
101 | D13*
102 | X121920000Y-99695000D03*
103 | %TD*%
104 | D14*
105 | %TO.C,T1*%
106 | X109730000Y-54285000D03*
107 | X109730000Y-91285000D03*
108 | X44730000Y-91285000D03*
109 | X44730000Y-54285000D03*
110 | D15*
111 | X67230000Y-87785000D03*
112 | X87230000Y-87785000D03*
113 | X92230000Y-57785000D03*
114 | X62230000Y-57785000D03*
115 | %TD*%
116 | D16*
117 | %TO.C,H6*%
118 | X110490000Y-36195000D03*
119 | %TD*%
120 | %TO.C,H5*%
121 | X193675000Y-102235000D03*
122 | %TD*%
123 | %TO.C,H3*%
124 | X193675000Y-36195000D03*
125 | %TD*%
126 | %TO.C,H2*%
127 | X42545000Y-36195000D03*
128 | %TD*%
129 | %TO.C,H1*%
130 | X110490000Y-102235000D03*
131 | %TD*%
132 | D17*
133 | %TO.C,U1*%
134 | X140335000Y-36830000D03*
135 | X137795000Y-36830000D03*
136 | D18*
137 | X135255000Y-36830000D03*
138 | %TD*%
139 | D12*
140 | %TO.C,D4*%
141 | X192405000Y-92710000D03*
142 | D13*
143 | X192405000Y-90170000D03*
144 | %TD*%
145 | D12*
146 | %TO.C,D3*%
147 | X192405000Y-78740000D03*
148 | D13*
149 | X192405000Y-76200000D03*
150 | %TD*%
151 | D12*
152 | %TO.C,D2*%
153 | X192405000Y-71755000D03*
154 | D13*
155 | X192405000Y-69215000D03*
156 | %TD*%
157 | D12*
158 | %TO.C,D1*%
159 | X192405000Y-85725000D03*
160 | D13*
161 | X192405000Y-83185000D03*
162 | %TD*%
163 | D19*
164 | %TO.C,C1*%
165 | X124460000Y-80645000D03*
166 | X121960000Y-80645000D03*
167 | %TD*%
168 | D20*
169 | %TO.C,C2*%
170 | X134620000Y-66040000D03*
171 | D21*
172 | X127120000Y-66040000D03*
173 | %TD*%
174 | D19*
175 | %TO.C,C3*%
176 | X133390000Y-41910000D03*
177 | X135890000Y-41910000D03*
178 | %TD*%
179 | %TO.C,C4*%
180 | X123150000Y-41910000D03*
181 | X120650000Y-41910000D03*
182 | %TD*%
183 | %TO.C,C5*%
184 | X142240000Y-41910000D03*
185 | X139740000Y-41910000D03*
186 | %TD*%
187 | %TO.C,C6*%
188 | X127000000Y-41910000D03*
189 | X129500000Y-41910000D03*
190 | %TD*%
191 | %TO.C,C7*%
192 | X136430000Y-49530000D03*
193 | D10*
194 | X138430000Y-49530000D03*
195 | %TD*%
196 | %TO.C,C8*%
197 | X126365000Y-49530000D03*
198 | D19*
199 | X124365000Y-49530000D03*
200 | %TD*%
201 | D22*
202 | %TO.C,D5*%
203 | X127000000Y-90170000D03*
204 | X121920000Y-85090000D03*
205 | X121920000Y-90170000D03*
206 | D23*
207 | X127000000Y-85090000D03*
208 | %TD*%
209 | D24*
210 | %TO.C,H4*%
211 | X44242056Y-100537944D03*
212 | X42545000Y-99835000D03*
213 | X40847944Y-100537944D03*
214 | X40145000Y-102235000D03*
215 | X40847944Y-103932056D03*
216 | X42545000Y-104635000D03*
217 | X44242056Y-103932056D03*
218 | X44945000Y-102235000D03*
219 | D16*
220 | X42545000Y-102235000D03*
221 | %TD*%
222 | D13*
223 | %TO.C,J1*%
224 | X173990000Y-52705000D03*
225 | D12*
226 | X173990000Y-55245000D03*
227 | X173990000Y-57785000D03*
228 | %TD*%
229 | D25*
230 | %TO.C,J2*%
231 | X44450000Y-66390000D03*
232 | D26*
233 | X44450000Y-72390000D03*
234 | X44450000Y-78390000D03*
235 | %TD*%
236 | D13*
237 | %TO.C,J3*%
238 | X132715000Y-99695000D03*
239 | D12*
240 | X135255000Y-99695000D03*
241 | X137795000Y-99695000D03*
242 | X140335000Y-99695000D03*
243 | %TD*%
244 | D13*
245 | %TO.C,J5*%
246 | X192405000Y-43815000D03*
247 | D12*
248 | X192405000Y-46355000D03*
249 | X192405000Y-48895000D03*
250 | X192405000Y-51435000D03*
251 | X192405000Y-53975000D03*
252 | X192405000Y-56515000D03*
253 | X192405000Y-59055000D03*
254 | X192405000Y-61595000D03*
255 | X192405000Y-64135000D03*
256 | %TD*%
257 | D27*
258 | %TO.C,Q1*%
259 | X186055000Y-47625000D03*
260 | X187325000Y-47625000D03*
261 | D28*
262 | X184785000Y-47625000D03*
263 | %TD*%
264 | D11*
265 | %TO.C,R1*%
266 | X173355000Y-80645000D03*
267 | D19*
268 | X183515000Y-80645000D03*
269 | %TD*%
270 | %TO.C,R2*%
271 | X173355000Y-71755000D03*
272 | D11*
273 | X183515000Y-71755000D03*
274 | %TD*%
275 | %TO.C,R3*%
276 | X173355000Y-76200000D03*
277 | D19*
278 | X183515000Y-76200000D03*
279 | %TD*%
280 | D11*
281 | %TO.C,R4*%
282 | X177800000Y-47625000D03*
283 | D19*
284 | X177800000Y-57785000D03*
285 | %TD*%
286 | %TO.C,R5*%
287 | X181610000Y-47625000D03*
288 | D11*
289 | X181610000Y-57785000D03*
290 | %TD*%
291 | D19*
292 | %TO.C,R6*%
293 | X183515000Y-85090000D03*
294 | D11*
295 | X173355000Y-85090000D03*
296 | %TD*%
297 | D29*
298 | %TO.C,RV1*%
299 | X181530000Y-42545000D03*
300 | X179030000Y-40045000D03*
301 | X176530000Y-42545000D03*
302 | %TD*%
303 | D12*
304 | %TO.C,SW1*%
305 | X177165000Y-92710000D03*
306 | D13*
307 | X177165000Y-90170000D03*
308 | %TD*%
309 | %TO.C,SW2*%
310 | X182880000Y-90170000D03*
311 | D12*
312 | X182880000Y-92710000D03*
313 | %TD*%
314 | D18*
315 | %TO.C,U2*%
316 | X123190000Y-36830000D03*
317 | D17*
318 | X125730000Y-36830000D03*
319 | X128270000Y-36830000D03*
320 | %TD*%
321 | M02*
322 |
--------------------------------------------------------------------------------
/hardware/Gerbers/GPSDO-B_Silkscreen.gbr:
--------------------------------------------------------------------------------
1 | %TF.GenerationSoftware,KiCad,Pcbnew,(6.0.2)*%
2 | %TF.CreationDate,2022-03-15T19:59:36+01:00*%
3 | %TF.ProjectId,GPSDO,47505344-4f2e-46b6-9963-61645f706362,rev?*%
4 | %TF.SameCoordinates,Original*%
5 | %TF.FileFunction,Legend,Bot*%
6 | %TF.FilePolarity,Positive*%
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (6.0.2)) date 2022-03-15 19:59:36*
10 | %MOMM*%
11 | %LPD*%
12 | G01*
13 | G04 APERTURE LIST*
14 | G04 APERTURE END LIST*
15 | M02*
16 |
--------------------------------------------------------------------------------
/hardware/Gerbers/GPSDO-Edge_Cuts.gbr:
--------------------------------------------------------------------------------
1 | %TF.GenerationSoftware,KiCad,Pcbnew,(6.0.2)*%
2 | %TF.CreationDate,2022-03-15T19:59:36+01:00*%
3 | %TF.ProjectId,GPSDO,47505344-4f2e-46b6-9963-61645f706362,rev?*%
4 | %TF.SameCoordinates,Original*%
5 | %TF.FileFunction,Profile,NP*%
6 | %FSLAX46Y46*%
7 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
8 | G04 Created by KiCad (PCBNEW (6.0.2)) date 2022-03-15 19:59:36*
9 | %MOMM*%
10 | %LPD*%
11 | G01*
12 | G04 APERTURE LIST*
13 | %TA.AperFunction,Profile*%
14 | %ADD10C,0.050000*%
15 | %TD*%
16 | G04 APERTURE END LIST*
17 | D10*
18 | X198120000Y-31750000D02*
19 | X188595000Y-31750000D01*
20 | X198120000Y-106680000D02*
21 | X198120000Y-31750000D01*
22 | X38100000Y-106680000D02*
23 | X198120000Y-106680000D01*
24 | X38100000Y-101600000D02*
25 | X38100000Y-106680000D01*
26 | X38100000Y-31750000D02*
27 | X38100000Y-101600000D01*
28 | X188595000Y-31750000D02*
29 | X38100000Y-31750000D01*
30 | M02*
31 |
--------------------------------------------------------------------------------
/hardware/Gerbers/GPSDO-F_Cu.gbr:
--------------------------------------------------------------------------------
1 | %TF.GenerationSoftware,KiCad,Pcbnew,(6.0.2)*%
2 | %TF.CreationDate,2022-03-15T19:59:36+01:00*%
3 | %TF.ProjectId,GPSDO,47505344-4f2e-46b6-9963-61645f706362,rev?*%
4 | %TF.SameCoordinates,Original*%
5 | %TF.FileFunction,Copper,L1,Top*%
6 | %TF.FilePolarity,Positive*%
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (6.0.2)) date 2022-03-15 19:59:36*
10 | %MOMM*%
11 | %LPD*%
12 | G01*
13 | G04 APERTURE LIST*
14 | G04 Aperture macros list*
15 | %AMRoundRect*
16 | 0 Rectangle with rounded corners*
17 | 0 $1 Rounding radius*
18 | 0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
19 | 0 Add a 4 corners polygon primitive as box body*
20 | 4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
21 | 0 Add four circle primitives for the rounded corners*
22 | 1,1,$1+$1,$2,$3*
23 | 1,1,$1+$1,$4,$5*
24 | 1,1,$1+$1,$6,$7*
25 | 1,1,$1+$1,$8,$9*
26 | 0 Add four rect primitives between the rounded corners*
27 | 20,1,$1+$1,$2,$3,$4,$5,0*
28 | 20,1,$1+$1,$4,$5,$6,$7,0*
29 | 20,1,$1+$1,$6,$7,$8,$9,0*
30 | 20,1,$1+$1,$8,$9,$2,$3,0*%
31 | G04 Aperture macros list end*
32 | %ADD10C,0.150000*%
33 | %TA.AperFunction,NonConductor*%
34 | %ADD11C,0.150000*%
35 | %TD*%
36 | %TA.AperFunction,ComponentPad*%
37 | %ADD12R,1.600000X1.600000*%
38 | %TD*%
39 | %TA.AperFunction,ComponentPad*%
40 | %ADD13O,1.600000X1.600000*%
41 | %TD*%
42 | %TA.AperFunction,ComponentPad*%
43 | %ADD14O,1.700000X1.700000*%
44 | %TD*%
45 | %TA.AperFunction,ComponentPad*%
46 | %ADD15R,1.700000X1.700000*%
47 | %TD*%
48 | %TA.AperFunction,ComponentPad*%
49 | %ADD16C,3.000000*%
50 | %TD*%
51 | %TA.AperFunction,ComponentPad*%
52 | %ADD17C,6.400000*%
53 | %TD*%
54 | %TA.AperFunction,ComponentPad*%
55 | %ADD18O,1.905000X2.000000*%
56 | %TD*%
57 | %TA.AperFunction,ComponentPad*%
58 | %ADD19R,1.905000X2.000000*%
59 | %TD*%
60 | %TA.AperFunction,ComponentPad*%
61 | %ADD20C,1.600000*%
62 | %TD*%
63 | %TA.AperFunction,ComponentPad*%
64 | %ADD21R,2.400000X2.400000*%
65 | %TD*%
66 | %TA.AperFunction,ComponentPad*%
67 | %ADD22C,2.400000*%
68 | %TD*%
69 | %TA.AperFunction,ComponentPad*%
70 | %ADD23O,2.000000X2.000000*%
71 | %TD*%
72 | %TA.AperFunction,ComponentPad*%
73 | %ADD24R,2.000000X2.000000*%
74 | %TD*%
75 | %TA.AperFunction,ComponentPad*%
76 | %ADD25C,0.800000*%
77 | %TD*%
78 | %TA.AperFunction,ComponentPad*%
79 | %ADD26RoundRect,0.249999X-1.300001X1.300001X-1.300001X-1.300001X1.300001X-1.300001X1.300001X1.300001X0*%
80 | %TD*%
81 | %TA.AperFunction,ComponentPad*%
82 | %ADD27C,3.100000*%
83 | %TD*%
84 | %TA.AperFunction,ComponentPad*%
85 | %ADD28O,1.050000X1.500000*%
86 | %TD*%
87 | %TA.AperFunction,ComponentPad*%
88 | %ADD29R,1.050000X1.500000*%
89 | %TD*%
90 | %TA.AperFunction,ComponentPad*%
91 | %ADD30C,2.340000*%
92 | %TD*%
93 | %TA.AperFunction,ViaPad*%
94 | %ADD31C,0.800000*%
95 | %TD*%
96 | %TA.AperFunction,Conductor*%
97 | %ADD32C,0.500000*%
98 | %TD*%
99 | %TA.AperFunction,Conductor*%
100 | %ADD33C,0.250000*%
101 | %TD*%
102 | %TA.AperFunction,Conductor*%
103 | %ADD34C,2.000000*%
104 | %TD*%
105 | %TA.AperFunction,Conductor*%
106 | %ADD35C,1.000000*%
107 | %TD*%
108 | G04 APERTURE END LIST*
109 | D10*
110 | D11*
111 | X58350714Y-34166071D02*
112 | X59207857Y-34166071D01*
113 | X58779285Y-35666071D02*
114 | X58779285Y-34166071D01*
115 | X59707857Y-35666071D02*
116 | X59707857Y-34666071D01*
117 | X59707857Y-34951785D02*
118 | X59779285Y-34808928D01*
119 | X59850714Y-34737500D01*
120 | X59993571Y-34666071D01*
121 | X60136428Y-34666071D01*
122 | X61279285Y-34666071D02*
123 | X61279285Y-35666071D01*
124 | X60636428Y-34666071D02*
125 | X60636428Y-35451785D01*
126 | X60707857Y-35594642D01*
127 | X60850714Y-35666071D01*
128 | X61064999Y-35666071D01*
129 | X61207857Y-35594642D01*
130 | X61279285Y-35523214D01*
131 | X62564999Y-35594642D02*
132 | X62422142Y-35666071D01*
133 | X62136428Y-35666071D01*
134 | X61993571Y-35594642D01*
135 | X61922142Y-35451785D01*
136 | X61922142Y-34880357D01*
137 | X61993571Y-34737500D01*
138 | X62136428Y-34666071D01*
139 | X62422142Y-34666071D01*
140 | X62564999Y-34737500D01*
141 | X62636428Y-34880357D01*
142 | X62636428Y-35023214D01*
143 | X61922142Y-35166071D01*
144 | X63279285Y-35666071D02*
145 | X63279285Y-34166071D01*
146 | X63850714Y-34166071D01*
147 | X63993571Y-34237500D01*
148 | X64064999Y-34308928D01*
149 | X64136428Y-34451785D01*
150 | X64136428Y-34666071D01*
151 | X64064999Y-34808928D01*
152 | X63993571Y-34880357D01*
153 | X63850714Y-34951785D01*
154 | X63279285Y-34951785D01*
155 | X64993571Y-35666071D02*
156 | X64850714Y-35594642D01*
157 | X64779285Y-35523214D01*
158 | X64707857Y-35380357D01*
159 | X64707857Y-34951785D01*
160 | X64779285Y-34808928D01*
161 | X64850714Y-34737500D01*
162 | X64993571Y-34666071D01*
163 | X65207857Y-34666071D01*
164 | X65350714Y-34737500D01*
165 | X65422142Y-34808928D01*
166 | X65493571Y-34951785D01*
167 | X65493571Y-35380357D01*
168 | X65422142Y-35523214D01*
169 | X65350714Y-35594642D01*
170 | X65207857Y-35666071D01*
171 | X64993571Y-35666071D01*
172 | X66064999Y-35594642D02*
173 | X66207857Y-35666071D01*
174 | X66493571Y-35666071D01*
175 | X66636428Y-35594642D01*
176 | X66707857Y-35451785D01*
177 | X66707857Y-35380357D01*
178 | X66636428Y-35237500D01*
179 | X66493571Y-35166071D01*
180 | X66279285Y-35166071D01*
181 | X66136428Y-35094642D01*
182 | X66064999Y-34951785D01*
183 | X66064999Y-34880357D01*
184 | X66136428Y-34737500D01*
185 | X66279285Y-34666071D01*
186 | X66493571Y-34666071D01*
187 | X66636428Y-34737500D01*
188 | X67350714Y-35666071D02*
189 | X67350714Y-34666071D01*
190 | X67350714Y-34166071D02*
191 | X67279285Y-34237500D01*
192 | X67350714Y-34308928D01*
193 | X67422142Y-34237500D01*
194 | X67350714Y-34166071D01*
195 | X67350714Y-34308928D01*
196 | X67850714Y-34666071D02*
197 | X68422142Y-34666071D01*
198 | X68064999Y-34166071D02*
199 | X68064999Y-35451785D01*
200 | X68136428Y-35594642D01*
201 | X68279285Y-35666071D01*
202 | X68422142Y-35666071D01*
203 | X68922142Y-35666071D02*
204 | X68922142Y-34666071D01*
205 | X68922142Y-34166071D02*
206 | X68850714Y-34237500D01*
207 | X68922142Y-34308928D01*
208 | X68993571Y-34237500D01*
209 | X68922142Y-34166071D01*
210 | X68922142Y-34308928D01*
211 | X69850714Y-35666071D02*
212 | X69707857Y-35594642D01*
213 | X69636428Y-35523214D01*
214 | X69564999Y-35380357D01*
215 | X69564999Y-34951785D01*
216 | X69636428Y-34808928D01*
217 | X69707857Y-34737500D01*
218 | X69850714Y-34666071D01*
219 | X70064999Y-34666071D01*
220 | X70207857Y-34737500D01*
221 | X70279285Y-34808928D01*
222 | X70350714Y-34951785D01*
223 | X70350714Y-35380357D01*
224 | X70279285Y-35523214D01*
225 | X70207857Y-35594642D01*
226 | X70064999Y-35666071D01*
227 | X69850714Y-35666071D01*
228 | X70993571Y-34666071D02*
229 | X70993571Y-35666071D01*
230 | X70993571Y-34808928D02*
231 | X71064999Y-34737500D01*
232 | X71207857Y-34666071D01*
233 | X71422142Y-34666071D01*
234 | X71564999Y-34737500D01*
235 | X71636428Y-34880357D01*
236 | X71636428Y-35666071D01*
237 | X74279285Y-34237500D02*
238 | X74136428Y-34166071D01*
239 | X73922142Y-34166071D01*
240 | X73707857Y-34237500D01*
241 | X73564999Y-34380357D01*
242 | X73493571Y-34523214D01*
243 | X73422142Y-34808928D01*
244 | X73422142Y-35023214D01*
245 | X73493571Y-35308928D01*
246 | X73564999Y-35451785D01*
247 | X73707857Y-35594642D01*
248 | X73922142Y-35666071D01*
249 | X74064999Y-35666071D01*
250 | X74279285Y-35594642D01*
251 | X74350714Y-35523214D01*
252 | X74350714Y-35023214D01*
253 | X74064999Y-35023214D01*
254 | X74993571Y-35666071D02*
255 | X74993571Y-34166071D01*
256 | X75564999Y-34166071D01*
257 | X75707857Y-34237500D01*
258 | X75779285Y-34308928D01*
259 | X75850714Y-34451785D01*
260 | X75850714Y-34666071D01*
261 | X75779285Y-34808928D01*
262 | X75707857Y-34880357D01*
263 | X75564999Y-34951785D01*
264 | X74993571Y-34951785D01*
265 | X76422142Y-35594642D02*
266 | X76636428Y-35666071D01*
267 | X76993571Y-35666071D01*
268 | X77136428Y-35594642D01*
269 | X77207857Y-35523214D01*
270 | X77279285Y-35380357D01*
271 | X77279285Y-35237500D01*
272 | X77207857Y-35094642D01*
273 | X77136428Y-35023214D01*
274 | X76993571Y-34951785D01*
275 | X76707857Y-34880357D01*
276 | X76564999Y-34808928D01*
277 | X76493571Y-34737500D01*
278 | X76422142Y-34594642D01*
279 | X76422142Y-34451785D01*
280 | X76493571Y-34308928D01*
281 | X76564999Y-34237500D01*
282 | X76707857Y-34166071D01*
283 | X77064999Y-34166071D01*
284 | X77279285Y-34237500D01*
285 | X77922142Y-35666071D02*
286 | X77922142Y-34166071D01*
287 | X78279285Y-34166071D01*
288 | X78493571Y-34237500D01*
289 | X78636428Y-34380357D01*
290 | X78707857Y-34523214D01*
291 | X78779285Y-34808928D01*
292 | X78779285Y-35023214D01*
293 | X78707857Y-35308928D01*
294 | X78636428Y-35451785D01*
295 | X78493571Y-35594642D01*
296 | X78279285Y-35666071D01*
297 | X77922142Y-35666071D01*
298 | X79707857Y-34166071D02*
299 | X79993571Y-34166071D01*
300 | X80136428Y-34237500D01*
301 | X80279285Y-34380357D01*
302 | X80350714Y-34666071D01*
303 | X80350714Y-35166071D01*
304 | X80279285Y-35451785D01*
305 | X80136428Y-35594642D01*
306 | X79993571Y-35666071D01*
307 | X79707857Y-35666071D01*
308 | X79564999Y-35594642D01*
309 | X79422142Y-35451785D01*
310 | X79350714Y-35166071D01*
311 | X79350714Y-34666071D01*
312 | X79422142Y-34380357D01*
313 | X79564999Y-34237500D01*
314 | X79707857Y-34166071D01*
315 | X82993571Y-35523214D02*
316 | X82922142Y-35594642D01*
317 | X82707857Y-35666071D01*
318 | X82564999Y-35666071D01*
319 | X82350714Y-35594642D01*
320 | X82207857Y-35451785D01*
321 | X82136428Y-35308928D01*
322 | X82064999Y-35023214D01*
323 | X82064999Y-34808928D01*
324 | X82136428Y-34523214D01*
325 | X82207857Y-34380357D01*
326 | X82350714Y-34237500D01*
327 | X82564999Y-34166071D01*
328 | X82707857Y-34166071D01*
329 | X82922142Y-34237500D01*
330 | X82993571Y-34308928D01*
331 | X83850714Y-35666071D02*
332 | X83707857Y-35594642D01*
333 | X83636428Y-35523214D01*
334 | X83564999Y-35380357D01*
335 | X83564999Y-34951785D01*
336 | X83636428Y-34808928D01*
337 | X83707857Y-34737500D01*
338 | X83850714Y-34666071D01*
339 | X84064999Y-34666071D01*
340 | X84207857Y-34737500D01*
341 | X84279285Y-34808928D01*
342 | X84350714Y-34951785D01*
343 | X84350714Y-35380357D01*
344 | X84279285Y-35523214D01*
345 | X84207857Y-35594642D01*
346 | X84064999Y-35666071D01*
347 | X83850714Y-35666071D01*
348 | X84993571Y-34666071D02*
349 | X84993571Y-35666071D01*
350 | X84993571Y-34808928D02*
351 | X85064999Y-34737500D01*
352 | X85207857Y-34666071D01*
353 | X85422142Y-34666071D01*
354 | X85564999Y-34737500D01*
355 | X85636428Y-34880357D01*
356 | X85636428Y-35666071D01*
357 | X86136428Y-34666071D02*
358 | X86707857Y-34666071D01*
359 | X86350714Y-34166071D02*
360 | X86350714Y-35451785D01*
361 | X86422142Y-35594642D01*
362 | X86564999Y-35666071D01*
363 | X86707857Y-35666071D01*
364 | X87207857Y-35666071D02*
365 | X87207857Y-34666071D01*
366 | X87207857Y-34951785D02*
367 | X87279285Y-34808928D01*
368 | X87350714Y-34737500D01*
369 | X87493571Y-34666071D01*
370 | X87636428Y-34666071D01*
371 | X88350714Y-35666071D02*
372 | X88207857Y-35594642D01*
373 | X88136428Y-35523214D01*
374 | X88065000Y-35380357D01*
375 | X88065000Y-34951785D01*
376 | X88136428Y-34808928D01*
377 | X88207857Y-34737500D01*
378 | X88350714Y-34666071D01*
379 | X88565000Y-34666071D01*
380 | X88707857Y-34737500D01*
381 | X88779285Y-34808928D01*
382 | X88850714Y-34951785D01*
383 | X88850714Y-35380357D01*
384 | X88779285Y-35523214D01*
385 | X88707857Y-35594642D01*
386 | X88565000Y-35666071D01*
387 | X88350714Y-35666071D01*
388 | X89707857Y-35666071D02*
389 | X89565000Y-35594642D01*
390 | X89493571Y-35451785D01*
391 | X89493571Y-34166071D01*
392 | X90493571Y-35666071D02*
393 | X90350714Y-35594642D01*
394 | X90279285Y-35451785D01*
395 | X90279285Y-34166071D01*
396 | X91636428Y-35594642D02*
397 | X91493571Y-35666071D01*
398 | X91207857Y-35666071D01*
399 | X91065000Y-35594642D01*
400 | X90993571Y-35451785D01*
401 | X90993571Y-34880357D01*
402 | X91065000Y-34737500D01*
403 | X91207857Y-34666071D01*
404 | X91493571Y-34666071D01*
405 | X91636428Y-34737500D01*
406 | X91707857Y-34880357D01*
407 | X91707857Y-35023214D01*
408 | X90993571Y-35166071D01*
409 | X92350714Y-35666071D02*
410 | X92350714Y-34666071D01*
411 | X92350714Y-34951785D02*
412 | X92422142Y-34808928D01*
413 | X92493571Y-34737500D01*
414 | X92636428Y-34666071D01*
415 | X92779285Y-34666071D01*
416 | X61350714Y-38652500D02*
417 | X61279285Y-38581071D01*
418 | X61136428Y-38366785D01*
419 | X61065000Y-38223928D01*
420 | X60993571Y-38009642D01*
421 | X60922142Y-37652500D01*
422 | X60922142Y-37366785D01*
423 | X60993571Y-37009642D01*
424 | X61065000Y-36795357D01*
425 | X61136428Y-36652500D01*
426 | X61279285Y-36438214D01*
427 | X61350714Y-36366785D01*
428 | X62565000Y-38009642D02*
429 | X62422142Y-38081071D01*
430 | X62136428Y-38081071D01*
431 | X61993571Y-38009642D01*
432 | X61922142Y-37938214D01*
433 | X61850714Y-37795357D01*
434 | X61850714Y-37366785D01*
435 | X61922142Y-37223928D01*
436 | X61993571Y-37152500D01*
437 | X62136428Y-37081071D01*
438 | X62422142Y-37081071D01*
439 | X62565000Y-37152500D01*
440 | X63065000Y-38652500D02*
441 | X63136428Y-38581071D01*
442 | X63279285Y-38366785D01*
443 | X63350714Y-38223928D01*
444 | X63422142Y-38009642D01*
445 | X63493571Y-37652500D01*
446 | X63493571Y-37366785D01*
447 | X63422142Y-37009642D01*
448 | X63350714Y-36795357D01*
449 | X63279285Y-36652500D01*
450 | X63136428Y-36438214D01*
451 | X63065000Y-36366785D01*
452 | X65279285Y-38009642D02*
453 | X65493571Y-38081071D01*
454 | X65850714Y-38081071D01*
455 | X65993571Y-38009642D01*
456 | X66065000Y-37938214D01*
457 | X66136428Y-37795357D01*
458 | X66136428Y-37652500D01*
459 | X66065000Y-37509642D01*
460 | X65993571Y-37438214D01*
461 | X65850714Y-37366785D01*
462 | X65565000Y-37295357D01*
463 | X65422142Y-37223928D01*
464 | X65350714Y-37152500D01*
465 | X65279285Y-37009642D01*
466 | X65279285Y-36866785D01*
467 | X65350714Y-36723928D01*
468 | X65422142Y-36652500D01*
469 | X65565000Y-36581071D01*
470 | X65922142Y-36581071D01*
471 | X66136428Y-36652500D01*
472 | X66636428Y-37081071D02*
473 | X67422142Y-37081071D01*
474 | X66636428Y-38081071D01*
475 | X67422142Y-38081071D01*
476 | X68636428Y-38081071D02*
477 | X68636428Y-37295357D01*
478 | X68565000Y-37152500D01*
479 | X68422142Y-37081071D01*
480 | X68136428Y-37081071D01*
481 | X67993571Y-37152500D01*
482 | X68636428Y-38009642D02*
483 | X68493571Y-38081071D01*
484 | X68136428Y-38081071D01*
485 | X67993571Y-38009642D01*
486 | X67922142Y-37866785D01*
487 | X67922142Y-37723928D01*
488 | X67993571Y-37581071D01*
489 | X68136428Y-37509642D01*
490 | X68493571Y-37509642D01*
491 | X68636428Y-37438214D01*
492 | X69350714Y-38081071D02*
493 | X69350714Y-36581071D01*
494 | X69350714Y-37152500D02*
495 | X69493571Y-37081071D01*
496 | X69779285Y-37081071D01*
497 | X69922142Y-37152500D01*
498 | X69993571Y-37223928D01*
499 | X70065000Y-37366785D01*
500 | X70065000Y-37795357D01*
501 | X69993571Y-37938214D01*
502 | X69922142Y-38009642D01*
503 | X69779285Y-38081071D01*
504 | X69493571Y-38081071D01*
505 | X69350714Y-38009642D01*
506 | X70922142Y-38081071D02*
507 | X70779285Y-38009642D01*
508 | X70707857Y-37938214D01*
509 | X70636428Y-37795357D01*
510 | X70636428Y-37366785D01*
511 | X70707857Y-37223928D01*
512 | X70779285Y-37152500D01*
513 | X70922142Y-37081071D01*
514 | X71136428Y-37081071D01*
515 | X71279285Y-37152500D01*
516 | X71350714Y-37223928D01*
517 | X71422142Y-37366785D01*
518 | X71422142Y-37795357D01*
519 | X71350714Y-37938214D01*
520 | X71279285Y-38009642D01*
521 | X71136428Y-38081071D01*
522 | X70922142Y-38081071D01*
523 | X72279285Y-38081071D02*
524 | X72136428Y-38009642D01*
525 | X72065000Y-37866785D01*
526 | X72065000Y-36581071D01*
527 | X73493571Y-38009642D02*
528 | X73350714Y-38081071D01*
529 | X73065000Y-38081071D01*
530 | X72922142Y-38009642D01*
531 | X72850714Y-37938214D01*
532 | X72779285Y-37795357D01*
533 | X72779285Y-37366785D01*
534 | X72850714Y-37223928D01*
535 | X72922142Y-37152500D01*
536 | X73065000Y-37081071D01*
537 | X73350714Y-37081071D01*
538 | X73493571Y-37152500D01*
539 | X74065000Y-38009642D02*
540 | X74207857Y-38081071D01*
541 | X74493571Y-38081071D01*
542 | X74636428Y-38009642D01*
543 | X74707857Y-37866785D01*
544 | X74707857Y-37795357D01*
545 | X74636428Y-37652500D01*
546 | X74493571Y-37581071D01*
547 | X74279285Y-37581071D01*
548 | X74136428Y-37509642D01*
549 | X74065000Y-37366785D01*
550 | X74065000Y-37295357D01*
551 | X74136428Y-37152500D01*
552 | X74279285Y-37081071D01*
553 | X74493571Y-37081071D01*
554 | X74636428Y-37152500D01*
555 | X76422142Y-38009642D02*
556 | X76636428Y-38081071D01*
557 | X76993571Y-38081071D01*
558 | X77136428Y-38009642D01*
559 | X77207857Y-37938214D01*
560 | X77279285Y-37795357D01*
561 | X77279285Y-37652500D01*
562 | X77207857Y-37509642D01*
563 | X77136428Y-37438214D01*
564 | X76993571Y-37366785D01*
565 | X76707857Y-37295357D01*
566 | X76565000Y-37223928D01*
567 | X76493571Y-37152500D01*
568 | X76422142Y-37009642D01*
569 | X76422142Y-36866785D01*
570 | X76493571Y-36723928D01*
571 | X76565000Y-36652500D01*
572 | X76707857Y-36581071D01*
573 | X77065000Y-36581071D01*
574 | X77279285Y-36652500D01*
575 | X77779285Y-37081071D02*
576 | X78565000Y-37081071D01*
577 | X77779285Y-38081071D01*
578 | X78565000Y-38081071D01*
579 | X79136428Y-38081071D02*
580 | X79136428Y-37081071D01*
581 | X79136428Y-36581071D02*
582 | X79065000Y-36652500D01*
583 | X79136428Y-36723928D01*
584 | X79207857Y-36652500D01*
585 | X79136428Y-36581071D01*
586 | X79136428Y-36723928D01*
587 | X80493571Y-37081071D02*
588 | X80493571Y-38295357D01*
589 | X80422142Y-38438214D01*
590 | X80350714Y-38509642D01*
591 | X80207857Y-38581071D01*
592 | X79993571Y-38581071D01*
593 | X79850714Y-38509642D01*
594 | X80493571Y-38009642D02*
595 | X80350714Y-38081071D01*
596 | X80065000Y-38081071D01*
597 | X79922142Y-38009642D01*
598 | X79850714Y-37938214D01*
599 | X79779285Y-37795357D01*
600 | X79779285Y-37366785D01*
601 | X79850714Y-37223928D01*
602 | X79922142Y-37152500D01*
603 | X80065000Y-37081071D01*
604 | X80350714Y-37081071D01*
605 | X80493571Y-37152500D01*
606 | X81779285Y-38009642D02*
607 | X81636428Y-38081071D01*
608 | X81350714Y-38081071D01*
609 | X81207857Y-38009642D01*
610 | X81136428Y-37866785D01*
611 | X81136428Y-37295357D01*
612 | X81207857Y-37152500D01*
613 | X81350714Y-37081071D01*
614 | X81636428Y-37081071D01*
615 | X81779285Y-37152500D01*
616 | X81850714Y-37295357D01*
617 | X81850714Y-37438214D01*
618 | X81136428Y-37581071D01*
619 | X82279285Y-37081071D02*
620 | X82850714Y-37081071D01*
621 | X82493571Y-36581071D02*
622 | X82493571Y-37866785D01*
623 | X82565000Y-38009642D01*
624 | X82707857Y-38081071D01*
625 | X82850714Y-38081071D01*
626 | X83350714Y-38081071D02*
627 | X83350714Y-37081071D01*
628 | X83350714Y-36581071D02*
629 | X83279285Y-36652500D01*
630 | X83350714Y-36723928D01*
631 | X83422142Y-36652500D01*
632 | X83350714Y-36581071D01*
633 | X83350714Y-36723928D01*
634 | X85136428Y-36723928D02*
635 | X85207857Y-36652500D01*
636 | X85350714Y-36581071D01*
637 | X85707857Y-36581071D01*
638 | X85850714Y-36652500D01*
639 | X85922142Y-36723928D01*
640 | X85993571Y-36866785D01*
641 | X85993571Y-37009642D01*
642 | X85922142Y-37223928D01*
643 | X85065000Y-38081071D01*
644 | X85993571Y-38081071D01*
645 | X86922142Y-36581071D02*
646 | X87065000Y-36581071D01*
647 | X87207857Y-36652500D01*
648 | X87279285Y-36723928D01*
649 | X87350714Y-36866785D01*
650 | X87422142Y-37152500D01*
651 | X87422142Y-37509642D01*
652 | X87350714Y-37795357D01*
653 | X87279285Y-37938214D01*
654 | X87207857Y-38009642D01*
655 | X87065000Y-38081071D01*
656 | X86922142Y-38081071D01*
657 | X86779285Y-38009642D01*
658 | X86707857Y-37938214D01*
659 | X86636428Y-37795357D01*
660 | X86565000Y-37509642D01*
661 | X86565000Y-37152500D01*
662 | X86636428Y-36866785D01*
663 | X86707857Y-36723928D01*
664 | X86779285Y-36652500D01*
665 | X86922142Y-36581071D01*
666 | X87993571Y-36723928D02*
667 | X88065000Y-36652500D01*
668 | X88207857Y-36581071D01*
669 | X88565000Y-36581071D01*
670 | X88707857Y-36652500D01*
671 | X88779285Y-36723928D01*
672 | X88850714Y-36866785D01*
673 | X88850714Y-37009642D01*
674 | X88779285Y-37223928D01*
675 | X87922142Y-38081071D01*
676 | X88850714Y-38081071D01*
677 | X89779285Y-36581071D02*
678 | X89922142Y-36581071D01*
679 | X90065000Y-36652500D01*
680 | X90136428Y-36723928D01*
681 | X90207857Y-36866785D01*
682 | X90279285Y-37152500D01*
683 | X90279285Y-37509642D01*
684 | X90207857Y-37795357D01*
685 | X90136428Y-37938214D01*
686 | X90065000Y-38009642D01*
687 | X89922142Y-38081071D01*
688 | X89779285Y-38081071D01*
689 | X89636428Y-38009642D01*
690 | X89565000Y-37938214D01*
691 | X89493571Y-37795357D01*
692 | X89422142Y-37509642D01*
693 | X89422142Y-37152500D01*
694 | X89493571Y-36866785D01*
695 | X89565000Y-36723928D01*
696 | X89636428Y-36652500D01*
697 | X89779285Y-36581071D01*
698 | D12*
699 | %TO.P,BP1,1*%
700 | %TO.N,Net-(BP1-Pad1)*%
701 | X150495000Y-45720000D03*
702 | D13*
703 | %TO.P,BP1,21*%
704 | %TO.N,Net-(BP1-Pad21)*%
705 | X165735000Y-93980000D03*
706 | %TO.P,BP1,2*%
707 | %TO.N,Net-(BP1-Pad2)*%
708 | X150495000Y-48260000D03*
709 | %TO.P,BP1,22*%
710 | %TO.N,Net-(BP1-Pad22)*%
711 | X165735000Y-91440000D03*
712 | %TO.P,BP1,3*%
713 | %TO.N,Net-(BP1-Pad3)*%
714 | X150495000Y-50800000D03*
715 | %TO.P,BP1,23*%
716 | %TO.N,Net-(BP1-Pad23)*%
717 | X165735000Y-88900000D03*
718 | %TO.P,BP1,4*%
719 | %TO.N,Net-(BP1-Pad4)*%
720 | X150495000Y-53340000D03*
721 | %TO.P,BP1,24*%
722 | %TO.N,Net-(BP1-Pad24)*%
723 | X165735000Y-86360000D03*
724 | %TO.P,BP1,5*%
725 | %TO.N,Net-(BP1-Pad5)*%
726 | X150495000Y-55880000D03*
727 | %TO.P,BP1,25*%
728 | %TO.N,Net-(BP1-Pad25)*%
729 | X165735000Y-83820000D03*
730 | %TO.P,BP1,6*%
731 | %TO.N,Net-(BP1-Pad6)*%
732 | X150495000Y-58420000D03*
733 | %TO.P,BP1,26*%
734 | %TO.N,Net-(BP1-Pad26)*%
735 | X165735000Y-81280000D03*
736 | %TO.P,BP1,7*%
737 | %TO.N,Net-(BP1-Pad7)*%
738 | X150495000Y-60960000D03*
739 | %TO.P,BP1,27*%
740 | %TO.N,Net-(BP1-Pad27)*%
741 | X165735000Y-78740000D03*
742 | %TO.P,BP1,8*%
743 | %TO.N,Net-(BP1-Pad8)*%
744 | X150495000Y-63500000D03*
745 | %TO.P,BP1,28*%
746 | %TO.N,Net-(BP1-Pad28)*%
747 | X165735000Y-76200000D03*
748 | %TO.P,BP1,9*%
749 | %TO.N,Net-(BP1-Pad9)*%
750 | X150495000Y-66040000D03*
751 | %TO.P,BP1,29*%
752 | %TO.N,Net-(BP1-Pad29)*%
753 | X165735000Y-73660000D03*
754 | %TO.P,BP1,10*%
755 | %TO.N,Net-(BP1-Pad10)*%
756 | X150495000Y-68580000D03*
757 | %TO.P,BP1,30*%
758 | %TO.N,Net-(BP1-Pad30)*%
759 | X165735000Y-71120000D03*
760 | %TO.P,BP1,11*%
761 | %TO.N,Net-(BP1-Pad11)*%
762 | X150495000Y-71120000D03*
763 | %TO.P,BP1,31*%
764 | %TO.N,Net-(BP1-Pad31)*%
765 | X165735000Y-68580000D03*
766 | %TO.P,BP1,12*%
767 | %TO.N,Net-(BP1-Pad12)*%
768 | X150495000Y-73660000D03*
769 | %TO.P,BP1,32*%
770 | %TO.N,Net-(BP1-Pad32)*%
771 | X165735000Y-66040000D03*
772 | %TO.P,BP1,13*%
773 | %TO.N,Net-(BP1-Pad13)*%
774 | X150495000Y-76200000D03*
775 | %TO.P,BP1,33*%
776 | %TO.N,Net-(BP1-Pad33)*%
777 | X165735000Y-63500000D03*
778 | %TO.P,BP1,14*%
779 | %TO.N,Net-(BP1-Pad14)*%
780 | X150495000Y-78740000D03*
781 | %TO.P,BP1,34*%
782 | %TO.N,Net-(BP1-Pad34)*%
783 | X165735000Y-60960000D03*
784 | %TO.P,BP1,15*%
785 | %TO.N,Net-(BP1-Pad15)*%
786 | X150495000Y-81280000D03*
787 | %TO.P,BP1,35*%
788 | %TO.N,Net-(BP1-Pad35)*%
789 | X165735000Y-58420000D03*
790 | %TO.P,BP1,16*%
791 | %TO.N,Net-(BP1-Pad16)*%
792 | X150495000Y-83820000D03*
793 | %TO.P,BP1,36*%
794 | %TO.N,Net-(BP1-Pad36)*%
795 | X165735000Y-55880000D03*
796 | %TO.P,BP1,17*%
797 | %TO.N,Net-(BP1-Pad17)*%
798 | X150495000Y-86360000D03*
799 | %TO.P,BP1,37*%
800 | %TO.N,Net-(BP1-Pad37)*%
801 | X165735000Y-53340000D03*
802 | %TO.P,BP1,18*%
803 | %TO.N,+5V*%
804 | X150495000Y-88900000D03*
805 | %TO.P,BP1,38*%
806 | %TO.N,Net-(BP1-Pad38)*%
807 | X165735000Y-50800000D03*
808 | %TO.P,BP1,19*%
809 | %TO.N,GND*%
810 | X150495000Y-91440000D03*
811 | %TO.P,BP1,39*%
812 | X165735000Y-48260000D03*
813 | %TO.P,BP1,20*%
814 | %TO.N,Net-(BP1-Pad20)*%
815 | X150495000Y-93980000D03*
816 | %TO.P,BP1,40*%
817 | %TO.N,GND*%
818 | X165735000Y-45720000D03*
819 | %TD*%
820 | D14*
821 | %TO.P,J4,3*%
822 | %TO.N,GND*%
823 | X127000000Y-99695000D03*
824 | %TO.P,J4,2*%
825 | X124460000Y-99695000D03*
826 | D15*
827 | %TO.P,J4,1*%
828 | %TO.N,+10V*%
829 | X121920000Y-99695000D03*
830 | %TD*%
831 | D16*
832 | %TO.P,T1,3*%
833 | %TO.N,Net-(D5-Pad2)*%
834 | X67230000Y-87785000D03*
835 | %TO.P,T1,4*%
836 | %TO.N,Net-(D5-Pad4)*%
837 | X87230000Y-87785000D03*
838 | %TO.P,T1,2*%
839 | %TO.N,Net-(J2-Pad2)*%
840 | X92230000Y-57785000D03*
841 | %TO.P,T1,1*%
842 | %TO.N,Net-(J2-Pad1)*%
843 | X62230000Y-57785000D03*
844 | %TD*%
845 | D17*
846 | %TO.P,H6,1*%
847 | %TO.N,N/C*%
848 | X110490000Y-36195000D03*
849 | %TD*%
850 | %TO.P,H5,1*%
851 | %TO.N,N/C*%
852 | X193675000Y-102235000D03*
853 | %TD*%
854 | %TO.P,H3,1*%
855 | %TO.N,N/C*%
856 | X193675000Y-36195000D03*
857 | %TD*%
858 | %TO.P,H2,1*%
859 | %TO.N,N/C*%
860 | X42545000Y-36195000D03*
861 | %TD*%
862 | %TO.P,H1,1*%
863 | %TO.N,N/C*%
864 | X110490000Y-102235000D03*
865 | %TD*%
866 | D18*
867 | %TO.P,U1,3*%
868 | %TO.N,+5V*%
869 | X140335000Y-36830000D03*
870 | %TO.P,U1,2*%
871 | %TO.N,GND*%
872 | X137795000Y-36830000D03*
873 | D19*
874 | %TO.P,U1,1*%
875 | %TO.N,Net-(C1-Pad1)*%
876 | X135255000Y-36830000D03*
877 | %TD*%
878 | D14*
879 | %TO.P,D4,2*%
880 | %TO.N,Net-(D4-Pad2)*%
881 | X192405000Y-92710000D03*
882 | D15*
883 | %TO.P,D4,1*%
884 | %TO.N,GND*%
885 | X192405000Y-90170000D03*
886 | %TD*%
887 | D14*
888 | %TO.P,D3,2*%
889 | %TO.N,Net-(D3-Pad2)*%
890 | X192405000Y-78740000D03*
891 | D15*
892 | %TO.P,D3,1*%
893 | %TO.N,GND*%
894 | X192405000Y-76200000D03*
895 | %TD*%
896 | D14*
897 | %TO.P,D2,2*%
898 | %TO.N,Net-(D2-Pad2)*%
899 | X192405000Y-71755000D03*
900 | D15*
901 | %TO.P,D2,1*%
902 | %TO.N,GND*%
903 | X192405000Y-69215000D03*
904 | %TD*%
905 | D14*
906 | %TO.P,D1,2*%
907 | %TO.N,Net-(D1-Pad2)*%
908 | X192405000Y-85725000D03*
909 | D15*
910 | %TO.P,D1,1*%
911 | %TO.N,GND*%
912 | X192405000Y-83185000D03*
913 | %TD*%
914 | D20*
915 | %TO.P,C1,1*%
916 | %TO.N,Net-(C1-Pad1)*%
917 | X124460000Y-80645000D03*
918 | %TO.P,C1,2*%
919 | %TO.N,GND*%
920 | X121960000Y-80645000D03*
921 | %TD*%
922 | D21*
923 | %TO.P,C2,1*%
924 | %TO.N,Net-(C1-Pad1)*%
925 | X134620000Y-66040000D03*
926 | D22*
927 | %TO.P,C2,2*%
928 | %TO.N,GND*%
929 | X127120000Y-66040000D03*
930 | %TD*%
931 | D20*
932 | %TO.P,C3,1*%
933 | %TO.N,Net-(C1-Pad1)*%
934 | X133390000Y-41910000D03*
935 | %TO.P,C3,2*%
936 | %TO.N,GND*%
937 | X135890000Y-41910000D03*
938 | %TD*%
939 | %TO.P,C4,2*%
940 | %TO.N,GND*%
941 | X123150000Y-41910000D03*
942 | %TO.P,C4,1*%
943 | %TO.N,Net-(C1-Pad1)*%
944 | X120650000Y-41910000D03*
945 | %TD*%
946 | %TO.P,C5,1*%
947 | %TO.N,+5V*%
948 | X142240000Y-41910000D03*
949 | %TO.P,C5,2*%
950 | %TO.N,GND*%
951 | X139740000Y-41910000D03*
952 | %TD*%
953 | %TO.P,C6,2*%
954 | %TO.N,GND*%
955 | X127000000Y-41910000D03*
956 | %TO.P,C6,1*%
957 | %TO.N,+10V*%
958 | X129500000Y-41910000D03*
959 | %TD*%
960 | %TO.P,C7,2*%
961 | %TO.N,GND*%
962 | X136430000Y-49530000D03*
963 | D12*
964 | %TO.P,C7,1*%
965 | %TO.N,+5V*%
966 | X138430000Y-49530000D03*
967 | %TD*%
968 | %TO.P,C8,1*%
969 | %TO.N,+10V*%
970 | X126365000Y-49530000D03*
971 | D20*
972 | %TO.P,C8,2*%
973 | %TO.N,GND*%
974 | X124365000Y-49530000D03*
975 | %TD*%
976 | D23*
977 | %TO.P,D5,4*%
978 | %TO.N,Net-(D5-Pad4)*%
979 | X127000000Y-90170000D03*
980 | %TO.P,D5,2*%
981 | %TO.N,Net-(D5-Pad2)*%
982 | X121920000Y-85090000D03*
983 | %TO.P,D5,3*%
984 | %TO.N,GND*%
985 | X121920000Y-90170000D03*
986 | D24*
987 | %TO.P,D5,1*%
988 | %TO.N,Net-(C1-Pad1)*%
989 | X127000000Y-85090000D03*
990 | %TD*%
991 | D25*
992 | %TO.P,H4,1*%
993 | %TO.N,GND*%
994 | X44242056Y-100537944D03*
995 | X42545000Y-99835000D03*
996 | X40847944Y-100537944D03*
997 | X40145000Y-102235000D03*
998 | X40847944Y-103932056D03*
999 | X42545000Y-104635000D03*
1000 | X44242056Y-103932056D03*
1001 | X44945000Y-102235000D03*
1002 | D17*
1003 | X42545000Y-102235000D03*
1004 | %TD*%
1005 | D15*
1006 | %TO.P,J1,1*%
1007 | %TO.N,Net-(BP1-Pad36)*%
1008 | X173990000Y-52705000D03*
1009 | D14*
1010 | %TO.P,J1,2*%
1011 | %TO.N,Net-(BP1-Pad35)*%
1012 | X173990000Y-55245000D03*
1013 | %TO.P,J1,3*%
1014 | %TO.N,GND*%
1015 | X173990000Y-57785000D03*
1016 | %TD*%
1017 | D26*
1018 | %TO.P,J2,1*%
1019 | %TO.N,Net-(J2-Pad1)*%
1020 | X44450000Y-66390000D03*
1021 | D27*
1022 | %TO.P,J2,2*%
1023 | %TO.N,Net-(J2-Pad2)*%
1024 | X44450000Y-72390000D03*
1025 | %TO.P,J2,3*%
1026 | %TO.N,GND*%
1027 | X44450000Y-78390000D03*
1028 | %TD*%
1029 | D15*
1030 | %TO.P,J3,1*%
1031 | %TO.N,Net-(BP1-Pad28)*%
1032 | X132715000Y-99695000D03*
1033 | D14*
1034 | %TO.P,J3,2*%
1035 | %TO.N,GND*%
1036 | X135255000Y-99695000D03*
1037 | %TO.P,J3,3*%
1038 | %TO.N,Net-(BP1-Pad27)*%
1039 | X137795000Y-99695000D03*
1040 | %TO.P,J3,4*%
1041 | %TO.N,GND*%
1042 | X140335000Y-99695000D03*
1043 | %TD*%
1044 | D15*
1045 | %TO.P,J5,1*%
1046 | %TO.N,GND*%
1047 | X192405000Y-43815000D03*
1048 | D14*
1049 | %TO.P,J5,2*%
1050 | %TO.N,+5V*%
1051 | X192405000Y-46355000D03*
1052 | %TO.P,J5,3*%
1053 | %TO.N,Net-(J5-Pad3)*%
1054 | X192405000Y-48895000D03*
1055 | %TO.P,J5,4*%
1056 | %TO.N,Net-(BP1-Pad32)*%
1057 | X192405000Y-51435000D03*
1058 | %TO.P,J5,5*%
1059 | %TO.N,Net-(BP1-Pad30)*%
1060 | X192405000Y-53975000D03*
1061 | %TO.P,J5,6*%
1062 | %TO.N,Net-(BP1-Pad29)*%
1063 | X192405000Y-56515000D03*
1064 | %TO.P,J5,7*%
1065 | %TO.N,Net-(BP1-Pad33)*%
1066 | X192405000Y-59055000D03*
1067 | %TO.P,J5,8*%
1068 | %TO.N,Net-(J5-Pad8)*%
1069 | X192405000Y-61595000D03*
1070 | %TO.P,J5,9*%
1071 | %TO.N,+5V*%
1072 | X192405000Y-64135000D03*
1073 | %TD*%
1074 | D28*
1075 | %TO.P,Q1,2*%
1076 | %TO.N,Net-(Q1-Pad2)*%
1077 | X186055000Y-47625000D03*
1078 | %TO.P,Q1,3*%
1079 | %TO.N,GND*%
1080 | X187325000Y-47625000D03*
1081 | D29*
1082 | %TO.P,Q1,1*%
1083 | %TO.N,Net-(Q1-Pad1)*%
1084 | X184785000Y-47625000D03*
1085 | %TD*%
1086 | D13*
1087 | %TO.P,R1,2*%
1088 | %TO.N,Net-(BP1-Pad13)*%
1089 | X173355000Y-80645000D03*
1090 | D20*
1091 | %TO.P,R1,1*%
1092 | %TO.N,Net-(D1-Pad2)*%
1093 | X183515000Y-80645000D03*
1094 | %TD*%
1095 | %TO.P,R2,1*%
1096 | %TO.N,Net-(BP1-Pad14)*%
1097 | X173355000Y-71755000D03*
1098 | D13*
1099 | %TO.P,R2,2*%
1100 | %TO.N,Net-(D2-Pad2)*%
1101 | X183515000Y-71755000D03*
1102 | %TD*%
1103 | %TO.P,R3,2*%
1104 | %TO.N,Net-(BP1-Pad15)*%
1105 | X173355000Y-76200000D03*
1106 | D20*
1107 | %TO.P,R3,1*%
1108 | %TO.N,Net-(D3-Pad2)*%
1109 | X183515000Y-76200000D03*
1110 | %TD*%
1111 | D13*
1112 | %TO.P,R4,2*%
1113 | %TO.N,Net-(Q1-Pad2)*%
1114 | X177800000Y-47625000D03*
1115 | D20*
1116 | %TO.P,R4,1*%
1117 | %TO.N,Net-(BP1-Pad16)*%
1118 | X177800000Y-57785000D03*
1119 | %TD*%
1120 | %TO.P,R5,1*%
1121 | %TO.N,Net-(Q1-Pad1)*%
1122 | X181610000Y-47625000D03*
1123 | D13*
1124 | %TO.P,R5,2*%
1125 | %TO.N,Net-(J5-Pad8)*%
1126 | X181610000Y-57785000D03*
1127 | %TD*%
1128 | D20*
1129 | %TO.P,R6,1*%
1130 | %TO.N,Net-(D4-Pad2)*%
1131 | X183515000Y-85090000D03*
1132 | D13*
1133 | %TO.P,R6,2*%
1134 | %TO.N,+5V*%
1135 | X173355000Y-85090000D03*
1136 | %TD*%
1137 | D30*
1138 | %TO.P,RV1,3*%
1139 | %TO.N,GND*%
1140 | X181530000Y-42545000D03*
1141 | %TO.P,RV1,2*%
1142 | %TO.N,Net-(J5-Pad3)*%
1143 | X179030000Y-40045000D03*
1144 | %TO.P,RV1,1*%
1145 | %TO.N,+5V*%
1146 | X176530000Y-42545000D03*
1147 | %TD*%
1148 | D14*
1149 | %TO.P,SW1,2*%
1150 | %TO.N,GND*%
1151 | X177165000Y-92710000D03*
1152 | D15*
1153 | %TO.P,SW1,1*%
1154 | %TO.N,Net-(BP1-Pad3)*%
1155 | X177165000Y-90170000D03*
1156 | %TD*%
1157 | %TO.P,SW2,1*%
1158 | %TO.N,Net-(BP1-Pad4)*%
1159 | X182880000Y-90170000D03*
1160 | D14*
1161 | %TO.P,SW2,2*%
1162 | %TO.N,GND*%
1163 | X182880000Y-92710000D03*
1164 | %TD*%
1165 | D19*
1166 | %TO.P,U2,1*%
1167 | %TO.N,Net-(C1-Pad1)*%
1168 | X123190000Y-36830000D03*
1169 | D18*
1170 | %TO.P,U2,2*%
1171 | %TO.N,GND*%
1172 | X125730000Y-36830000D03*
1173 | %TO.P,U2,3*%
1174 | %TO.N,+10V*%
1175 | X128270000Y-36830000D03*
1176 | %TD*%
1177 | D31*
1178 | %TO.N,Net-(BP1-Pad28)*%
1179 | X158750000Y-99060000D03*
1180 | %TO.N,Net-(BP1-Pad33)*%
1181 | X174625000Y-67310000D03*
1182 | %TO.N,Net-(J5-Pad3)*%
1183 | X172085000Y-43815000D03*
1184 | %TD*%
1185 | D32*
1186 | %TO.N,Net-(BP1-Pad28)*%
1187 | X158750000Y-99060000D02*
1188 | X158750000Y-100965000D01*
1189 | X158750000Y-100965000D02*
1190 | X157480000Y-102235000D01*
1191 | X135255000Y-102235000D02*
1192 | X132715000Y-99695000D01*
1193 | X157480000Y-102235000D02*
1194 | X135255000Y-102235000D01*
1195 | D33*
1196 | %TO.N,Net-(BP1-Pad29)*%
1197 | X165735000Y-73660000D02*
1198 | X167640000Y-73660000D01*
1199 | X167640000Y-73660000D02*
1200 | X170180000Y-71120000D01*
1201 | X170180000Y-71120000D02*
1202 | X170180000Y-68580000D01*
1203 | X170180000Y-68580000D02*
1204 | X173355000Y-65405000D01*
1205 | X173355000Y-65405000D02*
1206 | X186055000Y-65405000D01*
1207 | X186055000Y-65405000D02*
1208 | X189230000Y-62230000D01*
1209 | X189230000Y-62230000D02*
1210 | X189230000Y-57785000D01*
1211 | X190500000Y-56515000D02*
1212 | X192405000Y-56515000D01*
1213 | X189230000Y-57785000D02*
1214 | X190500000Y-56515000D01*
1215 | %TO.N,Net-(BP1-Pad30)*%
1216 | X189865000Y-53975000D02*
1217 | X192405000Y-53975000D01*
1218 | X187325000Y-61595000D02*
1219 | X187325000Y-56515000D01*
1220 | X187325000Y-56515000D02*
1221 | X189865000Y-53975000D01*
1222 | X172720000Y-63500000D02*
1223 | X185420000Y-63500000D01*
1224 | X168910000Y-67310000D02*
1225 | X172720000Y-63500000D01*
1226 | X168910000Y-69850000D02*
1227 | X168910000Y-67310000D01*
1228 | X167640000Y-71120000D02*
1229 | X168910000Y-69850000D01*
1230 | X185420000Y-63500000D02*
1231 | X187325000Y-61595000D01*
1232 | X165735000Y-71120000D02*
1233 | X167640000Y-71120000D01*
1234 | %TO.N,Net-(BP1-Pad32)*%
1235 | X165735000Y-66040000D02*
1236 | X167640000Y-66040000D01*
1237 | X167640000Y-66040000D02*
1238 | X172085000Y-61595000D01*
1239 | X172085000Y-61595000D02*
1240 | X184150000Y-61595000D01*
1241 | X184150000Y-61595000D02*
1242 | X185420000Y-60325000D01*
1243 | X185420000Y-60325000D02*
1244 | X185420000Y-55880000D01*
1245 | X185420000Y-55880000D02*
1246 | X189865000Y-51435000D01*
1247 | X189865000Y-51435000D02*
1248 | X192405000Y-51435000D01*
1249 | %TO.N,Net-(BP1-Pad13)*%
1250 | X150495000Y-76200000D02*
1251 | X151765000Y-76200000D01*
1252 | X151765000Y-76200000D02*
1253 | X153035000Y-77470000D01*
1254 | X153035000Y-77470000D02*
1255 | X168275000Y-77470000D01*
1256 | X171450000Y-80645000D02*
1257 | X173355000Y-80645000D01*
1258 | X168275000Y-77470000D02*
1259 | X171450000Y-80645000D01*
1260 | %TO.N,Net-(BP1-Pad33)*%
1261 | X192405000Y-59055000D02*
1262 | X191135000Y-59055000D01*
1263 | X191135000Y-59055000D02*
1264 | X190500000Y-59690000D01*
1265 | X190500000Y-59690000D02*
1266 | X190500000Y-63500000D01*
1267 | X186690000Y-67310000D02*
1268 | X174625000Y-67310000D01*
1269 | X190500000Y-63500000D02*
1270 | X186690000Y-67310000D01*
1271 | %TO.N,Net-(BP1-Pad14)*%
1272 | X147609998Y-77759998D02*
1273 | X148590000Y-78740000D01*
1274 | X148590000Y-78740000D02*
1275 | X150495000Y-78740000D01*
1276 | X147609998Y-75565000D02*
1277 | X147609998Y-77759998D01*
1278 | X148099999Y-75074999D02*
1279 | X147609998Y-75565000D01*
1280 | X170035001Y-75074999D02*
1281 | X148099999Y-75074999D01*
1282 | X173355000Y-71755000D02*
1283 | X170035001Y-75074999D01*
1284 | %TO.N,Net-(BP1-Pad35)*%
1285 | X165735000Y-58420000D02*
1286 | X167640000Y-58420000D01*
1287 | X170815000Y-55245000D02*
1288 | X173990000Y-55245000D01*
1289 | X167640000Y-58420000D02*
1290 | X170815000Y-55245000D01*
1291 | %TO.N,Net-(BP1-Pad16)*%
1292 | X143510000Y-81915000D02*
1293 | X145415000Y-83820000D01*
1294 | X143510000Y-62230000D02*
1295 | X143510000Y-81915000D01*
1296 | X146050000Y-59690000D02*
1297 | X143510000Y-62230000D01*
1298 | X170180000Y-59690000D02*
1299 | X146050000Y-59690000D01*
1300 | X170815000Y-60325000D02*
1301 | X170180000Y-59690000D01*
1302 | X177165000Y-60325000D02*
1303 | X170815000Y-60325000D01*
1304 | X145415000Y-83820000D02*
1305 | X150495000Y-83820000D01*
1306 | X177800000Y-59690000D02*
1307 | X177165000Y-60325000D01*
1308 | X177800000Y-57785000D02*
1309 | X177800000Y-59690000D01*
1310 | %TO.N,Net-(BP1-Pad36)*%
1311 | X165735000Y-55880000D02*
1312 | X167005000Y-55880000D01*
1313 | X170180000Y-52705000D02*
1314 | X173990000Y-52705000D01*
1315 | X167005000Y-55880000D02*
1316 | X170180000Y-52705000D01*
1317 | %TO.N,+5V*%
1318 | X170670001Y-87774999D02*
1319 | X173355000Y-85090000D01*
1320 | X151620001Y-87774999D02*
1321 | X170670001Y-87774999D01*
1322 | X150495000Y-88900000D02*
1323 | X151620001Y-87774999D01*
1324 | D34*
1325 | %TO.N,GND*%
1326 | X121920000Y-90170000D02*
1327 | X120015000Y-90170000D01*
1328 | X120015000Y-90170000D02*
1329 | X117475000Y-87630000D01*
1330 | X117475000Y-85130000D02*
1331 | X121960000Y-80645000D01*
1332 | X117475000Y-87630000D02*
1333 | X117475000Y-85130000D01*
1334 | X121960000Y-68540000D02*
1335 | X121960000Y-80645000D01*
1336 | X124460000Y-66040000D02*
1337 | X121960000Y-68540000D01*
1338 | X127120000Y-66040000D02*
1339 | X124460000Y-66040000D01*
1340 | D35*
1341 | X165735000Y-45720000D02*
1342 | X165735000Y-48260000D01*
1343 | X165735000Y-45720000D02*
1344 | X163195000Y-45720000D01*
1345 | X163195000Y-45720000D02*
1346 | X156845000Y-39370000D01*
1347 | X137795000Y-38100000D02*
1348 | X137795000Y-36830000D01*
1349 | X139065000Y-39370000D02*
1350 | X137795000Y-38100000D01*
1351 | X156845000Y-39370000D02*
1352 | X139065000Y-39370000D01*
1353 | X178355000Y-45720000D02*
1354 | X181530000Y-42545000D01*
1355 | X191135000Y-42545000D02*
1356 | X192405000Y-43815000D01*
1357 | X187325000Y-47625000D02*
1358 | X187325000Y-42545000D01*
1359 | X187325000Y-42545000D02*
1360 | X191135000Y-42545000D01*
1361 | X181530000Y-42545000D02*
1362 | X187325000Y-42545000D01*
1363 | D32*
1364 | X192405000Y-43815000D02*
1365 | X194310000Y-43815000D01*
1366 | X194310000Y-43815000D02*
1367 | X194945000Y-44450000D01*
1368 | X194945000Y-87630000D02*
1369 | X192405000Y-90170000D01*
1370 | X192405000Y-83185000D02*
1371 | X194945000Y-83185000D01*
1372 | X194945000Y-83185000D02*
1373 | X194945000Y-87630000D01*
1374 | X192405000Y-76200000D02*
1375 | X194945000Y-76200000D01*
1376 | X194945000Y-76200000D02*
1377 | X194945000Y-83185000D01*
1378 | X194945000Y-44450000D02*
1379 | X194945000Y-76200000D01*
1380 | X192405000Y-69215000D02*
1381 | X194945000Y-69215000D01*
1382 | X177165000Y-92710000D02*
1383 | X182880000Y-92710000D01*
1384 | D33*
1385 | X173990000Y-57785000D02*
1386 | X175260000Y-57785000D01*
1387 | X175895000Y-57150000D02*
1388 | X175895000Y-45720000D01*
1389 | X175260000Y-57785000D02*
1390 | X175895000Y-57150000D01*
1391 | D35*
1392 | X175895000Y-45720000D02*
1393 | X178355000Y-45720000D01*
1394 | X165735000Y-45720000D02*
1395 | X175895000Y-45720000D01*
1396 | %TO.N,Net-(C1-Pad1)*%
1397 | X135255000Y-36830000D02*
1398 | X134620000Y-36830000D01*
1399 | X133390000Y-38060000D02*
1400 | X133390000Y-41910000D01*
1401 | X134620000Y-36830000D02*
1402 | X133390000Y-38060000D01*
1403 | X120650000Y-41910000D02*
1404 | X120650000Y-43815000D01*
1405 | X120650000Y-43815000D02*
1406 | X122595000Y-45760000D01*
1407 | X133390000Y-41910000D02*
1408 | X133390000Y-45760000D01*
1409 | X134620000Y-66040000D02*
1410 | X134620000Y-53975000D01*
1411 | X133310000Y-52665000D02*
1412 | X133310000Y-45760000D01*
1413 | X134620000Y-53975000D02*
1414 | X133310000Y-52665000D01*
1415 | X133310000Y-45760000D02*
1416 | X133390000Y-45760000D01*
1417 | X122595000Y-45760000D02*
1418 | X133310000Y-45760000D01*
1419 | %TO.N,+10V*%
1420 | X129020001Y-52185001D02*
1421 | X129020001Y-53455001D01*
1422 | X126365000Y-49530000D02*
1423 | X129020001Y-52185001D01*
1424 | X129020001Y-53455001D02*
1425 | X130810000Y-55245000D01*
1426 | X130810000Y-55245000D02*
1427 | X130810000Y-92075000D01*
1428 | X130810000Y-92075000D02*
1429 | X127000000Y-95885000D01*
1430 | X127000000Y-95885000D02*
1431 | X125095000Y-95885000D01*
1432 | X121920000Y-99060000D02*
1433 | X121920000Y-99695000D01*
1434 | X125095000Y-95885000D02*
1435 | X121920000Y-99060000D01*
1436 | D32*
1437 | %TO.N,Net-(D1-Pad2)*%
1438 | X183515000Y-80645000D02*
1439 | X186690000Y-80645000D01*
1440 | X186690000Y-80645000D02*
1441 | X187960000Y-81915000D01*
1442 | X187960000Y-81915000D02*
1443 | X187960000Y-84455000D01*
1444 | X189230000Y-85725000D02*
1445 | X192405000Y-85725000D01*
1446 | X187960000Y-84455000D02*
1447 | X189230000Y-85725000D01*
1448 | %TO.N,Net-(D2-Pad2)*%
1449 | X183515000Y-71755000D02*
1450 | X192405000Y-71755000D01*
1451 | %TO.N,Net-(D3-Pad2)*%
1452 | X183515000Y-76200000D02*
1453 | X187325000Y-76200000D01*
1454 | X189865000Y-78740000D02*
1455 | X192405000Y-78740000D01*
1456 | X187325000Y-76200000D02*
1457 | X189865000Y-78740000D01*
1458 | %TO.N,Net-(D4-Pad2)*%
1459 | X183515000Y-85090000D02*
1460 | X184785000Y-85090000D01*
1461 | X184785000Y-85090000D02*
1462 | X187960000Y-88265000D01*
1463 | X187960000Y-88265000D02*
1464 | X187960000Y-92075000D01*
1465 | X188595000Y-92710000D02*
1466 | X192405000Y-92710000D01*
1467 | X187960000Y-92075000D02*
1468 | X188595000Y-92710000D01*
1469 | D34*
1470 | %TO.N,Net-(D5-Pad4)*%
1471 | X127000000Y-90170000D02*
1472 | X121285000Y-95885000D01*
1473 | X95330000Y-95885000D02*
1474 | X87230000Y-87785000D01*
1475 | X121285000Y-95885000D02*
1476 | X95330000Y-95885000D01*
1477 | D33*
1478 | %TO.N,Net-(J5-Pad3)*%
1479 | X172085000Y-43815000D02*
1480 | X172085000Y-42545000D01*
1481 | X174585000Y-40045000D02*
1482 | X179030000Y-40045000D01*
1483 | X172085000Y-42545000D02*
1484 | X174585000Y-40045000D01*
1485 | D32*
1486 | %TO.N,Net-(Q1-Pad2)*%
1487 | X177800000Y-47625000D02*
1488 | X177800000Y-49530000D01*
1489 | X177800000Y-49530000D02*
1490 | X179070000Y-50800000D01*
1491 | X179070000Y-50800000D02*
1492 | X185420000Y-50800000D01*
1493 | X186055000Y-50165000D02*
1494 | X186055000Y-47625000D01*
1495 | X185420000Y-50800000D02*
1496 | X186055000Y-50165000D01*
1497 | %TD*%
1498 | M02*
1499 |
--------------------------------------------------------------------------------
/hardware/Gerbers/GPSDO-F_Mask.gbr:
--------------------------------------------------------------------------------
1 | %TF.GenerationSoftware,KiCad,Pcbnew,(6.0.2)*%
2 | %TF.CreationDate,2022-03-15T19:59:36+01:00*%
3 | %TF.ProjectId,GPSDO,47505344-4f2e-46b6-9963-61645f706362,rev?*%
4 | %TF.SameCoordinates,Original*%
5 | %TF.FileFunction,Soldermask,Top*%
6 | %TF.FilePolarity,Negative*%
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW (6.0.2)) date 2022-03-15 19:59:36*
10 | %MOMM*%
11 | %LPD*%
12 | G01*
13 | G04 APERTURE LIST*
14 | G04 Aperture macros list*
15 | %AMRoundRect*
16 | 0 Rectangle with rounded corners*
17 | 0 $1 Rounding radius*
18 | 0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
19 | 0 Add a 4 corners polygon primitive as box body*
20 | 4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
21 | 0 Add four circle primitives for the rounded corners*
22 | 1,1,$1+$1,$2,$3*
23 | 1,1,$1+$1,$4,$5*
24 | 1,1,$1+$1,$6,$7*
25 | 1,1,$1+$1,$8,$9*
26 | 0 Add four rect primitives between the rounded corners*
27 | 20,1,$1+$1,$2,$3,$4,$5,0*
28 | 20,1,$1+$1,$4,$5,$6,$7,0*
29 | 20,1,$1+$1,$6,$7,$8,$9,0*
30 | 20,1,$1+$1,$8,$9,$2,$3,0*%
31 | G04 Aperture macros list end*
32 | %ADD10R,1.600000X1.600000*%
33 | %ADD11O,1.600000X1.600000*%
34 | %ADD12O,1.700000X1.700000*%
35 | %ADD13R,1.700000X1.700000*%
36 | %ADD14C,4.500000*%
37 | %ADD15C,3.000000*%
38 | %ADD16C,6.400000*%
39 | %ADD17O,1.905000X2.000000*%
40 | %ADD18R,1.905000X2.000000*%
41 | %ADD19C,1.600000*%
42 | %ADD20R,2.400000X2.400000*%
43 | %ADD21C,2.400000*%
44 | %ADD22O,2.000000X2.000000*%
45 | %ADD23R,2.000000X2.000000*%
46 | %ADD24C,0.800000*%
47 | %ADD25RoundRect,0.249999X-1.300001X1.300001X-1.300001X-1.300001X1.300001X-1.300001X1.300001X1.300001X0*%
48 | %ADD26C,3.100000*%
49 | %ADD27O,1.050000X1.500000*%
50 | %ADD28R,1.050000X1.500000*%
51 | %ADD29C,2.340000*%
52 | G04 APERTURE END LIST*
53 | D10*
54 | %TO.C,BP1*%
55 | X150495000Y-45720000D03*
56 | D11*
57 | X165735000Y-93980000D03*
58 | X150495000Y-48260000D03*
59 | X165735000Y-91440000D03*
60 | X150495000Y-50800000D03*
61 | X165735000Y-88900000D03*
62 | X150495000Y-53340000D03*
63 | X165735000Y-86360000D03*
64 | X150495000Y-55880000D03*
65 | X165735000Y-83820000D03*
66 | X150495000Y-58420000D03*
67 | X165735000Y-81280000D03*
68 | X150495000Y-60960000D03*
69 | X165735000Y-78740000D03*
70 | X150495000Y-63500000D03*
71 | X165735000Y-76200000D03*
72 | X150495000Y-66040000D03*
73 | X165735000Y-73660000D03*
74 | X150495000Y-68580000D03*
75 | X165735000Y-71120000D03*
76 | X150495000Y-71120000D03*
77 | X165735000Y-68580000D03*
78 | X150495000Y-73660000D03*
79 | X165735000Y-66040000D03*
80 | X150495000Y-76200000D03*
81 | X165735000Y-63500000D03*
82 | X150495000Y-78740000D03*
83 | X165735000Y-60960000D03*
84 | X150495000Y-81280000D03*
85 | X165735000Y-58420000D03*
86 | X150495000Y-83820000D03*
87 | X165735000Y-55880000D03*
88 | X150495000Y-86360000D03*
89 | X165735000Y-53340000D03*
90 | X150495000Y-88900000D03*
91 | X165735000Y-50800000D03*
92 | X150495000Y-91440000D03*
93 | X165735000Y-48260000D03*
94 | X150495000Y-93980000D03*
95 | X165735000Y-45720000D03*
96 | %TD*%
97 | D12*
98 | %TO.C,J4*%
99 | X127000000Y-99695000D03*
100 | X124460000Y-99695000D03*
101 | D13*
102 | X121920000Y-99695000D03*
103 | %TD*%
104 | D14*
105 | %TO.C,T1*%
106 | X109730000Y-54285000D03*
107 | X109730000Y-91285000D03*
108 | X44730000Y-91285000D03*
109 | X44730000Y-54285000D03*
110 | D15*
111 | X67230000Y-87785000D03*
112 | X87230000Y-87785000D03*
113 | X92230000Y-57785000D03*
114 | X62230000Y-57785000D03*
115 | %TD*%
116 | D16*
117 | %TO.C,H6*%
118 | X110490000Y-36195000D03*
119 | %TD*%
120 | %TO.C,H5*%
121 | X193675000Y-102235000D03*
122 | %TD*%
123 | %TO.C,H3*%
124 | X193675000Y-36195000D03*
125 | %TD*%
126 | %TO.C,H2*%
127 | X42545000Y-36195000D03*
128 | %TD*%
129 | %TO.C,H1*%
130 | X110490000Y-102235000D03*
131 | %TD*%
132 | D17*
133 | %TO.C,U1*%
134 | X140335000Y-36830000D03*
135 | X137795000Y-36830000D03*
136 | D18*
137 | X135255000Y-36830000D03*
138 | %TD*%
139 | D12*
140 | %TO.C,D4*%
141 | X192405000Y-92710000D03*
142 | D13*
143 | X192405000Y-90170000D03*
144 | %TD*%
145 | D12*
146 | %TO.C,D3*%
147 | X192405000Y-78740000D03*
148 | D13*
149 | X192405000Y-76200000D03*
150 | %TD*%
151 | D12*
152 | %TO.C,D2*%
153 | X192405000Y-71755000D03*
154 | D13*
155 | X192405000Y-69215000D03*
156 | %TD*%
157 | D12*
158 | %TO.C,D1*%
159 | X192405000Y-85725000D03*
160 | D13*
161 | X192405000Y-83185000D03*
162 | %TD*%
163 | D19*
164 | %TO.C,C1*%
165 | X124460000Y-80645000D03*
166 | X121960000Y-80645000D03*
167 | %TD*%
168 | D20*
169 | %TO.C,C2*%
170 | X134620000Y-66040000D03*
171 | D21*
172 | X127120000Y-66040000D03*
173 | %TD*%
174 | D19*
175 | %TO.C,C3*%
176 | X133390000Y-41910000D03*
177 | X135890000Y-41910000D03*
178 | %TD*%
179 | %TO.C,C4*%
180 | X123150000Y-41910000D03*
181 | X120650000Y-41910000D03*
182 | %TD*%
183 | %TO.C,C5*%
184 | X142240000Y-41910000D03*
185 | X139740000Y-41910000D03*
186 | %TD*%
187 | %TO.C,C6*%
188 | X127000000Y-41910000D03*
189 | X129500000Y-41910000D03*
190 | %TD*%
191 | %TO.C,C7*%
192 | X136430000Y-49530000D03*
193 | D10*
194 | X138430000Y-49530000D03*
195 | %TD*%
196 | %TO.C,C8*%
197 | X126365000Y-49530000D03*
198 | D19*
199 | X124365000Y-49530000D03*
200 | %TD*%
201 | D22*
202 | %TO.C,D5*%
203 | X127000000Y-90170000D03*
204 | X121920000Y-85090000D03*
205 | X121920000Y-90170000D03*
206 | D23*
207 | X127000000Y-85090000D03*
208 | %TD*%
209 | D24*
210 | %TO.C,H4*%
211 | X44242056Y-100537944D03*
212 | X42545000Y-99835000D03*
213 | X40847944Y-100537944D03*
214 | X40145000Y-102235000D03*
215 | X40847944Y-103932056D03*
216 | X42545000Y-104635000D03*
217 | X44242056Y-103932056D03*
218 | X44945000Y-102235000D03*
219 | D16*
220 | X42545000Y-102235000D03*
221 | %TD*%
222 | D13*
223 | %TO.C,J1*%
224 | X173990000Y-52705000D03*
225 | D12*
226 | X173990000Y-55245000D03*
227 | X173990000Y-57785000D03*
228 | %TD*%
229 | D25*
230 | %TO.C,J2*%
231 | X44450000Y-66390000D03*
232 | D26*
233 | X44450000Y-72390000D03*
234 | X44450000Y-78390000D03*
235 | %TD*%
236 | D13*
237 | %TO.C,J3*%
238 | X132715000Y-99695000D03*
239 | D12*
240 | X135255000Y-99695000D03*
241 | X137795000Y-99695000D03*
242 | X140335000Y-99695000D03*
243 | %TD*%
244 | D13*
245 | %TO.C,J5*%
246 | X192405000Y-43815000D03*
247 | D12*
248 | X192405000Y-46355000D03*
249 | X192405000Y-48895000D03*
250 | X192405000Y-51435000D03*
251 | X192405000Y-53975000D03*
252 | X192405000Y-56515000D03*
253 | X192405000Y-59055000D03*
254 | X192405000Y-61595000D03*
255 | X192405000Y-64135000D03*
256 | %TD*%
257 | D27*
258 | %TO.C,Q1*%
259 | X186055000Y-47625000D03*
260 | X187325000Y-47625000D03*
261 | D28*
262 | X184785000Y-47625000D03*
263 | %TD*%
264 | D11*
265 | %TO.C,R1*%
266 | X173355000Y-80645000D03*
267 | D19*
268 | X183515000Y-80645000D03*
269 | %TD*%
270 | %TO.C,R2*%
271 | X173355000Y-71755000D03*
272 | D11*
273 | X183515000Y-71755000D03*
274 | %TD*%
275 | %TO.C,R3*%
276 | X173355000Y-76200000D03*
277 | D19*
278 | X183515000Y-76200000D03*
279 | %TD*%
280 | D11*
281 | %TO.C,R4*%
282 | X177800000Y-47625000D03*
283 | D19*
284 | X177800000Y-57785000D03*
285 | %TD*%
286 | %TO.C,R5*%
287 | X181610000Y-47625000D03*
288 | D11*
289 | X181610000Y-57785000D03*
290 | %TD*%
291 | D19*
292 | %TO.C,R6*%
293 | X183515000Y-85090000D03*
294 | D11*
295 | X173355000Y-85090000D03*
296 | %TD*%
297 | D29*
298 | %TO.C,RV1*%
299 | X181530000Y-42545000D03*
300 | X179030000Y-40045000D03*
301 | X176530000Y-42545000D03*
302 | %TD*%
303 | D12*
304 | %TO.C,SW1*%
305 | X177165000Y-92710000D03*
306 | D13*
307 | X177165000Y-90170000D03*
308 | %TD*%
309 | %TO.C,SW2*%
310 | X182880000Y-90170000D03*
311 | D12*
312 | X182880000Y-92710000D03*
313 | %TD*%
314 | D18*
315 | %TO.C,U2*%
316 | X123190000Y-36830000D03*
317 | D17*
318 | X125730000Y-36830000D03*
319 | X128270000Y-36830000D03*
320 | %TD*%
321 | M02*
322 |
--------------------------------------------------------------------------------
/hardware/Gerbers/GPSDO-NPTH.drl:
--------------------------------------------------------------------------------
1 | M48
2 | ; DRILL file {KiCad (6.0.2)} date Tue Mar 15 19:59:32 2022
3 | ; FORMAT={-:-/ absolute / inch / decimal}
4 | ; #@! TF.CreationDate,2022-03-15T19:59:32+01:00
5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,(6.0.2)
6 | ; #@! TF.FileFunction,NonPlated,1,2,NPTH
7 | FMAT,2
8 | INCH
9 | ; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
10 | T1C0.1772
11 | %
12 | G90
13 | G05
14 | T1
15 | X1.761Y-2.1372
16 | X1.761Y-3.5939
17 | X4.3201Y-2.1372
18 | X4.3201Y-3.5939
19 | T0
20 | M30
21 |
--------------------------------------------------------------------------------
/hardware/Gerbers/GPSDO-PTH.drl:
--------------------------------------------------------------------------------
1 | M48
2 | ; DRILL file {KiCad (6.0.2)} date Tue Mar 15 19:59:32 2022
3 | ; FORMAT={-:-/ absolute / inch / decimal}
4 | ; #@! TF.CreationDate,2022-03-15T19:59:32+01:00
5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,(6.0.2)
6 | ; #@! TF.FileFunction,Plated,1,2,PTH
7 | FMAT,2
8 | INCH
9 | ; #@! TA.AperFunction,Plated,PTH,ViaDrill
10 | T1C0.0157
11 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill
12 | T2C0.0197
13 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill
14 | T3C0.0295
15 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill
16 | T4C0.0315
17 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill
18 | T5C0.0394
19 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill
20 | T6C0.0433
21 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill
22 | T7C0.0472
23 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill
24 | T8C0.0512
25 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill
26 | T9C0.0827
27 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill
28 | T10C0.1260
29 | %
30 | G90
31 | G05
32 | T1
33 | X6.25Y-3.9
34 | X6.775Y-1.725
35 | X6.875Y-2.65
36 | T2
37 | X1.5805Y-4.025
38 | X1.6082Y-3.9582
39 | X1.6082Y-4.0918
40 | X1.675Y-3.9305
41 | X1.675Y-4.1195
42 | X1.7418Y-3.9582
43 | X1.7418Y-4.0918
44 | X1.7695Y-4.025
45 | T3
46 | X7.275Y-1.875
47 | X7.325Y-1.875
48 | X7.375Y-1.875
49 | T4
50 | X4.75Y-1.65
51 | X4.8016Y-3.175
52 | X4.8484Y-1.65
53 | X4.8963Y-1.95
54 | X4.9Y-3.175
55 | X4.975Y-1.95
56 | X5.0Y-1.65
57 | X5.0984Y-1.65
58 | X5.2516Y-1.65
59 | X5.35Y-1.65
60 | X5.3713Y-1.95
61 | X5.45Y-1.95
62 | X5.5016Y-1.65
63 | X5.6Y-1.65
64 | X5.925Y-1.8
65 | X5.925Y-1.9
66 | X5.925Y-2.0
67 | X5.925Y-2.1
68 | X5.925Y-2.2
69 | X5.925Y-2.3
70 | X5.925Y-2.4
71 | X5.925Y-2.5
72 | X5.925Y-2.6
73 | X5.925Y-2.7
74 | X5.925Y-2.8
75 | X5.925Y-2.9
76 | X5.925Y-3.0
77 | X5.925Y-3.1
78 | X5.925Y-3.2
79 | X5.925Y-3.3
80 | X5.925Y-3.4
81 | X5.925Y-3.5
82 | X5.925Y-3.6
83 | X5.925Y-3.7
84 | X6.525Y-1.8
85 | X6.525Y-1.9
86 | X6.525Y-2.0
87 | X6.525Y-2.1
88 | X6.525Y-2.2
89 | X6.525Y-2.3
90 | X6.525Y-2.4
91 | X6.525Y-2.5
92 | X6.525Y-2.6
93 | X6.525Y-2.7
94 | X6.525Y-2.8
95 | X6.525Y-2.9
96 | X6.525Y-3.0
97 | X6.525Y-3.1
98 | X6.525Y-3.2
99 | X6.525Y-3.3
100 | X6.525Y-3.4
101 | X6.525Y-3.5
102 | X6.525Y-3.6
103 | X6.525Y-3.7
104 | X6.825Y-2.825
105 | X6.825Y-3.0
106 | X6.825Y-3.175
107 | X6.825Y-3.35
108 | X7.0Y-1.875
109 | X7.0Y-2.275
110 | X7.15Y-1.875
111 | X7.15Y-2.275
112 | X7.225Y-2.825
113 | X7.225Y-3.0
114 | X7.225Y-3.175
115 | X7.225Y-3.35
116 | T5
117 | X4.8Y-3.35
118 | X4.8Y-3.55
119 | X4.8Y-3.925
120 | X4.9Y-3.925
121 | X5.0Y-3.35
122 | X5.0Y-3.55
123 | X5.0Y-3.925
124 | X5.225Y-3.925
125 | X5.325Y-3.925
126 | X5.425Y-3.925
127 | X5.525Y-3.925
128 | X6.85Y-2.075
129 | X6.85Y-2.175
130 | X6.85Y-2.275
131 | X6.975Y-3.55
132 | X6.975Y-3.65
133 | X7.2Y-3.55
134 | X7.2Y-3.65
135 | X7.575Y-1.725
136 | X7.575Y-1.825
137 | X7.575Y-1.925
138 | X7.575Y-2.025
139 | X7.575Y-2.125
140 | X7.575Y-2.225
141 | X7.575Y-2.325
142 | X7.575Y-2.425
143 | X7.575Y-2.525
144 | X7.575Y-2.725
145 | X7.575Y-2.825
146 | X7.575Y-3.0
147 | X7.575Y-3.1
148 | X7.575Y-3.275
149 | X7.575Y-3.375
150 | X7.575Y-3.55
151 | X7.575Y-3.65
152 | T6
153 | X4.85Y-1.45
154 | X4.95Y-1.45
155 | X5.05Y-1.45
156 | X5.325Y-1.45
157 | X5.425Y-1.45
158 | X5.525Y-1.45
159 | T7
160 | X2.45Y-2.275
161 | X2.6469Y-3.4561
162 | X3.4343Y-3.4561
163 | X3.6311Y-2.275
164 | X5.0047Y-2.6
165 | X5.3Y-2.6
166 | T8
167 | X6.95Y-1.675
168 | X7.0484Y-1.5766
169 | X7.1469Y-1.675
170 | T9
171 | X1.75Y-2.6138
172 | X1.75Y-2.85
173 | X1.75Y-3.0862
174 | T10
175 | X1.675Y-1.425
176 | X1.675Y-4.025
177 | X4.35Y-1.425
178 | X4.35Y-4.025
179 | X7.625Y-1.425
180 | X7.625Y-4.025
181 | T0
182 | M30
183 |
--------------------------------------------------------------------------------
/hardware/Gerbers/GPSDO-job.gbrjob:
--------------------------------------------------------------------------------
1 | {
2 | "Header": {
3 | "GenerationSoftware": {
4 | "Vendor": "KiCad",
5 | "Application": "Pcbnew",
6 | "Version": "(6.0.2)"
7 | },
8 | "CreationDate": "2022-03-15T19:59:36+01:00"
9 | },
10 | "GeneralSpecs": {
11 | "ProjectId": {
12 | "Name": "GPSDO",
13 | "GUID": "47505344-4f2e-46b6-9963-61645f706362",
14 | "Revision": "rev?"
15 | },
16 | "Size": {
17 | "X": 160.07,
18 | "Y": 74.98
19 | },
20 | "LayerNumber": 2,
21 | "BoardThickness": 1.6,
22 | "Finish": "None"
23 | },
24 | "DesignRules": [
25 | {
26 | "Layers": "Outer",
27 | "PadToPad": 0.0,
28 | "PadToTrack": 0.0,
29 | "TrackToTrack": 0.2,
30 | "MinLineWidth": 0.25
31 | }
32 | ],
33 | "FilesAttributes": [
34 | {
35 | "Path": "GPSDO-F_Cu.gbr",
36 | "FileFunction": "Copper,L1,Top",
37 | "FilePolarity": "Positive"
38 | },
39 | {
40 | "Path": "GPSDO-B_Cu.gbr",
41 | "FileFunction": "Copper,L2,Bot",
42 | "FilePolarity": "Positive"
43 | },
44 | {
45 | "Path": "GPSDO-F_Silkscreen.gbr",
46 | "FileFunction": "Legend,Top",
47 | "FilePolarity": "Positive"
48 | },
49 | {
50 | "Path": "GPSDO-B_Silkscreen.gbr",
51 | "FileFunction": "Legend,Bot",
52 | "FilePolarity": "Positive"
53 | },
54 | {
55 | "Path": "GPSDO-F_Mask.gbr",
56 | "FileFunction": "SolderMask,Top",
57 | "FilePolarity": "Negative"
58 | },
59 | {
60 | "Path": "GPSDO-B_Mask.gbr",
61 | "FileFunction": "SolderMask,Bot",
62 | "FilePolarity": "Negative"
63 | },
64 | {
65 | "Path": "GPSDO-Edge_Cuts.gbr",
66 | "FileFunction": "Profile",
67 | "FilePolarity": "Positive"
68 | }
69 | ],
70 | "MaterialStackup": [
71 | {
72 | "Type": "Legend",
73 | "Name": "Top Silk Screen"
74 | },
75 | {
76 | "Type": "SolderPaste",
77 | "Name": "Top Solder Paste"
78 | },
79 | {
80 | "Type": "SolderMask",
81 | "Name": "Top Solder Mask"
82 | },
83 | {
84 | "Type": "Copper",
85 | "Name": "F.Cu"
86 | },
87 | {
88 | "Type": "Dielectric",
89 | "Material": "FR4",
90 | "Name": "F.Cu/B.Cu",
91 | "Notes": "Type: dielectric layer 1 (from F.Cu to B.Cu)"
92 | },
93 | {
94 | "Type": "Copper",
95 | "Name": "B.Cu"
96 | },
97 | {
98 | "Type": "SolderMask",
99 | "Name": "Bottom Solder Mask"
100 | },
101 | {
102 | "Type": "SolderPaste",
103 | "Name": "Bottom Solder Paste"
104 | },
105 | {
106 | "Type": "Legend",
107 | "Name": "Bottom Silk Screen"
108 | }
109 | ]
110 | }
111 |
--------------------------------------------------------------------------------
/hardware/README.md:
--------------------------------------------------------------------------------
1 | # YATPGPSDO hardware
2 | Hardware design files for Yet Another TruePosition GPSDO
3 | EDA software: [KiCAD](https://kicad.org/)
4 |
--------------------------------------------------------------------------------
/hardware/fp-info-cache:
--------------------------------------------------------------------------------
1 | 0
2 |
--------------------------------------------------------------------------------