diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bcbff72..46ac856 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,3 +55,21 @@ jobs: run: npm test --prefix packages/tiny-engineer-antigravity - name: Claude Code package tests run: npm test --prefix packages/tiny-engineer-claude-code + + pcb: + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + - name: Install KiCad 10 + run: | + sudo add-apt-repository -y ppa:kicad/kicad-10.0-releases + sudo apt-get update + sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends kicad + kicad-cli version + - name: ERC / DRC / expected-nets + run: python3 scripts/check_pcb.py --report-dir artifacts/pcb + - uses: actions/upload-artifact@v4 + if: failure() + with: + name: pcb-reports + path: artifacts/pcb/ diff --git a/AGENTS.md b/AGENTS.md index 349a88f..369930b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -31,9 +31,10 @@ node scripts/expressions/test-assets.js npm test --prefix packages/tiny-engineer-cursor npm test --prefix packages/tiny-engineer-antigravity npm test --prefix packages/tiny-engineer-claude-code +python3 scripts/check_pcb.py ``` -`pio test -e native` is not `pio run -e native`. Details: [docs/testing.md](docs/testing.md). +`pio test -e native` is not `pio run -e native`. PCB checks need KiCad 10 (`python3 scripts/check_pcb.py`). Details: [docs/testing.md](docs/testing.md). Do **not** flash (`pio run -t upload`) unless the user asks. @@ -70,7 +71,7 @@ Breaking rules, SemVer mapping, and examples: [CONTRIBUTING.md](CONTRIBUTING.md) - **Settings** — layer checklist in [docs/settings.md](docs/settings.md). Never log raw `access_token`. - **Integrations** — add/extend package tests; prefer short timeouts and ignore network errors so a missing robot does not stall the agent. - **CAD** — edit `.f3d` **and** export affected `3mf`. CERN-OHL-S. Do not swap `AiEmblem.3mf` as branding. -- **PCB** — [docs/pcb.md](docs/pcb.md) checklist + KiCad review rules below. New board paths need `REUSE.toml`. CERN-OHL-S. +- **PCB** — [docs/pcb.md](docs/pcb.md) checklist + KiCad review rules below. Run `python3 scripts/check_pcb.py` (KiCad 10). New board paths need `REUSE.toml`. CERN-OHL-S. - **Motion** — poses −1..1 mapped to saved min/max; see [docs/robot-movement.md](docs/robot-movement.md). Do not widen NVS servo clamps without testing on a real robot. - **Secrets** — no `.env`, tokens, or Wi-Fi passwords in logs or screenshots. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index efa5726..1e6893c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -44,9 +44,10 @@ node scripts/expressions/test-assets.js npm test --prefix packages/tiny-engineer-cursor npm test --prefix packages/tiny-engineer-antigravity npm test --prefix packages/tiny-engineer-claude-code +python3 scripts/check_pcb.py ``` -`pio test -e native` is not `pio run -e native`. Details: [docs/testing.md](docs/testing.md). Flash locally with `pio run -t upload` when you have a board. Physical module is a **Waveshare ESP32-C3-Zero**; PlatformIO `board = esp32-c3-devkitm-1` is the build target name. +`pio test -e native` is not `pio run -e native`. PCB checks need KiCad 10 (`python3 scripts/check_pcb.py`). Details: [docs/testing.md](docs/testing.md). Flash locally with `pio run -t upload` when you have a board. Physical module is a **Waveshare ESP32-C3-Zero**; PlatformIO `board = esp32-c3-devkitm-1` is the build target name. ## By change type @@ -60,7 +61,7 @@ npm test --prefix packages/tiny-engineer-claude-code **CAD.** Edit [`3d_models/cad/TinyEngineer.f3d`](3d_models/cad/TinyEngineer.f3d) **and** export the affected [`3d_models/parts/{servo_id}/3mf/*.3mf`](3d_models/parts/). Keep CERN-OHL-S. Do not swap `AiEmblem.3mf` as a branding change. -**PCB.** Follow the [PCB checklist](docs/pcb.md#checklist). Keep [`expected-nets.yml`](docs/pcb.md#expected-nets-yml) in sync. One board per `hardware/boards//`, KiCad 10, ERC and DRC reviewed, no generated Gerbers or other fab outputs. Keep CERN-OHL-S. New board paths need a matching `[[annotations]]` block in [REUSE.toml](REUSE.toml). +**PCB.** Follow the [PCB checklist](docs/pcb.md#checklist). Run `python3 scripts/check_pcb.py` before opening a PCB PR. Keep [`expected-nets.yml`](docs/pcb.md#expected-nets-yml) in sync. One board per `hardware/boards//`, KiCad 10, ERC and DRC reviewed, no generated Gerbers or other fab outputs. Keep CERN-OHL-S. New board paths need a matching `[[annotations]]` block in [REUSE.toml](REUSE.toml). **Motion.** Animations use −1..1 poses mapped to the saved min/max in [docs/robot-movement.md](docs/robot-movement.md). Stock defaults live in [`include/servos.h`](include/servos.h). Do not widen NVS servo clamps without testing on a real robot. Setup AP `POST /setup/servo` can use 0–180° to find limits; assembled motion must not. diff --git a/REUSE.toml b/REUSE.toml index 044aa7f..3789532 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -26,6 +26,11 @@ path = "hardware/boards/**" SPDX-FileCopyrightText = "2026 Krzysztof Jamroz" SPDX-License-Identifier = "CERN-OHL-S-2.0" +[[annotations]] +path = "hardware/boards/main-control-board/**" +SPDX-FileCopyrightText = "2026 Krzysztof Jamroz" +SPDX-License-Identifier = "CERN-OHL-S-2.0" + [[annotations]] path = "hardware/LICENSE" SPDX-License-Identifier = "CERN-OHL-S-2.0" diff --git a/docs/hardware/components.md b/docs/hardware/components.md index de8086e..e706bc4 100644 --- a/docs/hardware/components.md +++ b/docs/hardware/components.md @@ -54,7 +54,7 @@ Constants cited below match [`include/pins.h`](../../include/pins.h). | Interface | I2C | | Address | `0x40` (`PCA9685_ADDRESS` in firmware). A0–A5 pads can change this | | PWM | 12-bit, firmware `setPWMFreq(50)` | -| Important pins | As drawn: **5V** (servo-rail in), **V+** (to servo 5V), **VCC** (3V3 logic), **GND**, **SDA**, **SCL**, **PWM**. OE not drawn | +| Important pins | As drawn: **5V** (servo-rail in), **V+** (to servo 5V), **VCC** (3V3 logic), **GND**, **SDA**, **SCL**, **PWM**. **OE** (GP5) is pending, not implemented | | Channels used | 0–4 (five servos). 5–15 unused | | Limits | **V+** and **VCC** must stay separate. Do not jumper servo power onto logic VCC on this robot | | Firmware note | Detection at `0x40` is a **hard fail** in the bring-up test | diff --git a/docs/hardware/interfaces.md b/docs/hardware/interfaces.md index 3348aed..ef30784 100644 --- a/docs/hardware/interfaces.md +++ b/docs/hardware/interfaces.md @@ -57,13 +57,13 @@ Generated by **PCA9685**, not by ESP32 LEDC/MCPWM. ESP32 GPIO is not wired to servo SIG lines. -### PCA9685 output enable (optional) +### PCA9685 output enable | Signal | ESP32 GPIO | Notes | | --- | --- | --- | | OE | GPIO5 / GP5 | **Active LOW** — outputs enabled. Firmware drives **HIGH** during PCA9685 init, then **LOW** after neutral PWM is written | -Controlled only when `PCA9685_OE_WIRED = true` in [`include/pins.h`](../../include/pins.h). Default `false`: OE pin unused (Adafruit breakout pull-down keeps outputs enabled). Wire GP5 → PCA9685 **OE** and set the flag to block invalid PWM during boot and flash resets. +Not wired (`PCA9685_OE_WIRED = false` in [`include/pins.h`](../../include/pins.h)). Firmware keeps OE helpers behind that flag. Blocks invalid PWM during boot and flash resets when the net exists. ## USB diff --git a/docs/hardware/pinout.md b/docs/hardware/pinout.md index eafa914..5e228e9 100644 --- a/docs/hardware/pinout.md +++ b/docs/hardware/pinout.md @@ -11,7 +11,7 @@ Source of truth: [`include/pins.h`](../../include/pins.h). This file must match | I2S BCLK | **GPIO2** (diagram **GP2**) | `I2S_BCLK` | MAX98357A BCLK | | I2S LRCLK / WS | **GPIO3** (diagram **GP3**) | `I2S_LRC` | MAX98357A **LRC** | | I2S DATA OUT | **GPIO4** (diagram **GP4**) | `I2S_DIN` | MAX98357A DIN | -| PCA9685 OE (optional) | **GPIO5** (diagram **GP5**) | `PCA9685_OE_PIN` | PCA9685 **OE** when `PCA9685_OE_WIRED` | +| PCA9685 OE | **GPIO5** (diagram **GP5**) | `PCA9685_OE_PIN` | reserved for PCA9685 **OE**; net pending (`PCA9685_OE_WIRED`) | | Built-in WS2812 RGB | **GPIO10** | `RGB_LED_PIN` | onboard LED only | Logic level: **3.3 V**. @@ -30,7 +30,6 @@ Logic level: **3.3 V**. | GPIO | Status | Notes | | --- | --- | --- | -| GPIO5 | **Optional** | PCA9685 **OE** when wired; set `PCA9685_OE_WIRED = true` in `pins.h` | | GPIO6 | Free | Unused | | GPIO7 | Free | Unused | | GPIO8 | Free | Unused | @@ -60,7 +59,7 @@ Power pads (not GPIO): **5V**, **GND**, **3V3**. | `OLED_WIDTH` / `OLED_HEIGHT` | 128 / 32 | Display | | `SERVO_MIN_US` / `SERVO_MAX_US` | 800 / 2200 | Electrical PWM span | | `SERVO_BOOT_SPEED_DEG_S` | 35 | Boot centering / sleep-pose rate (deg/s) | -| `PCA9685_OE_WIRED` | `false` | Set `true` after wiring GP5 → PCA9685 OE | +| `PCA9685_OE_WIRED` | `false` | pending GP5 → PCA9685 OE (not on schematic/PCB yet) | ## Pin allocation rules diff --git a/docs/hardware/servos.md b/docs/hardware/servos.md index eb1d598..d2e1893 100644 --- a/docs/hardware/servos.md +++ b/docs/hardware/servos.md @@ -48,12 +48,12 @@ Verified in [`include/pins.h`](../../include/pins.h) and [`include/servos.h`](.. On every boot (and after each flash reset): -1. **Optional OE** — if `PCA9685_OE_WIRED`, GP5 disables PCA9685 outputs before I2C init. +1. **OE** — `PCA9685_OE_WIRED` is false until a tested GP5→OE board exists; firmware skips the OE pin. 2. **Early init** — PCA9685 is probed and configured immediately after `Wire.begin`, before OLED, settings, or Wi-Fi. -3. **Neutral park** — all channels receive mid-pulse PWM while OE is still disabled (if wired), then outputs enable. +3. **Neutral park** — all channels receive mid-pulse PWM (OE enable is skipped while unwired). 4. **Smooth boot moves** — `centerAllServos()` and sleep-inertia pose use `servoMoveAllSmoothTo()` at `SERVO_BOOT_SPEED_DEG_S` (35°/s), not instant snaps. -Set `PCA9685_OE_WIRED = true` in [`include/pins.h`](../../include/pins.h) after wiring GP5 → PCA9685 **OE**. OE is **active LOW** on the Adafruit breakout. +GP5 → PCA9685 **OE** is planned, not implemented (`PCA9685_OE_WIRED = false` in [`include/pins.h`](../../include/pins.h)). OE is **active LOW** on the Adafruit breakout when that net exists. ## Idle and sleep PWM release diff --git a/docs/hardware/testing.md b/docs/hardware/testing.md index 39cfe58..50b9729 100644 --- a/docs/hardware/testing.md +++ b/docs/hardware/testing.md @@ -19,7 +19,7 @@ Build/flash: [flash.md](../flash.md) (`pio run`, `pio run -t upload`, serial 115 | --- | --- | | Built-in WS2812 | Green ready (GPIO10) | | I2C init | `Wire.begin` on GPIO0/GPIO1 | -| PCA9685 | Probe `0x40` early; park neutral; optional OE on GP5 | +| PCA9685 | Probe `0x40` early; park neutral; OE skipped (`PCA9685_OE_WIRED` is false until GP5→OE is implemented) | | OLED | Probe `0x3C`, init (optional) | | Wi-Fi | STA connect from saved NVS credentials, or setup AP `TinyEngineer-XXXX` when unset/failed; mDNS `{hostname}.local` after STA connect | | MAX98357A / I2S | `I2S.begin` 44.1 kHz 16-bit stereo | diff --git a/docs/hardware/wiring.md b/docs/hardware/wiring.md index 98a930a..e371ee7 100644 --- a/docs/hardware/wiring.md +++ b/docs/hardware/wiring.md @@ -66,7 +66,6 @@ On Adafruit PCA9685, header/terminal **V+** is normally the same servo rail as t | ESP32-C3-Zero | GP2 | MAX98357A | BCLK | I2S bit clock | | ESP32-C3-Zero | GP3 | MAX98357A | LRC | I2S word select | | ESP32-C3-Zero | GP4 | MAX98357A | DIN | I2S data | -| ESP32-C3-Zero | GP5 | PCA9685 | OE | Optional output enable (see [interfaces.md](interfaces.md)) | | PCA9685 | PWM | Servo | SIG | Servo PWM | | PCA9685 | V+ | Servo | 5V | Servo power | | PCA9685 | GND (servo side) | Servo | GND | Servo ground | @@ -142,11 +141,11 @@ Firmware drives **channels 0–4** (`SERVO_SPECS` / `SERVO_HEAD`…`SERVO_BODY`) ESP32-C3-Zero, unused in the PNG: -**GP6, GP7, GP8, GP9, GP10, GP20, GP21** +**GP5, GP6, GP7, GP8, GP9, GP10, GP20, GP21** -GP5 = optional PCA9685 OE (not in PNG). GP9 = BOOT, GP10 = onboard WS2812. GP18/GP19 = native USB — wire from 5993 D−/D+ even if the base PNG omits them. See [pinout.md](pinout.md). +GP5 is reserved for PCA9685 OE (`PCA9685_OE_PIN`) but that net is **pending**: schematic and PCB do not implement or validate GP5→OE yet (`PCA9685_OE_WIRED = false`). GP9 = BOOT, GP10 = onboard WS2812. GP18/GP19 = native USB — wire from 5993 D−/D+ even if the base PNG omits them. See [pinout.md](pinout.md). -PCA9685 **OE** optional on GP5 — not drawn on base PNG. MAX98357A **GAIN** / **SD** not wired (breakout defaults). **SPK+** / **SPK-** not drawn. +PCA9685 **OE** is not wired on this board. MAX98357A **GAIN** / **SD** not wired (breakout defaults). **SPK+** / **SPK-** not drawn. ## Not on the drawing diff --git a/docs/pcb.md b/docs/pcb.md index 51d2fa3..3c7bd00 100644 --- a/docs/pcb.md +++ b/docs/pcb.md @@ -4,7 +4,7 @@ Baseline for contributing KiCad PCB designs. Goal: boards that are easy to under Before opening a PR, run the [checklist](#checklist). -Workflow and automated validation are still evolving. A reference board and CI pipeline are in progress and will be used to validate these rules. +Workflow and automated validation: CI runs ERC, DRC, and `expected-nets.yml` via `python3 scripts/check_pcb.py` (see [testing.md](testing.md)). KiCad sources live in [`hardware/boards/`](../hardware/README.md). Robot electrical reference (pinout, wiring, BOM) stays in [`docs/hardware/`](hardware/README.md). Firmware drivers stay in `src/hardware/`. @@ -108,27 +108,33 @@ Before submitting or updating a hardware pull request: The project should not introduce unexplained ERC or DRC errors. -Automated ERC and DRC via GitHub Actions is planned and is being tested on a reference board. It is not required yet. +Run the same checks CI uses (KiCad 10, stdlib Python — no pip packages): + +```bash +python3 scripts/check_pcb.py +``` + +Errors fail; warnings do not. Reports go to a temp dir, or pass `--report-dir artifacts/pcb`. CI runs this on every push/PR ([`.github/workflows/ci.yml`](../.github/workflows/ci.yml)). ## expected-nets.yml Committed checklist of **critical** net → pin memberships for human/AI review. Not a full netlist dump. - **Path:** `hardware/boards//expected-nets.yml` -- **Check:** `kicad-cli sch export netlist`, then compare to this file. No `kicad-cli` → say so and skip connectivity claims ([AGENTS.md](../AGENTS.md)). +- **Check:** `python3 scripts/check_pcb.py` (exports netlist via `kicad-cli` and compares). Manual: `kicad-cli sch export netlist`, then compare to this file. No `kicad-cli` → say so and skip connectivity claims ([AGENTS.md](../AGENTS.md)). - **Do not** infer nets from `.kicad_sch` / `.kicad_pcb` coordinates or geometry. - **Update** when you intentionally change listed nets or pins. Keep the list to power and important buses (I2C, I2S, USB, …), not every net. -Minimal shape (pin tokens = KiCad netlist `RefDes.PinName`): +Minimal shape (pin tokens = KiCad netlist `RefDes.PinNum:PinName` — pin number plus symbol pin name, so duplicate names like multiple `GND` pins stay distinct): ```yaml nets: "+5V": - - ESP1.5V - - PCA1.V+ + - ESP1.1:5V + - PCA1.6:V+ GND: - - ESP1.GND - - PCA1.GND + - ESP1.2:GND + - PCA1.1:GND ``` Required for new or updated boards when claiming connectivity in a PR. @@ -211,8 +217,7 @@ Use this before opening or updating a PCB pull request. Details are in the secti **Quality and docs** -- [ ] ERC run; violations reviewed -- [ ] DRC run; violations reviewed +- [ ] ERC / DRC / expected-nets: `python3 scripts/check_pcb.py` passes (or GUI ERC+DRC reviewed if no `kicad-cli`; do not claim connectivity or net checks without `kicad-cli`) - [ ] No suppressions used only to make checks pass; any intentional exception has a reason - [ ] `expected-nets.yml` present and matches current netlist for listed nets - [ ] Board `README.md` covers purpose, status, interfaces, assumptions, and whether this revision was manufactured and tested @@ -233,10 +238,8 @@ Existing in-progress PRs: align where reasonably possible. Do not redesign solel The requirements above are the current contribution baseline. -Not standardized yet (to be evaluated on the reference board): +Not standardized yet: -- automated KiCad ERC and DRC in GitHub Actions -- exact multi-board CI structure - manufacturing jobsets - automated manufacturing artifacts - release and prerelease manufacturing packages @@ -244,6 +247,6 @@ Not standardized yet (to be evaluated on the reference board): - automated PCB renders or visual diffs - manufacturer-specific output configurations -Once the reference implementation is validated, this page will be updated. Stable parts of the workflow may become required for new hardware contributions. +ERC, DRC, and `expected-nets.yml` checks run in CI via `python3 scripts/check_pcb.py`. Keep the workflow reproducible and safe. Avoid complexity until it solves a real problem. diff --git a/docs/testing.md b/docs/testing.md index cdcbeef..43bb968 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -1,6 +1,6 @@ # Tests -Host checks. These commands do not flash the board. GitHub Actions on `main` and PRs runs these same commands. On-device hardware: [hardware/testing.md](hardware/testing.md). +Host checks. These commands do not flash the board. GitHub Actions on `main` and PRs runs these same commands (firmware, packages, and PCB). On-device hardware: [hardware/testing.md](hardware/testing.md). ## Firmware @@ -34,3 +34,13 @@ npm test --prefix packages/tiny-engineer-cursor npm test --prefix packages/tiny-engineer-antigravity npm test --prefix packages/tiny-engineer-claude-code ``` + +## PCB + +KiCad 10 (`kicad-cli`). Stdlib Python only — no pip packages. ERC (errors), DRC (errors + schematic parity), and `expected-nets.yml` for every board under `hardware/boards/`. + +```bash +python3 scripts/check_pcb.py +``` + +Optional: `python3 scripts/check_pcb.py main-control-board --report-dir artifacts/pcb`. Details: [pcb.md](pcb.md). On-device hardware: [hardware/testing.md](hardware/testing.md). \ No newline at end of file diff --git a/hardware/.gitignore b/hardware/.gitignore new file mode 100644 index 0000000..c1e7e4d --- /dev/null +++ b/hardware/.gitignore @@ -0,0 +1,4 @@ +*.bak +gerbers/ +production/ +fabrication-toolkit-options.json \ No newline at end of file diff --git a/hardware/README.md b/hardware/README.md index c63e3de..84dc836 100644 --- a/hardware/README.md +++ b/hardware/README.md @@ -4,7 +4,11 @@ KiCad PCB projects for Tiny Engineer. Boards live under `boards//`. Prefer the same name for the directory and the KiCad project. -Contribution rules, KiCad version, what to commit, ERC/DRC, and PR expectations: [docs/pcb.md](../docs/pcb.md). Pre-PR checklist: [docs/pcb.md#checklist](../docs/pcb.md#checklist). Critical net checklist: [docs/pcb.md#expected-nets-yml](../docs/pcb.md#expected-nets-yml). +| Board | Role | +| --- | --- | +| [`main-control-board`](boards/main-control-board/) | Draft interconnect / carrier (header sockets for existing modules) | + +Contribution rules, KiCad version, what to commit, ERC/DRC, and PR expectations: [docs/pcb.md](../docs/pcb.md). Pre-PR checklist: [docs/pcb.md#checklist](../docs/pcb.md#checklist). Critical net checklist: [docs/pcb.md#expected-nets-yml](../docs/pcb.md#expected-nets-yml). Local/CI checks: `python3 scripts/check_pcb.py` (KiCad 10) — [docs/testing.md](../docs/testing.md). This tree is KiCad source only. Robot electrical reference (pinout, wiring, BOM) is [`docs/hardware/`](../docs/hardware/README.md). Firmware drivers are `src/hardware/`. diff --git a/hardware/boards/main-control-board/README.md b/hardware/boards/main-control-board/README.md new file mode 100644 index 0000000..7018025 --- /dev/null +++ b/hardware/boards/main-control-board/README.md @@ -0,0 +1,20 @@ +# main-control-board + +Carrier PCB that reduces jumper wiring: existing modules plug in on pin headers. + +- **Purpose:** interconnect / carrier with header sockets for the existing modules +- **Status:** draft (schematic + routed layout, rev v1 / 2026-09-12) +- **KiCad:** 10 +- **Interfaces:** header sockets for the Waveshare ESP32-C3-Zero, Adafruit PCA9685, MAX98357A, SSD1306 OLED, and Adafruit 5993 USB-C breakout; shared I2C (ESP32 GP0/GP1 → PCA9685 and SSD1306 OLED); point-to-point I2S (ESP32 GP2/GP3/GP4 → MAX98357A BCLK/LRC/DIN); USB D+/D− (5993 → ESP32 GP19/GP18); PCA9685 OE ← GP5; +5V, 3V3, and GND. Servo 3-pin plugs and speaker terminals stay on the modules this revision. +- **Assumptions:** nets follow [`docs/hardware/`](../../../docs/hardware/README.md) (keep servo **+5V** off logic **3V3**; common GND). Custom module symbols live in [`libraries/symbols/tiny_engineer_modules.kicad_sym`](libraries/symbols/tiny_engineer_modules.kicad_sym); footprints in [`libraries/footprints/tiny_engineer_modules.pretty`](libraries/footprints/tiny_engineer_modules.pretty). ESP32-C3-Zero symbol pin numbers are Waveshare **header pads** (pad 1 = 5V, numbered anticlockwise from USB), not the ESP32-C3 QFN package. Two-layer FR4 ~1.6 mm; ESP32-C3-Zero on the back, other modules on the front. OLED uses a 1×04 pin header; USB-C breakout uses a 1×04 pin socket. Netclasses: `GND`, `Power5V` (`+5V`, 1.5 mm), `Power3V3` (`+3.3V`, 0.4 mm), `USB` (`/USB_`*), `Default` (I2C/I2S and other signals). +- **ERC / DRC:** ERC passed; DRC passed (custom rules in `main-control-board.kicad_dru`) +- **Built:** not manufactured +- **Tested:** not tested + +## Direction + +First revision is sockets only. Design in KiCad 10, then fabricate, so the robot is wired on a board instead of Dupont harnesses. + +Later revisions may integrate some or all of those functions onto this PCB and drop the plug-in modules. + +Contribution rules: [`docs/pcb.md`](../../../docs/pcb.md). diff --git a/hardware/boards/main-control-board/expected-nets.yml b/hardware/boards/main-control-board/expected-nets.yml new file mode 100644 index 0000000..66b6c99 --- /dev/null +++ b/hardware/boards/main-control-board/expected-nets.yml @@ -0,0 +1,53 @@ +# Critical net → pin memberships for review. +# Tokens = KiCad netlist RefDes.PinNum:PinName (pin number + symbol pin name). +# Compare with: kicad-cli sch export netlist +# See docs/pcb.md#expected-netsyml + +nets: + "+5V": + - J1.7:Pin_7 + - J3.1:Pin_1 + - J4.1:Pin_1 + - J6.1:Pin_1 + - J7.3:Pin_3 + "+3.3V": + - J2.1:Pin_1 + - J3.2:Pin_2 + - J4.2:Pin_2 + - J6.3:Pin_3 + GND: + - J1.6:Pin_6 + - J2.2:Pin_2 + - J3.6:Pin_6 + - J4.6:Pin_6 + - J6.2:Pin_2 + - J7.4:Pin_4 + "/I2C_SDA": + - J2.3:Pin_3 + - J3.3:Pin_3 + - J4.3:Pin_3 + - J6.4:Pin_4 + "/I2C_SCL": + - J2.4:Pin_4 + - J3.4:Pin_4 + - J4.4:Pin_4 + - J6.5:Pin_5 + "/I2S_BCLK": + - J1.2:Pin_2 + - J6.6:Pin_6 + "/I2S_LRC": + - J1.1:Pin_1 + - J6.7:Pin_7 + "/I2S_DIN": + - J1.3:Pin_3 + - J6.8:Pin_8 + "Net-(J3-Pin_5)": + - J3.5:Pin_5 + - J4.5:Pin_5 + - J6.9:Pin_9 + "/USB_D+": + - J5.7:Pin_7 + - J7.1:Pin_1 + "/USB_D-": + - J5.6:Pin_6 + - J7.2:Pin_2 diff --git a/hardware/boards/main-control-board/fp-lib-table b/hardware/boards/main-control-board/fp-lib-table new file mode 100644 index 0000000..e05f5c0 --- /dev/null +++ b/hardware/boards/main-control-board/fp-lib-table @@ -0,0 +1,4 @@ +(fp_lib_table + (version 7) + (lib (name "TinyEngineerModules") (type "KiCad") (uri "${KIPRJMOD}/libraries/footprints/tiny_engineer_modules.pretty") (options "") (descr "")) +) diff --git a/hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/ESP32_C3_Zero_Dev_Board.kicad_mod b/hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/ESP32_C3_Zero_Dev_Board.kicad_mod new file mode 100644 index 0000000..a4fa8ea --- /dev/null +++ b/hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/ESP32_C3_Zero_Dev_Board.kicad_mod @@ -0,0 +1,628 @@ +(footprint "ESP32_C3_Zero_Dev_Board" + (version 20260206) + (generator "pcbnew") + (generator_version "10.0") + (layer "F.Cu") + (property "Reference" "REF**" + (at 0 13 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "67158926-b292-4f65-a109-848aae5bc929") + (effects + (font + (size 1 1) + (thickness 0.12) + ) + ) + ) + (property "Value" "ESP32_C3_Zero_Dev_Board" + (at -0.1 15.24 0) + (unlocked yes) + (layer "F.Fab") + (uuid "e8ffb888-95ec-4a1e-a86b-ac20f9a6e75a") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "236e36c4-46ba-414a-bcd1-37c543e02b91") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "eb66ab46-0f2a-49fc-932e-26d732d45109") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (attr through_hole) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start -9.5 -11.9) + (end 9.3 -11.9) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "34e3000d-1e83-44f1-a4ab-4110ee711d2b") + ) + (fp_line + (start -9.5 11.9) + (end -9.5 -11.9) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "69445495-519d-4210-8a7f-8ca153b131cf") + ) + (fp_line + (start -4.6 -13.4) + (end -4.6 -11.9) + (stroke + (width 0.1) + (type dot) + ) + (layer "F.SilkS") + (uuid "0d7a8112-068f-4923-90f0-804b54f44a32") + ) + (fp_line + (start -4.6 -13.4) + (end 4.4 -13.4) + (stroke + (width 0.1) + (type dot) + ) + (layer "F.SilkS") + (uuid "935fb6a1-35f4-45ff-a214-d837c81b406d") + ) + (fp_line + (start 4.4 -13.4) + (end 4.4 -11.9) + (stroke + (width 0.1) + (type dot) + ) + (layer "F.SilkS") + (uuid "a8a10797-554b-41a0-b8cc-943af2dfaa7c") + ) + (fp_line + (start 9.3 -11.9) + (end 9.3 11.9) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "43c44519-55e3-4dff-84e8-3dcd84b8f3c9") + ) + (fp_line + (start 9.3 11.9) + (end -9.5 11.9) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "8573d8b3-8362-4362-8e39-1a7f6fc6fc7b") + ) + (fp_rect + (start -6.6 6.5) + (end 6.6 11.4) + (stroke + (width 0.1) + (type dot) + ) + (fill no) + (layer "F.SilkS") + (uuid "c1b73b2c-bb16-4b55-a767-c1b5659b1508") + ) + (fp_poly + (pts + (xy -9.5 -11.9) (xy -9.5 11.9) (xy 9.3 11.9) (xy 9.3 -11.9) + ) + (stroke + (width 0.1) + (type solid) + ) + (fill no) + (layer "F.CrtYd") + (uuid "776f451f-172d-4858-b6fa-5ea06bbee9dd") + ) + (fp_text user "5V" + (at -6.35 -10.16 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "4dedc7ad-45d4-4678-9095-9b2e78d493b8") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GND" + (at -6.35 -7.62 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "2787ab48-337b-48a9-b174-eeda0e9656db") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "3V3" + (at -6.35 -5.08 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "92887545-e8f2-4703-b5e5-a832f460ef59") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GP0" + (at -6.35 -2.54 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "4c314571-97fd-47fa-9a3f-fbdfebbf3aed") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GP1" + (at -6.35 0 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "2b8a6e5e-b227-4a36-bfee-2249e44f7e46") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GP2" + (at -6.35 2.54 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "7916cb9a-5f38-455f-8367-960b80e5642b") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GP3" + (at -6.35 5.08 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "d32fa86f-d366-48b1-aaf7-42ef14070b11") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GP4" + (at -6.35 7.62 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "2fc31eee-e787-47ef-86c5-ba1df77626b5") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GP5" + (at -6.35 10.16 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "3721c142-a315-4f15-ab98-842eb1982f53") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "USB" + (at -1.3 -12.2 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "149524f8-b5f8-407e-a771-0ca41ea7e2f3") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left bottom) + ) + ) + (fp_text user "ANT" + (at 0 9.1 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "25bbe8e7-ecd7-4d35-afa5-7825822e5153") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + ) + ) + (fp_text user "TX" + (at 6.35 -10.16 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "04d53a20-2399-42a9-ac38-dde86f9103ad") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "RX" + (at 6.35 -7.62 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "ab72257f-c46d-490a-a17c-2569b87913ad") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "USB DP" + (at 6.35 -5.08 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "dee8783b-5acf-4d6f-a957-ed17c1b181c1") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "USB DM" + (at 6.35 -2.54 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "624d1427-3118-4b0f-9b89-932f22924a76") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "GP10" + (at 6.35 0 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "2233f98f-cb54-40b5-80fc-7b97020d1cf1") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "GP9" + (at 6.35 2.54 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "800a1516-f745-4688-abe1-981233b7a747") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "GP8" + (at 6.35 5.08 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "dc54778f-788f-41e5-a782-c7743f461760") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "GP7" + (at 6.35 7.62 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "1ede5b0a-b3da-4231-bf6c-eadc5b57a8e5") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "GP6" + (at 6.35 10.16 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "d169d8e5-233a-4829-a98d-f3a415ff49eb") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "${REFERENCE}" + (at -0.1 17.78 0) + (unlocked yes) + (layer "F.Fab") + (uuid "79c36b70-660b-43f0-b905-103773c51193") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole roundrect + (at -7.62 -10.16) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (roundrect_rratio 0.15) + (uuid "d1bb63a2-29cd-4970-9056-d8fb47ccbff1") + ) + (pad "2" thru_hole circle + (at -7.62 -7.62) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "b56c7c16-6fd5-4d88-b20b-25d30423c421") + ) + (pad "3" thru_hole circle + (at -7.62 -5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "636e829c-46bc-4dca-b361-a1ee91c589fb") + ) + (pad "4" thru_hole circle + (at -7.62 -2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "26b8db50-5d0d-4027-9f92-22632c380724") + ) + (pad "5" thru_hole circle + (at -7.62 0) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "882374e3-caff-4217-a4df-64d3ccf956c3") + ) + (pad "6" thru_hole circle + (at -7.62 2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "8a71f3b2-6957-4fbb-a00f-545025ab6e12") + ) + (pad "7" thru_hole circle + (at -7.62 5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "ee51e7e7-4d37-466d-8d96-161b42df1896") + ) + (pad "8" thru_hole circle + (at -7.62 7.62) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "d5831d60-80d8-4a8c-818a-827e37160a17") + ) + (pad "9" thru_hole circle + (at -7.62 10.16) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "76cacfd2-77b3-469f-a48b-dd77ea38b55c") + ) + (pad "10" thru_hole circle + (at 7.62 10.16) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "35af9cda-97f6-4d81-b704-42712098b756") + ) + (pad "11" thru_hole circle + (at 7.62 7.62) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "e5d0acf7-5cc3-40cc-95ab-c18859836ab1") + ) + (pad "12" thru_hole circle + (at 7.62 5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "78aed1d1-b180-4d7e-8ea2-bfeab948cd70") + ) + (pad "13" thru_hole circle + (at 7.62 2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "37f89ad5-d51f-4ff1-8de5-e714c1608a67") + ) + (pad "14" thru_hole circle + (at 7.62 0) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "bbe9133d-b11c-4951-b00e-3f298b38f4e0") + ) + (pad "15" thru_hole circle + (at 7.62 -2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "5eed437a-ec57-4650-8aa9-ae59d3402b98") + ) + (pad "16" thru_hole circle + (at 7.62 -5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "48ee4904-1fee-4766-851b-4bd967e910df") + ) + (pad "17" thru_hole circle + (at 7.62 -7.62) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "dd16cc99-5358-40c5-bf07-dd968253b967") + ) + (pad "18" thru_hole circle + (at 7.62 -10.16) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "86152640-255f-47a3-928c-33fc8834df32") + ) + (zone + (layers "F.Cu" "B.Cu") + (uuid "b7b5d213-60cd-486f-bfc9-24388b5e256c") + (hatch edge 0.5) + (connect_pads + (clearance 0) + ) + (min_thickness 0.25) + (keepout + (tracks not_allowed) + (vias not_allowed) + (pads not_allowed) + (copperpour not_allowed) + (footprints allowed) + ) + (placement + (enabled no) + (sheetname "") + ) + (fill + (thermal_gap 0.5) + (thermal_bridge_width 0.5) + (island_removal_mode 0) + ) + (polygon + (pts + (xy -6.66 5) (xy 6.4 5) (xy 6.4 12.8) (xy -6.66 12.8) + ) + ) + ) + (zone + (layer "F.CrtYd") + (uuid "e2eaa247-ccd4-4b12-87ce-c50b2db9ddc0") + (hatch edge 0.5) + (connect_pads + (clearance 0) + ) + (min_thickness 0.25) + (keepout + (tracks allowed) + (vias allowed) + (pads not_allowed) + (copperpour allowed) + (footprints not_allowed) + ) + (placement + (enabled no) + (sheetname "") + ) + (fill + (thermal_gap 0.5) + (thermal_bridge_width 0.5) + (island_removal_mode 0) + ) + (polygon + (pts + (xy -9.5 -11.9) (xy 9.3 -11.9) (xy 9.3 11.9) (xy -9.5 11.9) + ) + ) + ) + (embedded_fonts no) +) diff --git a/hardware/boards/main-control-board/libraries/symbols/tiny_engineer_modules.kicad_sym b/hardware/boards/main-control-board/libraries/symbols/tiny_engineer_modules.kicad_sym new file mode 100644 index 0000000..563f45b --- /dev/null +++ b/hardware/boards/main-control-board/libraries/symbols/tiny_engineer_modules.kicad_sym @@ -0,0 +1,793 @@ +(kicad_symbol_lib + (version 20251024) + (generator "kicad_symbol_editor") + (generator_version "10.0") + (symbol "Adafruit_PCA9685_Module" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "U" + (at 5.334 9.144 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Adafruit PCA9685" + (at -1.778 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "Adafruit_PCA9685_Module_1_1" + (rectangle + (start -12.7 7.62) + (end 12.7 -7.62) + (stroke + (width 0) + (type solid) + ) + (fill + (type background) + ) + ) + (pin power_in line + (at 0 -10.16 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at 15.24 3.81 180) + (length 2.54) + (name "OE" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at 15.24 1.27 180) + (length 2.54) + (name "SCL" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 15.24 -1.27 180) + (length 2.54) + (name "SDA" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 15.24 -3.81 180) + (length 2.54) + (name "VCC" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 10.16 270) + (length 2.54) + (name "V+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "ESP32_C3_Zero_Dev_Board" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "U" + (at -0.254 2.286 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "ESP32-C3-ZERO" + (at 0.254 -1.016 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "https://www.waveshare.com/wiki/ESP32-C3-Zero" + (at 30.734 -19.304 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Waveshare ESP32-C3-Zero module header, pads numbered anticlockwise from USB" + (at 46.736 -16.002 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "ESP32_C3_Zero_Dev_Board_1_1" + (rectangle + (start -15.24 11.43) + (end 15.24 -11.43) + (stroke + (width 0) + (type solid) + ) + (fill + (type background) + ) + ) + (pin power_in line + (at 0 13.97 270) + (length 2.54) + (name "5V" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 -13.97 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_out line + (at -17.78 10.16 0) + (length 2.54) + (name "3V3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 2.54 0) + (length 2.54) + (name "GP0" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 0 0) + (length 2.54) + (name "GP1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 -2.54 0) + (length 2.54) + (name "GP2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 -5.08 0) + (length 2.54) + (name "GP3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 -7.62 0) + (length 2.54) + (name "GP4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 -10.16 0) + (length 2.54) + (name "GP5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 -10.16 180) + (length 2.54) + (name "GP6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 -7.62 180) + (length 2.54) + (name "GP7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "11" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 -5.08 180) + (length 2.54) + (name "GP8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "12" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 -2.54 180) + (length 2.54) + (name "GP9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "13" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 0 180) + (length 2.54) + (name "GP10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "14" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 2.54 180) + (length 2.54) + (name "USB_DM" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "15" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 5.08 180) + (length 2.54) + (name "USB_DP" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "16" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 7.62 180) + (length 2.54) + (name "RX" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "17" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 10.16 180) + (length 2.54) + (name "TX" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "18" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "MAX98357_Module" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "U" + (at 12.446 -4.572 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "MAX98357A" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "MAX98357_Module_1_1" + (rectangle + (start -11.4299 6.35) + (end 11.43 -6.35) + (stroke + (width 0) + (type solid) + ) + (fill + (type background) + ) + ) + (text "MAX98357" + (at 6.858 7.366 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin input line + (at -13.97 5.08 0) + (length 2.54) + (name "LRC" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -13.97 2.54 0) + (length 2.54) + (name "BCLK" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -13.97 0 0) + (length 2.54) + (name "DIN" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -13.97 -2.54 0) + (length 2.54) + (name "GAIN" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -13.97 -5.08 0) + (length 2.54) + (name "SD" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 -8.89 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 8.89 270) + (length 2.54) + (name "Vin" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) +) diff --git a/hardware/boards/main-control-board/main-control-board.kicad_dru b/hardware/boards/main-control-board/main-control-board.kicad_dru new file mode 100644 index 0000000..02bad03 --- /dev/null +++ b/hardware/boards/main-control-board/main-control-board.kicad_dru @@ -0,0 +1,14 @@ +(version 1) + +(rule "5V min width" + (constraint track_width (min 1.5mm)) + (condition "A.NetClass == 'Power5V'")) + +(rule "5V via min" + (constraint via_diameter (min 0.8mm)) + (constraint hole_size (min 0.4mm)) + (condition "A.NetClass == 'Power5V' && A.Type == 'Via'")) + +(rule "3V3 min width" + (constraint track_width (min 0.4mm)) + (condition "A.NetClass == 'Power3V3'")) \ No newline at end of file diff --git a/hardware/boards/main-control-board/main-control-board.kicad_pcb b/hardware/boards/main-control-board/main-control-board.kicad_pcb new file mode 100644 index 0000000..52f918f --- /dev/null +++ b/hardware/boards/main-control-board/main-control-board.kicad_pcb @@ -0,0 +1,5591 @@ +(kicad_pcb + (version 20260206) + (generator "pcbnew") + (generator_version "10.0") + (general + (thickness 1.6002) + (legacy_teardrops no) + ) + (paper "A4") + (title_block + (comment 4 "AISLER Project ID: OVMDYZJE") + ) + (layers + (0 "F.Cu" signal "Front") + (2 "B.Cu" signal "Back") + (13 "F.Paste" user) + (15 "B.Paste" user) + (5 "F.SilkS" user "F.Silkscreen") + (7 "B.SilkS" user "B.Silkscreen") + (1 "F.Mask" user) + (3 "B.Mask" user) + (25 "Edge.Cuts" user) + (27 "Margin" user) + (31 "F.CrtYd" user "F.Courtyard") + (29 "B.CrtYd" user "B.Courtyard") + (35 "F.Fab" user) + (33 "B.Fab" user) + ) + (setup + (stackup + (layer "F.SilkS" + (type "Top Silk Screen") + ) + (layer "F.Paste" + (type "Top Solder Paste") + ) + (layer "F.Mask" + (type "Top Solder Mask") + (thickness 0.01) + ) + (layer "F.Cu" + (type "copper") + (thickness 0.035) + ) + (layer "dielectric 1" + (type "core") + (thickness 1.5102) + (material "FR4") + (epsilon_r 4.5) + (loss_tangent 0.02) + ) + (layer "B.Cu" + (type "copper") + (thickness 0.035) + ) + (layer "B.Mask" + (type "Bottom Solder Mask") + (thickness 0.01) + ) + (layer "B.Paste" + (type "Bottom Solder Paste") + ) + (layer "B.SilkS" + (type "Bottom Silk Screen") + ) + (copper_finish "None") + (dielectric_constraints no) + ) + (pad_to_mask_clearance 0) + (allow_soldermask_bridges_in_footprints no) + (tenting + (front yes) + (back yes) + ) + (covering + (front no) + (back no) + ) + (plugging + (front no) + (back no) + ) + (capping no) + (filling no) + (pcbplotparams + (layerselection 0x00000000_00000000_55555555_5755f5ff) + (plot_on_all_layers_selection 0x00000000_00000000_00000000_00000000) + (disableapertmacros no) + (usegerberextensions no) + (usegerberattributes yes) + (usegerberadvancedattributes yes) + (creategerberjobfile yes) + (dashed_line_dash_ratio 12) + (dashed_line_gap_ratio 3) + (svgprecision 4) + (plotframeref no) + (mode 1) + (useauxorigin no) + (pdf_front_fp_property_popups yes) + (pdf_back_fp_property_popups yes) + (pdf_metadata yes) + (pdf_single_document no) + (dxfpolygonmode yes) + (dxfimperialunits yes) + (dxfusepcbnewfont yes) + (psnegative no) + (psa4output no) + (plot_black_and_white yes) + (sketchpadsonfab no) + (plotpadnumbers no) + (hidednponfab no) + (sketchdnponfab yes) + (crossoutdnponfab yes) + (subtractmaskfromsilk no) + (outputformat 1) + (mirror no) + (drillshape 1) + (scaleselection 1) + (outputdirectory "") + ) + ) + (footprint "Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical" + (layer "F.Cu") + (uuid "001a3c8d-f56e-416a-9d49-d743ccb82b6a") + (at 218.08 47.85 180) + (descr "Through hole straight pin header, 1x04, 2.54mm pitch, single row") + (tags "Through hole pin header THT 1x04 2.54mm single row") + (property "Reference" "J2" + (at 0 -2.38 0) + (layer "F.SilkS") + (hide yes) + (uuid "973033a8-235c-4864-8a9c-0c65e6c3772b") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "Conn_OLED" + (at 0 10 0) + (layer "F.Fab") + (uuid "340a24d9-d8a4-439c-ac91-5b821615650d") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (layer "F.Fab") + (hide yes) + (uuid "5e8afc9f-ff1c-4df0-a17d-2074a5a0f79f") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x04, script generated" + (at 0 0 0) + (layer "F.Fab") + (hide yes) + (uuid "ba9719dc-fb79-4faf-a2e7-08f9d1b5c678") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "LCSC Part #" "C2691448" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "039cf1c0-3bd2-4d9c-94d8-f0a634869702") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "FT Rotation Offset" "90" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "f7132b6e-5c0e-492c-8aa1-0fd0a3036707") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property ki_fp_filters "Connector*:*_1x??_*") + (path "/34bba5f8-ff75-4293-a0eb-59d1777af0de") + (sheetname "/") + (sheetfile "main-control-board.kicad_sch") + (units + (unit + (name "A") + (pins "1" "2" "3" "4") + ) + ) + (attr through_hole) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start 1.38 1.27) + (end 1.38 9) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "9162021d-ca47-444c-bc30-bf2c94597ef3") + ) + (fp_line + (start -1.38 9) + (end 1.38 9) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "e0c1abe3-d4bf-4a6a-97ea-6dde2a662c51") + ) + (fp_line + (start -1.38 1.27) + (end 1.38 1.27) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "93c65a32-04d6-42a8-a57a-ec10fad908b0") + ) + (fp_line + (start -1.38 1.27) + (end -1.38 9) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "cfdb9b42-56b9-4d95-a22b-398639aa9d46") + ) + (fp_line + (start -1.38 0) + (end -1.38 -1.38) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "a47a64bc-31bd-4398-9284-f16829ac0a54") + ) + (fp_line + (start -1.38 -1.38) + (end 0 -1.38) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "e463c24b-7a02-4f07-9ac5-3c06a88cb00f") + ) + (fp_rect + (start -1.77 -1.77) + (end 1.77 9.39) + (stroke + (width 0.05) + (type solid) + ) + (fill no) + (layer "F.CrtYd") + (uuid "7486dd91-9946-41fa-a65a-37ce8db567c4") + ) + (fp_line + (start 1.27 8.89) + (end -1.27 8.89) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "601ff06a-e73a-49be-b68e-2a3d6f453beb") + ) + (fp_line + (start 1.27 -1.27) + (end 1.27 8.89) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "b85e559a-535c-497a-95fd-260402c72694") + ) + (fp_line + (start -0.635 -1.27) + (end 1.27 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "39371f0c-1f8e-4120-b251-40ed1ee59e1f") + ) + (fp_line + (start -1.27 8.89) + (end -1.27 -0.635) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "28ad1f3d-eabd-4fd2-93b7-6b61b7d22162") + ) + (fp_line + (start -1.27 -0.635) + (end -0.635 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "97a4a2c5-ddb6-44b4-a01f-0227130a93c7") + ) + (fp_text user "${REFERENCE}" + (at 0 3.81 90) + (layer "F.Fab") + (uuid "22d49b3a-ef02-4c80-996c-a0fdad222ad1") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole rect + (at 0 0 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+3.3V") + (pinfunction "Pin_1_1") + (pintype "passive") + (uuid "ebc51c89-6e46-468a-a7a4-290f42ca9ac5") + ) + (pad "2" thru_hole circle + (at 0 2.54 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "GND") + (pinfunction "Pin_2_2") + (pintype "passive") + (uuid "edd00747-9467-4f0f-b8e9-8014043c21ff") + ) + (pad "3" thru_hole circle + (at 0 5.08 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2C_SDA") + (pinfunction "Pin_3_3") + (pintype "passive") + (uuid "b40b346e-1ab5-4d11-8dba-608fec26e4df") + ) + (pad "4" thru_hole circle + (at 0 7.62 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2C_SCL") + (pinfunction "Pin_4_4") + (pintype "passive") + (uuid "e986ac8c-7842-450c-aedf-4dbe708b6584") + ) + (embedded_fonts no) + (model "${KICAD10_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x04_P2.54mm_Vertical.step" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "Connector_PinSocket_2.54mm:PinSocket_1x07_P2.54mm_Vertical" + (layer "F.Cu") + (uuid "2320fb60-ce94-4ffd-adc3-b3a85a3374d3") + (at 241 50 180) + (descr "Through hole straight socket strip, 1x07, 2.54mm pitch, single row (from Kicad 4.0.7), script generated") + (tags "Through hole socket strip THT 1x07 2.54mm single row") + (property "Reference" "J1" + (at 0 -2.77 0) + (layer "F.SilkS") + (hide yes) + (uuid "6bbd6294-4a1b-4031-9f59-08d7b5f535c9") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "Conn_MAX98357" + (at 0 18.01 0) + (layer "F.Fab") + (uuid "26e1e6a6-087b-4027-a866-9c53cbd8ee23") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (layer "F.Fab") + (hide yes) + (uuid "4e91cb9f-e718-4182-81a2-68bfd8ff35f1") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x07, script generated" + (at 0 0 0) + (layer "F.Fab") + (hide yes) + (uuid "2ea50dfc-7252-4af9-8661-62332716c4e7") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "LCSC Part #" "C2832270" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "be471770-e17d-4c95-851b-c4080934b2a8") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "FT Rotation Offset" "90" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "9564bd1a-1a8d-4284-91fe-3680047aabd1") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property ki_fp_filters "Connector*:*_1x??_*") + (path "/be974232-5f49-406d-83ce-76714e93150c") + (sheetname "/") + (sheetfile "main-control-board.kicad_sch") + (units + (unit + (name "A") + (pins "1" "2" "3" "4" "5" "6" "7") + ) + ) + (attr through_hole) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start 1.33 1.27) + (end 1.33 16.57) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "0a163a0b-752f-4647-8b3f-3a5bb28488b2") + ) + (fp_line + (start 1.33 -1.33) + (end 1.33 0) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "8816d73f-61fd-4cd9-abb7-69e173c5c65c") + ) + (fp_line + (start 0 -1.33) + (end 1.33 -1.33) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "c73db5e5-175b-4655-a4ed-d0beff81c734") + ) + (fp_line + (start -1.33 16.57) + (end 1.33 16.57) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "936e3930-c08d-4d7a-9b67-c2fca457c746") + ) + (fp_line + (start -1.33 1.27) + (end 1.33 1.27) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "748fcf11-e4bb-4b24-b83d-05214bc58aeb") + ) + (fp_line + (start -1.33 1.27) + (end -1.33 16.57) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "05879eb4-edd8-4c5f-b84b-4976bdbb7ab9") + ) + (fp_line + (start 1.77 17.01) + (end -1.77 17.01) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "a66eb7ef-3c2c-4370-a259-c42f0a7b7585") + ) + (fp_line + (start 1.77 -1.77) + (end 1.77 17.01) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "8468a492-701f-4e15-8b1f-7f3f5e1157a0") + ) + (fp_line + (start -1.77 17.01) + (end -1.77 -1.77) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "6213c662-5129-46d9-a13f-24839280d93a") + ) + (fp_line + (start -1.77 -1.77) + (end 1.77 -1.77) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "4987a1b8-d085-4015-98fa-c48db8c9f0a4") + ) + (fp_line + (start 1.27 16.51) + (end -1.27 16.51) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "326df301-e459-45f5-b012-3c3c03c2cad2") + ) + (fp_line + (start 1.27 -0.635) + (end 1.27 16.51) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "5032b7f9-ba0b-48b5-9429-ad49bdbf724a") + ) + (fp_line + (start 0.635 -1.27) + (end 1.27 -0.635) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "43ded06b-3a70-4ae5-8d98-7c1a82ac8cfc") + ) + (fp_line + (start -1.27 16.51) + (end -1.27 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "c1f3470d-99c0-4b56-bc8c-56618eff64a4") + ) + (fp_line + (start -1.27 -1.27) + (end 0.635 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "41fe8531-e6ac-4d7a-829b-ba2c0e86f585") + ) + (fp_text user "${REFERENCE}" + (at 0 7.62 90) + (layer "F.Fab") + (uuid "654cfad4-7527-4261-8808-124c6ee0809b") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole rect + (at 0 0 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2S_LRC") + (pinfunction "Pin_1_1") + (pintype "passive") + (uuid "70a722fb-152a-4f52-8541-a775f7c72847") + ) + (pad "2" thru_hole circle + (at 0 2.54 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2S_BCLK") + (pinfunction "Pin_2_2") + (pintype "passive") + (uuid "7a81c821-3522-4ce0-ac74-85adf955afc6") + ) + (pad "3" thru_hole circle + (at 0 5.08 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2S_DIN") + (pinfunction "Pin_3_3") + (pintype "passive") + (uuid "cf37ac66-98c8-4f31-acb0-9dff6c9fed6b") + ) + (pad "4" thru_hole circle + (at 0 7.62 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "Net-(J1-Pin_4)") + (pinfunction "Pin_4_4") + (pintype "passive") + (uuid "cf796c8d-0505-44f2-98c6-dbd08e734e5e") + ) + (pad "5" thru_hole circle + (at 0 10.16 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "Net-(J1-Pin_5)") + (pinfunction "Pin_5_5") + (pintype "passive") + (uuid "81822a92-3eab-49b9-bde7-694341f3186f") + ) + (pad "6" thru_hole circle + (at 0 12.7 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "GND") + (pinfunction "Pin_6_6") + (pintype "passive") + (uuid "1d4123c0-fb0b-4ba7-823f-185e84efc57a") + ) + (pad "7" thru_hole circle + (at 0 15.24 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+5V") + (pinfunction "Pin_7_7") + (pintype "passive") + (uuid "bb7457bb-4157-479b-96c5-891e519c1020") + ) + (embedded_fonts no) + (model "${KICAD10_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x07_P2.54mm_Vertical.step" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical" + (layer "F.Cu") + (uuid "35cd7b00-f4f4-4329-95b0-28af0837033c") + (at 233.16 57.51 90) + (descr "Through hole straight socket strip, 1x04, 2.54mm pitch, single row (from Kicad 4.0.7), script generated") + (tags "Through hole socket strip THT 1x04 2.54mm single row") + (property "Reference" "J7" + (at 0 -2.77 90) + (layer "F.SilkS") + (hide yes) + (uuid "1c647fdc-e83a-4f8a-84a6-524f4ca119f1") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "Conn_USB" + (at -3.15 -0.09 180) + (layer "F.Fab") + (uuid "0da4da62-1419-4082-b07b-23405a6f3de1") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 90) + (layer "F.Fab") + (hide yes) + (uuid "b5cb68ab-d400-483c-ba91-a75aa7415cb2") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x04, script generated" + (at 0 0 90) + (layer "F.Fab") + (hide yes) + (uuid "803b6e4c-016b-4510-9da9-986981db8657") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "KiLib_Generator" "connector/pin_header_socket" + (at 0 0 90) + (layer "F.SilkS") + (hide yes) + (uuid "6e2540e2-94bc-451e-aea8-1d8ea239cf60") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "LCSC Part #" "C2718488" + (at 0 0 90) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "0711813a-d566-4fd5-aa82-c929ddf486b3") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "FT Rotation Offset" "90" + (at 0 0 90) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "44b65ccd-d619-493a-8799-3ce8317a5a5e") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property ki_fp_filters "Connector*:*_1x??_*") + (path "/892d2d19-23bd-4928-9797-558c2f8336b9") + (sheetname "/") + (sheetfile "main-control-board.kicad_sch") + (units + (unit + (name "A") + (pins "1" "2" "3" "4") + ) + ) + (attr through_hole) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start 1.33 -1.33) + (end 1.33 0) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "246b6301-cb04-42c6-9185-130a9bb1d3a3") + ) + (fp_line + (start 0 -1.33) + (end 1.33 -1.33) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "5500b17b-0b2a-4daa-99bd-b9ae481f9030") + ) + (fp_line + (start 1.33 1.27) + (end 1.33 8.95) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "d905690f-46ed-4ff5-88c2-c4cba2678e9a") + ) + (fp_line + (start -1.33 1.27) + (end 1.33 1.27) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "670c5834-9299-4500-9d72-21f815ccf7ab") + ) + (fp_line + (start -1.33 1.27) + (end -1.33 8.95) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "0f3626e6-0d7b-452f-9124-93a5f1a4797c") + ) + (fp_line + (start -1.33 8.95) + (end 1.33 8.95) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "d27b304a-fc91-4c44-ae83-cbd46c1eff47") + ) + (fp_line + (start 1.77 -1.77) + (end 1.77 9.39) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "f0025064-b615-4a2a-ba5c-2d8f0557883b") + ) + (fp_line + (start -1.77 -1.77) + (end 1.77 -1.77) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "6b46e851-b704-4379-88ce-8cead7ca0ae8") + ) + (fp_line + (start 1.77 9.39) + (end -1.77 9.39) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "17cc1e35-cc47-4490-b465-b2820ecb9785") + ) + (fp_line + (start -1.77 9.39) + (end -1.77 -1.77) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "deb6aef6-2de0-4b97-af37-217feec807be") + ) + (fp_line + (start 0.635 -1.27) + (end 1.27 -0.635) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "5c9d3fcd-edde-4f2f-8205-6399e3eb8a4d") + ) + (fp_line + (start -1.27 -1.27) + (end 0.635 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "96aa6760-979f-4462-aceb-3299bf625c9c") + ) + (fp_line + (start 1.27 -0.635) + (end 1.27 8.89) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "4d0c7582-7e3f-4e03-b688-c2552d7dabc0") + ) + (fp_line + (start 1.27 8.89) + (end -1.27 8.89) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "f335540c-811c-4c87-8015-b27ff1eb891c") + ) + (fp_line + (start -1.27 8.89) + (end -1.27 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "24ac51d2-4fdf-4c17-b519-11b411f9b2dc") + ) + (fp_text user "${REFERENCE}" + (at 0 3.81 180) + (layer "F.Fab") + (uuid "2fc5d409-8e3e-413b-bc2d-7e4d1e009075") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole rect + (at 0 0 90) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/USB_D+") + (pinfunction "Pin_1_1") + (pintype "passive") + (uuid "2c58756a-4ea8-4443-9d0b-39853d0cab56") + ) + (pad "2" thru_hole circle + (at 0 2.54 90) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/USB_D-") + (pinfunction "Pin_2_2") + (pintype "passive") + (uuid "5cef7094-b417-4355-9c49-a224194ec056") + ) + (pad "3" thru_hole circle + (at 0 5.08 90) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+5V") + (pinfunction "Pin_3_3") + (pintype "passive") + (uuid "2e450e1c-8984-4ed0-bac8-8dd295857b77") + ) + (pad "4" thru_hole circle + (at 0 7.62 90) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "GND") + (pinfunction "Pin_4_4") + (pintype "passive") + (uuid "f2b7169b-2584-447c-80a7-97d8bca9c7fe") + ) + (embedded_fonts no) + (model "${KICAD10_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x04_P2.54mm_Vertical.step" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical" + (layer "F.Cu") + (uuid "8abc104a-0c54-48fe-b01e-6e117adda566") + (at 211.94 52.2 180) + (descr "Through hole straight socket strip, 1x06, 2.54mm pitch, single row (from Kicad 4.0.7), script generated") + (tags "Through hole socket strip THT 1x06 2.54mm single row") + (property "Reference" "J4" + (at 0 -2.77 0) + (layer "F.SilkS") + (hide yes) + (uuid "eeff4d55-4106-445a-a974-c7cdd3eafa39") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "Conn_PCA9685_2" + (at 0 15.47 0) + (layer "F.Fab") + (uuid "d2e86a6f-1746-4460-9563-c960ff6d9127") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (layer "F.Fab") + (hide yes) + (uuid "ac0c1084-3d9e-4681-b26a-e26d85c2e6c0") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x06, script generated" + (at 0 0 0) + (layer "F.Fab") + (hide yes) + (uuid "89505293-a181-4b51-b082-d9d32257f0d1") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "KiLib_Generator" "connector/pin_header_socket" + (at 0 0 0) + (layer "F.SilkS") + (hide yes) + (uuid "7ee1fd85-f536-497c-b23f-3606682a4c91") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "LCSC Part #" "C40877" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "7cc7f80e-cac2-4ef9-9d31-965b23270e05") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "FT Rotation Offset" "90" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "c7f9b582-4a9e-4a02-b3cb-d8434c1a99f4") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property ki_fp_filters "Connector*:*_1x??_*") + (path "/4fee2094-5f61-496a-aac0-ea5de10a7a67") + (sheetname "/") + (sheetfile "main-control-board.kicad_sch") + (units + (unit + (name "A") + (pins "1" "2" "3" "4" "5" "6") + ) + ) + (attr through_hole) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start 1.33 1.27) + (end 1.33 14.03) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "3c2ce330-346b-44eb-bfe3-358f4b495d35") + ) + (fp_line + (start 1.33 -1.33) + (end 1.33 0) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "1ca755a0-e32d-44ac-8689-5528b4afbf4a") + ) + (fp_line + (start 0 -1.33) + (end 1.33 -1.33) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "c8ec1146-bab4-4cf7-a789-7120be52c1cc") + ) + (fp_line + (start -1.33 14.03) + (end 1.33 14.03) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "0cb2a4ae-01b5-4d6d-8e78-8b253b0a225f") + ) + (fp_line + (start -1.33 1.27) + (end 1.33 1.27) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "64866d0e-67bd-4bab-bb2d-cd437893a7d5") + ) + (fp_line + (start -1.33 1.27) + (end -1.33 14.03) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "19ef3b3b-8fd0-4341-8a71-49b5b9664e87") + ) + (fp_line + (start 1.77 14.47) + (end -1.77 14.47) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "9808ba75-8db8-433c-b3de-b506094ea94d") + ) + (fp_line + (start 1.77 -1.77) + (end 1.77 14.47) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "cd4c96e4-a662-4054-b835-3638f93abde0") + ) + (fp_line + (start -1.77 14.47) + (end -1.77 -1.77) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "cbb93a24-54ad-4aba-b81f-6bc798a00a9b") + ) + (fp_line + (start -1.77 -1.77) + (end 1.77 -1.77) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "2556ad1b-9245-4c19-ae6f-0da5e8005b88") + ) + (fp_line + (start 1.27 13.97) + (end -1.27 13.97) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "358c046a-2119-4c59-8f60-3c3a349add65") + ) + (fp_line + (start 1.27 -0.635) + (end 1.27 13.97) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "dc7233ec-02ed-4ad4-be95-e3c7c3547556") + ) + (fp_line + (start 0.635 -1.27) + (end 1.27 -0.635) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "d8181c00-e4b9-4dff-84b4-0817c88dfdb7") + ) + (fp_line + (start -1.27 13.97) + (end -1.27 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "486ea78d-4e94-4932-b123-771b6b89cae7") + ) + (fp_line + (start -1.27 -1.27) + (end 0.635 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "1cce05a3-1fae-4a19-8507-f2b07b21ee5a") + ) + (fp_text user "${REFERENCE}" + (at 0 6.35 90) + (layer "F.Fab") + (uuid "16b218e9-0cfc-4f72-99f6-074aa94b4220") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole rect + (at 0 0 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+5V") + (pinfunction "Pin_1_1") + (pintype "passive") + (uuid "3d2e3f78-c162-4959-b98a-595074593cd6") + ) + (pad "2" thru_hole circle + (at 0 2.54 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+3.3V") + (pinfunction "Pin_2_2") + (pintype "passive") + (uuid "28203620-923e-48c7-9141-4bda6571659e") + ) + (pad "3" thru_hole circle + (at 0 5.08 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2C_SDA") + (pinfunction "Pin_3_3") + (pintype "passive") + (uuid "392ec2c1-0b1c-4c8c-82c3-60a8a1990765") + ) + (pad "4" thru_hole circle + (at 0 7.62 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2C_SCL") + (pinfunction "Pin_4_4") + (pintype "passive") + (uuid "56f91206-0154-49ca-adb0-87e508a865fe") + ) + (pad "5" thru_hole circle + (at 0 10.16 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "Net-(J3-Pin_5)") + (pinfunction "Pin_5_5") + (pintype "passive") + (uuid "5a3400d2-2e42-46d1-a174-257d2de7fc30") + ) + (pad "6" thru_hole circle + (at 0 12.7 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "GND") + (pinfunction "Pin_6_6") + (pintype "passive") + (uuid "65e0057f-2329-4ba5-858f-04e1b5c0e741") + ) + (embedded_fonts no) + (model "${KICAD10_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x06_P2.54mm_Vertical.step" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical" + (layer "F.Cu") + (uuid "b935732a-bc41-4517-b800-3fd3f7c58761") + (at 153.52 52.2 180) + (descr "Through hole straight socket strip, 1x06, 2.54mm pitch, single row (from Kicad 4.0.7), script generated") + (tags "Through hole socket strip THT 1x06 2.54mm single row") + (property "Reference" "J3" + (at 0 -2.77 0) + (layer "F.SilkS") + (hide yes) + (uuid "c7c0b77d-c92f-48f4-86da-2b4aed07ac74") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "Conn_PCA9685_1" + (at 0 15.47 0) + (layer "F.Fab") + (uuid "aa6d89f8-e791-471a-ae69-07d2f9676ef2") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (layer "F.Fab") + (hide yes) + (uuid "3eae674f-8ae5-4da6-a463-82cc34abe853") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x06, script generated" + (at 0 0 0) + (layer "F.Fab") + (hide yes) + (uuid "c55b683d-1879-48e8-9603-b92a42e7e867") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "KiLib_Generator" "connector/pin_header_socket" + (at 0 0 0) + (layer "F.SilkS") + (hide yes) + (uuid "4e99c318-c9e4-4d77-96ab-fda62d1587f7") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "LCSC Part #" "C40877" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "1aa3d62a-5ebc-443b-a1e9-67a5168c53c1") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "FT Rotation Offset" "90" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "6898a28e-af84-44c3-a33e-bcb4ad9911e3") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property ki_fp_filters "Connector*:*_1x??_*") + (path "/6828a854-0afd-47a8-b43c-ba2016a1547f") + (sheetname "/") + (sheetfile "main-control-board.kicad_sch") + (units + (unit + (name "A") + (pins "1" "2" "3" "4" "5" "6") + ) + ) + (attr through_hole) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start 1.33 1.27) + (end 1.33 14.03) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "77bb8550-6f8f-42c0-8f7a-5fc62419b070") + ) + (fp_line + (start 1.33 -1.33) + (end 1.33 0) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "b0a4c24d-90e5-4886-ab21-cc120980cbbd") + ) + (fp_line + (start 0 -1.33) + (end 1.33 -1.33) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "6112d8c9-6056-4f72-87b3-97e04b1b7f53") + ) + (fp_line + (start -1.33 14.03) + (end 1.33 14.03) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "9fbff37d-cb33-4364-a4b1-82577e2752f0") + ) + (fp_line + (start -1.33 1.27) + (end 1.33 1.27) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "bd3cf595-d8cc-48d8-907b-03c220c5d892") + ) + (fp_line + (start -1.33 1.27) + (end -1.33 14.03) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "2781bdb2-4cd4-4baf-8fca-9da7627f071b") + ) + (fp_line + (start 1.77 14.47) + (end -1.77 14.47) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "847f575e-6eb8-4c48-b147-4b7d12717675") + ) + (fp_line + (start 1.77 -1.77) + (end 1.77 14.47) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "03081245-441d-4a58-85d3-e446335b73e1") + ) + (fp_line + (start -1.77 14.47) + (end -1.77 -1.77) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "2427ee07-78f6-4a00-80be-b2ec8f8f2de7") + ) + (fp_line + (start -1.77 -1.77) + (end 1.77 -1.77) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "b1f9878b-e7e3-4dc4-81f1-e9a2728d47d6") + ) + (fp_line + (start 1.27 13.97) + (end -1.27 13.97) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "3141d573-3326-49a3-9788-41c7ee8fe960") + ) + (fp_line + (start 1.27 -0.635) + (end 1.27 13.97) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "52b6c481-ff56-4e0d-b51a-92ccf9bbc00a") + ) + (fp_line + (start 0.635 -1.27) + (end 1.27 -0.635) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "7a7e18db-3b68-405e-b2cf-b3be1b6d262a") + ) + (fp_line + (start -1.27 13.97) + (end -1.27 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "1e1e30bd-ebd0-468f-b1fc-b5a95d13b7ff") + ) + (fp_line + (start -1.27 -1.27) + (end 0.635 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "b71590a8-d0b5-426d-bba0-ab179b449b6c") + ) + (fp_text user "${REFERENCE}" + (at 0 6.35 90) + (layer "F.Fab") + (uuid "f3580730-b352-4cc0-bb39-44aa301909c2") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole rect + (at 0 0 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+5V") + (pinfunction "Pin_1_1") + (pintype "passive") + (uuid "f4f8c824-19d9-4002-b09d-9ede9c473c86") + ) + (pad "2" thru_hole circle + (at 0 2.54 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+3.3V") + (pinfunction "Pin_2_2") + (pintype "passive") + (uuid "d47aea56-f0cd-4a18-9f2c-1f497f407f45") + ) + (pad "3" thru_hole circle + (at 0 5.08 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2C_SDA") + (pinfunction "Pin_3_3") + (pintype "passive") + (uuid "7e173b41-f014-4886-b239-ceb8480a84f9") + ) + (pad "4" thru_hole circle + (at 0 7.62 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2C_SCL") + (pinfunction "Pin_4_4") + (pintype "passive") + (uuid "1c14c93b-8d3a-471b-929a-07091afdbba8") + ) + (pad "5" thru_hole circle + (at 0 10.16 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "Net-(J3-Pin_5)") + (pinfunction "Pin_5_5") + (pintype "passive") + (uuid "fe26f5b1-fcd5-4587-a1e5-06957cef778d") + ) + (pad "6" thru_hole circle + (at 0 12.7 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "GND") + (pinfunction "Pin_6_6") + (pintype "passive") + (uuid "ef05bce6-6c4a-462f-a59e-be7ace5e12bb") + ) + (embedded_fonts no) + (model "${KICAD10_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x06_P2.54mm_Vertical.step" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "Connector_PinSocket_2.54mm:PinSocket_1x09_P2.54mm_Vertical" + (layer "B.Cu") + (uuid "2cac99a0-514c-4601-805a-e1ec277969cc") + (at 128.39 56.22) + (descr "Through hole straight socket strip, 1x09, 2.54mm pitch, single row (from Kicad 4.0.7), script generated") + (tags "Through hole socket strip THT 1x09 2.54mm single row") + (property "Reference" "J6" + (at 0 2.77 0) + (layer "B.SilkS") + (hide yes) + (uuid "43687dba-ac42-4b94-a198-ce2046fcfd93") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify mirror) + ) + ) + (property "Value" "Conn_ESP32_L" + (at 0 -23.09 0) + (layer "B.Fab") + (uuid "afcbe6f2-408d-455c-b380-e28a3428edb6") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify mirror) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (layer "B.Fab") + (hide yes) + (uuid "be8d6035-1cfa-4e9e-9910-1afe1876e043") + (effects + (font + (size 1.27 1.27) + ) + (justify mirror) + ) + ) + (property "Description" "Generic connector, single row, 01x09, script generated" + (at 0 0 0) + (layer "B.Fab") + (hide yes) + (uuid "864569b1-23e5-435f-8cd8-a2c3f8fadfa0") + (effects + (font + (size 1.27 1.27) + ) + (justify mirror) + ) + ) + (property "KiLib_Generator" "connector/pin_header_socket" + (at 0 0 0) + (layer "B.SilkS") + (hide yes) + (uuid "59777066-a908-4f0b-a2c4-d381d4071b85") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify mirror) + ) + ) + (property "LCSC Part #" "C2897372" + (at 0 0 180) + (unlocked yes) + (layer "B.Fab") + (hide yes) + (uuid "657a01ae-c9cb-4f00-8a41-3e79edbc12fa") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify mirror) + ) + ) + (property "FT Rotation Offset" "90" + (at 0 0 180) + (unlocked yes) + (layer "B.Fab") + (hide yes) + (uuid "8a7edadf-91fa-4985-9e7a-674438bc7382") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify mirror) + ) + ) + (property ki_fp_filters "Connector*:*_1x??_*") + (path "/48e1ac35-b6db-421d-b1b8-7f72ab3c2d7a") + (sheetname "/") + (sheetfile "main-control-board.kicad_sch") + (units + (unit + (name "A") + (pins "1" "2" "3" "4" "5" "6" "7" "8" "9") + ) + ) + (attr through_hole) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start -1.33 -21.65) + (end 1.33 -21.65) + (stroke + (width 0.12) + (type solid) + ) + (layer "B.SilkS") + (uuid "b7d9d553-edc1-4997-93c1-29d00fdce2ab") + ) + (fp_line + (start -1.33 -1.27) + (end -1.33 -21.65) + (stroke + (width 0.12) + (type solid) + ) + (layer "B.SilkS") + (uuid "6c675060-bfbe-4e76-a405-d6d461937872") + ) + (fp_line + (start -1.33 -1.27) + (end 1.33 -1.27) + (stroke + (width 0.12) + (type solid) + ) + (layer "B.SilkS") + (uuid "ca3a28c5-8b17-4fab-b6a3-d392597bcbdf") + ) + (fp_line + (start 0 1.33) + (end 1.33 1.33) + (stroke + (width 0.12) + (type solid) + ) + (layer "B.SilkS") + (uuid "c2ecbc97-e69b-48d0-9b81-d61347d11804") + ) + (fp_line + (start 1.33 -1.27) + (end 1.33 -21.65) + (stroke + (width 0.12) + (type solid) + ) + (layer "B.SilkS") + (uuid "f79eabf0-902d-4068-9ec7-546ab2ffe301") + ) + (fp_line + (start 1.33 1.33) + (end 1.33 0) + (stroke + (width 0.12) + (type solid) + ) + (layer "B.SilkS") + (uuid "5c233b88-c0ce-4169-881b-4f7838377076") + ) + (fp_line + (start -1.77 -22.09) + (end -1.77 1.77) + (stroke + (width 0.05) + (type solid) + ) + (layer "B.CrtYd") + (uuid "a36b9661-2f91-41d0-86f2-f86048774397") + ) + (fp_line + (start -1.77 1.77) + (end 1.77 1.77) + (stroke + (width 0.05) + (type solid) + ) + (layer "B.CrtYd") + (uuid "753cb45b-e94d-408b-8372-3943812850cc") + ) + (fp_line + (start 1.77 -22.09) + (end -1.77 -22.09) + (stroke + (width 0.05) + (type solid) + ) + (layer "B.CrtYd") + (uuid "01203fa8-5d91-4cb1-bf50-82b351a4c126") + ) + (fp_line + (start 1.77 1.77) + (end 1.77 -22.09) + (stroke + (width 0.05) + (type solid) + ) + (layer "B.CrtYd") + (uuid "42841baa-4645-4887-b8ca-e15f62da8bb9") + ) + (fp_line + (start -1.27 -21.59) + (end -1.27 1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "B.Fab") + (uuid "ba67d73c-ef0f-4076-825d-fb402b9cb4e3") + ) + (fp_line + (start -1.27 1.27) + (end 0.635 1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "B.Fab") + (uuid "0922f057-7c4b-4003-9cc7-6da814c8606e") + ) + (fp_line + (start 0.635 1.27) + (end 1.27 0.635) + (stroke + (width 0.1) + (type solid) + ) + (layer "B.Fab") + (uuid "8a021045-5f7f-4512-8707-3b5edbdd06d1") + ) + (fp_line + (start 1.27 -21.59) + (end -1.27 -21.59) + (stroke + (width 0.1) + (type solid) + ) + (layer "B.Fab") + (uuid "3844286d-8fc9-4616-b726-2acb2568d11d") + ) + (fp_line + (start 1.27 0.635) + (end 1.27 -21.59) + (stroke + (width 0.1) + (type solid) + ) + (layer "B.Fab") + (uuid "b38ceac6-e2ed-462b-933b-468281756fef") + ) + (fp_text user "${REFERENCE}" + (at 0 -10.16 90) + (layer "B.Fab") + (uuid "b07876f3-f5ba-4241-8a2b-705acb755a12") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify mirror) + ) + ) + (pad "1" thru_hole rect + (at 0 0) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+5V") + (pinfunction "Pin_1_1") + (pintype "passive") + (uuid "444933c4-e084-472f-b3bf-05de9c1a0d7c") + ) + (pad "2" thru_hole circle + (at 0 -2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "GND") + (pinfunction "Pin_2_2") + (pintype "passive") + (uuid "380f6c29-afd8-4492-ad27-8f0b6945b69c") + ) + (pad "3" thru_hole circle + (at 0 -5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+3.3V") + (pinfunction "Pin_3_3") + (pintype "passive") + (uuid "2faa2284-c904-4844-b687-db9e2dc08986") + ) + (pad "4" thru_hole circle + (at 0 -7.62) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2C_SDA") + (pinfunction "Pin_4_4") + (pintype "passive") + (uuid "bf854d8d-0206-4a17-8432-5dd2315a7508") + ) + (pad "5" thru_hole circle + (at 0 -10.16) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2C_SCL") + (pinfunction "Pin_5_5") + (pintype "passive") + (uuid "782971df-d4b9-43e3-af10-417338b4854d") + ) + (pad "6" thru_hole circle + (at 0 -12.7) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2S_BCLK") + (pinfunction "Pin_6_6") + (pintype "passive") + (uuid "fe28323e-20cf-42ca-861c-969b10de2f6b") + ) + (pad "7" thru_hole circle + (at 0 -15.24) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2S_LRC") + (pinfunction "Pin_7_7") + (pintype "passive") + (uuid "31f44706-4be4-42c8-92be-3198736b0caa") + ) + (pad "8" thru_hole circle + (at 0 -17.78) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2S_DIN") + (pinfunction "Pin_8_8") + (pintype "passive") + (uuid "456664fb-c776-48a7-be20-ec9a6e4b8315") + ) + (pad "9" thru_hole circle + (at 0 -20.32) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "Net-(J3-Pin_5)") + (pinfunction "Pin_9_9") + (pintype "passive") + (uuid "33b12cf0-d595-4521-90fc-fdffb6fa684c") + ) + (embedded_fonts no) + (model "${KICAD10_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x09_P2.54mm_Vertical.step" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "Connector_PinSocket_2.54mm:PinSocket_1x09_P2.54mm_Vertical" + (layer "B.Cu") + (uuid "f2f5e2be-bc17-434f-a69a-85fb81988b96") + (at 143.63 35.9 180) + (descr "Through hole straight socket strip, 1x09, 2.54mm pitch, single row (from Kicad 4.0.7), script generated") + (tags "Through hole socket strip THT 1x09 2.54mm single row") + (property "Reference" "J5" + (at 0 2.77 0) + (layer "B.SilkS") + (hide yes) + (uuid "a23bef76-920a-4d40-ac79-24c8b210d3e0") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify mirror) + ) + ) + (property "Value" "Conn_ESP32_R" + (at 0 -23.09 0) + (layer "B.Fab") + (uuid "d1ab6338-7ea0-44c7-a34e-aac4b90305e8") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify mirror) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (layer "B.Fab") + (hide yes) + (uuid "dff9efdc-06b0-4d72-bd48-93c4ee8b9560") + (effects + (font + (size 1.27 1.27) + ) + (justify mirror) + ) + ) + (property "Description" "Generic connector, single row, 01x09, script generated" + (at 0 0 0) + (layer "B.Fab") + (hide yes) + (uuid "3d0a3750-677b-4649-95d7-323d5e572ff4") + (effects + (font + (size 1.27 1.27) + ) + (justify mirror) + ) + ) + (property "KiLib_Generator" "connector/pin_header_socket" + (at 0 0 0) + (layer "B.SilkS") + (hide yes) + (uuid "2d55ee36-6672-446c-b4a0-4653acd8cced") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify mirror) + ) + ) + (property "LCSC Part #" "C2897372" + (at 0 0 0) + (unlocked yes) + (layer "B.Fab") + (hide yes) + (uuid "b8700afa-b845-470d-b091-43ef55e8bffb") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify mirror) + ) + ) + (property "FT Rotation Offset" "90" + (at 0 0 0) + (unlocked yes) + (layer "B.Fab") + (hide yes) + (uuid "94c7e599-d99a-44e0-852f-90a609d52744") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify mirror) + ) + ) + (property ki_fp_filters "Connector*:*_1x??_*") + (path "/64059419-3b95-457f-a763-0868cd366632") + (sheetname "/") + (sheetfile "main-control-board.kicad_sch") + (units + (unit + (name "A") + (pins "1" "2" "3" "4" "5" "6" "7" "8" "9") + ) + ) + (attr through_hole) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start 1.33 1.33) + (end 1.33 0) + (stroke + (width 0.12) + (type solid) + ) + (layer "B.SilkS") + (uuid "71bda437-2949-46c3-95a2-afe1f63fa6fc") + ) + (fp_line + (start 1.33 -1.27) + (end 1.33 -21.65) + (stroke + (width 0.12) + (type solid) + ) + (layer "B.SilkS") + (uuid "66dca78a-da3f-4811-b40d-c49b208b1568") + ) + (fp_line + (start 0 1.33) + (end 1.33 1.33) + (stroke + (width 0.12) + (type solid) + ) + (layer "B.SilkS") + (uuid "a380455f-9555-4f9c-aeae-ad28cb129972") + ) + (fp_line + (start -1.33 -1.27) + (end 1.33 -1.27) + (stroke + (width 0.12) + (type solid) + ) + (layer "B.SilkS") + (uuid "261c632f-721b-4ba5-ad84-d8c62f1a50c2") + ) + (fp_line + (start -1.33 -1.27) + (end -1.33 -21.65) + (stroke + (width 0.12) + (type solid) + ) + (layer "B.SilkS") + (uuid "9142b311-79e6-4d69-9c21-f3138b33c2c0") + ) + (fp_line + (start -1.33 -21.65) + (end 1.33 -21.65) + (stroke + (width 0.12) + (type solid) + ) + (layer "B.SilkS") + (uuid "cd4bad9e-0919-4c33-8639-1b57d230f83f") + ) + (fp_line + (start 1.77 1.77) + (end 1.77 -22.09) + (stroke + (width 0.05) + (type solid) + ) + (layer "B.CrtYd") + (uuid "628b7110-8d34-4dac-acd3-5ac58b985481") + ) + (fp_line + (start 1.77 -22.09) + (end -1.77 -22.09) + (stroke + (width 0.05) + (type solid) + ) + (layer "B.CrtYd") + (uuid "afa8da32-9a2f-4ce4-988b-bb96df0e7ebe") + ) + (fp_line + (start -1.77 1.77) + (end 1.77 1.77) + (stroke + (width 0.05) + (type solid) + ) + (layer "B.CrtYd") + (uuid "209bb232-111e-4ae5-9697-8ed992d2b3d5") + ) + (fp_line + (start -1.77 -22.09) + (end -1.77 1.77) + (stroke + (width 0.05) + (type solid) + ) + (layer "B.CrtYd") + (uuid "8235581c-3405-4d36-a5e6-6a18bc533e23") + ) + (fp_line + (start 1.27 0.635) + (end 1.27 -21.59) + (stroke + (width 0.1) + (type solid) + ) + (layer "B.Fab") + (uuid "bea1808d-843e-4e15-8533-0efccf6ad314") + ) + (fp_line + (start 1.27 -21.59) + (end -1.27 -21.59) + (stroke + (width 0.1) + (type solid) + ) + (layer "B.Fab") + (uuid "29205268-3ae7-4d4a-b371-9c18223947c2") + ) + (fp_line + (start 0.635 1.27) + (end 1.27 0.635) + (stroke + (width 0.1) + (type solid) + ) + (layer "B.Fab") + (uuid "03e68324-9771-4d9f-84b8-9adc4a8227eb") + ) + (fp_line + (start -1.27 1.27) + (end 0.635 1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "B.Fab") + (uuid "2a0abd85-7ecf-4c46-afb8-21cc606c2726") + ) + (fp_line + (start -1.27 -21.59) + (end -1.27 1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "B.Fab") + (uuid "c7574cba-ab1a-47c4-b919-eb546cebbc58") + ) + (fp_text user "${REFERENCE}" + (at 0 -10.16 90) + (layer "B.Fab") + (uuid "0ddc1fb6-789c-46ec-96fd-add2f649fbce") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify mirror) + ) + ) + (pad "1" thru_hole rect + (at 0 0 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "Net-(J5-Pin_1)") + (pinfunction "Pin_1_1") + (pintype "passive") + (uuid "0e1b1f0e-da85-4a9a-b7e1-4d9df34a8c0d") + ) + (pad "2" thru_hole circle + (at 0 -2.54 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "Net-(J5-Pin_2)") + (pinfunction "Pin_2_2") + (pintype "passive") + (uuid "aaff683b-717c-4642-b6f9-75a4b96c9701") + ) + (pad "3" thru_hole circle + (at 0 -5.08 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "Net-(J5-Pin_3)") + (pinfunction "Pin_3_3") + (pintype "passive") + (uuid "39a77123-70d8-438b-9a8e-3fb4121bea19") + ) + (pad "4" thru_hole circle + (at 0 -7.62 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "Net-(J5-Pin_4)") + (pinfunction "Pin_4_4") + (pintype "passive") + (uuid "11aa9b7e-d35f-4715-83bb-c0f24d8b3766") + ) + (pad "5" thru_hole circle + (at 0 -10.16 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "Net-(J5-Pin_5)") + (pinfunction "Pin_5_5") + (pintype "passive") + (uuid "5f8a8caf-6dfb-4e0c-ae2b-896c20cbf4e6") + ) + (pad "6" thru_hole circle + (at 0 -12.7 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/USB_D-") + (pinfunction "Pin_6_6") + (pintype "passive") + (uuid "4a0b1570-d575-499a-a774-3e066f5e6560") + ) + (pad "7" thru_hole circle + (at 0 -15.24 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/USB_D+") + (pinfunction "Pin_7_7") + (pintype "passive") + (uuid "57edce98-d972-4e30-86be-9452aa9dbc4d") + ) + (pad "8" thru_hole circle + (at 0 -17.78 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "Net-(J5-Pin_8)") + (pinfunction "Pin_8_8") + (pintype "passive") + (uuid "11f4d447-2c30-4371-81c4-8f2c1ef23f00") + ) + (pad "9" thru_hole circle + (at 0 -20.32 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "Net-(J5-Pin_9)") + (pinfunction "Pin_9_9") + (pintype "passive") + (uuid "32d980d7-1129-4bc6-a3a9-99618d32f22a") + ) + (embedded_fonts no) + (model "${KICAD10_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x09_P2.54mm_Vertical.step" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (gr_rect + (start 151.49 33.01) + (end 213.99 58.41) + (stroke + (width 0.1) + (type default) + ) + (fill no) + (layer "F.SilkS") + (uuid "3ae04d45-ed77-4a34-b7d2-bf5c9d63e740") + ) + (gr_line + (start 223.33 33.43) + (end 239.16 33.43) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "44acf079-95d2-4504-a945-84e51c0f1085") + ) + (gr_line + (start 223.33 51.43) + (end 223.33 33.43) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "7b8266d6-c2a2-466c-b152-199cd98e209d") + ) + (gr_line + (start 239.16 51.43) + (end 223.33 51.43) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "69a42c55-5f15-47cc-89f3-002dc931f5bc") + ) + (gr_poly + (pts + (xy 190.392505 46.907956) (xy 190.297951 46.815007) (xy 190.256312 46.774588) (xy 190.217117 46.738621) + (xy 190.180754 46.70588) (xy 190.146402 46.676397) (xy 190.114065 46.64971) (xy 190.08254 46.625866) + (xy 190.052645 46.604444) (xy 190.022728 46.585061) (xy 189.99324 46.56767) (xy 189.963321 46.551516) + (xy 189.932607 46.536547) (xy 189.900697 46.522409) (xy 189.867552 46.509073) (xy 189.832399 46.495738) + (xy 189.724477 46.456549) (xy 188.635763 46.456948) (xy 187.712738 46.457355) (xy 187.613305 46.551922) + (xy 187.511865 46.648092) (xy 187.408415 46.745098) (xy 187.303346 46.843292) (xy 187.333259 47.006149) + (xy 187.362764 47.169008) (xy 188.925523 47.169008) (xy 190.653177 47.169008) + ) + (stroke + (width 0) + (type solid) + ) + (fill yes) + (layer "B.SilkS") + (uuid "a3e07924-64cf-4259-9231-0855b76b3901") + ) + (gr_poly + (pts + (xy 180.588747 47.162557) (xy 180.589548 47.160941) (xy 180.59076 47.158104) (xy 180.5936 47.147995) + (xy 180.597633 47.133044) (xy 180.602484 47.113658) (xy 180.607744 47.090202) (xy 180.613793 47.06394) + (xy 180.619867 47.035259) (xy 180.626333 47.004935) (xy 180.657048 46.8538) (xy 180.563281 46.766898) + (xy 180.462663 46.672744) (xy 180.352337 46.568479) (xy 180.234738 46.456549) (xy 179.363021 46.457757) + (xy 178.837249 46.459371) (xy 178.490103 46.463006) (xy 178.290057 46.469473) (xy 178.235097 46.47432) + (xy 178.204797 46.479989) (xy 178.167202 46.492508) (xy 178.13043 46.507059) (xy 178.093659 46.522809) + (xy 178.057289 46.540999) (xy 178.020925 46.560815) (xy 177.984122 46.58304) (xy 177.946948 46.607285) + (xy 177.909375 46.634356) (xy 177.870588 46.663869) (xy 177.830968 46.696585) (xy 177.789755 46.731749) + (xy 177.747324 46.770149) (xy 177.703266 46.812166) (xy 177.656791 46.857432) (xy 177.608697 46.905918) + (xy 177.557789 46.958468) (xy 177.365416 47.160539) (xy 179.084174 47.164571) (xy 180.189473 47.165786) + ) + (stroke + (width 0) + (type solid) + ) + (fill yes) + (layer "B.SilkS") + (uuid "31bb577f-334e-4c7f-afe7-8b637cde890d") + ) + (gr_poly + (pts + (xy 185.700568 48.737031) (xy 185.700568 48.582662) (xy 185.614894 48.542243) (xy 185.597104 48.533763) + (xy 185.57974 48.525275) (xy 185.563174 48.516377) (xy 185.547811 48.507492) (xy 185.53408 48.499412) + (xy 185.522355 48.492132) (xy 185.513459 48.485665) (xy 185.509834 48.482844) (xy 185.507006 48.480417) + (xy 185.505391 48.478398) (xy 185.504157 48.475166) (xy 185.502552 48.470707) (xy 185.501332 48.465469) + (xy 185.498514 48.450904) (xy 185.496085 48.430712) (xy 185.494076 48.404434) (xy 185.492442 48.371306) + (xy 185.49083 48.331292) (xy 185.489623 48.28321) (xy 185.487602 48.161549) (xy 185.485985 48.002341) + (xy 185.485584 47.800267) (xy 185.485175 47.551315) (xy 185.485175 46.644056) (xy 185.58864 46.603638) + (xy 185.692495 46.56283) (xy 185.696937 46.393897) (xy 185.70179 46.224556) (xy 185.153786 46.224556) + (xy 184.606196 46.224556) (xy 184.610638 46.392277) (xy 184.61549 46.559581) (xy 184.718937 46.602024) + (xy 184.822393 46.644459) (xy 184.822393 47.558596) (xy 184.822393 48.472734) (xy 184.715307 48.52082) + (xy 184.608222 48.56852) (xy 184.607813 48.730169) (xy 184.607407 48.891417) (xy 185.153786 48.891417) + (xy 185.700568 48.891417) + ) + (stroke + (width 0) + (type solid) + ) + (fill yes) + (layer "B.SilkS") + (uuid "39db4e56-5dfe-474a-bbaf-8206d75a5eac") + ) + (gr_poly + (pts + (xy 179.939713 49.152074) (xy 180.268259 49.145624) (xy 180.332533 49.14116) (xy 180.350318 49.135112) + (xy 180.349918 49.132688) (xy 180.348689 49.128635) (xy 180.347069 49.123393) (xy 180.34425 49.117719) + (xy 180.341018 49.110453) (xy 180.337376 49.102781) (xy 180.328088 49.084581) (xy 180.316777 49.063988) + (xy 180.303845 49.04136) (xy 180.289688 49.017511) (xy 180.274738 48.992442) (xy 180.198755 48.87081) + (xy 180.270299 48.794011) (xy 180.309088 48.753208) (xy 180.362037 48.697432) (xy 180.482462 48.572557) + (xy 180.6231 48.427868) (xy 178.477975 48.428697) (xy 176.635155 48.433943) (xy 176.237895 48.440816) + (xy 176.138465 48.445258) (xy 176.092819 48.450498) (xy 176.054012 48.462219) (xy 176.015621 48.475976) + (xy 175.977644 48.491326) (xy 175.939636 48.508704) (xy 175.901254 48.528507) (xy 175.862463 48.550728) + (xy 175.823259 48.575784) (xy 175.782848 48.603685) (xy 175.741628 48.633977) (xy 175.698781 48.667931) + (xy 175.654325 48.704702) (xy 175.608277 48.745522) (xy 175.559765 48.789577) (xy 175.509247 48.837261) + (xy 175.455905 48.889393) (xy 175.400128 48.945164) (xy 175.212216 49.135112) (xy 175.392865 49.146023) + (xy 175.657574 49.15006) (xy 176.245979 49.153689) (xy 178.044356 49.156531) + ) + (stroke + (width 0) + (type solid) + ) + (fill yes) + (layer "B.SilkS") + (uuid "996cc6c8-b7b2-4eee-8c7f-eef086a553bf") + ) + (gr_poly + (pts + (xy 191.992459 49.150867) (xy 192.787784 49.140758) (xy 192.786171 49.137936) (xy 192.782123 49.133093) + (xy 192.76798 49.116515) (xy 192.746156 49.092676) (xy 192.717873 49.062757) (xy 192.684322 49.027194) + (xy 192.645542 48.987194) (xy 192.603506 48.943954) (xy 192.558243 48.89829) (xy 192.477814 48.818259) + (xy 192.405486 48.749161) (xy 192.371947 48.718449) (xy 192.339604 48.690159) (xy 192.308885 48.663895) + (xy 192.278994 48.64005) (xy 192.250292 48.617828) (xy 192.222814 48.597612) (xy 192.195746 48.578623) + (xy 192.169062 48.561648) (xy 192.14279 48.546298) (xy 192.116529 48.531737) (xy 192.090653 48.518811) + (xy 192.064396 48.506678) (xy 192.032463 48.492132) (xy 192.017514 48.485665) (xy 192.002964 48.480015) + (xy 191.987599 48.474346) (xy 191.971447 48.469102) (xy 191.953665 48.46426) (xy 191.933863 48.460208) + (xy 191.911227 48.456173) (xy 191.88618 48.452538) (xy 191.857075 48.449292) (xy 191.823932 48.446074) + (xy 191.786355 48.44324) (xy 191.743506 48.440816) (xy 191.695016 48.438788) (xy 191.640459 48.436767) + (xy 191.579448 48.435152) (xy 191.511132 48.433943) (xy 191.350693 48.431521) (xy 191.155092 48.429901) + (xy 190.920709 48.429099) (xy 190.643477 48.428273) (xy 190.318554 48.428273) (xy 189.510707 48.427868) + (xy 187.365581 48.427868) (xy 187.580575 48.643688) (xy 187.795577 48.859889) (xy 187.72445 48.993655) + (xy 187.710312 49.020743) (xy 187.697386 49.046195) (xy 187.686474 49.070037) (xy 187.677175 49.091053) + (xy 187.669897 49.108827) (xy 187.665051 49.122987) (xy 187.663434 49.128635) (xy 187.663042 49.132688) + (xy 187.663042 49.135916) (xy 187.663042 49.137129) (xy 187.663434 49.137528) (xy 188.472903 49.148447) + (xy 190.234912 49.153287) + ) + (stroke + (width 0) + (type solid) + ) + (fill yes) + (layer "B.SilkS") + (uuid "374ccecc-dbf1-49fe-a999-6f9e8a768c4d") + ) + (gr_poly + (pts + (xy 184.114774 50.201595) (xy 184.289753 50.187854) (xy 184.463534 50.163616) (xy 184.635699 50.128456) + (xy 184.805433 50.08319) (xy 184.973141 50.027828) (xy 185.138035 49.961943) (xy 185.299284 49.885981) + (xy 185.456883 49.79989) (xy 185.610055 49.703716) (xy 185.757955 49.597839) (xy 185.855761 49.519429) + (xy 185.950331 49.434969) (xy 186.041257 49.344851) (xy 186.128553 49.249877) (xy 186.211802 49.150459) + (xy 186.291016 49.046602) (xy 186.365369 48.939101) (xy 186.435284 48.827973) (xy 186.500353 48.713602) + (xy 186.560158 48.597209) (xy 186.61432 48.477994) (xy 186.662809 48.357553) (xy 186.705653 48.235519) + (xy 186.742017 48.11225) (xy 186.772317 47.988587) (xy 186.795762 47.864531) (xy 186.801426 47.823708) + (xy 186.806668 47.778846) (xy 186.813548 47.67904) (xy 186.817579 47.569504) (xy 186.817985 47.456346) + (xy 186.814753 47.344421) (xy 186.808694 47.238919) (xy 186.799409 47.145574) (xy 186.793738 47.105166) + (xy 186.786886 47.06961) (xy 186.7695 46.991204) (xy 186.750904 46.914406) (xy 186.730705 46.840062) + (xy 186.709685 46.767721) (xy 186.687854 46.697802) (xy 186.664824 46.631129) (xy 186.640985 46.566865) + (xy 186.61633 46.506253) (xy 186.540348 46.342578) (xy 186.454682 46.185366) (xy 186.359315 46.03503) + (xy 186.255039 45.891575) (xy 186.142294 45.755774) (xy 186.02064 45.627271) (xy 185.891324 45.50683) + (xy 185.754322 45.39448) (xy 185.609654 45.29022) (xy 185.458491 45.195249) (xy 185.30049 45.108779) + (xy 185.13642 45.031986) (xy 184.96628 44.964494) (xy 184.790885 44.907105) (xy 184.610229 44.859423) + (xy 184.425148 44.822241) (xy 184.339461 44.810525) (xy 184.240458 44.801631) (xy 184.132966 44.795175) + (xy 184.021419 44.791523) (xy 183.910281 44.790719) (xy 183.804798 44.79314) (xy 183.70984 44.798806) + (xy 183.667802 44.802443) (xy 183.629821 44.807296) (xy 183.500912 44.828698) (xy 183.373198 44.854977) + (xy 183.24752 44.886083) (xy 183.12425 44.922071) (xy 183.004231 44.962476) (xy 182.888249 45.007333) + (xy 182.83167 45.031179) (xy 182.77629 45.056229) (xy 182.722141 45.082493) (xy 182.669206 45.109176) + (xy 182.523715 45.190408) (xy 182.384694 45.278095) (xy 182.252139 45.371447) (xy 182.126465 45.470863) + (xy 182.007639 45.575942) (xy 181.895303 45.686683) (xy 181.790619 45.802667) (xy 181.692825 45.92429) + (xy 181.602298 46.050381) (xy 181.51905 46.181741) (xy 181.443877 46.317931) (xy 181.375996 46.458564) + (xy 181.315766 46.603236) (xy 181.264055 46.752758) (xy 181.219996 46.905918) (xy 181.184025 47.063133) + (xy 181.176352 47.107589) (xy 181.169492 47.156078) (xy 181.163828 47.208225) (xy 181.15978 47.263586) + (xy 181.154116 47.380783) (xy 181.153315 47.464442) (xy 181.594615 47.464442) (xy 181.597466 47.358156) + (xy 181.600683 47.306822) (xy 181.604719 47.257526) (xy 181.610386 47.210648) (xy 181.616849 47.166998) + (xy 181.632617 47.083749) (xy 181.652003 46.998481) (xy 181.675443 46.912393) (xy 181.701724 46.826735) + (xy 181.730401 46.743052) (xy 181.761533 46.662635) (xy 181.794269 46.58707) (xy 181.81083 46.551922) + (xy 181.828211 46.517969) (xy 181.898936 46.382172) (xy 181.903779 46.46583) (xy 181.908638 46.549502) + (xy 182.011288 46.600408) (xy 182.114345 46.651727) (xy 182.208497 46.922501) (xy 182.417036 47.516958) + (xy 182.934314 47.516958) (xy 182.934314 47.515751) (xy 182.935119 47.514945) (xy 182.936741 47.514143) + (xy 182.93876 47.513338) (xy 182.944006 47.511318) (xy 182.951694 47.509699) (xy 182.960989 47.508489) + (xy 182.972703 47.506878) (xy 182.986436 47.505653) (xy 183.001796 47.504439) (xy 183.019583 47.503628) + (xy 183.038989 47.502823) (xy 183.08304 47.501212) (xy 183.134356 47.500409) (xy 183.19215 47.5) + (xy 183.271357 47.500409) (xy 183.332377 47.500806) (xy 183.377637 47.502419) (xy 183.394621 47.50323) + (xy 183.40876 47.504439) (xy 183.420075 47.506073) (xy 183.428551 47.508082) (xy 183.435027 47.510516) + (xy 183.439066 47.513338) (xy 183.441499 47.516561) (xy 183.442313 47.520215) (xy 183.442313 47.524248) + (xy 183.441097 47.529108) (xy 183.319045 47.924339) (xy 183.239826 48.170853) (xy 183.213569 48.245627) + (xy 183.194567 48.292097) (xy 183.187709 48.305433) (xy 183.182443 48.313104) (xy 183.178412 48.315135) + (xy 183.175985 48.311886) (xy 183.126677 48.158322) (xy 183.045037 47.891604) (xy 182.968263 47.636598) + (xy 182.934314 47.516958) (xy 182.417036 47.516958) (xy 182.52896 47.836639) (xy 182.686979 48.292503) + (xy 182.733856 48.43233) (xy 182.74599 48.470707) (xy 182.749226 48.484852) (xy 182.748407 48.485665) + (xy 182.746384 48.486889) (xy 182.740335 48.490527) (xy 182.731436 48.495365) (xy 182.719717 48.501434) + (xy 182.691037 48.516377) (xy 182.656684 48.533763) (xy 182.569787 48.577401) (xy 182.569787 48.734612) + (xy 182.569787 48.891417) (xy 183.215583 48.891417) (xy 183.86179 48.891417) (xy 183.86179 48.737843) + (xy 183.86179 48.583871) (xy 183.770858 48.539011) (xy 183.752275 48.529716) (xy 183.735296 48.520418) + (xy 183.719946 48.511135) (xy 183.706202 48.502242) (xy 183.700541 48.498204) (xy 183.695294 48.494153) + (xy 183.690431 48.490527) (xy 183.686809 48.487295) (xy 183.683575 48.484047) (xy 183.681543 48.481224) + (xy 183.679929 48.478801) (xy 183.679523 48.477994) (xy 183.679523 48.476781) (xy 183.68317 48.462627) + (xy 183.694069 48.428697) (xy 183.733678 48.310284) (xy 183.791872 48.139733) (xy 183.863402 47.934439) + (xy 183.986662 47.577196) (xy 184.113565 47.201346) (xy 184.220246 46.878044) (xy 184.283303 46.678012) + (xy 184.284107 46.67558) (xy 184.284921 46.673554) (xy 184.286124 46.671535) (xy 184.287336 46.669108) + (xy 184.288547 46.667091) (xy 184.29016 46.664671) (xy 184.291775 46.66224) (xy 184.293798 46.660217) + (xy 184.295824 46.657798) (xy 184.29785 46.655371) (xy 184.300267 46.653359) (xy 184.302689 46.650915) + (xy 184.308357 46.646075) (xy 184.314406 46.641638) (xy 184.320886 46.636772) (xy 184.328145 46.631938) + (xy 184.336233 46.627076) (xy 184.344724 46.622239) (xy 184.353621 46.617372) (xy 184.363307 46.61294) + (xy 184.373409 46.608097) (xy 184.383922 46.603236) (xy 184.47404 46.564033) (xy 184.474442 46.394304) + (xy 184.474845 46.224556) (xy 183.977778 46.224556) (xy 183.480697 46.224556) (xy 183.480697 46.388249) + (xy 183.480697 46.551516) (xy 183.584553 46.588688) (xy 183.605576 46.596376) (xy 183.625375 46.604038) + (xy 183.643965 46.61132) (xy 183.660539 46.618193) (xy 183.674674 46.62425) (xy 183.685999 46.629512) + (xy 183.694069 46.633553) (xy 183.696502 46.635165) (xy 183.698118 46.636376) (xy 183.698524 46.642447) + (xy 183.696107 46.656586) (xy 183.685187 46.704674) (xy 183.667802 46.771357) (xy 183.646379 46.846916) + (xy 183.624152 46.923306) (xy 183.603556 46.990394) (xy 183.586982 47.039291) (xy 183.580924 47.054243) + (xy 183.576873 47.061115) (xy 183.571225 47.062321) (xy 183.557085 47.06394) (xy 183.507361 47.066363) + (xy 183.346518 47.07082) (xy 183.150113 47.073237) (xy 183.055549 47.073237) (xy 182.972302 47.072427) + (xy 182.786806 47.06961) (xy 182.718917 46.85987) (xy 182.701124 46.804497) (xy 182.686979 46.758425) + (xy 182.676476 46.721235) (xy 182.669618 46.691748) (xy 182.667182 46.68002) (xy 182.665561 46.669517) + (xy 182.664745 46.66102) (xy 182.664745 46.653758) (xy 182.665561 46.647693) (xy 182.666774 46.643253) + (xy 182.668811 46.6396) (xy 182.671632 46.637178) (xy 182.674049 46.635972) (xy 182.677682 46.633948) + (xy 182.68779 46.629914) (xy 182.701124 46.625063) (xy 182.716891 46.619413) (xy 182.735067 46.613339) + (xy 182.754478 46.607285) (xy 182.775493 46.600811) (xy 182.796911 46.594335) (xy 182.90118 46.564444) + (xy 182.90118 46.394711) (xy 182.90118 46.224556) (xy 182.462295 46.224556) (xy 182.291747 46.223757) + (xy 182.151919 46.221333) (xy 182.057767 46.218108) (xy 182.032288 46.216089) (xy 182.025427 46.214879) + (xy 182.023009 46.213652) (xy 182.023414 46.210824) (xy 182.024623 46.207593) (xy 182.029462 46.198296) + (xy 182.036741 46.186176) (xy 182.046846 46.172027) (xy 182.059377 46.15546) (xy 182.073522 46.136873) + (xy 182.09008 46.116671) (xy 182.10787 46.095242) (xy 182.147871 46.04958) (xy 182.19192 46.001486) + (xy 182.214559 45.97724) (xy 182.2376 45.953398) (xy 182.260627 45.930362) (xy 182.283255 45.907734) + (xy 182.358033 45.838227) (xy 182.435609 45.771946) (xy 182.516027 45.709307) (xy 182.599295 45.649503) + (xy 182.684959 45.593323) (xy 182.772668 45.540785) (xy 182.86237 45.49148) (xy 182.954518 45.446225) + (xy 183.047863 45.404587) (xy 183.143253 45.366604) (xy 183.239826 45.332657) (xy 183.337637 45.302758) + (xy 183.436239 45.276884) (xy 183.536055 45.255055) (xy 183.636693 45.237683) (xy 183.737715 45.224758) + (xy 183.764801 45.22233) (xy 183.797925 45.2207) (xy 183.877544 45.219901) (xy 183.970496 45.221108) + (xy 184.070321 45.224758) (xy 184.171351 45.230401) (xy 184.266722 45.237286) (xy 184.350777 45.245776) + (xy 184.416655 45.255055) (xy 184.474442 45.266367) (xy 184.532642 45.279719) (xy 184.591636 45.29467) + (xy 184.651457 45.311637) (xy 184.711272 45.330235) (xy 184.771083 45.350842) (xy 184.830892 45.37267) + (xy 184.890695 45.396511) (xy 184.950103 45.421566) (xy 185.008704 45.447835) (xy 185.066887 45.475728) + (xy 185.123873 45.504815) (xy 185.180051 45.535127) (xy 185.235024 45.566236) (xy 185.288768 45.598974) + (xy 185.340494 45.632118) (xy 185.380105 45.659585) (xy 185.421721 45.691112) (xy 185.465372 45.725462) + (xy 185.510232 45.763047) (xy 185.555893 45.803465) (xy 185.601965 45.845507) (xy 185.648447 45.889135) + (xy 185.694112 45.934398) (xy 185.739373 45.980471) (xy 185.783423 46.026946) (xy 185.825854 46.073011) + (xy 185.866266 46.119083) (xy 185.90385 46.164352) (xy 185.939014 46.207996) (xy 185.970538 46.250037) + (xy 185.998817 46.290036) (xy 186.067114 46.39876) (xy 186.128957 46.509073) (xy 186.184314 46.621428) + (xy 186.232419 46.735395) (xy 186.274031 46.850564) (xy 186.308381 46.966961) (xy 186.336278 47.084553) + (xy 186.356876 47.202966) (xy 186.371034 47.321795) (xy 186.377893 47.441404) (xy 186.377893 47.561015) + (xy 186.370627 47.680654) (xy 186.356475 47.800267) (xy 186.33545 47.919879) (xy 186.307175 48.038709) + (xy 186.271605 48.157116) (xy 186.216642 48.306236) (xy 186.151594 48.450498) (xy 186.077221 48.589127) + (xy 185.993969 48.721685) (xy 185.902229 48.84818) (xy 185.802411 48.968201) (xy 185.694521 49.081751) + (xy 185.579341 49.187631) (xy 185.456883 49.286252) (xy 185.327973 49.376781) (xy 185.192578 49.459622) + (xy 185.051136 49.533976) (xy 184.904033 49.599048) (xy 184.752082 49.655625) (xy 184.595293 49.702498) + (xy 184.433637 49.739676) (xy 184.387161 49.748169) (xy 184.337033 49.755448) (xy 184.284511 49.761511) + (xy 184.22955 49.766777) (xy 184.114774 49.774031) (xy 183.995966 49.776855) (xy 183.877136 49.77564) + (xy 183.76156 49.769993) (xy 183.706202 49.765542) (xy 183.653254 49.760293) (xy 183.602753 49.753815) + (xy 183.555455 49.746156) (xy 183.459273 49.72675) (xy 183.364714 49.704115) (xy 183.271357 49.677451) + (xy 183.179617 49.647543) (xy 183.089097 49.614399) (xy 183.000588 49.577221) (xy 182.913302 49.536818) + (xy 182.828021 49.492771) (xy 182.74437 49.445482) (xy 182.662739 49.394955) (xy 182.582724 49.341215) + (xy 182.504715 49.283834) (xy 182.428747 49.223198) (xy 182.354783 49.159356) (xy 182.282852 49.092266) + (xy 182.213343 49.022355) (xy 182.161214 48.966177) (xy 182.111907 48.909195) (xy 182.064626 48.851004) + (xy 182.019359 48.791598) (xy 181.976536 48.730981) (xy 181.935709 48.668736) (xy 181.89732 48.605696) + (xy 181.860952 48.540629) (xy 181.8266 48.474346) (xy 181.794269 48.406869) (xy 181.763952 48.337365) + (xy 181.735674 48.266214) (xy 181.709388 48.193485) (xy 181.684735 48.118731) (xy 181.662104 48.042345) + (xy 181.641513 47.963945) (xy 181.632617 47.923535) (xy 181.624125 47.87988) (xy 181.616849 47.833411) + (xy 181.610789 47.784511) (xy 181.605534 47.733586) (xy 181.601089 47.681061) (xy 181.595842 47.573145) + (xy 181.594615 47.464442) (xy 181.153315 47.464442) (xy 181.152909 47.50323) (xy 181.156543 47.625687) + (xy 181.164221 47.743282) (xy 181.169492 47.798654) (xy 181.175946 47.851176) (xy 181.18363 47.900495) + (xy 181.19212 47.944951) (xy 181.224032 48.077901) (xy 181.26082 48.208023) (xy 181.302841 48.334922) + (xy 181.350121 48.458187) (xy 181.402263 48.578623) (xy 181.459652 48.695825) (xy 181.521876 48.808963) + (xy 181.58896 48.919299) (xy 181.660897 49.025588) (xy 181.737683 49.128238) (xy 181.819317 49.226852) + (xy 181.905392 49.322218) (xy 181.996331 49.413153) (xy 182.091707 49.50003) (xy 182.19192 49.583289) + (xy 182.296598 49.662083) (xy 182.330537 49.685523) (xy 182.370152 49.710999) (xy 182.461085 49.765941) + (xy 182.564543 49.823737) (xy 182.674049 49.881928) (xy 182.78519 49.936889) (xy 182.891474 49.986608) + (xy 182.988053 50.028231) (xy 183.030898 50.044808) (xy 183.069288 50.058545) (xy 183.241036 50.10986) + (xy 183.414012 50.149879) (xy 183.588597 50.178969) (xy 183.763997 50.197159) (xy 183.939381 50.204825) + ) + (stroke + (width 0) + (type solid) + ) + (fill yes) + (layer "B.SilkS") + (uuid "3dcbd66b-932b-4202-8100-17260a6280b0") + ) + (gr_poly + (pts + (xy 184.043247 51.124626) (xy 184.099019 51.123417) (xy 184.151954 51.122214) (xy 184.20004 51.119785) + (xy 184.41948 51.108066) (xy 184.499898 50.8571) (xy 184.542345 50.725756) (xy 184.574277 50.628357) + (xy 184.588007 50.59078) (xy 184.600531 50.55925) (xy 184.61225 50.533795) (xy 184.623566 50.513186) + (xy 184.634885 50.496616) (xy 184.647412 50.484093) (xy 184.660743 50.473988) (xy 184.675308 50.466299) + (xy 184.691865 50.459845) (xy 184.711272 50.454184) (xy 184.758149 50.442459) (xy 184.78522 50.43518) + (xy 184.81594 50.426701) (xy 184.883027 50.406897) (xy 184.950904 50.385482) (xy 184.982844 50.374969) + (xy 185.011545 50.365272) (xy 185.142467 50.319193) (xy 185.388983 50.525709) (xy 185.635112 50.732621) + (xy 185.779778 50.645747) (xy 185.858983 50.597658) (xy 185.941021 50.545508) (xy 186.022253 50.492971) + (xy 186.097839 50.442459) (xy 186.164113 50.397199) (xy 186.216642 50.359616) (xy 186.251398 50.332545) + (xy 186.260702 50.324054) (xy 186.263922 50.319193) (xy 186.261905 50.31112) (xy 186.257068 50.292531) + (xy 186.239275 50.229493) (xy 186.21301 50.138963) (xy 186.181076 50.031054) (xy 186.14875 49.923155) + (xy 186.122485 49.832226) (xy 186.104697 49.767982) (xy 186.099852 49.748982) (xy 186.098237 49.740489) + (xy 186.098237 49.739275) (xy 186.099048 49.737668) (xy 186.101472 49.734027) (xy 186.10552 49.728366) + (xy 186.110769 49.721499) (xy 186.117648 49.713421) (xy 186.125714 49.703716) (xy 186.145525 49.681894) + (xy 186.169366 49.656031) (xy 186.196833 49.62733) (xy 186.22675 49.596221) (xy 186.259489 49.563483) + (xy 186.420331 49.402229) (xy 186.718986 49.462852) (xy 186.937215 49.507711) (xy 187.043505 49.530739) + (xy 187.045106 49.531147) (xy 187.047131 49.531147) (xy 187.04914 49.531147) (xy 187.051181 49.530342) + (xy 187.053201 49.52954) (xy 187.055617 49.528323) (xy 187.058039 49.527116) (xy 187.060467 49.525497) + (xy 187.063303 49.523464) (xy 187.065726 49.521042) (xy 187.068957 49.51822) (xy 187.071779 49.515399) + (xy 187.075031 49.512145) (xy 187.078251 49.50852) (xy 187.081482 49.504481) (xy 187.085109 49.50003) + (xy 187.092388 49.490742) (xy 187.100485 49.479833) (xy 187.108976 49.467712) (xy 187.118254 49.453955) + (xy 187.127948 49.438606) (xy 187.138458 49.422046) (xy 187.149781 49.40426) (xy 187.161499 49.384453) + (xy 187.285568 49.175517) (xy 187.33366 49.092266) (xy 187.372445 49.023158) (xy 187.401954 48.967792) + (xy 187.422577 48.926175) (xy 187.433888 48.89788) (xy 187.43631 48.888983) (xy 187.436719 48.883329) + (xy 187.435905 48.881721) (xy 187.4351 48.879709) (xy 187.430652 48.874034) (xy 187.424586 48.865949) + (xy 187.416101 48.855857) (xy 187.393468 48.829983) (xy 187.363975 48.797244) (xy 187.328816 48.758859) + (xy 187.288398 48.716014) (xy 187.244341 48.669539) (xy 187.197058 48.621045) (xy 186.962671 48.380587) + (xy 187.012776 48.209657) (xy 187.068142 48.019303) (xy 187.068957 48.018099) (xy 187.070575 48.017282) + (xy 187.077038 48.015273) (xy 187.086341 48.01365) (xy 187.098461 48.01243) (xy 187.12917 48.009606) + (xy 187.164324 48.007988) (xy 187.200294 48.006782) (xy 187.232621 48.006379) (xy 187.258072 48.00718) + (xy 187.266573 48.007582) (xy 187.271831 48.008397) (xy 187.274255 48.009197) (xy 187.276669 48.009606) + (xy 187.278693 48.010408) (xy 187.280714 48.011614) (xy 187.282742 48.01243) (xy 187.284765 48.01365) + (xy 187.28638 48.014866) (xy 187.287997 48.016074) (xy 187.2896 48.017282) (xy 187.291218 48.018901) + (xy 187.292836 48.020115) (xy 187.29406 48.022132) (xy 187.295678 48.023749) (xy 187.296882 48.025788) + (xy 187.298105 48.02779) (xy 187.299313 48.029815) (xy 187.300118 48.032237) (xy 187.301324 48.034657) + (xy 187.30214 48.037097) (xy 187.303346 48.039916) (xy 187.304151 48.042749) (xy 187.304975 48.045968) + (xy 187.305381 48.049215) (xy 187.306185 48.052448) (xy 187.306989 48.056076) (xy 187.307394 48.059727) + (xy 187.308606 48.067793) (xy 187.309415 48.076288) (xy 187.310222 48.085988) (xy 187.315067 48.154297) + (xy 189.423408 48.158733) (xy 191.029009 48.15792) (xy 191.517615 48.154689) (xy 191.697026 48.149832) + (xy 191.696635 48.149025) (xy 191.695823 48.147412) (xy 191.691788 48.142162) (xy 191.685718 48.134885) + (xy 191.676845 48.125184) (xy 191.653389 48.100124) (xy 191.622285 48.067793) (xy 191.584697 48.029815) + (xy 191.541855 47.986165) (xy 191.494174 47.939285) (xy 191.442834 47.88918) (xy 191.351907 47.801077) + (xy 191.311095 47.763087) (xy 191.272696 47.728333) (xy 191.237132 47.697211) (xy 191.203185 47.668526) + (xy 191.170865 47.642648) (xy 191.139741 47.619217) (xy 191.109434 47.597796) (xy 191.079537 47.578403) + (xy 191.050025 47.560619) (xy 191.01973 47.544056) (xy 190.989007 47.528684) (xy 190.957473 47.513735) + (xy 190.924348 47.499591) (xy 190.889184 47.485452) (xy 190.777648 47.442208) (xy 188.929148 47.437769) + (xy 187.080275 47.433314) (xy 187.070575 47.294694) (xy 187.065318 47.234493) (xy 187.057634 47.176696) + (xy 187.047935 47.120518) (xy 187.042689 47.093448) (xy 187.03622 47.066363) (xy 187.029759 47.040094) + (xy 187.022479 47.014243) (xy 187.014796 46.988781) (xy 187.006325 46.963728) (xy 186.997433 46.939066) + (xy 186.988129 46.915222) (xy 186.978427 46.891371) (xy 186.967916 46.867936) (xy 186.959442 46.849769) + (xy 186.951757 46.831171) (xy 186.944882 46.813378) (xy 186.938835 46.796003) (xy 186.933562 46.780658) + (xy 186.929935 46.766898) (xy 186.928323 46.761249) (xy 186.92752 46.756002) (xy 186.926701 46.751142) + (xy 186.926299 46.74752) (xy 186.926701 46.745503) (xy 186.927917 46.742651) (xy 186.93155 46.735795) + (xy 186.937624 46.726501) (xy 186.945697 46.71478) (xy 186.9566 46.701446) (xy 186.969129 46.685675) + (xy 186.984093 46.668304) (xy 187.001059 46.649308) (xy 187.040271 46.606073) (xy 187.08674 46.556355) + (xy 187.140079 46.500989) (xy 187.199084 46.441176) (xy 187.471872 46.166774) (xy 187.359521 45.967948) + (xy 187.280714 45.830537) (xy 187.193824 45.682222) (xy 187.121096 45.559377) (xy 187.096425 45.519359) + (xy 187.083497 45.499559) (xy 187.081482 45.499559) (xy 187.076242 45.49997) (xy 187.056424 45.502792) + (xy 187.025709 45.507639) (xy 186.985298 45.514518) (xy 186.880631 45.532695) (xy 186.75374 45.556135) + (xy 186.42759 45.617573) (xy 186.262714 45.453501) (xy 186.22957 45.419949) (xy 186.198866 45.388429) + (xy 186.170973 45.358923) (xy 186.146329 45.332249) (xy 186.126123 45.309619) (xy 186.111166 45.291438) + (xy 186.10552 45.284164) (xy 186.101472 45.278501) (xy 186.099048 45.274064) (xy 186.098237 45.271634) + (xy 186.098647 45.267994) (xy 186.099852 45.261934) (xy 186.104697 45.241324) (xy 186.122887 45.172217) + (xy 186.149553 45.074424) (xy 186.182294 44.958032) (xy 186.198866 44.898612) (xy 186.213421 44.842457) + (xy 186.22675 44.791523) (xy 186.237256 44.746664) (xy 186.245349 44.709085) (xy 186.250999 44.679989) + (xy 186.253012 44.660591) (xy 186.253012 44.655322) (xy 186.252206 44.652909) (xy 186.163313 44.591081) + (xy 186.066715 44.526815) (xy 185.967712 44.462567) (xy 185.871919 44.402749) (xy 185.784644 44.349813) + (xy 185.711878 44.307777) (xy 185.659356 44.279902) (xy 185.642375 44.272624) (xy 185.632288 44.269797) + (xy 185.631059 44.270201) (xy 185.629444 44.271006) (xy 185.624201 44.274244) (xy 185.616515 44.279496) + (xy 185.606818 44.286356) (xy 185.581751 44.305764) (xy 185.549832 44.331218) (xy 185.512248 44.361945) + (xy 185.469803 44.397502) (xy 185.423744 44.436293) (xy 185.37525 44.477928) (xy 185.135599 44.686049) + (xy 185.024471 44.64928) (xy 184.999412 44.641185) (xy 184.970313 44.631898) (xy 184.904834 44.612512) + (xy 184.836131 44.593509) (xy 184.772695 44.576941) (xy 184.632064 44.541378) (xy 184.525788 44.217258) + (xy 184.419076 43.893545) (xy 184.285322 43.883039) (xy 184.217012 43.878998) (xy 184.133778 43.876583) + (xy 184.041632 43.875374) (xy 183.946248 43.875374) (xy 183.853297 43.876583) (xy 183.769239 43.878998) + (xy 183.698923 43.88264) (xy 183.648414 43.887488) (xy 183.576063 43.897197) (xy 183.472606 44.219688) + (xy 183.369145 44.542189) (xy 183.280257 44.5636) (xy 183.232156 44.576135) (xy 183.167498 44.594311) + (xy 183.094335 44.615323) (xy 183.021602 44.637557) (xy 182.851858 44.68928) (xy 182.723348 44.574915) + (xy 182.561303 44.431858) (xy 182.500273 44.379307) (xy 182.45098 44.337697) (xy 182.412578 44.306971) + (xy 182.384287 44.285957) (xy 182.365296 44.273832) (xy 182.35884 44.271006) (xy 182.353977 44.269797) + (xy 182.351553 44.270201) (xy 182.347926 44.271006) (xy 182.339438 44.273832) (xy 182.328119 44.278699) + (xy 182.31398 44.285146) (xy 182.2974 44.294043) (xy 182.278015 44.304552) (xy 182.255774 44.317485) + (xy 182.230728 44.332023) (xy 182.172536 44.367589) (xy 182.102615 44.410828) (xy 182.020969 44.462973) + (xy 181.927223 44.523184) (xy 181.876306 44.556725) (xy 181.833455 44.585821) (xy 181.799106 44.610488) + (xy 181.772037 44.631487) (xy 181.761129 44.640384) (xy 181.752226 44.648466) (xy 181.744961 44.656139) + (xy 181.739298 44.662613) (xy 181.734856 44.668279) (xy 181.732426 44.673522) (xy 181.731215 44.677961) + (xy 181.731624 44.682015) (xy 181.806389 44.951559) (xy 181.833864 45.048963) (xy 181.858517 45.135033) + (xy 181.877915 45.20011) (xy 181.889231 45.235271) (xy 181.890449 45.238902) (xy 181.891652 45.242527) + (xy 181.892461 45.245776) (xy 181.893272 45.249001) (xy 181.893672 45.252226) (xy 181.893672 45.25586) + (xy 181.893672 45.259111) (xy 181.893272 45.262744) (xy 181.892461 45.265973) (xy 181.891249 45.270026) + (xy 181.889637 45.27365) (xy 181.88802 45.278095) (xy 181.885601 45.282142) (xy 181.883168 45.28699) + (xy 181.87994 45.29185) (xy 181.876306 45.297093) (xy 181.87187 45.302334) (xy 181.867412 45.308411) + (xy 181.862153 45.314886) (xy 181.856496 45.321343) (xy 181.85004 45.328619) (xy 181.843163 45.336283) + (xy 181.827406 45.353671) (xy 181.80921 45.37267) (xy 181.788198 45.39448) (xy 181.763952 45.419155) + (xy 181.736477 45.447021) (xy 181.568354 45.617169) (xy 181.241416 45.553303) (xy 181.113718 45.528659) + (xy 181.00824 45.510063) (xy 180.935894 45.49876) (xy 180.915292 45.496331) (xy 180.909626 45.496331) + (xy 180.907204 45.496729) (xy 180.884977 45.531487) (xy 180.839307 45.609082) (xy 180.712003 45.83419) + (xy 180.589548 46.056454) (xy 180.550352 46.130806) (xy 180.539438 46.152228) (xy 180.536212 46.161121) + (xy 180.562883 46.191037) (xy 180.629161 46.260544) (xy 180.828803 46.464216) (xy 181.02763 46.663448) + (xy 181.093905 46.727712) (xy 181.112908 46.745503) (xy 181.119764 46.750745) (xy 181.121384 46.74711) + (xy 181.124626 46.738621) (xy 181.135941 46.708708) (xy 181.151295 46.665881) (xy 181.16989 46.613735) + (xy 181.223228 46.474725) (xy 181.282626 46.339336) (xy 181.348507 46.207996) (xy 181.420841 46.081099) + (xy 181.499244 45.958245) (xy 181.583719 45.83983) (xy 181.674234 45.725868) (xy 181.77043 45.616366) + (xy 181.87267 45.511692) (xy 181.980571 45.41146) (xy 182.093732 45.316099) (xy 182.212938 45.225969) + (xy 182.337411 45.140285) (xy 182.467536 45.059863) (xy 182.602928 44.984699) (xy 182.743159 44.914787) + (xy 182.857933 44.864684) (xy 182.975529 44.819418) (xy 183.095967 44.779408) (xy 183.219214 44.74465) + (xy 183.344499 44.715157) (xy 183.471394 44.691306) (xy 183.59991 44.672711) (xy 183.729645 44.659383) + (xy 183.860175 44.651692) (xy 183.991102 44.64928) (xy 184.122456 44.652501) (xy 184.253387 44.660994) + (xy 184.383922 44.675135) (xy 184.51365 44.694945) (xy 184.642162 44.719996) (xy 184.76947 44.751119) + (xy 184.977591 44.814556) (xy 185.178435 44.891748) (xy 185.371614 44.982278) (xy 185.556709 45.085741) + (xy 185.732901 45.200916) (xy 185.899819 45.32781) (xy 186.057018 45.465216) (xy 186.203716 45.613113) + (xy 186.339511 45.770325) (xy 186.463577 45.936826) (xy 186.575914 46.11182) (xy 186.675334 46.294477) + (xy 186.761412 46.48483) (xy 186.834165 46.681229) (xy 186.892355 46.884116) (xy 186.915789 46.98757) + (xy 186.935591 47.092239) (xy 186.942459 47.137502) (xy 186.947728 47.187609) (xy 186.955389 47.300369) + (xy 186.958215 47.424422) (xy 186.957415 47.553752) (xy 186.952159 47.68227) (xy 186.942861 47.804306) + (xy 186.92953 47.914235) (xy 186.921845 47.962323) (xy 186.91297 48.005572) (xy 186.885482 48.115077) + (xy 186.854361 48.223391) (xy 186.819605 48.32968) (xy 186.78121 48.433943) (xy 186.739603 48.536593) + (xy 186.693933 48.637225) (xy 186.645424 48.735823) (xy 186.592895 48.832002) (xy 186.537524 48.926175) + (xy 186.478523 49.017916) (xy 186.416281 49.107618) (xy 186.350824 49.194914) (xy 186.282119 49.279376) + (xy 186.210188 49.361411) (xy 186.135416 49.441021) (xy 186.057416 49.517812) (xy 185.942233 49.620468) + (xy 185.821415 49.71745) (xy 185.694914 49.807981) (xy 185.563583 49.892034) (xy 185.428202 49.969634) + (xy 185.288367 50.040348) (xy 185.145697 50.104214) (xy 184.999817 50.160783) (xy 184.851908 50.210094) + (xy 184.702372 50.251725) (xy 184.551235 50.285659) (xy 184.399695 50.311934) (xy 184.247725 50.32971) + (xy 184.096177 50.339409) (xy 183.945438 50.34022) (xy 183.795913 50.332957) (xy 183.654069 50.319193) + (xy 183.521102 50.301821) (xy 183.45685 50.291322) (xy 183.393804 50.280004) (xy 183.332377 50.267074) + (xy 183.271357 50.253336) (xy 183.21115 50.237967) (xy 183.151317 50.221407) (xy 183.091517 50.20321) + (xy 183.031707 50.18342) (xy 182.910478 50.139775) (xy 182.785593 50.088841) (xy 182.665561 50.0347) + (xy 182.548369 49.975296) (xy 182.4348 49.910627) (xy 182.324085 49.841519) (xy 182.216974 49.767574) + (xy 182.11352 49.68917) (xy 182.014109 49.606328) (xy 181.918339 49.519429) (xy 181.8266 49.428098) + (xy 181.738902 49.332725) (xy 181.655656 49.233705) (xy 181.576845 49.130654) (xy 181.502475 49.024367) + (xy 181.432958 48.914454) (xy 181.368311 48.800899) (xy 181.308908 48.684504) (xy 181.278593 48.620247) + (xy 181.249902 48.556802) (xy 181.223625 48.494561) (xy 181.198974 48.43233) (xy 181.175946 48.3709) + (xy 181.154932 48.30906) (xy 181.13514 48.247637) (xy 181.117345 48.186204) (xy 181.101176 48.123974) + (xy 181.086229 48.061344) (xy 181.072891 47.997884) (xy 181.061165 47.933234) (xy 181.050667 47.867355) + (xy 181.041378 47.800673) (xy 181.033293 47.731976) (xy 181.026418 47.661655) (xy 181.006605 47.433714) + (xy 179.161772 47.433714) (xy 177.98536 47.43493) (xy 177.626468 47.438576) (xy 177.382381 47.446248) + (xy 177.22438 47.459176) (xy 177.12415 47.479381) (xy 177.053025 47.507685) (xy 176.98231 47.546072) + (xy 176.957646 47.560217) (xy 176.933397 47.574759) (xy 176.908748 47.590532) (xy 176.883694 47.607495) + (xy 176.85864 47.626091) (xy 176.83237 47.646303) (xy 176.805286 47.668132) (xy 176.776998 47.691967) + (xy 176.747499 47.717828) (xy 176.716392 47.746116) (xy 176.683247 47.777229) (xy 176.648093 47.810781) + (xy 176.570907 47.887161) (xy 176.482795 47.976463) (xy 176.301357 48.162774) (xy 178.57821 48.158733) + (xy 180.524496 48.154297) (xy 180.519232 48.075883) (xy 180.519232 48.069008) (xy 180.520043 48.062555) + (xy 180.522056 48.056887) (xy 180.524902 48.051235) (xy 180.528128 48.045968) (xy 180.532569 48.041131) + (xy 180.537423 48.036686) (xy 180.54307 48.032237) (xy 180.549144 48.028203) (xy 180.555604 48.024553) + (xy 180.562883 48.021327) (xy 180.570169 48.018499) (xy 180.586317 48.013238) (xy 180.6033 48.008796) + (xy 180.620671 48.005162) (xy 180.638056 48.002341) (xy 180.655024 48.000304) (xy 180.671595 47.999088) + (xy 180.699882 47.997481) (xy 180.719688 47.997079) (xy 180.722515 47.997079) (xy 180.725745 47.997079) + (xy 180.728574 47.997481) (xy 180.731411 47.997884) (xy 180.734237 47.99829) (xy 180.736662 47.999088) + (xy 180.739075 47.999898) (xy 180.741515 48.000716) (xy 180.743935 48.001932) (xy 180.746359 48.003141) + (xy 180.748375 48.004356) (xy 180.750798 48.005971) (xy 180.752819 48.007988) (xy 180.754857 48.010004) + (xy 180.757272 48.01243) (xy 180.759284 48.014866) (xy 180.761302 48.017695) (xy 180.763323 48.020517) + (xy 180.765355 48.023749) (xy 180.767379 48.027394) (xy 180.769387 48.031025) (xy 180.771415 48.035064) + (xy 180.773432 48.039514) (xy 180.775857 48.044354) (xy 180.78031 48.054867) (xy 180.785146 48.066592) + (xy 180.790005 48.079524) (xy 180.795659 48.094487) (xy 180.803341 48.115077) (xy 180.812638 48.136906) + (xy 180.822343 48.159129) (xy 180.832836 48.180955) (xy 180.843348 48.201977) (xy 180.853449 48.220976) + (xy 180.863149 48.238341) (xy 180.872447 48.25248) (xy 180.880541 48.265011) (xy 180.888202 48.277133) + (xy 180.895485 48.288451) (xy 180.901539 48.298954) (xy 180.906395 48.308252) (xy 180.910433 48.31594) + (xy 180.911639 48.318771) (xy 180.912856 48.321588) (xy 180.91326 48.323603) (xy 180.913659 48.325239) + (xy 180.913659 48.326048) (xy 180.91448 48.327256) (xy 180.916903 48.331292) (xy 180.924969 48.344221) + (xy 180.929827 48.353123) (xy 180.932254 48.35796) (xy 180.934274 48.363228) (xy 180.936697 48.368871) + (xy 180.938726 48.374539) (xy 180.94075 48.380587) (xy 180.942366 48.38706) (xy 180.943576 48.393927) + (xy 180.944787 48.400795) (xy 180.945183 48.408085) (xy 180.945587 48.415747) (xy 180.945183 48.42343) + (xy 180.944383 48.431113) (xy 180.942763 48.439185) (xy 180.94075 48.447685) (xy 180.938323 48.456173) + (xy 180.934682 48.46467) (xy 180.930242 48.47354) (xy 180.925382 48.482435) (xy 180.919326 48.491326) + (xy 180.912446 48.500635) (xy 180.904381 48.509923) (xy 180.895485 48.519205) (xy 180.817883 48.597209) + (xy 180.741515 48.675609) (xy 180.675636 48.744719) (xy 180.649372 48.773407) (xy 180.629161 48.796036) + (xy 180.545915 48.89102) (xy 180.713224 49.177129) (xy 180.78031 49.291096) (xy 180.839709 49.389305) + (xy 180.884977 49.462036) (xy 180.899919 49.485078) (xy 180.90922 49.498006) (xy 180.937927 49.532764) + (xy 181.257573 49.470935) (xy 181.577249 49.408694) (xy 181.734059 49.568325) (xy 181.794269 49.628553) + (xy 181.818106 49.653205) (xy 181.828211 49.664113) (xy 181.837517 49.675027) (xy 181.845992 49.685114) + (xy 181.853277 49.694827) (xy 181.859314 49.704522) (xy 181.864982 49.714222) (xy 181.86942 49.723919) + (xy 181.873078 49.734027) (xy 181.875903 49.74414) (xy 181.877515 49.755039) (xy 181.878322 49.765941) + (xy 181.878725 49.778066) (xy 181.877915 49.790612) (xy 181.876306 49.804343) (xy 181.873877 49.818894) + (xy 181.870633 49.834243) (xy 181.866604 49.851218) (xy 181.861759 49.869802) (xy 181.850447 49.91104) + (xy 181.835887 49.959124) (xy 181.798301 50.080368) (xy 181.746579 50.252126) (xy 181.730807 50.305863) + (xy 181.724758 50.326879) (xy 181.728395 50.330508) (xy 181.737683 50.338201) (xy 181.772442 50.363246) + (xy 181.824973 50.399219) (xy 181.890449 50.442459) (xy 181.963585 50.490153) (xy 182.040378 50.539047) + (xy 182.115954 50.58674) (xy 182.185869 50.62917) (xy 182.356416 50.732222) (xy 182.475633 50.636049) + (xy 182.599295 50.535814) (xy 182.729822 50.428725) (xy 182.864811 50.317181) (xy 182.962192 50.356794) + (xy 182.985225 50.365672) (xy 183.012705 50.375374) (xy 183.044233 50.385482) (xy 183.078183 50.395987) + (xy 183.114145 50.406491) (xy 183.150517 50.416601) (xy 183.186485 50.426299) (xy 183.220836 50.434773) + (xy 183.264481 50.445697) (xy 183.300444 50.454988) (xy 183.315816 50.459442) (xy 183.329147 50.463881) + (xy 183.340871 50.467916) (xy 183.35137 50.471969) (xy 183.360267 50.476007) (xy 183.367936 50.480048) + (xy 183.374408 50.484093) (xy 183.379666 50.488129) (xy 183.383711 50.492563) (xy 183.386939 50.497026) + (xy 183.389362 50.501465) (xy 183.391371 50.506325) (xy 183.424516 50.61341) (xy 183.490394 50.823562) + (xy 183.580121 51.107664) (xy 183.780559 51.119785) (xy 183.825011 51.121801) (xy 183.875525 51.123417) + (xy 183.929679 51.124227) (xy 183.986265 51.124626) + ) + (stroke + (width 0) + (type solid) + ) + (fill yes) + (layer "B.SilkS") + (uuid "3aa4ed9e-99e1-4a87-a167-935c4a0834dd") + ) + (gr_line + (start 130.72 34.57) + (end 141.3 34.57) + (stroke + (width 0.1) + (type default) + ) + (layer "B.SilkS") + (uuid "bb242292-5098-4d9c-8472-5263c2347eb8") + ) + (gr_line + (start 130.72 57.55) + (end 141.3 57.55) + (stroke + (width 0.1) + (type default) + ) + (layer "B.SilkS") + (uuid "221b42d0-965b-4419-a00e-0f987fd2e50b") + ) + (gr_line + (start 133.75 58) + (end 133.75 59.5) + (stroke + (width 0.1) + (type dot) + ) + (layer "B.SilkS") + (uuid "78a27f02-406b-4304-8a22-4756b9b6f811") + ) + (gr_line + (start 138.25 58) + (end 138.25 59.5) + (stroke + (width 0.1) + (type dot) + ) + (layer "B.SilkS") + (uuid "357912f4-084d-43a9-97c0-64e3dbea975d") + ) + (gr_line + (start 138.25 59.5) + (end 133.75 59.5) + (stroke + (width 0.1) + (type dot) + ) + (layer "B.SilkS") + (uuid "6afcfd97-11d3-49cd-b673-499d03f2c0ed") + ) + (gr_rect + (start 123.5 30) + (end 246.36 63) + (radius 2) + (stroke + (width 0.05) + (type solid) + ) + (fill no) + (layer "Edge.Cuts") + (uuid "4402ae3a-9c5f-43b4-95b9-b05c659ac475") + ) + (gr_text "GND" + (at 155.84 39.55 0) + (layer "F.SilkS") + (uuid "ce94a833-9d5f-49e1-81a9-73993f54c19d") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "OE" + (at 155.84 42.09 0) + (layer "F.SilkS") + (uuid "a162c8ba-109d-4917-b808-f682191f9257") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "SCL" + (at 155.84 44.63 0) + (layer "F.SilkS") + (uuid "dd4c2872-3341-42bf-b1b1-9f2cd4b0b397") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "SDA" + (at 155.84 47.17 0) + (layer "F.SilkS") + (uuid "606864d7-8224-46fd-8c96-f32ea0ddbe7b") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "VCC" + (at 155.84 49.71 0) + (layer "F.SilkS") + (uuid "14d4d33b-6bfb-4ce7-be07-06f9c6de1dc7") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "V+" + (at 155.84 52.25 0) + (layer "F.SilkS") + (uuid "f3b1ab90-faa9-4288-828f-4465c03c3a56") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "1. HEAD | 2. NECK | 3. LEFT HAND | 4. RIGHT HAND | 5. BODY" + (at 164 59.5 0) + (layer "F.SilkS") + (uuid "cfa00be6-5a27-423f-8485-2f14bec28c10") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "SERVO ORDER:" + (at 179.9 57.5 0) + (layer "F.SilkS") + (uuid "d8256c46-d249-41ca-8ff8-91dd6410bbbb") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "SCL" + (at 220.06 40.22 0) + (layer "F.SilkS") + (uuid "2684a999-3a9a-430b-9dbc-bc66824272a2") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "SDA" + (at 220.06 42.76 0) + (layer "F.SilkS") + (uuid "0ca6bed9-dd1f-4e16-bf1a-4dbfd671d550") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "GND" + (at 220.06 45.3 0) + (layer "F.SilkS") + (uuid "47442e9f-2d93-489b-be21-a2cf0223aaa6") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "VCC\n" + (at 220.06 47.84 0) + (layer "F.SilkS") + (uuid "8fed1ddb-1051-4b00-bc58-460b28600c9a") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "EYES\n(OLED)" + (at 217.96 36.82 0) + (layer "F.SilkS") + (uuid "b9c7937c-7135-4a97-a837-a3dcbb912356") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + ) + ) + (gr_text "GND" + (at 209.4 39.56 0) + (layer "F.SilkS") + (uuid "d65971df-df3b-4b3e-beeb-5d346324e9ee") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (gr_text "OE" + (at 209.4 42.1 0) + (layer "F.SilkS") + (uuid "cca91e98-e9be-4207-91e1-22f14b4838eb") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (gr_text "SCL" + (at 209.4 44.64 0) + (layer "F.SilkS") + (uuid "4ca936f8-f055-4252-8341-253f030178fb") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (gr_text "SDA" + (at 209.4 47.18 0) + (layer "F.SilkS") + (uuid "09a4acd0-c4a7-4658-afb5-9122055be814") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (gr_text "VCC" + (at 209.4 49.72 0) + (layer "F.SilkS") + (uuid "0f210d68-59a6-4adb-99ab-ec8f90696480") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (gr_text "V+" + (at 209.4 52.26 0) + (layer "F.SilkS") + (uuid "c38f2680-ed1c-4076-8fc5-d11793b0a321") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (gr_text "Vin" + (at 239.09 34.78 0) + (layer "F.SilkS") + (uuid "998a23df-4795-45c3-96ea-711c1c352dc7") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (gr_text "GND" + (at 239.09 37.32 0) + (layer "F.SilkS") + (uuid "22b0890b-e9e1-408d-9195-ac8e237b849a") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (gr_text "SD" + (at 239.09 39.86 0) + (layer "F.SilkS") + (uuid "cb7a6dfd-a02f-4eb3-87b9-f3af39f76993") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (gr_text "GAIN" + (at 239.09 42.4 0) + (layer "F.SilkS") + (uuid "6b59df92-3643-465a-83c9-20099bf213d5") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (gr_text "DIN" + (at 239.09 44.94 0) + (layer "F.SilkS") + (uuid "1f200560-9e95-4946-9f8f-1e0ad79ec143") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (gr_text "BCLK" + (at 239.09 47.48 0) + (layer "F.SilkS") + (uuid "e211e575-ba2f-4e07-a7cc-e0f92ec92460") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (gr_text "LRC" + (at 239.09 50.02 0) + (layer "F.SilkS") + (uuid "52da3398-935d-4bdb-a2be-ef4f50374fe5") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (gr_text "D+" + (at 233.13 55.41 90) + (layer "F.SilkS") + (uuid "e777576d-29d6-430d-868f-30ba10368c13") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "D-" + (at 235.67 55.41 90) + (layer "F.SilkS") + (uuid "7a8a1a09-7615-4527-a6c7-419b223be739") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "5V" + (at 238.21 55.41 90) + (layer "F.SilkS") + (uuid "00f5a805-37f8-44d2-ab07-6c881cdb704a") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "GND\n" + (at 240.75 55.41 90) + (layer "F.SilkS") + (uuid "7b5a9312-5f7a-46d5-9bd1-dbd153a22379") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "POWER\n(USB)" + (at 229.48 57.31 90) + (layer "F.SilkS") + (uuid "12f6f387-5e46-4451-9e88-c54cd2cfc75c") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + ) + ) + (gr_text "MOTION\n(PCA9685)" + (at 184.3 36 0) + (layer "F.SilkS") + (uuid "4f5289e3-3541-44dc-9f4d-d474f4eeec59") + (effects + (font + (size 1 1) + (thickness 0.12) + ) + ) + ) + (gr_text "VOICE\n(MAX98357)" + (at 227 41.94 90) + (layer "F.SilkS") + (uuid "6a1a3afb-3a1d-4d6f-92c0-94bed3ff3a54") + (effects + (font + (size 1 1) + (thickness 0.12) + ) + ) + ) + (gr_text "GP5" + (at 130.8 35.87 180) + (layer "B.SilkS") + (uuid "832ecbdc-d134-44ff-8689-0e1dbe0cb93a") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (gr_text "GP4" + (at 130.8 38.41 180) + (layer "B.SilkS") + (uuid "c255b7c8-d3db-4d3b-bfd1-9f4135fca439") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (gr_text "GP3" + (at 130.8 40.95 180) + (layer "B.SilkS") + (uuid "b60553d6-3779-48f0-bb07-2f07a1fad4a5") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (gr_text "GP2" + (at 130.8 43.49 180) + (layer "B.SilkS") + (uuid "39daa80d-c9c6-4168-b1fa-b7927e1fffef") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (gr_text "GP1" + (at 130.8 46.03 180) + (layer "B.SilkS") + (uuid "cdf25b00-a169-46c5-a45d-d59eab11a39f") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (gr_text "GP0" + (at 130.8 48.57 180) + (layer "B.SilkS") + (uuid "fbc69c1e-dcfb-47b2-9f20-70c36592a2ab") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (gr_text "3V3" + (at 130.8 51.11 180) + (layer "B.SilkS") + (uuid "637a7e1b-f6a4-4efa-af3c-16027cbf096f") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (gr_text "GND" + (at 130.8 53.65 180) + (layer "B.SilkS") + (uuid "352a9a0b-81da-40a7-828a-07fc1659d33d") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (gr_text "5V" + (at 130.8 56.19 180) + (layer "B.SilkS") + (uuid "a87f910d-791f-4880-95c9-6ec2022a24f1") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (gr_text "USB" + (at 137.25 58.5 180) + (layer "B.SilkS") + (uuid "219d5843-0b81-410b-87a3-158a1eddf31c") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (gr_text "GP6" + (at 141.4 35.87 180) + (layer "B.SilkS") + (uuid "0239887b-eb8f-45e6-9ae8-d63ca8a7e710") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (gr_text "GP7" + (at 141.4 38.41 180) + (layer "B.SilkS") + (uuid "e2324006-1ee4-4513-a3d4-50a4535c0018") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (gr_text "GP8" + (at 141.4 40.95 180) + (layer "B.SilkS") + (uuid "44fc8eb7-8f76-4fa2-954f-092751f93c75") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (gr_text "GP9" + (at 141.4 43.49 180) + (layer "B.SilkS") + (uuid "3b2bc2ac-bb8f-488e-81c9-c42934a201b9") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (gr_text "GP10" + (at 141.4 46.03 180) + (layer "B.SilkS") + (uuid "bb6781a5-a259-413c-8402-1f547eb60e79") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (gr_text "USB_DM" + (at 141.4 48.57 180) + (layer "B.SilkS") + (uuid "89a9517f-202e-4dde-9ed7-d0a3a02fd3f2") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (gr_text "USB_DP" + (at 141.4 51.11 180) + (layer "B.SilkS") + (uuid "f42ad876-2563-4b4f-8ca8-533c6ff48653") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (gr_text "RX" + (at 141.4 53.65 180) + (layer "B.SilkS") + (uuid "d3fae790-f8f5-4272-bc32-43641e4ea027") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (gr_text "TX" + (at 141.4 56.19 180) + (layer "B.SilkS") + (uuid "aa43e353-9b68-4459-94c6-60542ca405eb") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (gr_text "Main Control Board\nREV #1 | 2026-09-12\ngithub.com/jamro/tiny-engineer" + (at 184.5 42.5 180) + (layer "B.SilkS") + (uuid "366bc4bb-d37f-4099-af31-758c225e0b34") + (effects + (font + (size 1 1) + (thickness 0.12) + ) + (justify top mirror) + ) + ) + (gr_text "BRAIN (ESP32)" + (at 136.2 32.5 180) + (layer "B.SilkS") + (uuid "cae9c790-ef36-4d7c-9702-5b7bb861f9d1") + (effects + (font + (size 1 1) + (thickness 0.12) + ) + (justify mirror) + ) + ) + (gr_text "TINY SOFTWARE ENGINEER" + (at 170 53 180) + (layer "B.SilkS") + (uuid "57a87b69-54f0-46a0-a040-3a89f0e6d960") + (effects + (font + (size 1.5 1.5) + (thickness 0.3) + (bold yes) + ) + (justify left bottom mirror) + ) + ) + (segment + (start 211.92 49.66) + (end 212.15 49.66) + (width 0.4) + (layer "F.Cu") + (net "+3.3V") + (uuid "4620e121-5e45-44ee-981c-2365e19b05f8") + ) + (segment + (start 213.75 47.85) + (end 218.08 47.85) + (width 0.4) + (layer "F.Cu") + (net "+3.3V") + (uuid "6a3a8f62-6fe4-4814-89a2-b59ff27f8223") + ) + (segment + (start 211.94 49.66) + (end 153.52 49.66) + (width 0.4) + (layer "F.Cu") + (net "+3.3V") + (uuid "d242fc90-1aa2-482c-9844-c998a10b807e") + ) + (segment + (start 211.94 49.66) + (end 213.75 47.85) + (width 0.4) + (layer "F.Cu") + (net "+3.3V") + (uuid "d2f83190-9095-499e-a596-52c0cafe657a") + ) + (segment + (start 148.9 51.4) + (end 148.9 56.4) + (width 0.4) + (layer "B.Cu") + (net "+3.3V") + (uuid "26bd7283-eef4-4da6-8369-9992d555043e") + ) + (segment + (start 153.52 49.66) + (end 150.64 49.66) + (width 0.4) + (layer "B.Cu") + (net "+3.3V") + (uuid "2fed9632-312d-4d82-9acd-deb3ee9c3218") + ) + (segment + (start 146 59.3) + (end 136.55 59.3) + (width 0.4) + (layer "B.Cu") + (net "+3.3V") + (uuid "50d54796-798e-4fd6-a37b-21d38aeea9bf") + ) + (segment + (start 150.64 49.66) + (end 148.9 51.4) + (width 0.4) + (layer "B.Cu") + (net "+3.3V") + (uuid "565dffdf-daa3-4d16-a476-80f1f25141a6") + ) + (segment + (start 136.55 59.3) + (end 128.39 51.14) + (width 0.4) + (layer "B.Cu") + (net "+3.3V") + (uuid "6e0ca941-6dc1-4cd7-aa28-5dd53749c071") + ) + (segment + (start 148.9 56.4) + (end 146 59.3) + (width 0.4) + (layer "B.Cu") + (net "+3.3V") + (uuid "db037895-fd20-45f4-8c32-963504f06373") + ) + (via + (at 149.5 35) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "16a347ee-3f45-4641-a419-40265092fd9f") + ) + (via + (at 148.5 35) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "16f21c19-c381-44e7-8228-294ed5c59f33") + ) + (via + (at 244.5 58.5) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "171f04bc-594a-4eb1-9886-cbcab5a7082e") + ) + (via + (at 225.28 49.8) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "1ce8905f-e1e0-4a1e-ba0e-7d3cc7f05ac3") + ) + (via + (at 244.5 56.5) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "252e5435-8fbe-45ed-9cab-ba14d0367d60") + ) + (via + (at 244.5 57.5) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "26b4680e-a2c3-4252-ac88-f03a8fb4d802") + ) + (via + (at 226.78 48.3) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "2aef5c2c-e4ea-4162-89e9-7d552e5e134a") + ) + (via + (at 243.5 58.5) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "3dbda7d9-bf5e-4e75-8540-3ae83334964b") + ) + (via + (at 149.5 36) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "5352dc7c-3d59-47b0-9c9d-7cac03b52b37") + ) + (via + (at 226.78 49.8) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "583b41fc-44ef-4539-b9a4-04762b3eddee") + ) + (via + (at 148.5 36) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "9b5da046-273c-4aca-a9ce-78edbb31890c") + ) + (via + (at 243.5 57.5) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "d206247b-1d9c-4e34-af49-8b01358780fb") + ) + (via + (at 243.5 56.5) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "f5d44838-b865-4c35-a1e8-ccc464486b00") + ) + (via + (at 225.28 48.3) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "fb708cdf-bbb3-414d-a3b4-67a29ffd0a25") + ) + (segment + (start 211.94 47.12) + (end 153.52 47.12) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SDA") + (uuid "0c41fa79-6da2-4d24-a382-a129b8410117") + ) + (segment + (start 211.94 47.12) + (end 216.29 42.77) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SDA") + (uuid "69c574d3-56db-42b1-bd9a-11623d74ab61") + ) + (segment + (start 216.29 42.77) + (end 218.08 42.77) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SDA") + (uuid "77a5c8b8-5872-4fef-8048-600197493632") + ) + (segment + (start 129.705 47.285) + (end 128.39 48.6) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SDA") + (uuid "e05958cb-d4fe-4ec1-b347-d8479509e22b") + ) + (segment + (start 153.355 47.285) + (end 129.705 47.285) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SDA") + (uuid "e95f466d-d3a0-4392-b9cd-96446c84c94f") + ) + (segment + (start 153.52 47.12) + (end 153.355 47.285) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SDA") + (uuid "f3e79803-ae52-425e-a4a7-4afffd97a7af") + ) + (segment + (start 153.52 44.58) + (end 153.355 44.745) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SCL") + (uuid "00f99245-d413-4e3b-987d-f62180fb991f") + ) + (segment + (start 153.355 44.745) + (end 129.705 44.745) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SCL") + (uuid "531bd228-71eb-4767-8230-831fbf1fc25e") + ) + (segment + (start 211.94 44.58) + (end 216.29 40.23) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SCL") + (uuid "54222921-a8a9-4bb5-bcb4-fb2beebdd379") + ) + (segment + (start 216.29 40.23) + (end 218.08 40.23) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SCL") + (uuid "5cb55ed6-9aa4-49ee-ba21-523fba2b2ce0") + ) + (segment + (start 153.6 44.58) + (end 153.5 44.48) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SCL") + (uuid "76c31f12-f833-4f2c-a3c0-29ae9304d8a7") + ) + (segment + (start 211.94 44.58) + (end 153.52 44.58) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SCL") + (uuid "97ab22f7-af26-4876-b4ff-27c4c30e868e") + ) + (segment + (start 129.705 44.745) + (end 128.39 46.06) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SCL") + (uuid "f7e63f39-799a-4d55-a0be-accd89c46a36") + ) + (segment + (start 244.594213 33.2) + (end 244.6 33.205788) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "0b02e9cb-f7d1-4a22-ae9e-d857f284bdb3") + ) + (segment + (start 244.6 46.4) + (end 241 50) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "36d49724-d8d8-4809-9cc5-0555f94c451e") + ) + (segment + (start 126.665 39.255) + (end 128.39 40.98) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "3955f3e4-4552-4583-912b-669cf30f3c02") + ) + (segment + (start 126.665 35.185482) + (end 126.665 39.255) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "4e05353b-f903-4d08-bb4b-f8e757c596f6") + ) + (segment + (start 130.675482 31.175) + (end 126.665 35.185482) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "705ba990-da72-4d36-8be9-871f1d121d2b") + ) + (segment + (start 244.6 33.205787) + (end 244.594213 33.2) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "855a48ef-db4d-4e43-9e23-79f61800e2ca") + ) + (segment + (start 244.6 33.205787) + (end 244.6 46.4) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "9909104a-992c-4560-8467-e69e404e280b") + ) + (segment + (start 242.569212 31.175) + (end 130.675482 31.175) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "d3ee018a-0c2d-4453-adc7-acc8202c62ac") + ) + (segment + (start 244.594213 33.2) + (end 242.569212 31.175) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "ecb372d8-bc83-49c8-9cf0-73113d3ec135") + ) + (segment + (start 244.1 33.412894) + (end 244.1 44.36) + (width 0.25) + (layer "F.Cu") + (net "/I2S_BCLK") + (uuid "51645269-a5a8-464f-9c66-9e283c13aecf") + ) + (segment + (start 147.9 31.95) + (end 147.95 31.9) + (width 0.25) + (layer "F.Cu") + (net "/I2S_BCLK") + (uuid "64e10060-cc9b-4fdc-bf95-d6d3a53a761b") + ) + (segment + (start 147.95 31.9) + (end 242.587106 31.9) + (width 0.25) + (layer "F.Cu") + (net "/I2S_BCLK") + (uuid "7a540bf2-a158-46f0-9968-03045e2acbc5") + ) + (segment + (start 242.587106 31.9) + (end 244.1 33.412894) + (width 0.25) + (layer "F.Cu") + (net "/I2S_BCLK") + (uuid "81ee7f02-f5c0-4a38-8f46-77993ae535ba") + ) + (segment + (start 244.1 44.36) + (end 241 47.46) + (width 0.25) + (layer "F.Cu") + (net "/I2S_BCLK") + (uuid "f93e22f2-e826-4ac7-92f1-cba90e843ab2") + ) + (via + (at 147.9 31.95) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (net "/I2S_BCLK") + (uuid "97345bba-e0fe-48d3-ab8c-41bd5b491593") + ) + (segment + (start 147.6 32.25) + (end 147.6 33) + (width 0.25) + (layer "B.Cu") + (net "/I2S_BCLK") + (uuid "4769f8eb-99ef-4e6d-be25-e0ef6a7c2e73") + ) + (segment + (start 138.01 33.9) + (end 128.39 43.52) + (width 0.25) + (layer "B.Cu") + (net "/I2S_BCLK") + (uuid "7f54a074-e43d-4b22-89d8-51d8d9a07fd7") + ) + (segment + (start 147.9 31.95) + (end 147.6 32.25) + (width 0.25) + (layer "B.Cu") + (net "/I2S_BCLK") + (uuid "adf98a26-4c4f-47ba-8f4c-d98ce7925cf6") + ) + (segment + (start 147.6 33) + (end 146.7 33.9) + (width 0.25) + (layer "B.Cu") + (net "/I2S_BCLK") + (uuid "ec96e948-4426-42a2-8c38-4cac074eea44") + ) + (segment + (start 146.7 33.9) + (end 138.01 33.9) + (width 0.25) + (layer "B.Cu") + (net "/I2S_BCLK") + (uuid "fe068585-f43b-4927-9168-63be0a7a1406") + ) + (segment + (start 243.4 42.52) + (end 241 44.92) + (width 0.25) + (layer "F.Cu") + (net "/I2S_DIN") + (uuid "0612d2e6-2786-4343-9d19-f1332ad23642") + ) + (segment + (start 128.39 38.44) + (end 127.165 37.215) + (width 0.25) + (layer "F.Cu") + (net "/I2S_DIN") + (uuid "3014002d-d56c-445f-8193-0fea0b3890fb") + ) + (segment + (start 127.165 35.392588) + (end 129.832588 32.725) + (width 0.25) + (layer "F.Cu") + (net "/I2S_DIN") + (uuid "32847961-0fac-40de-b0f6-e993a266b339") + ) + (segment + (start 243.4 33.42) + (end 243.4 42.52) + (width 0.25) + (layer "F.Cu") + (net "/I2S_DIN") + (uuid "4bf42f8e-f422-474e-8917-0ba377018e55") + ) + (segment + (start 242.705 32.725) + (end 243.4 33.42) + (width 0.25) + (layer "F.Cu") + (net "/I2S_DIN") + (uuid "4ece7891-5200-4447-9f45-43d07d54d1a2") + ) + (segment + (start 127.165 37.215) + (end 127.165 35.392588) + (width 0.25) + (layer "F.Cu") + (net "/I2S_DIN") + (uuid "5a653356-2bcf-4f91-b01f-26999dfe7327") + ) + (segment + (start 138.775 32.725) + (end 242.705 32.725) + (width 0.25) + (layer "F.Cu") + (net "/I2S_DIN") + (uuid "8e3761f6-2d00-44fe-a0fc-e1e6198a42b1") + ) + (segment + (start 129.832588 32.725) + (end 138.8 32.725) + (width 0.25) + (layer "F.Cu") + (net "/I2S_DIN") + (uuid "be5196f7-f167-4a92-99cc-4726c65d827b") + ) + (segment + (start 235.173704 52.2) + (end 238.24 55.266296) + (width 1.5) + (layer "F.Cu") + (net "+5V") + (uuid "2248d3b6-39e1-4af7-a787-1d576f6cd354") + ) + (segment + (start 235.173704 36.826296) + (end 237.24 34.76) + (width 1.5) + (layer "F.Cu") + (net "+5V") + (uuid "2d42b5ed-089c-4b01-9e00-2938e7db1ee7") + ) + (segment + (start 237.24 34.76) + (end 241 34.76) + (width 1.5) + (layer "F.Cu") + (net "+5V") + (uuid "7b038555-23f1-4e26-b13e-80a6bfbabe74") + ) + (segment + (start 211.92 52.2) + (end 232.93 52.2) + (width 1.5) + (layer "F.Cu") + (net "+5V") + (uuid "983190f4-b3ef-4041-9207-2a895d9a5ee1") + ) + (segment + (start 235.173704 52.2) + (end 235.173704 36.826296) + (width 1.5) + (layer "F.Cu") + (net "+5V") + (uuid "b34beee8-a4bb-4cb4-807d-02ed07f9fda2") + ) + (segment + (start 211.94 52.2) + (end 153.52 52.2) + (width 1.5) + (layer "F.Cu") + (net "+5V") + (uuid "c6fc6083-c57c-4e98-b0e1-a8eaa029bd92") + ) + (segment + (start 238.24 55.266296) + (end 238.24 57.51) + (width 1.5) + (layer "F.Cu") + (net "+5V") + (uuid "cb565d57-69c8-41ca-835d-939131f7c912") + ) + (segment + (start 232.93 52.2) + (end 235.173704 52.2) + (width 1.5) + (layer "F.Cu") + (net "+5V") + (uuid "f78338e7-2bef-44e7-bfb0-1b8c2b7cec44") + ) + (segment + (start 151 60.8) + (end 130.8 60.8) + (width 1.5) + (layer "B.Cu") + (net "+5V") + (uuid "22d62488-ba82-476c-80b9-5f7a61aadcae") + ) + (segment + (start 153.52 58.28) + (end 151 60.8) + (width 1.5) + (layer "B.Cu") + (net "+5V") + (uuid "524e79b7-7217-4ea7-9adb-10855e8354ef") + ) + (segment + (start 130.8 60.8) + (end 128.39 58.39) + (width 1.5) + (layer "B.Cu") + (net "+5V") + (uuid "7d57833f-ed2f-44ab-b17b-6a3bf015fab5") + ) + (segment + (start 153.52 52.2) + (end 153.52 58.28) + (width 1.5) + (layer "B.Cu") + (net "+5V") + (uuid "cfc9a69d-27fc-4457-9fe4-94898f55f659") + ) + (segment + (start 128.39 58.39) + (end 128.39 56.22) + (width 1.5) + (layer "B.Cu") + (net "+5V") + (uuid "d7d5319c-cfe5-4475-a317-1f86d1b5fe18") + ) + (segment + (start 151.31 57.51) + (end 144.94 51.14) + (width 0.2) + (layer "F.Cu") + (net "/USB_D+") + (uuid "0ef111a3-39dd-4d00-9ef9-3b55fd476d94") + ) + (segment + (start 144.94 51.14) + (end 143.63 51.14) + (width 0.2) + (layer "F.Cu") + (net "/USB_D+") + (uuid "5f8e8499-bef4-4a29-965a-f146e7b35bdb") + ) + (segment + (start 233.16 57.51) + (end 151.31 57.51) + (width 0.2) + (layer "F.Cu") + (net "/USB_D+") + (uuid "8e22eb54-3b0b-4d30-ba36-e4ff03f427cf") + ) + (segment + (start 151.6 57) + (end 143.63 49.03) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "46e723d4-19c2-4f75-bb1e-5a239ce4f302") + ) + (segment + (start 231.37 57) + (end 151.6 57) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "6b15c4ea-9305-45d6-9f64-7a388dd6f5ae") + ) + (segment + (start 235.7 57.51) + (end 234.55 56.36) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "747648fc-f0d6-40bb-a156-b8144ee07f1d") + ) + (segment + (start 234.55 56.36) + (end 232.01 56.36) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "cbec7d37-6505-46de-bd0b-7d515f89bf72") + ) + (segment + (start 232.01 56.36) + (end 231.37 57) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "cfb53139-efe7-4c3c-9aee-da43f939641a") + ) + (segment + (start 143.63 49.03) + (end 143.63 48.6) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "f99b8fbb-ca24-4599-8ab0-d81c1cbe7e81") + ) + (segment + (start 211.94 42.04) + (end 153.52 42.04) + (width 0.25) + (layer "F.Cu") + (net "Net-(J3-Pin_5)") + (uuid "2aa193f8-f63e-459b-a824-9d10962a5227") + ) + (segment + (start 132.245 39.755) + (end 128.39 35.9) + (width 0.25) + (layer "F.Cu") + (net "Net-(J3-Pin_5)") + (uuid "30c52738-abf2-431f-b08d-1bc8bcd4a1d5") + ) + (segment + (start 151.235 39.755) + (end 132.245 39.755) + (width 0.25) + (layer "F.Cu") + (net "Net-(J3-Pin_5)") + (uuid "cbbb857f-d88e-4857-9bf9-b026dd48745b") + ) + (segment + (start 153.52 42.04) + (end 151.235 39.755) + (width 0.25) + (layer "F.Cu") + (net "Net-(J3-Pin_5)") + (uuid "cfaa0c74-6229-4451-b412-d71050c746f1") + ) + (zone + (net "GND") + (layers "F.Cu" "B.Cu") + (uuid "f7622463-09bb-4525-9d01-b451e268aeb1") + (hatch edge 0.5) + (connect_pads + (clearance 0.5) + ) + (min_thickness 0.25) + (fill yes + (thermal_gap 0.5) + (thermal_bridge_width 0.5) + (island_removal_mode 0) + ) + (polygon + (pts + (xy 120.5 29) (xy 120.5 68) (xy 257.5 68) (xy 257 27) (xy 120.5 28.5) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 130.233068 30.520185) (xy 130.278823 30.572989) (xy 130.288767 30.642147) (xy 130.259742 30.705703) + (xy 130.25371 30.712181) (xy 130.189624 30.776267) (xy 130.189621 30.77627) (xy 126.26627 34.699621) + (xy 126.266267 34.699624) (xy 126.222705 34.743185) (xy 126.179144 34.786746) (xy 126.179142 34.786749) + (xy 126.165164 34.807669) (xy 126.165163 34.807671) (xy 126.165162 34.80767) (xy 126.110686 34.889199) + (xy 126.110685 34.8892) (xy 126.077347 34.969689) (xy 126.071823 34.983025) (xy 126.063537 35.003027) + (xy 126.063535 35.003035) (xy 126.0395 35.123871) (xy 126.0395 39.316611) (xy 126.063535 39.437444) + (xy 126.06354 39.437461) (xy 126.110685 39.551281) (xy 126.11069 39.55129) (xy 126.138039 39.592219) + (xy 126.13804 39.59222) (xy 126.17914 39.653731) (xy 126.179141 39.653732) (xy 126.179142 39.653733) + (xy 126.266267 39.740858) (xy 126.266268 39.740858) (xy 126.273335 39.747925) (xy 126.273334 39.747925) + (xy 126.273338 39.747928) (xy 127.047571 40.522162) (xy 127.081056 40.583485) (xy 127.077821 40.64816) + (xy 127.072754 40.663753) (xy 127.04607 40.83223) (xy 127.0395 40.873713) (xy 127.0395 41.086287) + (xy 127.072754 41.296243) (xy 127.137234 41.494692) (xy 127.138444 41.498414) (xy 127.234951 41.68782) + (xy 127.35989 41.859786) (xy 127.510213 42.010109) (xy 127.682182 42.13505) (xy 127.690946 42.139516) + (xy 127.741742 42.187491) (xy 127.758536 42.255312) (xy 127.735998 42.321447) (xy 127.690946 42.360484) + (xy 127.682182 42.364949) (xy 127.510213 42.48989) (xy 127.35989 42.640213) (xy 127.234951 42.812179) + (xy 127.138444 43.001585) (xy 127.072753 43.20376) (xy 127.046026 43.372512) (xy 127.0395 43.413713) + (xy 127.0395 43.626287) (xy 127.072754 43.836243) (xy 127.137323 44.034966) (xy 127.138444 44.038414) + (xy 127.234951 44.22782) (xy 127.35989 44.399786) (xy 127.510213 44.550109) (xy 127.682182 44.67505) + (xy 127.690946 44.679516) (xy 127.741742 44.727491) (xy 127.758536 44.795312) (xy 127.735998 44.861447) + (xy 127.690946 44.900484) (xy 127.682182 44.904949) (xy 127.510213 45.02989) (xy 127.35989 45.180213) + (xy 127.234951 45.352179) (xy 127.138444 45.541585) (xy 127.138443 45.541587) (xy 127.138443 45.541588) + (xy 127.118762 45.602159) (xy 127.072753 45.74376) (xy 127.046026 45.912512) (xy 127.0395 45.953713) + (xy 127.0395 46.166287) (xy 127.072754 46.376243) (xy 127.134742 46.567023) (xy 127.138444 46.578414) + (xy 127.234951 46.76782) (xy 127.35989 46.939786) (xy 127.510213 47.090109) (xy 127.682182 47.21505) + (xy 127.690946 47.219516) (xy 127.741742 47.267491) (xy 127.758536 47.335312) (xy 127.735998 47.401447) + (xy 127.690946 47.440484) (xy 127.682182 47.444949) (xy 127.510213 47.56989) (xy 127.35989 47.720213) + (xy 127.234951 47.892179) (xy 127.138444 48.081585) (xy 127.072753 48.28376) (xy 127.046026 48.452512) + (xy 127.0395 48.493713) (xy 127.0395 48.706287) (xy 127.072754 48.916243) (xy 127.133154 49.102135) + (xy 127.138444 49.118414) (xy 127.234951 49.30782) (xy 127.35989 49.479786) (xy 127.510213 49.630109) + (xy 127.682182 49.75505) (xy 127.690946 49.759516) (xy 127.741742 49.807491) (xy 127.758536 49.875312) + (xy 127.735998 49.941447) (xy 127.690946 49.980484) (xy 127.682182 49.984949) (xy 127.510213 50.10989) + (xy 127.35989 50.260213) (xy 127.234951 50.432179) (xy 127.138444 50.621585) (xy 127.072753 50.82376) + (xy 127.0395 51.033713) (xy 127.0395 51.246286) (xy 127.056005 51.350498) (xy 127.072754 51.456243) + (xy 127.137991 51.657022) (xy 127.138444 51.658414) (xy 127.234951 51.84782) (xy 127.35989 52.019786) + (xy 127.510213 52.170109) (xy 127.682179 52.295048) (xy 127.682181 52.295049) (xy 127.682184 52.295051) + (xy 127.691493 52.299794) (xy 127.74229 52.347766) (xy 127.759087 52.415587) (xy 127.736552 52.481722) + (xy 127.691505 52.52076) (xy 127.682446 52.525376) (xy 127.68244 52.52538) (xy 127.628282 52.564727) + (xy 127.628282 52.564728) (xy 128.260591 53.197037) (xy 128.197007 53.214075) (xy 128.082993 53.279901) + (xy 127.989901 53.372993) (xy 127.924075 53.487007) (xy 127.907037 53.550591) (xy 127.274728 52.918282) + (xy 127.274727 52.918282) (xy 127.23538 52.972439) (xy 127.138904 53.161782) (xy 127.073242 53.363869) + (xy 127.073242 53.363872) (xy 127.04 53.573753) (xy 127.04 53.786246) (xy 127.073242 53.996127) + (xy 127.073242 53.99613) (xy 127.138904 54.198217) (xy 127.235375 54.38755) (xy 127.274728 54.441716) + (xy 127.907037 53.809408) (xy 127.924075 53.872993) (xy 127.989901 53.987007) (xy 128.082993 54.080099) + (xy 128.197007 54.145925) (xy 128.26059 54.162962) (xy 127.59037 54.833181) (xy 127.529047 54.866666) + (xy 127.502698 54.8695) (xy 127.492134 54.8695) (xy 127.492123 54.869501) (xy 127.432516 54.875908) + (xy 127.297671 54.926202) (xy 127.297664 54.926206) (xy 127.182455 55.012452) (xy 127.182452 55.012455) + (xy 127.096206 55.127664) (xy 127.096202 55.127671) (xy 127.045908 55.262517) (xy 127.039501 55.322116) + (xy 127.039501 55.322123) (xy 127.0395 55.322135) (xy 127.0395 57.11787) (xy 127.039501 57.117876) + (xy 127.045908 57.177483) (xy 127.096202 57.312328) (xy 127.096206 57.312335) (xy 127.182452 57.427544) + (xy 127.182455 57.427547) (xy 127.297664 57.513793) (xy 127.297671 57.513797) (xy 127.432517 57.564091) + (xy 127.432516 57.564091) (xy 127.439444 57.564835) (xy 127.492127 57.5705) (xy 129.287872 57.570499) + (xy 129.347483 57.564091) (xy 129.482331 57.513796) (xy 129.597546 57.427546) (xy 129.683796 57.312331) + (xy 129.734091 57.177483) (xy 129.7405 57.117873) (xy 129.740499 55.322128) (xy 129.734091 55.262517) + (xy 129.698793 55.167879) (xy 129.683797 55.127671) (xy 129.683793 55.127664) (xy 129.597547 55.012455) + (xy 129.597544 55.012452) (xy 129.482335 54.926206) (xy 129.482328 54.926202) (xy 129.347482 54.875908) + (xy 129.347483 54.875908) (xy 129.287883 54.869501) (xy 129.287881 54.8695) (xy 129.287873 54.8695) + (xy 129.287865 54.8695) (xy 129.277309 54.8695) (xy 129.21027 54.849815) (xy 129.189628 54.833181) + (xy 128.519408 54.162962) (xy 128.582993 54.145925) (xy 128.697007 54.080099) (xy 128.790099 53.987007) + (xy 128.855925 53.872993) (xy 128.872962 53.809408) (xy 129.50527 54.441717) (xy 129.50527 54.441716) + (xy 129.544622 54.387554) (xy 129.641095 54.198217) (xy 129.706757 53.99613) (xy 129.706757 53.996127) + (xy 129.74 53.786246) (xy 129.74 53.573753) (xy 129.706757 53.363872) (xy 129.706757 53.363869) + (xy 129.641095 53.161782) (xy 129.544624 52.972449) (xy 129.50527 52.918282) (xy 129.505269 52.918282) + (xy 128.872962 53.55059) (xy 128.855925 53.487007) (xy 128.790099 53.372993) (xy 128.697007 53.279901) + (xy 128.582993 53.214075) (xy 128.519409 53.197037) (xy 129.151716 52.564728) (xy 129.097547 52.525373) + (xy 129.097547 52.525372) (xy 129.0885 52.520763) (xy 129.037706 52.472788) (xy 129.020912 52.404966) + (xy 129.043451 52.338832) (xy 129.088508 52.299793) (xy 129.097816 52.295051) (xy 129.177007 52.237515) + (xy 129.269786 52.170109) (xy 129.269788 52.170106) (xy 129.269792 52.170104) (xy 129.420104 52.019792) + (xy 129.420106 52.019788) (xy 129.420109 52.019786) (xy 129.545048 51.84782) (xy 129.545047 51.84782) + (xy 129.545051 51.847816) (xy 129.641557 51.658412) (xy 129.707246 51.456243) (xy 129.7405 51.246287) + (xy 129.7405 51.033713) (xy 129.707246 50.823757) (xy 129.641557 50.621588) (xy 129.545051 50.432184) + (xy 129.545049 50.432181) (xy 129.545048 50.432179) (xy 129.420109 50.260213) (xy 129.269786 50.10989) + (xy 129.09782 49.984951) (xy 129.097115 49.984591) (xy 129.089054 49.980485) (xy 129.038259 49.932512) + (xy 129.021463 49.864692) (xy 129.043999 49.798556) (xy 129.089054 49.759515) (xy 129.097816 49.755051) + (xy 129.119789 49.739086) (xy 129.269786 49.630109) (xy 129.269788 49.630106) (xy 129.269792 49.630104) + (xy 129.420104 49.479792) (xy 129.420106 49.479788) (xy 129.420109 49.479786) (xy 129.545048 49.30782) + (xy 129.545047 49.30782) (xy 129.545051 49.307816) (xy 129.641557 49.118412) (xy 129.707246 48.916243) + (xy 129.7405 48.706287) (xy 129.7405 48.493713) (xy 129.707246 48.283757) (xy 129.705867 48.279514) + (xy 129.702179 48.268162) (xy 129.700182 48.198321) (xy 129.732425 48.142164) (xy 129.927772 47.946816) + (xy 129.989095 47.913334) (xy 130.015452 47.9105) (xy 142.263731 47.9105) (xy 142.33077 47.930185) + (xy 142.376525 47.982989) (xy 142.386469 48.052147) (xy 142.379687 48.076868) (xy 142.379949 48.076954) + (xy 142.378443 48.081586) (xy 142.378443 48.081588) (xy 142.341303 48.195892) (xy 142.312753 48.28376) + (xy 142.286026 48.452512) (xy 142.2795 48.493713) (xy 142.2795 48.706287) (xy 142.312754 48.916243) + (xy 142.373154 49.102135) (xy 142.378444 49.118414) (xy 142.474951 49.30782) (xy 142.59989 49.479786) + (xy 142.750213 49.630109) (xy 142.922182 49.75505) (xy 142.930946 49.759516) (xy 142.981742 49.807491) + (xy 142.998536 49.875312) (xy 142.975998 49.941447) (xy 142.930946 49.980484) (xy 142.922182 49.984949) + (xy 142.750213 50.10989) (xy 142.59989 50.260213) (xy 142.474951 50.432179) (xy 142.378444 50.621585) + (xy 142.312753 50.82376) (xy 142.2795 51.033713) (xy 142.2795 51.246286) (xy 142.296005 51.350498) + (xy 142.312754 51.456243) (xy 142.377991 51.657022) (xy 142.378444 51.658414) (xy 142.474951 51.84782) + (xy 142.59989 52.019786) (xy 142.750213 52.170109) (xy 142.922182 52.29505) (xy 142.930946 52.299516) + (xy 142.981742 52.347491) (xy 142.998536 52.415312) (xy 142.975998 52.481447) (xy 142.930946 52.520484) + (xy 142.922182 52.524949) (xy 142.750213 52.64989) (xy 142.59989 52.800213) (xy 142.474951 52.972179) + (xy 142.378444 53.161585) (xy 142.312753 53.36376) (xy 142.2795 53.573713) (xy 142.2795 53.786286) + (xy 142.312753 53.996239) (xy 142.378444 54.198414) (xy 142.474951 54.38782) (xy 142.59989 54.559786) + (xy 142.750213 54.710109) (xy 142.922182 54.83505) (xy 142.930946 54.839516) (xy 142.981742 54.887491) + (xy 142.998536 54.955312) (xy 142.975998 55.021447) (xy 142.930946 55.060484) (xy 142.922182 55.064949) + (xy 142.750213 55.18989) (xy 142.59989 55.340213) (xy 142.474951 55.512179) (xy 142.378444 55.701585) + (xy 142.312753 55.90376) (xy 142.297771 55.998355) (xy 142.2795 56.113713) (xy 142.2795 56.326287) + (xy 142.312754 56.536243) (xy 142.37517 56.72834) (xy 142.378444 56.738414) (xy 142.474951 56.92782) + (xy 142.59989 57.099786) (xy 142.750213 57.250109) (xy 142.922179 57.375048) (xy 142.922181 57.375049) + (xy 142.922184 57.375051) (xy 143.111588 57.471557) (xy 143.313757 57.537246) (xy 143.523713 57.5705) + (xy 143.523714 57.5705) (xy 143.736286 57.5705) (xy 143.736287 57.5705) (xy 143.946243 57.537246) + (xy 144.148412 57.471557) (xy 144.337816 57.375051) (xy 144.359789 57.359086) (xy 144.509786 57.250109) + (xy 144.509788 57.250106) (xy 144.509792 57.250104) (xy 144.660104 57.099792) (xy 144.660106 57.099788) + (xy 144.660109 57.099786) (xy 144.785048 56.92782) (xy 144.785047 56.92782) (xy 144.785051 56.927816) + (xy 144.881557 56.738412) (xy 144.947246 56.536243) (xy 144.9805 56.326287) (xy 144.9805 56.113713) + (xy 144.947246 55.903757) (xy 144.881557 55.701588) (xy 144.785051 55.512184) (xy 144.785049 55.512181) + (xy 144.785048 55.512179) (xy 144.660109 55.340213) (xy 144.509786 55.18989) (xy 144.33782 55.064951) + (xy 144.337115 55.064591) (xy 144.329054 55.060485) (xy 144.278259 55.012512) (xy 144.261463 54.944692) + (xy 144.283999 54.878556) (xy 144.329054 54.839515) (xy 144.337816 54.835051) (xy 144.359789 54.819086) + (xy 144.509786 54.710109) (xy 144.509788 54.710106) (xy 144.509792 54.710104) (xy 144.660104 54.559792) + (xy 144.660106 54.559788) (xy 144.660109 54.559786) (xy 144.785048 54.38782) (xy 144.785047 54.38782) + (xy 144.785051 54.387816) (xy 144.881557 54.198412) (xy 144.947246 53.996243) (xy 144.9805 53.786287) + (xy 144.9805 53.573713) (xy 144.947246 53.363757) (xy 144.881557 53.161588) (xy 144.785051 52.972184) + (xy 144.785049 52.972181) (xy 144.785048 52.972179) (xy 144.660109 52.800213) (xy 144.509786 52.64989) + (xy 144.33782 52.524951) (xy 144.3296 52.520763) (xy 144.329054 52.520485) (xy 144.278259 52.472512) + (xy 144.261463 52.404692) (xy 144.283999 52.338556) (xy 144.329054 52.299515) (xy 144.337816 52.295051) + (xy 144.359789 52.279086) (xy 144.509786 52.170109) (xy 144.509788 52.170106) (xy 144.509792 52.170104) + (xy 144.660104 52.019792) (xy 144.705407 51.957437) (xy 144.760735 51.914772) (xy 144.830348 51.908791) + (xy 144.892144 51.941396) (xy 144.893406 51.942641) (xy 150.825139 57.874374) (xy 150.825149 57.874385) + (xy 150.829479 57.878715) (xy 150.82948 57.878716) (xy 150.941284 57.99052) (xy 150.941286 57.990521) + (xy 150.94129 57.990524) (xy 151.006915 58.028412) (xy 151.078216 58.069577) (xy 151.190019 58.099534) + (xy 151.230942 58.1105) (xy 151.230943 58.1105) (xy 231.685501 58.1105) (xy 231.75254 58.130185) + (xy 231.798295 58.182989) (xy 231.809501 58.2345) (xy 231.809501 58.407876) (xy 231.815908 58.467483) + (xy 231.866202 58.602328) (xy 231.866206 58.602335) (xy 231.952452 58.717544) (xy 231.952455 58.717547) + (xy 232.067664 58.803793) (xy 232.067671 58.803797) (xy 232.202517 58.854091) (xy 232.202516 58.854091) + (xy 232.209444 58.854835) (xy 232.262127 58.8605) (xy 234.057872 58.860499) (xy 234.117483 58.854091) + (xy 234.252331 58.803796) (xy 234.367546 58.717546) (xy 234.453796 58.602331) (xy 234.50281 58.470916) + (xy 234.544681 58.414984) (xy 234.610145 58.390566) (xy 234.678418 58.405417) (xy 234.706673 58.426569) + (xy 234.820213 58.540109) (xy 234.992179 58.665048) (xy 234.992181 58.665049) (xy 234.992184 58.665051) + (xy 235.181588 58.761557) (xy 235.383757 58.827246) (xy 235.593713 58.8605) (xy 235.593714 58.8605) + (xy 235.806286 58.8605) (xy 235.806287 58.8605) (xy 236.016243 58.827246) (xy 236.218412 58.761557) + (xy 236.407816 58.665051) (xy 236.494138 58.602335) (xy 236.579786 58.540109) (xy 236.579788 58.540106) + (xy 236.579792 58.540104) (xy 236.730104 58.389792) (xy 236.730106 58.389788) (xy 236.730109 58.389786) + (xy 236.855048 58.21782) (xy 236.855047 58.21782) (xy 236.855051 58.217816) (xy 236.859514 58.209054) + (xy 236.907488 58.158259) (xy 236.975308 58.141463) (xy 237.041444 58.163999) (xy 237.080486 58.209056) + (xy 237.084951 58.21782) (xy 237.20989 58.389786) (xy 237.360213 58.540109) (xy 237.532179 58.665048) + (xy 237.532181 58.665049) (xy 237.532184 58.665051) (xy 237.721588 58.761557) (xy 237.923757 58.827246) + (xy 238.133713 58.8605) (xy 238.133714 58.8605) (xy 238.346286 58.8605) (xy 238.346287 58.8605) + (xy 238.556243 58.827246) (xy 238.758412 58.761557) (xy 238.947816 58.665051) (xy 239.034138 58.602335) + (xy 239.119786 58.540109) (xy 239.119788 58.540106) (xy 239.119792 58.540104) (xy 239.270104 58.389792) + (xy 239.270106 58.389788) (xy 239.270109 58.389786) (xy 239.35589 58.271717) (xy 239.395051 58.217816) + (xy 239.399793 58.208508) (xy 239.447763 58.157711) (xy 239.515583 58.140911) (xy 239.581719 58.163445) + (xy 239.620763 58.2085) (xy 239.625373 58.217547) (xy 239.664728 58.271716) (xy 240.297037 57.639408) + (xy 240.314075 57.702993) (xy 240.379901 57.817007) (xy 240.472993 57.910099) (xy 240.587007 57.975925) + (xy 240.65059 57.992962) (xy 240.018282 58.625269) (xy 240.018282 58.62527) (xy 240.072449 58.664624) + (xy 240.261782 58.761095) (xy 240.46387 58.826757) (xy 240.673754 58.86) (xy 240.886246 58.86) (xy 241.096127 58.826757) + (xy 241.09613 58.826757) (xy 241.298217 58.761095) (xy 241.487554 58.664622) (xy 241.541716 58.62527) + (xy 241.541717 58.62527) (xy 240.909408 57.992962) (xy 240.972993 57.975925) (xy 241.087007 57.910099) + (xy 241.180099 57.817007) (xy 241.245925 57.702993) (xy 241.262962 57.639408) (xy 241.89527 58.271717) + (xy 241.89527 58.271716) (xy 241.934622 58.217554) (xy 242.031095 58.028217) (xy 242.096757 57.82613) + (xy 242.096757 57.826127) (xy 242.13 57.616246) (xy 242.13 57.403753) (xy 242.096757 57.193872) + (xy 242.096757 57.193869) (xy 242.031095 56.991782) (xy 241.934624 56.802449) (xy 241.89527 56.748282) + (xy 241.895269 56.748282) (xy 241.262962 57.38059) (xy 241.245925 57.317007) (xy 241.180099 57.202993) + (xy 241.087007 57.109901) (xy 240.972993 57.044075) (xy 240.909409 57.027037) (xy 241.541716 56.394728) + (xy 241.48755 56.355375) (xy 241.298217 56.258904) (xy 241.096129 56.193242) (xy 240.886246 56.16) + (xy 240.673754 56.16) (xy 240.463872 56.193242) (xy 240.463869 56.193242) (xy 240.261782 56.258904) + (xy 240.072439 56.35538) (xy 240.018282 56.394727) (xy 240.018282 56.394728) (xy 240.650591 57.027037) + (xy 240.587007 57.044075) (xy 240.472993 57.109901) (xy 240.379901 57.202993) (xy 240.314075 57.317007) + (xy 240.297037 57.380591) (xy 239.664728 56.748282) (xy 239.62423 56.75147) (xy 239.610618 56.74861) + (xy 239.596853 56.75059) (xy 239.577101 56.741569) (xy 239.555852 56.737106) (xy 239.545947 56.727342) + (xy 239.533297 56.721565) (xy 239.521557 56.703298) (xy 239.506095 56.688055) (xy 239.502268 56.673283) + (xy 239.495523 56.662787) (xy 239.4905 56.627852) (xy 239.4905 55.167874) (xy 239.468742 55.0305) + (xy 239.459709 54.973472) (xy 239.459709 54.973471) (xy 239.459709 54.973469) (xy 239.425927 54.8695) + (xy 239.398884 54.786271) (xy 239.398882 54.786268) (xy 239.398882 54.786266) (xy 239.309523 54.61089) + (xy 239.272398 54.559792) (xy 239.193828 54.45165) (xy 239.054646 54.312468) (xy 236.460523 51.718345) + (xy 236.427038 51.657022) (xy 236.424204 51.630664) (xy 236.424204 37.395632) (xy 236.443889 37.328593) + (xy 236.460523 37.307951) (xy 237.721655 36.046819) (xy 237.782978 36.013334) (xy 237.809336 36.0105) + (xy 240.117852 36.0105) (xy 240.184891 36.030185) (xy 240.230646 36.082989) (xy 240.24147 36.14423) + (xy 240.238282 36.184728) (xy 240.870591 36.817037) (xy 240.807007 36.834075) (xy 240.692993 36.899901) + (xy 240.599901 36.992993) (xy 240.534075 37.107007) (xy 240.517037 37.170591) (xy 239.884728 36.538282) + (xy 239.884727 36.538282) (xy 239.84538 36.592439) (xy 239.748904 36.781782) (xy 239.683242 36.983869) + (xy 239.683242 36.983872) (xy 239.65 37.193753) (xy 239.65 37.406246) (xy 239.683242 37.616127) + (xy 239.683242 37.61613) (xy 239.748904 37.818217) (xy 239.845375 38.00755) (xy 239.884728 38.061716) + (xy 240.517037 37.429408) (xy 240.534075 37.492993) (xy 240.599901 37.607007) (xy 240.692993 37.700099) + (xy 240.807007 37.765925) (xy 240.87059 37.782962) (xy 240.238282 38.415269) (xy 240.238282 38.41527) + (xy 240.292452 38.454626) (xy 240.292451 38.454626) (xy 240.301495 38.459234) (xy 240.352292 38.507208) + (xy 240.369087 38.575029) (xy 240.34655 38.641164) (xy 240.301499 38.680202) (xy 240.292182 38.684949) + (xy 240.120213 38.80989) (xy 239.96989 38.960213) (xy 239.844951 39.132179) (xy 239.748444 39.321585) + (xy 239.682753 39.52376) (xy 239.6495 39.733713) (xy 239.6495 39.946286) (xy 239.682355 40.153729) + (xy 239.682754 40.156243) (xy 239.732489 40.309312) (xy 239.748444 40.358414) (xy 239.844951 40.54782) + (xy 239.96989 40.719786) (xy 240.120213 40.870109) (xy 240.292182 40.99505) (xy 240.300946 40.999516) + (xy 240.351742 41.047491) (xy 240.368536 41.115312) (xy 240.345998 41.181447) (xy 240.300946 41.220484) + (xy 240.292182 41.224949) (xy 240.120213 41.34989) (xy 239.96989 41.500213) (xy 239.844951 41.672179) + (xy 239.748444 41.861585) (xy 239.682753 42.06376) (xy 239.6495 42.273713) (xy 239.6495 42.486286) + (xy 239.681002 42.685185) (xy 239.682754 42.696243) (xy 239.699512 42.74782) (xy 239.748444 42.898414) + (xy 239.844951 43.08782) (xy 239.96989 43.259786) (xy 240.120213 43.410109) (xy 240.292182 43.53505) + (xy 240.300946 43.539516) (xy 240.351742 43.587491) (xy 240.368536 43.655312) (xy 240.345998 43.721447) + (xy 240.300946 43.760484) (xy 240.292182 43.764949) (xy 240.120213 43.88989) (xy 239.96989 44.040213) + (xy 239.844951 44.212179) (xy 239.748444 44.401585) (xy 239.682753 44.60376) (xy 239.6495 44.813713) + (xy 239.6495 45.026286) (xy 239.681002 45.225185) (xy 239.682754 45.236243) (xy 239.742985 45.421615) + (xy 239.748444 45.438414) (xy 239.844951 45.62782) (xy 239.96989 45.799786) (xy 240.120213 45.950109) + (xy 240.292182 46.07505) (xy 240.300946 46.079516) (xy 240.351742 46.127491) (xy 240.368536 46.195312) + (xy 240.345998 46.261447) (xy 240.300946 46.300484) (xy 240.292182 46.304949) (xy 240.120213 46.42989) + (xy 239.96989 46.580213) (xy 239.844951 46.752179) (xy 239.748444 46.941585) (xy 239.682753 47.14376) + (xy 239.6495 47.353713) (xy 239.6495 47.566286) (xy 239.681002 47.765185) (xy 239.682754 47.776243) + (xy 239.742985 47.961615) (xy 239.748444 47.978414) (xy 239.844951 48.16782) (xy 239.96989 48.339786) + (xy 240.08343 48.453326) (xy 240.116915 48.514649) (xy 240.111931 48.584341) (xy 240.070059 48.640274) + (xy 240.039083 48.657189) (xy 239.907669 48.706203) (xy 239.907664 48.706206) (xy 239.792455 48.792452) + (xy 239.792452 48.792455) (xy 239.706206 48.907664) (xy 239.706202 48.907671) (xy 239.655908 49.042517) + (xy 239.649501 49.102116) (xy 239.6495 49.102135) (xy 239.6495 50.89787) (xy 239.649501 50.897876) + (xy 239.655908 50.957483) (xy 239.706202 51.092328) (xy 239.706206 51.092335) (xy 239.792452 51.207544) + (xy 239.792455 51.207547) (xy 239.907664 51.293793) (xy 239.907671 51.293797) (xy 240.042517 51.344091) + (xy 240.042516 51.344091) (xy 240.049444 51.344835) (xy 240.102127 51.3505) (xy 241.897872 51.350499) + (xy 241.957483 51.344091) (xy 242.092331 51.293796) (xy 242.207546 51.207546) (xy 242.293796 51.092331) + (xy 242.344091 50.957483) (xy 242.3505 50.897873) (xy 242.350499 49.58545) (xy 242.370184 49.518412) + (xy 242.386813 49.497775) (xy 244.998729 46.88586) (xy 244.998733 46.885858) (xy 245.085858 46.798733) + (xy 245.137619 46.721267) (xy 245.154312 46.696285) (xy 245.176609 46.642455) (xy 245.188266 46.614313) + (xy 245.188266 46.614312) (xy 245.201463 46.582452) (xy 245.216688 46.505909) (xy 245.2255 46.461607) + (xy 245.2255 46.338393) (xy 245.2255 33.210858) (xy 245.225506 33.144236) (xy 245.225505 33.144232) + (xy 245.225501 33.144186) (xy 245.225394 33.143648) (xy 245.21387 33.085713) (xy 245.213871 33.085704) + (xy 245.213869 33.085705) (xy 245.201737 33.024688) (xy 245.201494 33.023382) (xy 245.201492 33.023375) + (xy 245.201066 33.022377) (xy 245.175727 32.961203) (xy 245.175723 32.961193) (xy 245.154634 32.910267) + (xy 245.154316 32.90948) (xy 245.154312 32.909473) (xy 245.153633 32.908485) (xy 245.114888 32.8505) + (xy 245.114335 32.849673) (xy 245.085892 32.807097) (xy 245.085891 32.807096) (xy 245.085883 32.807084) + (xy 245.085855 32.80705) (xy 245.033641 32.754837) (xy 245.033634 32.754826) (xy 245.033633 32.754828) + (xy 244.988941 32.710128) (xy 244.98884 32.710036) (xy 243.06214 30.783338) (xy 243.062137 30.783334) + (xy 243.062137 30.783335) (xy 243.05507 30.776268) (xy 243.05507 30.776267) (xy 242.990984 30.712181) + (xy 242.9575 30.650857) (xy 242.962485 30.581166) (xy 243.004356 30.525232) (xy 243.069821 30.500816) + (xy 243.078666 30.5005) (xy 244.294108 30.5005) (xy 244.355572 30.5005) (xy 244.364418 30.500816) + (xy 244.564561 30.51513) (xy 244.582063 30.517647) (xy 244.773795 30.559355) (xy 244.79076 30.564336) + (xy 244.974611 30.632909) (xy 244.990694 30.640253) (xy 245.162908 30.73429) (xy 245.177791 30.743855) + (xy 245.334864 30.861438) (xy 245.348235 30.873024) (xy 245.486975 31.011764) (xy 245.498561 31.025135) + (xy 245.616144 31.182208) (xy 245.625709 31.197091) (xy 245.719743 31.3693) (xy 245.727093 31.385394) + (xy 245.795661 31.569234) (xy 245.800645 31.586209) (xy 245.842351 31.777931) (xy 245.844869 31.795442) + (xy 245.859184 31.99558) (xy 245.8595 32.004427) (xy 245.8595 60.995572) (xy 245.859184 61.004419) + (xy 245.844869 61.204557) (xy 245.842351 61.222068) (xy 245.800645 61.41379) (xy 245.795661 61.430765) + (xy 245.727093 61.614605) (xy 245.719743 61.630699) (xy 245.625709 61.802908) (xy 245.616144 61.817791) + (xy 245.498561 61.974864) (xy 245.486975 61.988235) (xy 245.348235 62.126975) (xy 245.334864 62.138561) + (xy 245.177791 62.256144) (xy 245.162908 62.265709) (xy 244.990699 62.359743) (xy 244.974605 62.367093) + (xy 244.790765 62.435661) (xy 244.77379 62.440645) (xy 244.582068 62.482351) (xy 244.564557 62.484869) + (xy 244.383779 62.497799) (xy 244.364417 62.499184) (xy 244.355572 62.4995) (xy 125.504428 62.4995) + (xy 125.495582 62.499184) (xy 125.473622 62.497613) (xy 125.295442 62.484869) (xy 125.277931 62.482351) + (xy 125.086209 62.440645) (xy 125.069234 62.435661) (xy 124.885394 62.367093) (xy 124.8693 62.359743) + (xy 124.697091 62.265709) (xy 124.682208 62.256144) (xy 124.525135 62.138561) (xy 124.511764 62.126975) + (xy 124.373024 61.988235) (xy 124.361438 61.974864) (xy 124.243855 61.817791) (xy 124.23429 61.802908) + (xy 124.140256 61.630699) (xy 124.132909 61.614611) (xy 124.064336 61.43076) (xy 124.059354 61.41379) + (xy 124.017648 61.222068) (xy 124.01513 61.204556) (xy 124.000816 61.004418) (xy 124.0005 60.995572) + (xy 124.0005 32.004427) (xy 124.000816 31.995581) (xy 124.009584 31.872989) (xy 124.01513 31.795436) + (xy 124.017646 31.777938) (xy 124.059356 31.5862) (xy 124.064335 31.569242) (xy 124.132911 31.385382) + (xy 124.140251 31.36931) (xy 124.234294 31.197083) (xy 124.24385 31.182214) (xy 124.361443 31.025128) + (xy 124.373017 31.011771) (xy 124.511771 30.873017) (xy 124.525128 30.861443) (xy 124.682214 30.74385) + (xy 124.697083 30.734294) (xy 124.86931 30.640251) (xy 124.885382 30.632911) (xy 125.069242 30.564335) + (xy 125.0862 30.559356) (xy 125.277938 30.517646) (xy 125.295436 30.51513) (xy 125.495582 30.500816) + (xy 125.504428 30.5005) (xy 125.565892 30.5005) (xy 130.166029 30.5005) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 236.815425 33.370185) (xy 236.86118 33.422989) (xy 236.871124 33.492147) (xy 236.842099 33.555703) + (xy 236.786706 33.59243) (xy 236.775757 33.595987) (xy 236.759969 33.601117) (xy 236.584594 33.690476) + (xy 236.530338 33.729896) (xy 236.425354 33.806172) (xy 236.425352 33.806174) (xy 236.425351 33.806174) + (xy 234.219878 36.011647) (xy 234.219878 36.011648) (xy 234.219876 36.01165) (xy 234.194324 36.046819) + (xy 234.10418 36.17089) (xy 234.014373 36.347147) (xy 234.013312 36.350908) (xy 233.953995 36.533465) + (xy 233.953995 36.533468) (xy 233.923204 36.727873) (xy 233.923204 50.8255) (xy 233.903519 50.892539) + (xy 233.850715 50.938294) (xy 233.799204 50.9495) (xy 213.131439 50.9495) (xy 213.0644 50.929815) + (xy 213.057128 50.924767) (xy 213.032331 50.906204) (xy 213.032328 50.906202) (xy 212.900917 50.857189) + (xy 212.844983 50.815318) (xy 212.820566 50.749853) (xy 212.835418 50.68158) (xy 212.856563 50.653332) + (xy 212.970104 50.539792) (xy 213.095051 50.367816) (xy 213.191557 50.178412) (xy 213.257246 49.976243) + (xy 213.2905 49.766287) (xy 213.2905 49.553713) (xy 213.265715 49.397227) (xy 213.27467 49.327933) + (xy 213.300504 49.290151) (xy 214.003838 48.586819) (xy 214.065161 48.553334) (xy 214.091519 48.5505) + (xy 216.605501 48.5505) (xy 216.67254 48.570185) (xy 216.718295 48.622989) (xy 216.729501 48.6745) + (xy 216.729501 48.747876) (xy 216.735908 48.807483) (xy 216.786202 48.942328) (xy 216.786206 48.942335) + (xy 216.872452 49.057544) (xy 216.872455 49.057547) (xy 216.987664 49.143793) (xy 216.987671 49.143797) + (xy 217.122517 49.194091) (xy 217.122516 49.194091) (xy 217.129444 49.194835) (xy 217.182127 49.2005) + (xy 218.977872 49.200499) (xy 219.037483 49.194091) (xy 219.172331 49.143796) (xy 219.287546 49.057546) + (xy 219.373796 48.942331) (xy 219.424091 48.807483) (xy 219.4305 48.747873) (xy 219.430499 46.952128) + (xy 219.424091 46.892517) (xy 219.421607 46.885858) (xy 219.373797 46.757671) (xy 219.373793 46.757664) + (xy 219.287547 46.642455) (xy 219.287544 46.642452) (xy 219.172335 46.556206) (xy 219.172328 46.556202) + (xy 219.037482 46.505908) (xy 219.037483 46.505908) (xy 218.977883 46.499501) (xy 218.977881 46.4995) + (xy 218.977873 46.4995) (xy 218.977865 46.4995) (xy 218.967309 46.4995) (xy 218.90027 46.479815) + (xy 218.879628 46.463181) (xy 218.209408 45.792962) (xy 218.272993 45.775925) (xy 218.387007 45.710099) + (xy 218.480099 45.617007) (xy 218.545925 45.502993) (xy 218.562962 45.439408) (xy 219.19527 46.071717) + (xy 219.19527 46.071716) (xy 219.234622 46.017554) (xy 219.331095 45.828217) (xy 219.396757 45.62613) + (xy 219.396757 45.626127) (xy 219.43 45.416246) (xy 219.43 45.203753) (xy 219.396757 44.993872) + (xy 219.396757 44.993869) (xy 219.331095 44.791782) (xy 219.234624 44.602449) (xy 219.19527 44.548282) + (xy 219.195269 44.548282) (xy 218.562962 45.18059) (xy 218.545925 45.117007) (xy 218.480099 45.002993) + (xy 218.387007 44.909901) (xy 218.272993 44.844075) (xy 218.209409 44.827037) (xy 218.841716 44.194728) + (xy 218.787547 44.155373) (xy 218.787547 44.155372) (xy 218.7785 44.150763) (xy 218.727706 44.102788) + (xy 218.710912 44.034966) (xy 218.733451 43.968832) (xy 218.778508 43.929793) (xy 218.787816 43.925051) + (xy 218.910056 43.836239) (xy 218.959786 43.800109) (xy 218.959788 43.800106) (xy 218.959792 43.800104) + (xy 219.110104 43.649792) (xy 219.110106 43.649788) (xy 219.110109 43.649786) (xy 219.235048 43.47782) + (xy 219.235049 43.477819) (xy 219.235051 43.477816) (xy 219.331557 43.288412) (xy 219.397246 43.086243) + (xy 219.4305 42.876287) (xy 219.4305 42.663713) (xy 219.397246 42.453757) (xy 219.331557 42.251588) + (xy 219.235051 42.062184) (xy 219.235049 42.062181) (xy 219.235048 42.062179) (xy 219.110109 41.890213) + (xy 218.959786 41.73989) (xy 218.78782 41.614951) (xy 218.787115 41.614591) (xy 218.779054 41.610485) + (xy 218.728259 41.562512) (xy 218.711463 41.494692) (xy 218.733999 41.428556) (xy 218.779054 41.389515) + (xy 218.787816 41.385051) (xy 218.836211 41.34989) (xy 218.959786 41.260109) (xy 218.959788 41.260106) + (xy 218.959792 41.260104) (xy 219.110104 41.109792) (xy 219.110106 41.109788) (xy 219.110109 41.109786) + (xy 219.235048 40.93782) (xy 219.235049 40.937819) (xy 219.235051 40.937816) (xy 219.331557 40.748412) + (xy 219.397246 40.546243) (xy 219.4305 40.336287) (xy 219.4305 40.123713) (xy 219.397246 39.913757) + (xy 219.331557 39.711588) (xy 219.235051 39.522184) (xy 219.235049 39.522181) (xy 219.235048 39.522179) + (xy 219.110109 39.350213) (xy 218.959786 39.19989) (xy 218.78782 39.074951) (xy 218.598414 38.978444) + (xy 218.598413 38.978443) (xy 218.598412 38.978443) (xy 218.396243 38.912754) (xy 218.396241 38.912753) + (xy 218.39624 38.912753) (xy 218.234957 38.887208) (xy 218.186287 38.8795) (xy 217.973713 38.8795) + (xy 217.925042 38.887208) (xy 217.76376 38.912753) (xy 217.561585 38.978444) (xy 217.372179 39.074951) + (xy 217.200213 39.19989) (xy 217.04989 39.350213) (xy 216.92495 39.52218) (xy 216.917503 39.536797) + (xy 216.869527 39.587592) (xy 216.807019 39.6045) (xy 216.228389 39.6045) (xy 216.167971 39.616518) + (xy 216.130259 39.624019) (xy 216.10755 39.628536) (xy 216.102666 39.630558) (xy 216.074207 39.642347) + (xy 215.993719 39.675684) (xy 215.993705 39.675692) (xy 215.891272 39.744138) (xy 215.891264 39.744144) + (xy 213.502181 42.133228) (xy 213.440858 42.166713) (xy 213.371166 42.161729) (xy 213.315233 42.119857) + (xy 213.290816 42.054393) (xy 213.2905 42.045547) (xy 213.2905 41.933713) (xy 213.257246 41.72376) + (xy 213.257246 41.723757) (xy 213.191557 41.521588) (xy 213.095051 41.332184) (xy 213.095049 41.332181) + (xy 213.095048 41.332179) (xy 212.970109 41.160213) (xy 212.819786 41.00989) (xy 212.647817 40.884949) + (xy 212.638504 40.880204) (xy 212.587707 40.83223) (xy 212.570912 40.764409) (xy 212.593449 40.698274) + (xy 212.638507 40.659232) (xy 212.647555 40.654622) (xy 212.701716 40.61527) (xy 212.701717 40.61527) + (xy 212.069408 39.982962) (xy 212.132993 39.965925) (xy 212.247007 39.900099) (xy 212.340099 39.807007) + (xy 212.405925 39.692993) (xy 212.422962 39.629408) (xy 213.05527 40.261717) (xy 213.05527 40.261716) + (xy 213.094622 40.207554) (xy 213.191095 40.018217) (xy 213.256757 39.81613) (xy 213.256757 39.816127) + (xy 213.29 39.606246) (xy 213.29 39.393753) (xy 213.256757 39.183872) (xy 213.256757 39.183869) + (xy 213.191095 38.981782) (xy 213.094624 38.792449) (xy 213.05527 38.738282) (xy 213.055269 38.738282) + (xy 212.422962 39.37059) (xy 212.405925 39.307007) (xy 212.340099 39.192993) (xy 212.247007 39.099901) + (xy 212.132993 39.034075) (xy 212.069409 39.017037) (xy 212.701716 38.384728) (xy 212.64755 38.345375) + (xy 212.458217 38.248904) (xy 212.256129 38.183242) (xy 212.046246 38.15) (xy 211.833754 38.15) + (xy 211.623872 38.183242) (xy 211.623869 38.183242) (xy 211.421782 38.248904) (xy 211.232439 38.34538) + (xy 211.178282 38.384727) (xy 211.178282 38.384728) (xy 211.810591 39.017037) (xy 211.747007 39.034075) + (xy 211.632993 39.099901) (xy 211.539901 39.192993) (xy 211.474075 39.307007) (xy 211.457037 39.37059) + (xy 210.824728 38.738282) (xy 210.824727 38.738282) (xy 210.78538 38.792439) (xy 210.688904 38.981782) + (xy 210.623242 39.183869) (xy 210.623242 39.183872) (xy 210.59 39.393753) (xy 210.59 39.606246) + (xy 210.623242 39.816127) (xy 210.623242 39.81613) (xy 210.688904 40.018217) (xy 210.785375 40.20755) + (xy 210.824728 40.261716) (xy 211.457037 39.629408) (xy 211.474075 39.692993) (xy 211.539901 39.807007) + (xy 211.632993 39.900099) (xy 211.747007 39.965925) (xy 211.81059 39.982962) (xy 211.178282 40.615269) + (xy 211.178282 40.61527) (xy 211.232452 40.654626) (xy 211.232451 40.654626) (xy 211.241495 40.659234) + (xy 211.292292 40.707208) (xy 211.309087 40.775029) (xy 211.28655 40.841164) (xy 211.241499 40.880202) + (xy 211.232182 40.884949) (xy 211.060213 41.00989) (xy 210.90989 41.160213) (xy 210.78495 41.33218) + (xy 210.777503 41.346797) (xy 210.729527 41.397592) (xy 210.667019 41.4145) (xy 154.792981 41.4145) + (xy 154.725942 41.394815) (xy 154.682497 41.346797) (xy 154.675049 41.33218) (xy 154.550109 41.160213) + (xy 154.399786 41.00989) (xy 154.227817 40.884949) (xy 154.218504 40.880204) (xy 154.167707 40.83223) + (xy 154.150912 40.764409) (xy 154.173449 40.698274) (xy 154.218507 40.659232) (xy 154.227555 40.654622) + (xy 154.281716 40.61527) (xy 154.281717 40.61527) (xy 153.649408 39.982962) (xy 153.712993 39.965925) + (xy 153.827007 39.900099) (xy 153.920099 39.807007) (xy 153.985925 39.692993) (xy 154.002962 39.629408) + (xy 154.63527 40.261717) (xy 154.63527 40.261716) (xy 154.674622 40.207554) (xy 154.771095 40.018217) + (xy 154.836757 39.81613) (xy 154.836757 39.816127) (xy 154.87 39.606246) (xy 154.87 39.393753) (xy 154.836757 39.183872) + (xy 154.836757 39.183869) (xy 154.771095 38.981782) (xy 154.674624 38.792449) (xy 154.63527 38.738282) + (xy 154.635269 38.738282) (xy 154.002962 39.37059) (xy 153.985925 39.307007) (xy 153.920099 39.192993) + (xy 153.827007 39.099901) (xy 153.712993 39.034075) (xy 153.649409 39.017037) (xy 154.281716 38.384728) + (xy 154.22755 38.345375) (xy 154.038217 38.248904) (xy 153.836129 38.183242) (xy 153.626246 38.15) + (xy 153.413754 38.15) (xy 153.203872 38.183242) (xy 153.203869 38.183242) (xy 153.001782 38.248904) + (xy 152.812439 38.34538) (xy 152.758282 38.384727) (xy 152.758282 38.384728) (xy 153.390591 39.017037) + (xy 153.327007 39.034075) (xy 153.212993 39.099901) (xy 153.119901 39.192993) (xy 153.054075 39.307007) + (xy 153.037037 39.370591) (xy 152.404728 38.738282) (xy 152.404727 38.738282) (xy 152.36538 38.792439) + (xy 152.268904 38.981782) (xy 152.203242 39.183869) (xy 152.203242 39.183872) (xy 152.17 39.393753) + (xy 152.17 39.506048) (xy 152.150315 39.573087) (xy 152.097511 39.618842) (xy 152.028353 39.628786) + (xy 151.964797 39.599761) (xy 151.958319 39.593729) (xy 151.725198 39.360608) (xy 151.725178 39.360586) + (xy 151.633736 39.269144) (xy 151.633732 39.269141) (xy 151.574405 39.2295) (xy 151.531286 39.200688) + (xy 151.529359 39.19989) (xy 151.512708 39.192993) (xy 151.450792 39.167347) (xy 151.417453 39.153537) + (xy 151.407427 39.151543) (xy 151.357029 39.141518) (xy 151.29661 39.1295) (xy 151.296607 39.1295) + (xy 151.296606 39.1295) (xy 144.996269 39.1295) (xy 144.92923 39.109815) (xy 144.883475 39.057011) + (xy 144.873531 38.987853) (xy 144.880312 38.963131) (xy 144.880051 38.963046) (xy 144.896392 38.912754) + (xy 144.947246 38.756243) (xy 144.9805 38.546287) (xy 144.9805 38.333713) (xy 144.947246 38.123757) + (xy 144.881557 37.921588) (xy 144.785051 37.732184) (xy 144.785049 37.732181) (xy 144.785048 37.732179) + (xy 144.660109 37.560213) (xy 144.546569 37.446673) (xy 144.513084 37.38535) (xy 144.518068 37.315658) + (xy 144.55994 37.259725) (xy 144.590915 37.24281) (xy 144.722331 37.193796) (xy 144.837546 37.107546) + (xy 144.923796 36.992331) (xy 144.974091 36.857483) (xy 144.9805 36.797873) (xy 144.980499 35.002128) + (xy 144.974091 34.942517) (xy 144.974091 34.942516) (xy 144.923797 34.80767) (xy 144.923793 34.807664) + (xy 144.837547 34.692455) (xy 144.837544 34.692452) (xy 144.722335 34.606206) (xy 144.722328 34.606202) + (xy 144.587482 34.555908) (xy 144.587483 34.555908) (xy 144.527883 34.549501) (xy 144.527881 34.5495) + (xy 144.527873 34.5495) (xy 144.527864 34.5495) (xy 142.732129 34.5495) (xy 142.732123 34.549501) + (xy 142.672516 34.555908) (xy 142.537671 34.606202) (xy 142.537664 34.606206) (xy 142.422455 34.692452) + (xy 142.422452 34.692455) (xy 142.336206 34.807664) (xy 142.336203 34.80767) (xy 142.285908 34.942517) + (xy 142.282987 34.969691) (xy 142.279501 35.002123) (xy 142.2795 35.002135) (xy 142.2795 36.79787) + (xy 142.279501 36.797876) (xy 142.285908 36.857483) (xy 142.336202 36.992328) (xy 142.336206 36.992335) + (xy 142.422452 37.107544) (xy 142.422455 37.107547) (xy 142.537664 37.193793) (xy 142.537671 37.193797) + (xy 142.669082 37.24281) (xy 142.725016 37.284681) (xy 142.749433 37.350145) (xy 142.734582 37.418418) + (xy 142.713431 37.446673) (xy 142.599889 37.560215) (xy 142.474951 37.732179) (xy 142.378444 37.921585) + (xy 142.312753 38.12376) (xy 142.2795 38.333713) (xy 142.2795 38.546286) (xy 142.30071 38.680204) + (xy 142.312754 38.756243) (xy 142.363607 38.912753) (xy 142.379949 38.963046) (xy 142.378868 38.963397) + (xy 142.38576 39.027521) (xy 142.354483 39.089999) (xy 142.294392 39.125649) (xy 142.263731 39.1295) + (xy 132.555452 39.1295) (xy 132.488413 39.109815) (xy 132.467771 39.093181) (xy 129.732428 36.357838) + (xy 129.698943 36.296515) (xy 129.702177 36.231841) (xy 129.707246 36.216243) (xy 129.7405 36.006287) + (xy 129.7405 35.793713) (xy 129.707246 35.583757) (xy 129.641557 35.381588) (xy 129.545051 35.192184) + (xy 129.545049 35.192181) (xy 129.545048 35.192179) (xy 129.420109 35.020213) (xy 129.269786 34.86989) + (xy 129.097819 34.744951) (xy 129.097818 34.74495) (xy 129.097816 34.744949) (xy 129.029775 34.71028) + (xy 128.984511 34.687217) (xy 128.933715 34.639242) (xy 128.91692 34.571421) (xy 128.939458 34.505286) + (xy 128.953119 34.489057) (xy 130.055359 33.386819) (xy 130.116682 33.353334) (xy 130.14304 33.3505) + (xy 138.713394 33.3505) (xy 236.748386 33.3505) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 216.874058 43.415185) (xy 216.917503 43.463203) (xy 216.92495 43.477819) (xy 217.04989 43.649786) + (xy 217.200213 43.800109) (xy 217.372179 43.925048) (xy 217.372181 43.925049) (xy 217.372184 43.925051) + (xy 217.381493 43.929794) (xy 217.43229 43.977766) (xy 217.449087 44.045587) (xy 217.426552 44.111722) + (xy 217.381505 44.15076) (xy 217.372446 44.155376) (xy 217.37244 44.15538) (xy 217.318282 44.194727) + (xy 217.318282 44.194728) (xy 217.950591 44.827037) (xy 217.887007 44.844075) (xy 217.772993 44.909901) + (xy 217.679901 45.002993) (xy 217.614075 45.117007) (xy 217.597037 45.180591) (xy 216.964728 44.548282) + (xy 216.964727 44.548282) (xy 216.92538 44.602439) (xy 216.828904 44.791782) (xy 216.763242 44.993869) + (xy 216.763242 44.993872) (xy 216.73 45.203753) (xy 216.73 45.416246) (xy 216.763242 45.626127) + (xy 216.763242 45.62613) (xy 216.828904 45.828217) (xy 216.925375 46.01755) (xy 216.964728 46.071716) + (xy 217.597037 45.439408) (xy 217.614075 45.502993) (xy 217.679901 45.617007) (xy 217.772993 45.710099) + (xy 217.887007 45.775925) (xy 217.95059 45.792962) (xy 217.28037 46.463181) (xy 217.219047 46.496666) + (xy 217.192698 46.4995) (xy 217.182134 46.4995) (xy 217.182123 46.499501) (xy 217.122516 46.505908) + (xy 216.987671 46.556202) (xy 216.987664 46.556206) (xy 216.872455 46.642452) (xy 216.872452 46.642455) + (xy 216.786206 46.757664) (xy 216.786202 46.757671) (xy 216.735908 46.892517) (xy 216.730826 46.939792) + (xy 216.729501 46.952123) (xy 216.7295 46.952135) (xy 216.7295 47.0255) (xy 216.709815 47.092539) + (xy 216.657011 47.138294) (xy 216.6055 47.1495) (xy 213.681004 47.1495) (xy 213.545677 47.176418) + (xy 213.545667 47.176421) (xy 213.461952 47.211097) (xy 213.392483 47.218566) (xy 213.330004 47.18729) + (xy 213.294352 47.127201) (xy 213.2905 47.096536) (xy 213.2905 47.013713) (xy 213.280746 46.952128) + (xy 213.257246 46.803757) (xy 213.252179 46.788162) (xy 213.250182 46.718321) (xy 213.282426 46.662162) + (xy 216.512771 43.431819) (xy 216.574094 43.398334) (xy 216.600452 43.3955) (xy 216.807019 43.3955) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 242.461587 33.370185) (xy 242.482229 33.386819) (xy 242.738181 33.642771) (xy 242.771666 33.704094) + (xy 242.7745 33.730452) (xy 242.7745 42.209546) (xy 242.754815 42.276585) (xy 242.738181 42.297227) + (xy 242.562181 42.473227) (xy 242.500858 42.506712) (xy 242.431166 42.501728) (xy 242.375233 42.459856) + (xy 242.350816 42.394392) (xy 242.3505 42.385546) (xy 242.3505 42.273713) (xy 242.340337 42.209546) + (xy 242.317246 42.063757) (xy 242.251557 41.861588) (xy 242.155051 41.672184) (xy 242.155049 41.672181) + (xy 242.155048 41.672179) (xy 242.030109 41.500213) (xy 241.879786 41.34989) (xy 241.70782 41.224951) + (xy 241.707115 41.224591) (xy 241.699054 41.220485) (xy 241.648259 41.172512) (xy 241.631463 41.104692) + (xy 241.653999 41.038556) (xy 241.699054 40.999515) (xy 241.707816 40.995051) (xy 241.729789 40.979086) + (xy 241.879786 40.870109) (xy 241.879788 40.870106) (xy 241.879792 40.870104) (xy 242.030104 40.719792) + (xy 242.030106 40.719788) (xy 242.030109 40.719786) (xy 242.155048 40.54782) (xy 242.155047 40.54782) + (xy 242.155051 40.547816) (xy 242.251557 40.358412) (xy 242.317246 40.156243) (xy 242.3505 39.946287) + (xy 242.3505 39.733713) (xy 242.317246 39.523757) (xy 242.251557 39.321588) (xy 242.155051 39.132184) + (xy 242.155049 39.132181) (xy 242.155048 39.132179) (xy 242.030109 38.960213) (xy 241.879786 38.80989) + (xy 241.707817 38.684949) (xy 241.698504 38.680204) (xy 241.647707 38.63223) (xy 241.630912 38.564409) + (xy 241.653449 38.498274) (xy 241.698507 38.459232) (xy 241.707555 38.454622) (xy 241.761716 38.41527) + (xy 241.761717 38.41527) (xy 241.129408 37.782962) (xy 241.192993 37.765925) (xy 241.307007 37.700099) + (xy 241.400099 37.607007) (xy 241.465925 37.492993) (xy 241.482962 37.429408) (xy 242.11527 38.061717) + (xy 242.11527 38.061716) (xy 242.154622 38.007554) (xy 242.251095 37.818217) (xy 242.316757 37.61613) + (xy 242.316757 37.616127) (xy 242.35 37.406246) (xy 242.35 37.193753) (xy 242.316757 36.983872) + (xy 242.316757 36.983869) (xy 242.251095 36.781782) (xy 242.154624 36.592449) (xy 242.11527 36.538282) + (xy 242.115269 36.538282) (xy 241.482962 37.17059) (xy 241.465925 37.107007) (xy 241.400099 36.992993) + (xy 241.307007 36.899901) (xy 241.192993 36.834075) (xy 241.129409 36.817037) (xy 241.761716 36.184728) + (xy 241.707547 36.145373) (xy 241.707547 36.145372) (xy 241.6985 36.140763) (xy 241.647706 36.092788) + (xy 241.630912 36.024966) (xy 241.653451 35.958832) (xy 241.698508 35.919793) (xy 241.707816 35.915051) + (xy 241.874825 35.793713) (xy 241.879786 35.790109) (xy 241.879788 35.790106) (xy 241.879792 35.790104) + (xy 242.030104 35.639792) (xy 242.030106 35.639788) (xy 242.030109 35.639786) (xy 242.155048 35.46782) + (xy 242.155047 35.46782) (xy 242.155051 35.467816) (xy 242.251557 35.278412) (xy 242.317246 35.076243) + (xy 242.3505 34.866287) (xy 242.3505 34.653713) (xy 242.317246 34.443757) (xy 242.251557 34.241588) + (xy 242.155051 34.052184) (xy 242.155049 34.052181) (xy 242.155048 34.052179) (xy 242.030109 33.880213) + (xy 241.879786 33.72989) (xy 241.70782 33.604951) (xy 241.668634 33.584985) (xy 241.617838 33.537011) + (xy 241.601043 33.46919) (xy 241.62358 33.403055) (xy 241.678295 33.359603) (xy 241.724929 33.3505) + (xy 242.394548 33.3505) + ) + ) + (filled_polygon + (layer "B.Cu") + (pts + (xy 129.945203 53.686306) (xy 129.951681 53.692338) (xy 135.597162 59.337819) (xy 135.630647 59.399142) + (xy 135.625663 59.468834) (xy 135.583791 59.524767) (xy 135.518327 59.549184) (xy 135.509481 59.5495) + (xy 131.369336 59.5495) (xy 131.302297 59.529815) (xy 131.281655 59.513181) (xy 129.676819 57.908345) + (xy 129.643334 57.847022) (xy 129.6405 57.820664) (xy 129.6405 57.411438) (xy 129.660185 57.344399) + (xy 129.665234 57.337126) (xy 129.683796 57.312331) (xy 129.734091 57.177483) (xy 129.7405 57.117873) + (xy 129.740499 55.322128) (xy 129.734091 55.262517) (xy 129.683796 55.127669) (xy 129.683795 55.127668) + (xy 129.683793 55.127664) (xy 129.597547 55.012455) (xy 129.597544 55.012452) (xy 129.482335 54.926206) + (xy 129.482328 54.926202) (xy 129.347482 54.875908) (xy 129.347483 54.875908) (xy 129.287883 54.869501) + (xy 129.287881 54.8695) (xy 129.287873 54.8695) (xy 129.287865 54.8695) (xy 129.277309 54.8695) + (xy 129.21027 54.849815) (xy 129.189628 54.833181) (xy 128.519408 54.162962) (xy 128.582993 54.145925) + (xy 128.697007 54.080099) (xy 128.790099 53.987007) (xy 128.855925 53.872993) (xy 128.872962 53.809408) + (xy 129.50527 54.441717) (xy 129.50527 54.441716) (xy 129.544622 54.387554) (xy 129.641095 54.198217) + (xy 129.706757 53.99613) (xy 129.706757 53.996127) (xy 129.74 53.786246) (xy 129.74 53.780019) (xy 129.759685 53.71298) + (xy 129.812489 53.667225) (xy 129.881647 53.657281) + ) + ) + (filled_polygon + (layer "B.Cu") + (pts + (xy 244.364418 30.500816) (xy 244.564561 30.51513) (xy 244.582063 30.517647) (xy 244.773795 30.559355) + (xy 244.79076 30.564336) (xy 244.974611 30.632909) (xy 244.990694 30.640253) (xy 245.107495 30.704032) + (xy 245.162908 30.73429) (xy 245.177791 30.743855) (xy 245.334864 30.861438) (xy 245.348235 30.873024) + (xy 245.486975 31.011764) (xy 245.498561 31.025135) (xy 245.616144 31.182208) (xy 245.625709 31.197091) + (xy 245.719743 31.3693) (xy 245.727093 31.385394) (xy 245.795661 31.569234) (xy 245.800645 31.586209) + (xy 245.842351 31.777931) (xy 245.844869 31.795442) (xy 245.859184 31.99558) (xy 245.8595 32.004427) + (xy 245.8595 60.995572) (xy 245.859184 61.004419) (xy 245.844869 61.204557) (xy 245.842351 61.222068) + (xy 245.800645 61.41379) (xy 245.795661 61.430765) (xy 245.727093 61.614605) (xy 245.719743 61.630699) + (xy 245.625709 61.802908) (xy 245.616144 61.817791) (xy 245.498561 61.974864) (xy 245.486975 61.988235) + (xy 245.348235 62.126975) (xy 245.334864 62.138561) (xy 245.177791 62.256144) (xy 245.162908 62.265709) + (xy 244.990699 62.359743) (xy 244.974605 62.367093) (xy 244.790765 62.435661) (xy 244.77379 62.440645) + (xy 244.582068 62.482351) (xy 244.564557 62.484869) (xy 244.383779 62.497799) (xy 244.364417 62.499184) + (xy 244.355572 62.4995) (xy 125.504428 62.4995) (xy 125.495582 62.499184) (xy 125.473622 62.497613) + (xy 125.295442 62.484869) (xy 125.277931 62.482351) (xy 125.086209 62.440645) (xy 125.069234 62.435661) + (xy 124.885394 62.367093) (xy 124.8693 62.359743) (xy 124.697091 62.265709) (xy 124.682208 62.256144) + (xy 124.525135 62.138561) (xy 124.511764 62.126975) (xy 124.373024 61.988235) (xy 124.361438 61.974864) + (xy 124.243855 61.817791) (xy 124.23429 61.802908) (xy 124.207489 61.753826) (xy 124.140253 61.630694) + (xy 124.132909 61.614611) (xy 124.064336 61.43076) (xy 124.059354 61.41379) (xy 124.017648 61.222068) + (xy 124.01513 61.204556) (xy 124.000816 61.004418) (xy 124.0005 60.995572) (xy 124.0005 35.793713) + (xy 127.0395 35.793713) (xy 127.0395 36.006287) (xy 127.044141 36.035587) (xy 127.072753 36.216239) + (xy 127.138444 36.418414) (xy 127.234951 36.60782) (xy 127.35989 36.779786) (xy 127.510213 36.930109) + (xy 127.682182 37.05505) (xy 127.690946 37.059516) (xy 127.741742 37.107491) (xy 127.758536 37.175312) + (xy 127.735998 37.241447) (xy 127.690946 37.280484) (xy 127.682182 37.284949) (xy 127.510213 37.40989) + (xy 127.35989 37.560213) (xy 127.234951 37.732179) (xy 127.138444 37.921585) (xy 127.072753 38.12376) + (xy 127.0395 38.333713) (xy 127.0395 38.546286) (xy 127.06071 38.680204) (xy 127.072754 38.756243) + (xy 127.123607 38.912753) (xy 127.138444 38.958414) (xy 127.234951 39.14782) (xy 127.35989 39.319786) + (xy 127.510213 39.470109) (xy 127.682182 39.59505) (xy 127.690946 39.599516) (xy 127.741742 39.647491) + (xy 127.758536 39.715312) (xy 127.735998 39.781447) (xy 127.690946 39.820484) (xy 127.682182 39.824949) + (xy 127.510213 39.94989) (xy 127.35989 40.100213) (xy 127.234951 40.272179) (xy 127.138444 40.461585) + (xy 127.072753 40.66376) (xy 127.04607 40.83223) (xy 127.0395 40.873713) (xy 127.0395 41.086287) + (xy 127.072754 41.296243) (xy 127.137234 41.494692) (xy 127.138444 41.498414) (xy 127.234951 41.68782) + (xy 127.35989 41.859786) (xy 127.510213 42.010109) (xy 127.682182 42.13505) (xy 127.690946 42.139516) + (xy 127.741742 42.187491) (xy 127.758536 42.255312) (xy 127.735998 42.321447) (xy 127.690946 42.360484) + (xy 127.682182 42.364949) (xy 127.510213 42.48989) (xy 127.35989 42.640213) (xy 127.234951 42.812179) + (xy 127.138444 43.001585) (xy 127.072753 43.20376) (xy 127.046026 43.372512) (xy 127.0395 43.413713) + (xy 127.0395 43.626287) (xy 127.072754 43.836243) (xy 127.137323 44.034966) (xy 127.138444 44.038414) + (xy 127.234951 44.22782) (xy 127.35989 44.399786) (xy 127.510213 44.550109) (xy 127.682182 44.67505) + (xy 127.690946 44.679516) (xy 127.741742 44.727491) (xy 127.758536 44.795312) (xy 127.735998 44.861447) + (xy 127.690946 44.900484) (xy 127.682182 44.904949) (xy 127.510213 45.02989) (xy 127.35989 45.180213) + (xy 127.234951 45.352179) (xy 127.138444 45.541585) (xy 127.072753 45.74376) (xy 127.046026 45.912512) + (xy 127.0395 45.953713) (xy 127.0395 46.166287) (xy 127.072754 46.376243) (xy 127.131226 46.556202) + (xy 127.138444 46.578414) (xy 127.234951 46.76782) (xy 127.35989 46.939786) (xy 127.510213 47.090109) + (xy 127.682182 47.21505) (xy 127.690946 47.219516) (xy 127.741742 47.267491) (xy 127.758536 47.335312) + (xy 127.735998 47.401447) (xy 127.690946 47.440484) (xy 127.682182 47.444949) (xy 127.510213 47.56989) + (xy 127.35989 47.720213) (xy 127.234951 47.892179) (xy 127.138444 48.081585) (xy 127.072753 48.28376) + (xy 127.046026 48.452512) (xy 127.0395 48.493713) (xy 127.0395 48.706287) (xy 127.072754 48.916243) + (xy 127.137622 49.115886) (xy 127.138444 49.118414) (xy 127.234951 49.30782) (xy 127.35989 49.479786) + (xy 127.510213 49.630109) (xy 127.682182 49.75505) (xy 127.690946 49.759516) (xy 127.741742 49.807491) + (xy 127.758536 49.875312) (xy 127.735998 49.941447) (xy 127.690946 49.980484) (xy 127.682182 49.984949) + (xy 127.510213 50.10989) (xy 127.35989 50.260213) (xy 127.234951 50.432179) (xy 127.138444 50.621585) + (xy 127.072753 50.82376) (xy 127.0395 51.033713) (xy 127.0395 51.246286) (xy 127.072753 51.456239) + (xy 127.138444 51.658414) (xy 127.234951 51.84782) (xy 127.35989 52.019786) (xy 127.510213 52.170109) + (xy 127.682179 52.295048) (xy 127.682181 52.295049) (xy 127.682184 52.295051) (xy 127.691493 52.299794) + (xy 127.74229 52.347766) (xy 127.759087 52.415587) (xy 127.736552 52.481722) (xy 127.691505 52.52076) + (xy 127.682446 52.525376) (xy 127.68244 52.52538) (xy 127.628282 52.564727) (xy 127.628282 52.564728) + (xy 128.260591 53.197037) (xy 128.197007 53.214075) (xy 128.082993 53.279901) (xy 127.989901 53.372993) + (xy 127.924075 53.487007) (xy 127.907037 53.550591) (xy 127.274728 52.918282) (xy 127.274727 52.918282) + (xy 127.23538 52.972439) (xy 127.138904 53.161782) (xy 127.073242 53.363869) (xy 127.073242 53.363872) + (xy 127.04 53.573753) (xy 127.04 53.786246) (xy 127.073242 53.996127) (xy 127.073242 53.99613) (xy 127.138904 54.198217) + (xy 127.235375 54.38755) (xy 127.274728 54.441716) (xy 127.907037 53.809408) (xy 127.924075 53.872993) + (xy 127.989901 53.987007) (xy 128.082993 54.080099) (xy 128.197007 54.145925) (xy 128.26059 54.162962) + (xy 127.59037 54.833181) (xy 127.529047 54.866666) (xy 127.502698 54.8695) (xy 127.492134 54.8695) + (xy 127.492123 54.869501) (xy 127.432516 54.875908) (xy 127.297671 54.926202) (xy 127.297664 54.926206) + (xy 127.182455 55.012452) (xy 127.182452 55.012455) (xy 127.096206 55.127664) (xy 127.096202 55.127671) + (xy 127.045908 55.262517) (xy 127.039501 55.322116) (xy 127.039501 55.322123) (xy 127.0395 55.322135) + (xy 127.0395 57.11787) (xy 127.039501 57.117876) (xy 127.045908 57.177483) (xy 127.096203 57.312329) + (xy 127.114766 57.337126) (xy 127.139184 57.40259) (xy 127.1395 57.411438) (xy 127.1395 58.488422) + (xy 127.17029 58.682826) (xy 127.231117 58.87003) (xy 127.264428 58.935405) (xy 127.320476 59.045405) + (xy 127.436172 59.204646) (xy 129.985355 61.753829) (xy 130.144595 61.869524) (xy 130.227454 61.911742) + (xy 130.319969 61.958882) (xy 130.319971 61.958882) (xy 130.319974 61.958884) (xy 130.391007 61.981964) + (xy 130.507173 62.019709) (xy 130.701578 62.0505) (xy 130.701583 62.0505) (xy 151.098422 62.0505) + (xy 151.292826 62.019709) (xy 151.480026 61.958884) (xy 151.655405 61.869524) (xy 151.814646 61.753828) + (xy 154.473828 59.094646) (xy 154.589524 58.935405) (xy 154.678884 58.760026) (xy 154.739709 58.572826) + (xy 154.744891 58.540109) (xy 154.7705 58.378422) (xy 154.7705 56.612135) (xy 231.8095 56.612135) + (xy 231.8095 58.40787) (xy 231.809501 58.407876) (xy 231.815908 58.467483) (xy 231.866202 58.602328) + (xy 231.866206 58.602335) (xy 231.952452 58.717544) (xy 231.952455 58.717547) (xy 232.067664 58.803793) + (xy 232.067671 58.803797) (xy 232.202517 58.854091) (xy 232.202516 58.854091) (xy 232.209444 58.854835) + (xy 232.262127 58.8605) (xy 234.057872 58.860499) (xy 234.117483 58.854091) (xy 234.252331 58.803796) + (xy 234.367546 58.717546) (xy 234.453796 58.602331) (xy 234.50281 58.470916) (xy 234.544681 58.414984) + (xy 234.610145 58.390566) (xy 234.678418 58.405417) (xy 234.706673 58.426569) (xy 234.820213 58.540109) + (xy 234.992179 58.665048) (xy 234.992181 58.665049) (xy 234.992184 58.665051) (xy 235.181588 58.761557) + (xy 235.383757 58.827246) (xy 235.593713 58.8605) (xy 235.593714 58.8605) (xy 235.806286 58.8605) + (xy 235.806287 58.8605) (xy 236.016243 58.827246) (xy 236.218412 58.761557) (xy 236.407816 58.665051) + (xy 236.494138 58.602335) (xy 236.579786 58.540109) (xy 236.579788 58.540106) (xy 236.579792 58.540104) + (xy 236.730104 58.389792) (xy 236.730106 58.389788) (xy 236.730109 58.389786) (xy 236.855048 58.21782) + (xy 236.855047 58.21782) (xy 236.855051 58.217816) (xy 236.859514 58.209054) (xy 236.907488 58.158259) + (xy 236.975308 58.141463) (xy 237.041444 58.163999) (xy 237.080486 58.209056) (xy 237.084951 58.21782) + (xy 237.20989 58.389786) (xy 237.360213 58.540109) (xy 237.532179 58.665048) (xy 237.532181 58.665049) + (xy 237.532184 58.665051) (xy 237.721588 58.761557) (xy 237.923757 58.827246) (xy 238.133713 58.8605) + (xy 238.133714 58.8605) (xy 238.346286 58.8605) (xy 238.346287 58.8605) (xy 238.556243 58.827246) + (xy 238.758412 58.761557) (xy 238.947816 58.665051) (xy 239.034138 58.602335) (xy 239.119786 58.540109) + (xy 239.119788 58.540106) (xy 239.119792 58.540104) (xy 239.270104 58.389792) (xy 239.270106 58.389788) + (xy 239.270109 58.389786) (xy 239.337515 58.297007) (xy 239.395051 58.217816) (xy 239.399793 58.208508) + (xy 239.447763 58.157711) (xy 239.515583 58.140911) (xy 239.581719 58.163445) (xy 239.620763 58.2085) + (xy 239.625373 58.217547) (xy 239.664728 58.271716) (xy 240.297037 57.639408) (xy 240.314075 57.702993) + (xy 240.379901 57.817007) (xy 240.472993 57.910099) (xy 240.587007 57.975925) (xy 240.65059 57.992962) + (xy 240.018282 58.625269) (xy 240.018282 58.62527) (xy 240.072449 58.664624) (xy 240.261782 58.761095) + (xy 240.46387 58.826757) (xy 240.673754 58.86) (xy 240.886246 58.86) (xy 241.096127 58.826757) (xy 241.09613 58.826757) + (xy 241.298217 58.761095) (xy 241.487554 58.664622) (xy 241.541716 58.62527) (xy 241.541717 58.62527) + (xy 240.909408 57.992962) (xy 240.972993 57.975925) (xy 241.087007 57.910099) (xy 241.180099 57.817007) + (xy 241.245925 57.702993) (xy 241.262962 57.639408) (xy 241.89527 58.271717) (xy 241.89527 58.271716) + (xy 241.934622 58.217554) (xy 242.031095 58.028217) (xy 242.096757 57.82613) (xy 242.096757 57.826127) + (xy 242.13 57.616246) (xy 242.13 57.403753) (xy 242.096757 57.193872) (xy 242.096757 57.193869) + (xy 242.031095 56.991782) (xy 241.934624 56.802449) (xy 241.89527 56.748282) (xy 241.895269 56.748282) + (xy 241.262962 57.38059) (xy 241.245925 57.317007) (xy 241.180099 57.202993) (xy 241.087007 57.109901) + (xy 240.972993 57.044075) (xy 240.909409 57.027037) (xy 241.541716 56.394728) (xy 241.48755 56.355375) + (xy 241.298217 56.258904) (xy 241.096129 56.193242) (xy 240.886246 56.16) (xy 240.673754 56.16) + (xy 240.463872 56.193242) (xy 240.463869 56.193242) (xy 240.261782 56.258904) (xy 240.072439 56.35538) + (xy 240.018282 56.394727) (xy 240.018282 56.394728) (xy 240.650591 57.027037) (xy 240.587007 57.044075) + (xy 240.472993 57.109901) (xy 240.379901 57.202993) (xy 240.314075 57.317007) (xy 240.297037 57.380591) + (xy 239.664728 56.748282) (xy 239.664727 56.748282) (xy 239.62538 56.80244) (xy 239.625376 56.802446) + (xy 239.62076 56.811505) (xy 239.572781 56.862297) (xy 239.504959 56.879087) (xy 239.438826 56.856543) + (xy 239.399794 56.811493) (xy 239.395051 56.802184) (xy 239.395049 56.802181) (xy 239.395048 56.802179) + (xy 239.270107 56.630211) (xy 239.119786 56.47989) (xy 238.94782 56.354951) (xy 238.758414 56.258444) + (xy 238.758413 56.258443) (xy 238.758412 56.258443) (xy 238.556243 56.192754) (xy 238.556241 56.192753) + (xy 238.55624 56.192753) (xy 238.394957 56.167208) (xy 238.346287 56.1595) (xy 238.133713 56.1595) + (xy 238.085042 56.167208) (xy 237.92376 56.192753) (xy 237.721585 56.258444) (xy 237.532179 56.354951) + (xy 237.360213 56.47989) (xy 237.360209 56.479894) (xy 237.209897 56.630207) (xy 237.209893 56.630211) + (xy 237.084949 56.802182) (xy 237.080484 56.810946) (xy 237.032509 56.861742) (xy 236.964688 56.878536) + (xy 236.898553 56.855998) (xy 236.859516 56.810946) (xy 236.85505 56.802182) (xy 236.730107 56.630211) + (xy 236.579786 56.47989) (xy 236.40782 56.354951) (xy 236.218414 56.258444) (xy 236.218413 56.258443) + (xy 236.218412 56.258443) (xy 236.016243 56.192754) (xy 236.016241 56.192753) (xy 236.01624 56.192753) + (xy 235.854957 56.167208) (xy 235.806287 56.1595) (xy 235.593713 56.1595) (xy 235.545042 56.167208) + (xy 235.38376 56.192753) (xy 235.181585 56.258444) (xy 234.992179 56.354951) (xy 234.820215 56.479889) + (xy 234.706673 56.593431) (xy 234.64535 56.626915) (xy 234.575658 56.621931) (xy 234.519725 56.580059) + (xy 234.50281 56.549082) (xy 234.453797 56.417671) (xy 234.453793 56.417664) (xy 234.367547 56.302455) + (xy 234.367544 56.302452) (xy 234.252335 56.216206) (xy 234.252328 56.216202) (xy 234.117482 56.165908) + (xy 234.117483 56.165908) (xy 234.057883 56.159501) (xy 234.057881 56.1595) (xy 234.057873 56.1595) + (xy 234.057864 56.1595) (xy 232.262129 56.1595) (xy 232.262123 56.159501) (xy 232.202516 56.165908) + (xy 232.067671 56.216202) (xy 232.067664 56.216206) (xy 231.952455 56.302452) (xy 231.952452 56.302455) + (xy 231.866206 56.417664) (xy 231.866202 56.417671) (xy 231.815909 56.552516) (xy 231.815908 56.552516) + (xy 231.809501 56.612116) (xy 231.8095 56.612135) (xy 154.7705 56.612135) (xy 154.7705 53.391438) + (xy 154.790185 53.324399) (xy 154.795234 53.317126) (xy 154.813796 53.292331) (xy 154.864091 53.157483) + (xy 154.8705 53.097873) (xy 154.870499 51.302128) (xy 154.864091 51.242517) (xy 154.813796 51.107669) + (xy 154.813795 51.107668) (xy 154.813793 51.107664) (xy 154.727547 50.992455) (xy 154.727544 50.992452) + (xy 154.612335 50.906206) (xy 154.612328 50.906202) (xy 154.480917 50.857189) (xy 154.424983 50.815318) + (xy 154.400566 50.749853) (xy 154.415418 50.68158) (xy 154.436563 50.653332) (xy 154.550104 50.539792) + (xy 154.675051 50.367816) (xy 154.771557 50.178412) (xy 154.837246 49.976243) (xy 154.8705 49.766287) + (xy 154.8705 49.553713) (xy 154.837246 49.343757) (xy 154.771557 49.141588) (xy 154.675051 48.952184) + (xy 154.675049 48.952181) (xy 154.675048 48.952179) (xy 154.550109 48.780213) (xy 154.399786 48.62989) + (xy 154.22782 48.504951) (xy 154.227115 48.504591) (xy 154.219054 48.500485) (xy 154.168259 48.452512) + (xy 154.151463 48.384692) (xy 154.173999 48.318556) (xy 154.219054 48.279515) (xy 154.227816 48.275051) + (xy 154.249789 48.259086) (xy 154.399786 48.150109) (xy 154.399788 48.150106) (xy 154.399792 48.150104) + (xy 154.550104 47.999792) (xy 154.550106 47.999788) (xy 154.550109 47.999786) (xy 154.675048 47.82782) + (xy 154.675047 47.82782) (xy 154.675051 47.827816) (xy 154.771557 47.638412) (xy 154.837246 47.436243) + (xy 154.8705 47.226287) (xy 154.8705 47.013713) (xy 154.837246 46.803757) (xy 154.771557 46.601588) + (xy 154.675051 46.412184) (xy 154.675049 46.412181) (xy 154.675048 46.412179) (xy 154.550109 46.240213) + (xy 154.399786 46.08989) (xy 154.22782 45.964951) (xy 154.227115 45.964591) (xy 154.219054 45.960485) + (xy 154.168259 45.912512) (xy 154.151463 45.844692) (xy 154.173999 45.778556) (xy 154.219054 45.739515) + (xy 154.227816 45.735051) (xy 154.326224 45.663554) (xy 154.399786 45.610109) (xy 154.399788 45.610106) + (xy 154.399792 45.610104) (xy 154.550104 45.459792) (xy 154.550106 45.459788) (xy 154.550109 45.459786) + (xy 154.675048 45.28782) (xy 154.675047 45.28782) (xy 154.675051 45.287816) (xy 154.771557 45.098412) + (xy 154.837246 44.896243) (xy 154.8705 44.686287) (xy 154.8705 44.473713) (xy 154.837246 44.263757) + (xy 154.771557 44.061588) (xy 154.675051 43.872184) (xy 154.675049 43.872181) (xy 154.675048 43.872179) + (xy 154.550109 43.700213) (xy 154.399786 43.54989) (xy 154.22782 43.424951) (xy 154.227115 43.424591) + (xy 154.219054 43.420485) (xy 154.168259 43.372512) (xy 154.151463 43.304692) (xy 154.173999 43.238556) + (xy 154.219054 43.199515) (xy 154.227816 43.195051) (xy 154.33677 43.115892) (xy 154.399786 43.070109) + (xy 154.399788 43.070106) (xy 154.399792 43.070104) (xy 154.550104 42.919792) (xy 154.550106 42.919788) + (xy 154.550109 42.919786) (xy 154.675048 42.74782) (xy 154.675047 42.74782) (xy 154.675051 42.747816) + (xy 154.771557 42.558412) (xy 154.837246 42.356243) (xy 154.8705 42.146287) (xy 154.8705 41.933713) + (xy 210.5895 41.933713) (xy 210.5895 42.146286) (xy 210.615827 42.312512) (xy 210.622754 42.356243) + (xy 210.654439 42.45376) (xy 210.688444 42.558414) (xy 210.784951 42.74782) (xy 210.90989 42.919786) + (xy 211.060213 43.070109) (xy 211.232182 43.19505) (xy 211.240946 43.199516) (xy 211.291742 43.247491) + (xy 211.308536 43.315312) (xy 211.285998 43.381447) (xy 211.240946 43.420484) (xy 211.232182 43.424949) + (xy 211.060213 43.54989) (xy 210.90989 43.700213) (xy 210.784951 43.872179) (xy 210.688444 44.061585) + (xy 210.622753 44.26376) (xy 210.5895 44.473713) (xy 210.5895 44.686286) (xy 210.615827 44.852512) + (xy 210.622754 44.896243) (xy 210.657439 45.002993) (xy 210.688444 45.098414) (xy 210.784951 45.28782) + (xy 210.90989 45.459786) (xy 211.060213 45.610109) (xy 211.232182 45.73505) (xy 211.240946 45.739516) + (xy 211.291742 45.787491) (xy 211.308536 45.855312) (xy 211.285998 45.921447) (xy 211.240946 45.960484) + (xy 211.232182 45.964949) (xy 211.060213 46.08989) (xy 210.90989 46.240213) (xy 210.784951 46.412179) + (xy 210.688444 46.601585) (xy 210.622753 46.80376) (xy 210.5895 47.013713) (xy 210.5895 47.226286) + (xy 210.615827 47.392512) (xy 210.622754 47.436243) (xy 210.625583 47.444951) (xy 210.688444 47.638414) + (xy 210.784951 47.82782) (xy 210.90989 47.999786) (xy 211.060213 48.150109) (xy 211.232182 48.27505) + (xy 211.240946 48.279516) (xy 211.291742 48.327491) (xy 211.308536 48.395312) (xy 211.285998 48.461447) + (xy 211.240946 48.500484) (xy 211.232182 48.504949) (xy 211.060213 48.62989) (xy 210.90989 48.780213) + (xy 210.784951 48.952179) (xy 210.688444 49.141585) (xy 210.622753 49.34376) (xy 210.5895 49.553713) + (xy 210.5895 49.766286) (xy 210.615827 49.932512) (xy 210.622754 49.976243) (xy 210.625583 49.984951) + (xy 210.688444 50.178414) (xy 210.784951 50.36782) (xy 210.90989 50.539786) (xy 211.02343 50.653326) + (xy 211.056915 50.714649) (xy 211.051931 50.784341) (xy 211.010059 50.840274) (xy 210.979083 50.857189) + (xy 210.847669 50.906203) (xy 210.847664 50.906206) (xy 210.732455 50.992452) (xy 210.732452 50.992455) + (xy 210.646206 51.107664) (xy 210.646202 51.107671) (xy 210.595908 51.242517) (xy 210.589501 51.302116) + (xy 210.589501 51.302123) (xy 210.5895 51.302135) (xy 210.5895 53.09787) (xy 210.589501 53.097876) + (xy 210.595908 53.157483) (xy 210.646202 53.292328) (xy 210.646206 53.292335) (xy 210.732452 53.407544) + (xy 210.732455 53.407547) (xy 210.847664 53.493793) (xy 210.847671 53.493797) (xy 210.982517 53.544091) + (xy 210.982516 53.544091) (xy 210.989444 53.544835) (xy 211.042127 53.5505) (xy 212.837872 53.550499) + (xy 212.897483 53.544091) (xy 213.032331 53.493796) (xy 213.147546 53.407546) (xy 213.233796 53.292331) + (xy 213.284091 53.157483) (xy 213.2905 53.097873) (xy 213.290499 51.302128) (xy 213.284091 51.242517) + (xy 213.233796 51.107669) (xy 213.233795 51.107668) (xy 213.233793 51.107664) (xy 213.147547 50.992455) + (xy 213.147544 50.992452) (xy 213.032335 50.906206) (xy 213.032328 50.906202) (xy 212.900917 50.857189) + (xy 212.844983 50.815318) (xy 212.820566 50.749853) (xy 212.835418 50.68158) (xy 212.856563 50.653332) + (xy 212.970104 50.539792) (xy 213.095051 50.367816) (xy 213.191557 50.178412) (xy 213.257246 49.976243) + (xy 213.2905 49.766287) (xy 213.2905 49.553713) (xy 213.257246 49.343757) (xy 213.191557 49.141588) + (xy 213.095051 48.952184) (xy 213.095049 48.952181) (xy 213.095048 48.952179) (xy 212.970109 48.780213) + (xy 212.819786 48.62989) (xy 212.64782 48.504951) (xy 212.647115 48.504591) (xy 212.639054 48.500485) + (xy 212.588259 48.452512) (xy 212.571463 48.384692) (xy 212.593999 48.318556) (xy 212.639054 48.279515) + (xy 212.647816 48.275051) (xy 212.669789 48.259086) (xy 212.819786 48.150109) (xy 212.819788 48.150106) + (xy 212.819792 48.150104) (xy 212.970104 47.999792) (xy 212.970106 47.999788) (xy 212.970109 47.999786) + (xy 213.095048 47.82782) (xy 213.095047 47.82782) (xy 213.095051 47.827816) (xy 213.191557 47.638412) + (xy 213.257246 47.436243) (xy 213.2905 47.226287) (xy 213.2905 47.013713) (xy 213.257246 46.803757) + (xy 213.191557 46.601588) (xy 213.095051 46.412184) (xy 213.095049 46.412181) (xy 213.095048 46.412179) + (xy 212.970109 46.240213) (xy 212.819786 46.08989) (xy 212.64782 45.964951) (xy 212.647115 45.964591) + (xy 212.639054 45.960485) (xy 212.588259 45.912512) (xy 212.571463 45.844692) (xy 212.593999 45.778556) + (xy 212.639054 45.739515) (xy 212.647816 45.735051) (xy 212.746224 45.663554) (xy 212.819786 45.610109) + (xy 212.819788 45.610106) (xy 212.819792 45.610104) (xy 212.970104 45.459792) (xy 212.970106 45.459788) + (xy 212.970109 45.459786) (xy 213.095048 45.28782) (xy 213.095047 45.28782) (xy 213.095051 45.287816) + (xy 213.182083 45.117007) (xy 213.191553 45.09842) (xy 213.191554 45.098419) (xy 213.191556 45.098414) + (xy 213.191557 45.098412) (xy 213.257246 44.896243) (xy 213.2905 44.686287) (xy 213.2905 44.473713) + (xy 213.257246 44.263757) (xy 213.191557 44.061588) (xy 213.095051 43.872184) (xy 213.095049 43.872181) + (xy 213.095048 43.872179) (xy 212.970109 43.700213) (xy 212.819786 43.54989) (xy 212.64782 43.424951) + (xy 212.647115 43.424591) (xy 212.639054 43.420485) (xy 212.588259 43.372512) (xy 212.571463 43.304692) + (xy 212.593999 43.238556) (xy 212.639054 43.199515) (xy 212.647816 43.195051) (xy 212.75677 43.115892) + (xy 212.819786 43.070109) (xy 212.819788 43.070106) (xy 212.819792 43.070104) (xy 212.970104 42.919792) + (xy 212.970106 42.919788) (xy 212.970109 42.919786) (xy 213.095048 42.74782) (xy 213.095047 42.74782) + (xy 213.095051 42.747816) (xy 213.191557 42.558412) (xy 213.257246 42.356243) (xy 213.2905 42.146287) + (xy 213.2905 41.933713) (xy 213.257246 41.723757) (xy 213.191557 41.521588) (xy 213.095051 41.332184) + (xy 213.095049 41.332181) (xy 213.095048 41.332179) (xy 212.970109 41.160213) (xy 212.819786 41.00989) + (xy 212.647817 40.884949) (xy 212.638504 40.880204) (xy 212.587707 40.83223) (xy 212.570912 40.764409) + (xy 212.593449 40.698274) (xy 212.638507 40.659232) (xy 212.647555 40.654622) (xy 212.701716 40.61527) + (xy 212.701717 40.61527) (xy 212.069408 39.982962) (xy 212.132993 39.965925) (xy 212.247007 39.900099) + (xy 212.340099 39.807007) (xy 212.405925 39.692993) (xy 212.422962 39.629408) (xy 213.05527 40.261717) + (xy 213.05527 40.261716) (xy 213.094622 40.207554) (xy 213.137342 40.123713) (xy 216.7295 40.123713) + (xy 216.7295 40.336287) (xy 216.762754 40.546243) (xy 216.820106 40.722754) (xy 216.828444 40.748414) + (xy 216.924951 40.93782) (xy 217.04989 41.109786) (xy 217.200213 41.260109) (xy 217.372182 41.38505) + (xy 217.380946 41.389516) (xy 217.431742 41.437491) (xy 217.448536 41.505312) (xy 217.425998 41.571447) + (xy 217.380946 41.610484) (xy 217.372182 41.614949) (xy 217.200213 41.73989) (xy 217.04989 41.890213) + (xy 216.924951 42.062179) (xy 216.828444 42.251585) (xy 216.828443 42.251587) (xy 216.828443 42.251588) + (xy 216.805744 42.321447) (xy 216.762753 42.45376) (xy 216.7295 42.663713) (xy 216.7295 42.876286) + (xy 216.760198 43.070109) (xy 216.762754 43.086243) (xy 216.800935 43.203753) (xy 216.828444 43.288414) + (xy 216.924951 43.47782) (xy 217.04989 43.649786) (xy 217.200213 43.800109) (xy 217.372179 43.925048) + (xy 217.372181 43.925049) (xy 217.372184 43.925051) (xy 217.381493 43.929794) (xy 217.43229 43.977766) + (xy 217.449087 44.045587) (xy 217.426552 44.111722) (xy 217.381505 44.15076) (xy 217.372446 44.155376) + (xy 217.37244 44.15538) (xy 217.318282 44.194727) (xy 217.318282 44.194728) (xy 217.950591 44.827037) + (xy 217.887007 44.844075) (xy 217.772993 44.909901) (xy 217.679901 45.002993) (xy 217.614075 45.117007) + (xy 217.597037 45.180591) (xy 216.964728 44.548282) (xy 216.964727 44.548282) (xy 216.92538 44.602439) + (xy 216.828904 44.791782) (xy 216.763242 44.993869) (xy 216.763242 44.993872) (xy 216.73 45.203753) + (xy 216.73 45.416246) (xy 216.763242 45.626127) (xy 216.763242 45.62613) (xy 216.828904 45.828217) + (xy 216.925375 46.01755) (xy 216.964728 46.071716) (xy 217.597037 45.439408) (xy 217.614075 45.502993) + (xy 217.679901 45.617007) (xy 217.772993 45.710099) (xy 217.887007 45.775925) (xy 217.95059 45.792962) + (xy 217.28037 46.463181) (xy 217.219047 46.496666) (xy 217.192698 46.4995) (xy 217.182134 46.4995) + (xy 217.182123 46.499501) (xy 217.122516 46.505908) (xy 216.987671 46.556202) (xy 216.987664 46.556206) + (xy 216.872455 46.642452) (xy 216.872452 46.642455) (xy 216.786206 46.757664) (xy 216.786202 46.757671) + (xy 216.735908 46.892517) (xy 216.730826 46.939792) (xy 216.729501 46.952123) (xy 216.7295 46.952135) + (xy 216.7295 48.74787) (xy 216.729501 48.747876) (xy 216.735908 48.807483) (xy 216.786202 48.942328) + (xy 216.786206 48.942335) (xy 216.872452 49.057544) (xy 216.872455 49.057547) (xy 216.987664 49.143793) + (xy 216.987671 49.143797) (xy 217.122517 49.194091) (xy 217.122516 49.194091) (xy 217.129444 49.194835) + (xy 217.182127 49.2005) (xy 218.977872 49.200499) (xy 219.037483 49.194091) (xy 219.172331 49.143796) + (xy 219.287546 49.057546) (xy 219.373796 48.942331) (xy 219.424091 48.807483) (xy 219.4305 48.747873) + (xy 219.430499 46.952128) (xy 219.424091 46.892517) (xy 219.373796 46.757669) (xy 219.373795 46.757668) + (xy 219.373793 46.757664) (xy 219.287547 46.642455) (xy 219.287544 46.642452) (xy 219.172335 46.556206) + (xy 219.172328 46.556202) (xy 219.037482 46.505908) (xy 219.037483 46.505908) (xy 218.977883 46.499501) + (xy 218.977881 46.4995) (xy 218.977873 46.4995) (xy 218.977865 46.4995) (xy 218.967309 46.4995) + (xy 218.90027 46.479815) (xy 218.879628 46.463181) (xy 218.209408 45.792962) (xy 218.272993 45.775925) + (xy 218.387007 45.710099) (xy 218.480099 45.617007) (xy 218.545925 45.502993) (xy 218.562962 45.439408) + (xy 219.19527 46.071717) (xy 219.19527 46.071716) (xy 219.234622 46.017554) (xy 219.331095 45.828217) + (xy 219.396757 45.62613) (xy 219.396757 45.626127) (xy 219.43 45.416246) (xy 219.43 45.203753) (xy 219.396757 44.993872) + (xy 219.396757 44.993869) (xy 219.331095 44.791782) (xy 219.234624 44.602449) (xy 219.19527 44.548282) + (xy 219.195269 44.548282) (xy 218.562962 45.18059) (xy 218.545925 45.117007) (xy 218.480099 45.002993) + (xy 218.387007 44.909901) (xy 218.272993 44.844075) (xy 218.209409 44.827037) (xy 218.841716 44.194728) + (xy 218.787547 44.155373) (xy 218.787547 44.155372) (xy 218.7785 44.150763) (xy 218.727706 44.102788) + (xy 218.710912 44.034966) (xy 218.733451 43.968832) (xy 218.778508 43.929793) (xy 218.787816 43.925051) + (xy 218.910056 43.836239) (xy 218.959786 43.800109) (xy 218.959788 43.800106) (xy 218.959792 43.800104) + (xy 219.110104 43.649792) (xy 219.110106 43.649788) (xy 219.110109 43.649786) (xy 219.235048 43.47782) + (xy 219.235047 43.47782) (xy 219.235051 43.477816) (xy 219.331557 43.288412) (xy 219.397246 43.086243) + (xy 219.4305 42.876287) (xy 219.4305 42.663713) (xy 219.397246 42.453757) (xy 219.331557 42.251588) + (xy 219.235051 42.062184) (xy 219.235049 42.062181) (xy 219.235048 42.062179) (xy 219.110109 41.890213) + (xy 218.959786 41.73989) (xy 218.78782 41.614951) (xy 218.787115 41.614591) (xy 218.779054 41.610485) + (xy 218.728259 41.562512) (xy 218.711463 41.494692) (xy 218.733999 41.428556) (xy 218.779054 41.389515) + (xy 218.787816 41.385051) (xy 218.910051 41.296243) (xy 218.959786 41.260109) (xy 218.959788 41.260106) + (xy 218.959792 41.260104) (xy 219.110104 41.109792) (xy 219.110106 41.109788) (xy 219.110109 41.109786) + (xy 219.235048 40.93782) (xy 219.235047 40.93782) (xy 219.235051 40.937816) (xy 219.331557 40.748412) + (xy 219.397246 40.546243) (xy 219.4305 40.336287) (xy 219.4305 40.123713) (xy 219.397246 39.913757) + (xy 219.331557 39.711588) (xy 219.235051 39.522184) (xy 219.235049 39.522181) (xy 219.235048 39.522179) + (xy 219.110109 39.350213) (xy 218.959786 39.19989) (xy 218.78782 39.074951) (xy 218.598414 38.978444) + (xy 218.598413 38.978443) (xy 218.598412 38.978443) (xy 218.396243 38.912754) (xy 218.396241 38.912753) + (xy 218.39624 38.912753) (xy 218.234957 38.887208) (xy 218.186287 38.8795) (xy 217.973713 38.8795) + (xy 217.925042 38.887208) (xy 217.76376 38.912753) (xy 217.561585 38.978444) (xy 217.372179 39.074951) + (xy 217.200213 39.19989) (xy 217.04989 39.350213) (xy 216.924951 39.522179) (xy 216.828444 39.711585) + (xy 216.828443 39.711587) (xy 216.828443 39.711588) (xy 216.805744 39.781447) (xy 216.762753 39.91376) + (xy 216.757031 39.94989) (xy 216.7295 40.123713) (xy 213.137342 40.123713) (xy 213.168509 40.062546) + (xy 213.191095 40.018217) (xy 213.256757 39.81613) (xy 213.256757 39.816127) (xy 213.29 39.606246) + (xy 213.29 39.393753) (xy 213.256757 39.183872) (xy 213.256757 39.183869) (xy 213.191095 38.981782) + (xy 213.094624 38.792449) (xy 213.05527 38.738282) (xy 213.055269 38.738282) (xy 212.422962 39.37059) + (xy 212.405925 39.307007) (xy 212.340099 39.192993) (xy 212.247007 39.099901) (xy 212.132993 39.034075) + (xy 212.069409 39.017037) (xy 212.701716 38.384728) (xy 212.64755 38.345375) (xy 212.458217 38.248904) + (xy 212.256129 38.183242) (xy 212.046246 38.15) (xy 211.833754 38.15) (xy 211.623872 38.183242) + (xy 211.623869 38.183242) (xy 211.421782 38.248904) (xy 211.232439 38.34538) (xy 211.178282 38.384727) + (xy 211.178282 38.384728) (xy 211.810591 39.017037) (xy 211.747007 39.034075) (xy 211.632993 39.099901) + (xy 211.539901 39.192993) (xy 211.474075 39.307007) (xy 211.457037 39.37059) (xy 210.824728 38.738282) + (xy 210.824727 38.738282) (xy 210.78538 38.792439) (xy 210.688904 38.981782) (xy 210.623242 39.183869) + (xy 210.623242 39.183872) (xy 210.59 39.393753) (xy 210.59 39.606246) (xy 210.623242 39.816127) + (xy 210.623242 39.81613) (xy 210.688904 40.018217) (xy 210.785375 40.20755) (xy 210.824728 40.261716) + (xy 211.457037 39.629408) (xy 211.474075 39.692993) (xy 211.539901 39.807007) (xy 211.632993 39.900099) + (xy 211.747007 39.965925) (xy 211.81059 39.982962) (xy 211.178282 40.615269) (xy 211.178282 40.61527) + (xy 211.232452 40.654626) (xy 211.232451 40.654626) (xy 211.241495 40.659234) (xy 211.292292 40.707208) + (xy 211.309087 40.775029) (xy 211.28655 40.841164) (xy 211.241499 40.880202) (xy 211.232182 40.884949) + (xy 211.060213 41.00989) (xy 210.90989 41.160213) (xy 210.784951 41.332179) (xy 210.688444 41.521585) + (xy 210.622753 41.72376) (xy 210.5895 41.933713) (xy 154.8705 41.933713) (xy 154.837246 41.723757) + (xy 154.771557 41.521588) (xy 154.675051 41.332184) (xy 154.675049 41.332181) (xy 154.675048 41.332179) + (xy 154.550109 41.160213) (xy 154.399786 41.00989) (xy 154.227817 40.884949) (xy 154.218504 40.880204) + (xy 154.167707 40.83223) (xy 154.150912 40.764409) (xy 154.173449 40.698274) (xy 154.218507 40.659232) + (xy 154.227555 40.654622) (xy 154.281716 40.61527) (xy 154.281717 40.61527) (xy 153.649408 39.982962) + (xy 153.712993 39.965925) (xy 153.827007 39.900099) (xy 153.920099 39.807007) (xy 153.985925 39.692993) + (xy 154.002962 39.629408) (xy 154.63527 40.261717) (xy 154.63527 40.261716) (xy 154.674622 40.207554) + (xy 154.771095 40.018217) (xy 154.836757 39.81613) (xy 154.836757 39.816127) (xy 154.87 39.606246) + (xy 154.87 39.393753) (xy 154.836757 39.183872) (xy 154.836757 39.183869) (xy 154.771095 38.981782) + (xy 154.674624 38.792449) (xy 154.63527 38.738282) (xy 154.635269 38.738282) (xy 154.002962 39.37059) + (xy 153.985925 39.307007) (xy 153.920099 39.192993) (xy 153.827007 39.099901) (xy 153.712993 39.034075) + (xy 153.649409 39.017037) (xy 154.281716 38.384728) (xy 154.22755 38.345375) (xy 154.038217 38.248904) + (xy 153.836129 38.183242) (xy 153.626246 38.15) (xy 153.413754 38.15) (xy 153.203872 38.183242) + (xy 153.203869 38.183242) (xy 153.001782 38.248904) (xy 152.812439 38.34538) (xy 152.758282 38.384727) + (xy 152.758282 38.384728) (xy 153.390591 39.017037) (xy 153.327007 39.034075) (xy 153.212993 39.099901) + (xy 153.119901 39.192993) (xy 153.054075 39.307007) (xy 153.037037 39.370591) (xy 152.404728 38.738282) + (xy 152.404727 38.738282) (xy 152.36538 38.792439) (xy 152.268904 38.981782) (xy 152.203242 39.183869) + (xy 152.203242 39.183872) (xy 152.17 39.393753) (xy 152.17 39.606246) (xy 152.203242 39.816127) + (xy 152.203242 39.81613) (xy 152.268904 40.018217) (xy 152.365375 40.20755) (xy 152.404728 40.261716) + (xy 153.037037 39.629408) (xy 153.054075 39.692993) (xy 153.119901 39.807007) (xy 153.212993 39.900099) + (xy 153.327007 39.965925) (xy 153.39059 39.982962) (xy 152.758282 40.615269) (xy 152.758282 40.61527) + (xy 152.812452 40.654626) (xy 152.812451 40.654626) (xy 152.821495 40.659234) (xy 152.872292 40.707208) + (xy 152.889087 40.775029) (xy 152.86655 40.841164) (xy 152.821499 40.880202) (xy 152.812182 40.884949) + (xy 152.640213 41.00989) (xy 152.48989 41.160213) (xy 152.364951 41.332179) (xy 152.268444 41.521585) + (xy 152.202753 41.72376) (xy 152.1695 41.933713) (xy 152.1695 42.146286) (xy 152.195827 42.312512) + (xy 152.202754 42.356243) (xy 152.234439 42.45376) (xy 152.268444 42.558414) (xy 152.364951 42.74782) + (xy 152.48989 42.919786) (xy 152.640213 43.070109) (xy 152.812182 43.19505) (xy 152.820946 43.199516) + (xy 152.871742 43.247491) (xy 152.888536 43.315312) (xy 152.865998 43.381447) (xy 152.820946 43.420484) + (xy 152.812182 43.424949) (xy 152.640213 43.54989) (xy 152.48989 43.700213) (xy 152.364951 43.872179) + (xy 152.268444 44.061585) (xy 152.202753 44.26376) (xy 152.1695 44.473713) (xy 152.1695 44.686286) + (xy 152.195827 44.852512) (xy 152.202754 44.896243) (xy 152.237439 45.002993) (xy 152.268444 45.098414) + (xy 152.364951 45.28782) (xy 152.48989 45.459786) (xy 152.640213 45.610109) (xy 152.812182 45.73505) + (xy 152.820946 45.739516) (xy 152.871742 45.787491) (xy 152.888536 45.855312) (xy 152.865998 45.921447) + (xy 152.820946 45.960484) (xy 152.812182 45.964949) (xy 152.640213 46.08989) (xy 152.48989 46.240213) + (xy 152.364951 46.412179) (xy 152.268444 46.601585) (xy 152.202753 46.80376) (xy 152.1695 47.013713) + (xy 152.1695 47.226286) (xy 152.195827 47.392512) (xy 152.202754 47.436243) (xy 152.205583 47.444951) + (xy 152.268444 47.638414) (xy 152.364951 47.82782) (xy 152.48989 47.999786) (xy 152.640213 48.150109) + (xy 152.812182 48.27505) (xy 152.820946 48.279516) (xy 152.871742 48.327491) (xy 152.888536 48.395312) + (xy 152.865998 48.461447) (xy 152.820946 48.500484) (xy 152.812182 48.504949) (xy 152.640213 48.62989) + (xy 152.489892 48.780211) (xy 152.421573 48.874247) (xy 152.39677 48.908385) (xy 152.341442 48.951051) + (xy 152.296453 48.9595) (xy 150.571004 48.9595) (xy 150.435677 48.986418) (xy 150.435667 48.986421) + (xy 150.308192 49.039222) (xy 150.193454 49.115887) (xy 148.355887 50.953454) (xy 148.279222 51.068192) + (xy 148.226421 51.195667) (xy 148.226418 51.195679) (xy 148.203009 51.313365) (xy 148.203009 51.313369) + (xy 148.1995 51.331007) (xy 148.1995 56.058481) (xy 148.179815 56.12552) (xy 148.163181 56.146162) + (xy 145.746162 58.563181) (xy 145.684839 58.596666) (xy 145.658481 58.5995) (xy 136.891519 58.5995) + (xy 136.82448 58.579815) (xy 136.803838 58.563181) (xy 129.750507 51.50985) (xy 129.717022 51.448527) + (xy 129.715715 51.402771) (xy 129.727082 51.331007) (xy 129.7405 51.246287) (xy 129.7405 51.033713) + (xy 129.707246 50.823757) (xy 129.641557 50.621588) (xy 129.545051 50.432184) (xy 129.545049 50.432181) + (xy 129.545048 50.432179) (xy 129.420109 50.260213) (xy 129.269786 50.10989) (xy 129.09782 49.984951) + (xy 129.097115 49.984591) (xy 129.089054 49.980485) (xy 129.038259 49.932512) (xy 129.021463 49.864692) + (xy 129.043999 49.798556) (xy 129.089054 49.759515) (xy 129.097816 49.755051) (xy 129.119789 49.739086) + (xy 129.269786 49.630109) (xy 129.269788 49.630106) (xy 129.269792 49.630104) (xy 129.420104 49.479792) + (xy 129.420106 49.479788) (xy 129.420109 49.479786) (xy 129.545048 49.30782) (xy 129.545047 49.30782) + (xy 129.545051 49.307816) (xy 129.641557 49.118412) (xy 129.707246 48.916243) (xy 129.7405 48.706287) + (xy 129.7405 48.493713) (xy 129.707246 48.283757) (xy 129.641557 48.081588) (xy 129.545051 47.892184) + (xy 129.545049 47.892181) (xy 129.545048 47.892179) (xy 129.420109 47.720213) (xy 129.269786 47.56989) + (xy 129.09782 47.444951) (xy 129.097115 47.444591) (xy 129.089054 47.440485) (xy 129.038259 47.392512) + (xy 129.021463 47.324692) (xy 129.043999 47.258556) (xy 129.089054 47.219515) (xy 129.097816 47.215051) + (xy 129.119789 47.199086) (xy 129.269786 47.090109) (xy 129.269788 47.090106) (xy 129.269792 47.090104) + (xy 129.420104 46.939792) (xy 129.420106 46.939788) (xy 129.420109 46.939786) (xy 129.545048 46.76782) + (xy 129.545047 46.76782) (xy 129.545051 46.767816) (xy 129.641557 46.578412) (xy 129.707246 46.376243) + (xy 129.7405 46.166287) (xy 129.7405 45.953713) (xy 129.707246 45.743757) (xy 129.641557 45.541588) + (xy 129.545051 45.352184) (xy 129.545049 45.352181) (xy 129.545048 45.352179) (xy 129.420109 45.180213) + (xy 129.269786 45.02989) (xy 129.09782 44.904951) (xy 129.097115 44.904591) (xy 129.089054 44.900485) + (xy 129.038259 44.852512) (xy 129.021463 44.784692) (xy 129.043999 44.718556) (xy 129.089054 44.679515) + (xy 129.097816 44.675051) (xy 129.119789 44.659086) (xy 129.269786 44.550109) (xy 129.269788 44.550106) + (xy 129.269792 44.550104) (xy 129.420104 44.399792) (xy 129.420106 44.399788) (xy 129.420109 44.399786) + (xy 129.545048 44.22782) (xy 129.545047 44.22782) (xy 129.545051 44.227816) (xy 129.641557 44.038412) + (xy 129.707246 43.836243) (xy 129.7405 43.626287) (xy 129.7405 43.413713) (xy 129.707246 43.203757) + (xy 129.705867 43.199514) (xy 129.702179 43.188162) (xy 129.700182 43.118321) (xy 129.732426 43.062162) + (xy 138.232772 34.561819) (xy 138.294095 34.528334) (xy 138.320453 34.5255) (xy 142.299714 34.5255) + (xy 142.366753 34.545185) (xy 142.412508 34.597989) (xy 142.422452 34.667147) (xy 142.39898 34.72381) + (xy 142.383156 34.744949) (xy 142.336204 34.807668) (xy 142.336202 34.807671) (xy 142.285908 34.942517) + (xy 142.279501 35.002116) (xy 142.279501 35.002123) (xy 142.2795 35.002135) (xy 142.2795 36.79787) + (xy 142.279501 36.797876) (xy 142.285908 36.857483) (xy 142.336202 36.992328) (xy 142.336206 36.992335) + (xy 142.422452 37.107544) (xy 142.422455 37.107547) (xy 142.537664 37.193793) (xy 142.537671 37.193797) + (xy 142.669082 37.24281) (xy 142.725016 37.284681) (xy 142.749433 37.350145) (xy 142.734582 37.418418) + (xy 142.713431 37.446673) (xy 142.599889 37.560215) (xy 142.474951 37.732179) (xy 142.378444 37.921585) + (xy 142.312753 38.12376) (xy 142.2795 38.333713) (xy 142.2795 38.546286) (xy 142.30071 38.680204) + (xy 142.312754 38.756243) (xy 142.363607 38.912753) (xy 142.378444 38.958414) (xy 142.474951 39.14782) + (xy 142.59989 39.319786) (xy 142.750213 39.470109) (xy 142.922182 39.59505) (xy 142.930946 39.599516) + (xy 142.981742 39.647491) (xy 142.998536 39.715312) (xy 142.975998 39.781447) (xy 142.930946 39.820484) + (xy 142.922182 39.824949) (xy 142.750213 39.94989) (xy 142.59989 40.100213) (xy 142.474951 40.272179) + (xy 142.378444 40.461585) (xy 142.312753 40.66376) (xy 142.28607 40.83223) (xy 142.2795 40.873713) + (xy 142.2795 41.086287) (xy 142.312754 41.296243) (xy 142.377234 41.494692) (xy 142.378444 41.498414) + (xy 142.474951 41.68782) (xy 142.59989 41.859786) (xy 142.750213 42.010109) (xy 142.922182 42.13505) + (xy 142.930946 42.139516) (xy 142.981742 42.187491) (xy 142.998536 42.255312) (xy 142.975998 42.321447) + (xy 142.930946 42.360484) (xy 142.922182 42.364949) (xy 142.750213 42.48989) (xy 142.59989 42.640213) + (xy 142.474951 42.812179) (xy 142.378444 43.001585) (xy 142.312753 43.20376) (xy 142.286026 43.372512) + (xy 142.2795 43.413713) (xy 142.2795 43.626287) (xy 142.312754 43.836243) (xy 142.377323 44.034966) + (xy 142.378444 44.038414) (xy 142.474951 44.22782) (xy 142.59989 44.399786) (xy 142.750213 44.550109) + (xy 142.922182 44.67505) (xy 142.930946 44.679516) (xy 142.981742 44.727491) (xy 142.998536 44.795312) + (xy 142.975998 44.861447) (xy 142.930946 44.900484) (xy 142.922182 44.904949) (xy 142.750213 45.02989) + (xy 142.59989 45.180213) (xy 142.474951 45.352179) (xy 142.378444 45.541585) (xy 142.312753 45.74376) + (xy 142.286026 45.912512) (xy 142.2795 45.953713) (xy 142.2795 46.166287) (xy 142.312754 46.376243) + (xy 142.371226 46.556202) (xy 142.378444 46.578414) (xy 142.474951 46.76782) (xy 142.59989 46.939786) + (xy 142.750213 47.090109) (xy 142.922182 47.21505) (xy 142.930946 47.219516) (xy 142.981742 47.267491) + (xy 142.998536 47.335312) (xy 142.975998 47.401447) (xy 142.930946 47.440484) (xy 142.922182 47.444949) + (xy 142.750213 47.56989) (xy 142.59989 47.720213) (xy 142.474951 47.892179) (xy 142.378444 48.081585) + (xy 142.312753 48.28376) (xy 142.286026 48.452512) (xy 142.2795 48.493713) (xy 142.2795 48.706287) + (xy 142.312754 48.916243) (xy 142.377622 49.115886) (xy 142.378444 49.118414) (xy 142.474951 49.30782) + (xy 142.59989 49.479786) (xy 142.750213 49.630109) (xy 142.922182 49.75505) (xy 142.930946 49.759516) + (xy 142.981742 49.807491) (xy 142.998536 49.875312) (xy 142.975998 49.941447) (xy 142.930946 49.980484) + (xy 142.922182 49.984949) (xy 142.750213 50.10989) (xy 142.59989 50.260213) (xy 142.474951 50.432179) + (xy 142.378444 50.621585) (xy 142.312753 50.82376) (xy 142.2795 51.033713) (xy 142.2795 51.246286) + (xy 142.312753 51.456239) (xy 142.378444 51.658414) (xy 142.474951 51.84782) (xy 142.59989 52.019786) + (xy 142.750213 52.170109) (xy 142.922182 52.29505) (xy 142.930946 52.299516) (xy 142.981742 52.347491) + (xy 142.998536 52.415312) (xy 142.975998 52.481447) (xy 142.930946 52.520484) (xy 142.922182 52.524949) + (xy 142.750213 52.64989) (xy 142.59989 52.800213) (xy 142.474951 52.972179) (xy 142.378444 53.161585) + (xy 142.312753 53.36376) (xy 142.2795 53.573713) (xy 142.2795 53.786286) (xy 142.312753 53.996239) + (xy 142.378444 54.198414) (xy 142.474951 54.38782) (xy 142.59989 54.559786) (xy 142.750213 54.710109) + (xy 142.922182 54.83505) (xy 142.930946 54.839516) (xy 142.981742 54.887491) (xy 142.998536 54.955312) + (xy 142.975998 55.021447) (xy 142.930946 55.060484) (xy 142.922182 55.064949) (xy 142.750213 55.18989) + (xy 142.59989 55.340213) (xy 142.474951 55.512179) (xy 142.378444 55.701585) (xy 142.312753 55.90376) + (xy 142.2795 56.113713) (xy 142.2795 56.326286) (xy 142.302102 56.468993) (xy 142.312754 56.536243) + (xy 142.376298 56.731811) (xy 142.378444 56.738414) (xy 142.474951 56.92782) (xy 142.59989 57.099786) + (xy 142.750213 57.250109) (xy 142.922179 57.375048) (xy 142.922181 57.375049) (xy 142.922184 57.375051) + (xy 143.111588 57.471557) (xy 143.313757 57.537246) (xy 143.523713 57.5705) (xy 143.523714 57.5705) + (xy 143.736286 57.5705) (xy 143.736287 57.5705) (xy 143.946243 57.537246) (xy 144.148412 57.471557) + (xy 144.337816 57.375051) (xy 144.390016 57.337126) (xy 144.509786 57.250109) (xy 144.509788 57.250106) + (xy 144.509792 57.250104) (xy 144.660104 57.099792) (xy 144.660106 57.099788) (xy 144.660109 57.099786) + (xy 144.785048 56.92782) (xy 144.785047 56.92782) (xy 144.785051 56.927816) (xy 144.881557 56.738412) + (xy 144.947246 56.536243) (xy 144.9805 56.326287) (xy 144.9805 56.113713) (xy 144.947246 55.903757) + (xy 144.881557 55.701588) (xy 144.785051 55.512184) (xy 144.785049 55.512181) (xy 144.785048 55.512179) + (xy 144.660109 55.340213) (xy 144.509786 55.18989) (xy 144.33782 55.064951) (xy 144.337115 55.064591) + (xy 144.329054 55.060485) (xy 144.278259 55.012512) (xy 144.261463 54.944692) (xy 144.283999 54.878556) + (xy 144.329054 54.839515) (xy 144.337816 54.835051) (xy 144.359789 54.819086) (xy 144.509786 54.710109) + (xy 144.509788 54.710106) (xy 144.509792 54.710104) (xy 144.660104 54.559792) (xy 144.660106 54.559788) + (xy 144.660109 54.559786) (xy 144.785048 54.38782) (xy 144.785047 54.38782) (xy 144.785051 54.387816) + (xy 144.881557 54.198412) (xy 144.947246 53.996243) (xy 144.9805 53.786287) (xy 144.9805 53.573713) + (xy 144.947246 53.363757) (xy 144.881557 53.161588) (xy 144.785051 52.972184) (xy 144.785049 52.972181) + (xy 144.785048 52.972179) (xy 144.660109 52.800213) (xy 144.509786 52.64989) (xy 144.33782 52.524951) + (xy 144.337115 52.524591) (xy 144.329054 52.520485) (xy 144.278259 52.472512) (xy 144.261463 52.404692) + (xy 144.283999 52.338556) (xy 144.329054 52.299515) (xy 144.337816 52.295051) (xy 144.359789 52.279086) + (xy 144.509786 52.170109) (xy 144.509788 52.170106) (xy 144.509792 52.170104) (xy 144.660104 52.019792) + (xy 144.660106 52.019788) (xy 144.660109 52.019786) (xy 144.785048 51.84782) (xy 144.785047 51.84782) + (xy 144.785051 51.847816) (xy 144.881557 51.658412) (xy 144.947246 51.456243) (xy 144.9805 51.246287) + (xy 144.9805 51.033713) (xy 144.947246 50.823757) (xy 144.881557 50.621588) (xy 144.785051 50.432184) + (xy 144.785049 50.432181) (xy 144.785048 50.432179) (xy 144.660109 50.260213) (xy 144.509786 50.10989) + (xy 144.33782 49.984951) (xy 144.337115 49.984591) (xy 144.329054 49.980485) (xy 144.278259 49.932512) + (xy 144.261463 49.864692) (xy 144.283999 49.798556) (xy 144.329054 49.759515) (xy 144.337816 49.755051) + (xy 144.359789 49.739086) (xy 144.509786 49.630109) (xy 144.509788 49.630106) (xy 144.509792 49.630104) + (xy 144.660104 49.479792) (xy 144.660106 49.479788) (xy 144.660109 49.479786) (xy 144.785048 49.30782) + (xy 144.785047 49.30782) (xy 144.785051 49.307816) (xy 144.881557 49.118412) (xy 144.947246 48.916243) + (xy 144.9805 48.706287) (xy 144.9805 48.493713) (xy 144.947246 48.283757) (xy 144.881557 48.081588) + (xy 144.785051 47.892184) (xy 144.785049 47.892181) (xy 144.785048 47.892179) (xy 144.660109 47.720213) + (xy 144.509786 47.56989) (xy 144.33782 47.444951) (xy 144.337115 47.444591) (xy 144.329054 47.440485) + (xy 144.278259 47.392512) (xy 144.261463 47.324692) (xy 144.283999 47.258556) (xy 144.329054 47.219515) + (xy 144.337816 47.215051) (xy 144.359789 47.199086) (xy 144.509786 47.090109) (xy 144.509788 47.090106) + (xy 144.509792 47.090104) (xy 144.660104 46.939792) (xy 144.660106 46.939788) (xy 144.660109 46.939786) + (xy 144.785048 46.76782) (xy 144.785047 46.76782) (xy 144.785051 46.767816) (xy 144.881557 46.578412) + (xy 144.947246 46.376243) (xy 144.9805 46.166287) (xy 144.9805 45.953713) (xy 144.947246 45.743757) + (xy 144.881557 45.541588) (xy 144.785051 45.352184) (xy 144.785049 45.352181) (xy 144.785048 45.352179) + (xy 144.660109 45.180213) (xy 144.509786 45.02989) (xy 144.33782 44.904951) (xy 144.337115 44.904591) + (xy 144.329054 44.900485) (xy 144.278259 44.852512) (xy 144.261463 44.784692) (xy 144.283999 44.718556) + (xy 144.329054 44.679515) (xy 144.337816 44.675051) (xy 144.359789 44.659086) (xy 144.509786 44.550109) + (xy 144.509788 44.550106) (xy 144.509792 44.550104) (xy 144.660104 44.399792) (xy 144.660106 44.399788) + (xy 144.660109 44.399786) (xy 144.785048 44.22782) (xy 144.785047 44.22782) (xy 144.785051 44.227816) + (xy 144.881557 44.038412) (xy 144.947246 43.836243) (xy 144.9805 43.626287) (xy 144.9805 43.413713) + (xy 144.947246 43.203757) (xy 144.881557 43.001588) (xy 144.785051 42.812184) (xy 144.785049 42.812181) + (xy 144.785048 42.812179) (xy 144.660109 42.640213) (xy 144.509786 42.48989) (xy 144.33782 42.364951) + (xy 144.337115 42.364591) (xy 144.329054 42.360485) (xy 144.278259 42.312512) (xy 144.261463 42.244692) + (xy 144.283999 42.178556) (xy 144.329054 42.139515) (xy 144.337816 42.135051) (xy 144.359789 42.119086) + (xy 144.509786 42.010109) (xy 144.509788 42.010106) (xy 144.509792 42.010104) (xy 144.660104 41.859792) + (xy 144.660106 41.859788) (xy 144.660109 41.859786) (xy 144.785048 41.68782) (xy 144.785047 41.68782) + (xy 144.785051 41.687816) (xy 144.881557 41.498412) (xy 144.947246 41.296243) (xy 144.9805 41.086287) + (xy 144.9805 40.873713) (xy 144.947246 40.663757) (xy 144.881557 40.461588) (xy 144.785051 40.272184) + (xy 144.785049 40.272181) (xy 144.785048 40.272179) (xy 144.660109 40.100213) (xy 144.509786 39.94989) + (xy 144.33782 39.824951) (xy 144.337115 39.824591) (xy 144.329054 39.820485) (xy 144.278259 39.772512) + (xy 144.261463 39.704692) (xy 144.283999 39.638556) (xy 144.329054 39.599515) (xy 144.337816 39.595051) + (xy 144.378041 39.565826) (xy 144.509786 39.470109) (xy 144.509788 39.470106) (xy 144.509792 39.470104) + (xy 144.660104 39.319792) (xy 144.660314 39.319502) (xy 144.662863 39.315996) (xy 144.785048 39.14782) + (xy 144.785047 39.14782) (xy 144.785051 39.147816) (xy 144.881557 38.958412) (xy 144.947246 38.756243) + (xy 144.9805 38.546287) (xy 144.9805 38.333713) (xy 144.947246 38.123757) (xy 144.881557 37.921588) + (xy 144.785051 37.732184) (xy 144.785049 37.732181) (xy 144.785048 37.732179) (xy 144.660109 37.560213) + (xy 144.546569 37.446673) (xy 144.513084 37.38535) (xy 144.518068 37.315658) (xy 144.55994 37.259725) + (xy 144.590915 37.24281) (xy 144.722331 37.193796) (xy 144.837546 37.107546) (xy 144.923796 36.992331) + (xy 144.974091 36.857483) (xy 144.9805 36.797873) (xy 144.980499 35.002128) (xy 144.974091 34.942517) + (xy 144.923796 34.807669) (xy 144.861019 34.72381) (xy 144.836602 34.658348) (xy 144.83761 34.653713) + (xy 239.6495 34.653713) (xy 239.6495 34.866286) (xy 239.682753 35.076239) (xy 239.748444 35.278414) + (xy 239.844951 35.46782) (xy 239.96989 35.639786) (xy 240.120213 35.790109) (xy 240.292179 35.915048) + (xy 240.292181 35.915049) (xy 240.292184 35.915051) (xy 240.301493 35.919794) (xy 240.35229 35.967766) + (xy 240.369087 36.035587) (xy 240.346552 36.101722) (xy 240.301505 36.14076) (xy 240.292446 36.145376) + (xy 240.29244 36.14538) (xy 240.238282 36.184727) (xy 240.238282 36.184728) (xy 240.870591 36.817037) + (xy 240.807007 36.834075) (xy 240.692993 36.899901) (xy 240.599901 36.992993) (xy 240.534075 37.107007) + (xy 240.517037 37.170591) (xy 239.884728 36.538282) (xy 239.884727 36.538282) (xy 239.84538 36.592439) + (xy 239.748904 36.781782) (xy 239.683242 36.983869) (xy 239.683242 36.983872) (xy 239.65 37.193753) + (xy 239.65 37.406246) (xy 239.683242 37.616127) (xy 239.683242 37.61613) (xy 239.748904 37.818217) + (xy 239.845375 38.00755) (xy 239.884728 38.061716) (xy 240.517037 37.429408) (xy 240.534075 37.492993) + (xy 240.599901 37.607007) (xy 240.692993 37.700099) (xy 240.807007 37.765925) (xy 240.87059 37.782962) + (xy 240.238282 38.415269) (xy 240.238282 38.41527) (xy 240.292452 38.454626) (xy 240.292451 38.454626) + (xy 240.301495 38.459234) (xy 240.352292 38.507208) (xy 240.369087 38.575029) (xy 240.34655 38.641164) + (xy 240.301499 38.680202) (xy 240.292182 38.684949) (xy 240.120213 38.80989) (xy 239.96989 38.960213) + (xy 239.844951 39.132179) (xy 239.748444 39.321585) (xy 239.682753 39.52376) (xy 239.6495 39.733713) + (xy 239.6495 39.946286) (xy 239.677601 40.123713) (xy 239.682754 40.156243) (xy 239.717024 40.261716) + (xy 239.748444 40.358414) (xy 239.844951 40.54782) (xy 239.96989 40.719786) (xy 240.120213 40.870109) + (xy 240.292182 40.99505) (xy 240.300946 40.999516) (xy 240.351742 41.047491) (xy 240.368536 41.115312) + (xy 240.345998 41.181447) (xy 240.300946 41.220484) (xy 240.292182 41.224949) (xy 240.120213 41.34989) + (xy 239.96989 41.500213) (xy 239.844951 41.672179) (xy 239.748444 41.861585) (xy 239.682753 42.06376) + (xy 239.6495 42.273713) (xy 239.6495 42.486286) (xy 239.677601 42.663713) (xy 239.682754 42.696243) + (xy 239.699512 42.74782) (xy 239.748444 42.898414) (xy 239.844951 43.08782) (xy 239.96989 43.259786) + (xy 240.120213 43.410109) (xy 240.292182 43.53505) (xy 240.300946 43.539516) (xy 240.351742 43.587491) + (xy 240.368536 43.655312) (xy 240.345998 43.721447) (xy 240.300946 43.760484) (xy 240.292182 43.764949) + (xy 240.120213 43.88989) (xy 239.96989 44.040213) (xy 239.844951 44.212179) (xy 239.748444 44.401585) + (xy 239.682753 44.60376) (xy 239.6495 44.813713) (xy 239.6495 45.026286) (xy 239.673879 45.180213) + (xy 239.682754 45.236243) (xy 239.728107 45.375826) (xy 239.748444 45.438414) (xy 239.844951 45.62782) + (xy 239.96989 45.799786) (xy 240.120213 45.950109) (xy 240.292182 46.07505) (xy 240.300946 46.079516) + (xy 240.351742 46.127491) (xy 240.368536 46.195312) (xy 240.345998 46.261447) (xy 240.300946 46.300484) + (xy 240.292182 46.304949) (xy 240.120213 46.42989) (xy 239.96989 46.580213) (xy 239.844951 46.752179) + (xy 239.748444 46.941585) (xy 239.682753 47.14376) (xy 239.6495 47.353713) (xy 239.6495 47.566286) + (xy 239.673879 47.720213) (xy 239.682754 47.776243) (xy 239.699512 47.82782) (xy 239.748444 47.978414) + (xy 239.844951 48.16782) (xy 239.96989 48.339786) (xy 240.08343 48.453326) (xy 240.116915 48.514649) + (xy 240.111931 48.584341) (xy 240.070059 48.640274) (xy 240.039083 48.657189) (xy 239.907669 48.706203) + (xy 239.907664 48.706206) (xy 239.792455 48.792452) (xy 239.792452 48.792455) (xy 239.706206 48.907664) + (xy 239.706202 48.907671) (xy 239.655908 49.042517) (xy 239.649501 49.102116) (xy 239.649501 49.102123) + (xy 239.6495 49.102135) (xy 239.6495 50.89787) (xy 239.649501 50.897876) (xy 239.655908 50.957483) + (xy 239.706202 51.092328) (xy 239.706206 51.092335) (xy 239.792452 51.207544) (xy 239.792455 51.207547) + (xy 239.907664 51.293793) (xy 239.907671 51.293797) (xy 240.042517 51.344091) (xy 240.042516 51.344091) + (xy 240.049444 51.344835) (xy 240.102127 51.3505) (xy 241.897872 51.350499) (xy 241.957483 51.344091) + (xy 242.092331 51.293796) (xy 242.207546 51.207546) (xy 242.293796 51.092331) (xy 242.344091 50.957483) + (xy 242.3505 50.897873) (xy 242.350499 49.102128) (xy 242.344091 49.042517) (xy 242.342863 49.039225) + (xy 242.293797 48.907671) (xy 242.293793 48.907664) (xy 242.207547 48.792455) (xy 242.207544 48.792452) + (xy 242.092335 48.706206) (xy 242.092328 48.706202) (xy 241.960917 48.657189) (xy 241.904983 48.615318) + (xy 241.880566 48.549853) (xy 241.895418 48.48158) (xy 241.916563 48.453332) (xy 242.030104 48.339792) + (xy 242.077142 48.27505) (xy 242.155048 48.16782) (xy 242.155047 48.16782) (xy 242.155051 48.167816) + (xy 242.251557 47.978412) (xy 242.317246 47.776243) (xy 242.3505 47.566287) (xy 242.3505 47.353713) + (xy 242.317246 47.143757) (xy 242.251557 46.941588) (xy 242.155051 46.752184) (xy 242.155049 46.752181) + (xy 242.155048 46.752179) (xy 242.030109 46.580213) (xy 241.879786 46.42989) (xy 241.70782 46.304951) + (xy 241.707115 46.304591) (xy 241.699054 46.300485) (xy 241.648259 46.252512) (xy 241.631463 46.184692) + (xy 241.653999 46.118556) (xy 241.699054 46.079515) (xy 241.707816 46.075051) (xy 241.729789 46.059086) + (xy 241.879786 45.950109) (xy 241.879788 45.950106) (xy 241.879792 45.950104) (xy 242.030104 45.799792) + (xy 242.030106 45.799788) (xy 242.030109 45.799786) (xy 242.155048 45.62782) (xy 242.155047 45.62782) + (xy 242.155051 45.627816) (xy 242.251557 45.438412) (xy 242.317246 45.236243) (xy 242.3505 45.026287) + (xy 242.3505 44.813713) (xy 242.317246 44.603757) (xy 242.251557 44.401588) (xy 242.155051 44.212184) + (xy 242.155049 44.212181) (xy 242.155048 44.212179) (xy 242.030109 44.040213) (xy 241.879786 43.88989) + (xy 241.70782 43.764951) (xy 241.707115 43.764591) (xy 241.699054 43.760485) (xy 241.648259 43.712512) + (xy 241.631463 43.644692) (xy 241.653999 43.578556) (xy 241.699054 43.539515) (xy 241.707816 43.535051) + (xy 241.729789 43.519086) (xy 241.879786 43.410109) (xy 241.879788 43.410106) (xy 241.879792 43.410104) + (xy 242.030104 43.259792) (xy 242.030106 43.259788) (xy 242.030109 43.259786) (xy 242.155048 43.08782) + (xy 242.155047 43.08782) (xy 242.155051 43.087816) (xy 242.251557 42.898412) (xy 242.317246 42.696243) + (xy 242.3505 42.486287) (xy 242.3505 42.273713) (xy 242.317246 42.063757) (xy 242.251557 41.861588) + (xy 242.155051 41.672184) (xy 242.155049 41.672181) (xy 242.155048 41.672179) (xy 242.030109 41.500213) + (xy 241.879786 41.34989) (xy 241.70782 41.224951) (xy 241.707115 41.224591) (xy 241.699054 41.220485) + (xy 241.648259 41.172512) (xy 241.631463 41.104692) (xy 241.653999 41.038556) (xy 241.699054 40.999515) + (xy 241.707816 40.995051) (xy 241.729789 40.979086) (xy 241.879786 40.870109) (xy 241.879788 40.870106) + (xy 241.879792 40.870104) (xy 242.030104 40.719792) (xy 242.030106 40.719788) (xy 242.030109 40.719786) + (xy 242.155048 40.54782) (xy 242.155047 40.54782) (xy 242.155051 40.547816) (xy 242.251557 40.358412) + (xy 242.317246 40.156243) (xy 242.3505 39.946287) (xy 242.3505 39.733713) (xy 242.317246 39.523757) + (xy 242.251557 39.321588) (xy 242.155051 39.132184) (xy 242.155049 39.132181) (xy 242.155048 39.132179) + (xy 242.030109 38.960213) (xy 241.879786 38.80989) (xy 241.707817 38.684949) (xy 241.698504 38.680204) + (xy 241.647707 38.63223) (xy 241.630912 38.564409) (xy 241.653449 38.498274) (xy 241.698507 38.459232) + (xy 241.707555 38.454622) (xy 241.761716 38.41527) (xy 241.761717 38.41527) (xy 241.129408 37.782962) + (xy 241.192993 37.765925) (xy 241.307007 37.700099) (xy 241.400099 37.607007) (xy 241.465925 37.492993) + (xy 241.482962 37.429408) (xy 242.11527 38.061717) (xy 242.11527 38.061716) (xy 242.154622 38.007554) + (xy 242.251095 37.818217) (xy 242.316757 37.61613) (xy 242.316757 37.616127) (xy 242.35 37.406246) + (xy 242.35 37.193753) (xy 242.316757 36.983872) (xy 242.316757 36.983869) (xy 242.251095 36.781782) + (xy 242.154624 36.592449) (xy 242.11527 36.538282) (xy 242.115269 36.538282) (xy 241.482962 37.17059) + (xy 241.465925 37.107007) (xy 241.400099 36.992993) (xy 241.307007 36.899901) (xy 241.192993 36.834075) + (xy 241.129409 36.817037) (xy 241.761716 36.184728) (xy 241.707547 36.145373) (xy 241.707547 36.145372) + (xy 241.6985 36.140763) (xy 241.647706 36.092788) (xy 241.630912 36.024966) (xy 241.653451 35.958832) + (xy 241.698508 35.919793) (xy 241.707816 35.915051) (xy 241.874825 35.793713) (xy 241.879786 35.790109) + (xy 241.879788 35.790106) (xy 241.879792 35.790104) (xy 242.030104 35.639792) (xy 242.030106 35.639788) + (xy 242.030109 35.639786) (xy 242.155048 35.46782) (xy 242.155047 35.46782) (xy 242.155051 35.467816) + (xy 242.251557 35.278412) (xy 242.317246 35.076243) (xy 242.3505 34.866287) (xy 242.3505 34.653713) + (xy 242.317246 34.443757) (xy 242.251557 34.241588) (xy 242.155051 34.052184) (xy 242.155049 34.052181) + (xy 242.155048 34.052179) (xy 242.030109 33.880213) (xy 241.879786 33.72989) (xy 241.70782 33.604951) + (xy 241.518414 33.508444) (xy 241.518413 33.508443) (xy 241.518412 33.508443) (xy 241.316243 33.442754) + (xy 241.316241 33.442753) (xy 241.31624 33.442753) (xy 241.154957 33.417208) (xy 241.106287 33.4095) + (xy 240.893713 33.4095) (xy 240.845042 33.417208) (xy 240.68376 33.442753) (xy 240.481585 33.508444) + (xy 240.292179 33.604951) (xy 240.120213 33.72989) (xy 239.96989 33.880213) (xy 239.844951 34.052179) + (xy 239.748444 34.241585) (xy 239.682753 34.44376) (xy 239.6495 34.653713) (xy 144.83761 34.653713) + (xy 144.851453 34.590074) (xy 144.900858 34.540669) (xy 144.960286 34.5255) (xy 146.759189 34.5255) + (xy 146.761607 34.5255) (xy 146.822029 34.513481) (xy 146.882452 34.501463) (xy 146.882455 34.501461) + (xy 146.882458 34.501461) (xy 146.915787 34.487654) (xy 146.915786 34.487654) (xy 146.915792 34.487652) + (xy 146.996286 34.454312) (xy 147.047509 34.420084) (xy 147.098733 34.385858) (xy 147.185858 34.298733) + (xy 147.185859 34.298731) (xy 147.192925 34.291665) (xy 147.192928 34.291661) (xy 147.998729 33.48586) + (xy 147.998733 33.485858) (xy 148.085858 33.398733) (xy 148.154311 33.296286) (xy 148.201463 33.182452) + (xy 148.2255 33.061606) (xy 148.2255 32.872721) (xy 148.245185 32.805682) (xy 148.297989 32.759927) + (xy 148.302035 32.758165) (xy 148.326547 32.748013) (xy 148.474035 32.649464) (xy 148.599464 32.524035) + (xy 148.698013 32.376547) (xy 148.765894 32.212666) (xy 148.8005 32.038691) (xy 148.8005 31.861309) + (xy 148.8005 31.861306) (xy 148.800499 31.861304) (xy 148.765896 31.687341) (xy 148.765893 31.687332) + (xy 148.698016 31.523459) (xy 148.698009 31.523446) (xy 148.599464 31.375965) (xy 148.599461 31.375961) + (xy 148.474038 31.250538) (xy 148.474034 31.250535) (xy 148.326553 31.15199) (xy 148.32654 31.151983) + (xy 148.162667 31.084106) (xy 148.162658 31.084103) (xy 147.988694 31.0495) (xy 147.988691 31.0495) + (xy 147.811309 31.0495) (xy 147.811306 31.0495) (xy 147.637341 31.084103) (xy 147.637332 31.084106) + (xy 147.473459 31.151983) (xy 147.473446 31.15199) (xy 147.325965 31.250535) (xy 147.325961 31.250538) + (xy 147.200538 31.375961) (xy 147.200535 31.375965) (xy 147.10199 31.523446) (xy 147.101983 31.523459) + (xy 147.034106 31.687332) (xy 147.034103 31.687341) (xy 146.9995 31.861304) (xy 146.9995 32.044782) + (xy 146.998871 32.044782) (xy 146.997494 32.072793) (xy 146.9745 32.188395) (xy 146.9745 32.689548) + (xy 146.954815 32.756587) (xy 146.938181 32.777229) (xy 146.477229 33.238181) (xy 146.415906 33.271666) + (xy 146.389548 33.2745) (xy 138.071606 33.2745) (xy 137.948393 33.2745) (xy 137.838865 33.296286) + (xy 137.838864 33.296285) (xy 137.827551 33.298536) (xy 137.827545 33.298538) (xy 137.713716 33.345687) + (xy 137.634332 33.398731) (xy 137.618215 33.4095) (xy 137.61361 33.412576) (xy 137.611264 33.414144) + (xy 129.952181 41.073228) (xy 129.890858 41.106713) (xy 129.821166 41.101729) (xy 129.765233 41.059857) + (xy 129.740816 40.994393) (xy 129.7405 40.985547) (xy 129.7405 40.873713) (xy 129.707246 40.66376) + (xy 129.707246 40.663757) (xy 129.641557 40.461588) (xy 129.545051 40.272184) (xy 129.545049 40.272181) + (xy 129.545048 40.272179) (xy 129.420109 40.100213) (xy 129.269786 39.94989) (xy 129.09782 39.824951) + (xy 129.097115 39.824591) (xy 129.089054 39.820485) (xy 129.038259 39.772512) (xy 129.021463 39.704692) + (xy 129.043999 39.638556) (xy 129.089054 39.599515) (xy 129.097816 39.595051) (xy 129.138041 39.565826) + (xy 129.269786 39.470109) (xy 129.269788 39.470106) (xy 129.269792 39.470104) (xy 129.420104 39.319792) + (xy 129.420106 39.319788) (xy 129.420109 39.319786) (xy 129.545048 39.14782) (xy 129.545047 39.14782) + (xy 129.545051 39.147816) (xy 129.641557 38.958412) (xy 129.707246 38.756243) (xy 129.7405 38.546287) + (xy 129.7405 38.333713) (xy 129.707246 38.123757) (xy 129.641557 37.921588) (xy 129.545051 37.732184) + (xy 129.545049 37.732181) (xy 129.545048 37.732179) (xy 129.420109 37.560213) (xy 129.269786 37.40989) + (xy 129.09782 37.284951) (xy 129.097115 37.284591) (xy 129.089054 37.280485) (xy 129.038259 37.232512) + (xy 129.021463 37.164692) (xy 129.043999 37.098556) (xy 129.089054 37.059515) (xy 129.097816 37.055051) + (xy 129.184138 36.992335) (xy 129.269786 36.930109) (xy 129.269788 36.930106) (xy 129.269792 36.930104) + (xy 129.420104 36.779792) (xy 129.420106 36.779788) (xy 129.420109 36.779786) (xy 129.545048 36.60782) + (xy 129.545047 36.60782) (xy 129.545051 36.607816) (xy 129.641557 36.418412) (xy 129.707246 36.216243) + (xy 129.7405 36.006287) (xy 129.7405 35.793713) (xy 129.707246 35.583757) (xy 129.641557 35.381588) + (xy 129.545051 35.192184) (xy 129.545049 35.192181) (xy 129.545048 35.192179) (xy 129.420109 35.020213) + (xy 129.269786 34.86989) (xy 129.09782 34.744951) (xy 128.908414 34.648444) (xy 128.908413 34.648443) + (xy 128.908412 34.648443) (xy 128.706243 34.582754) (xy 128.706241 34.582753) (xy 128.70624 34.582753) + (xy 128.544957 34.557208) (xy 128.496287 34.5495) (xy 128.283713 34.5495) (xy 128.235042 34.557208) + (xy 128.07376 34.582753) (xy 127.871585 34.648444) (xy 127.682179 34.744951) (xy 127.510213 34.86989) + (xy 127.35989 35.020213) (xy 127.234951 35.192179) (xy 127.138444 35.381585) (xy 127.072753 35.58376) + (xy 127.040072 35.790104) (xy 127.0395 35.793713) (xy 124.0005 35.793713) (xy 124.0005 32.004427) + (xy 124.000816 31.995581) (xy 124.005213 31.934108) (xy 124.01513 31.795436) (xy 124.017646 31.777938) + (xy 124.059356 31.5862) (xy 124.064335 31.569242) (xy 124.132911 31.385382) (xy 124.140251 31.36931) + (xy 124.234294 31.197083) (xy 124.24385 31.182214) (xy 124.361443 31.025128) (xy 124.373017 31.011771) + (xy 124.511771 30.873017) (xy 124.525128 30.861443) (xy 124.682214 30.74385) (xy 124.697083 30.734294) + (xy 124.86931 30.640251) (xy 124.885382 30.632911) (xy 125.069242 30.564335) (xy 125.0862 30.559356) + (xy 125.277938 30.517646) (xy 125.295436 30.51513) (xy 125.495582 30.500816) (xy 125.504428 30.5005) + (xy 125.565892 30.5005) (xy 244.294108 30.5005) (xy 244.355572 30.5005) + ) + ) + ) + (group "" + (uuid "352eb986-3d4a-4d72-b96f-5c1ece28a1e9") + (members "8abc104a-0c54-48fe-b01e-6e117adda566" "b935732a-bc41-4517-b800-3fd3f7c58761") + ) + (group "" + (uuid "03217a42-88dd-4a72-8446-a8fe4be133ce") + (members "1f200560-9e95-4946-9f8f-1e0ad79ec143" "22b0890b-e9e1-408d-9195-ac8e237b849a" + "2320fb60-ce94-4ffd-adc3-b3a85a3374d3" "52da3398-935d-4bdb-a2be-ef4f50374fe5" + "6b59df92-3643-465a-83c9-20099bf213d5" "998a23df-4795-45c3-96ea-711c1c352dc7" + "cb7a6dfd-a02f-4eb3-87b9-f3af39f76993" "e211e575-ba2f-4e07-a7cc-e0f92ec92460" + ) + ) + (group "" + (uuid "a86301f5-1576-4536-bc8a-6d22b8ba8e21") + (members "00f5a805-37f8-44d2-ab07-6c881cdb704a" "12f6f387-5e46-4451-9e88-c54cd2cfc75c" + "35cd7b00-f4f4-4329-95b0-28af0837033c" "7a8a1a09-7615-4527-a6c7-419b223be739" + "7b5a9312-5f7a-46d5-9bd1-dbd153a22379" "e777576d-29d6-430d-868f-30ba10368c13" + ) + ) + (group "" + (uuid "5b8532a1-ced0-4a0e-9e42-351476e8918b") + (members "2cac99a0-514c-4601-805a-e1ec277969cc" "f2f5e2be-bc17-434f-a69a-85fb81988b96") + ) + (group "" + (uuid "96aeba32-e3b3-46a1-b34a-3c1318c359ff") + (members "31bb577f-334e-4c7f-afe7-8b637cde890d" "374ccecc-dbf1-49fe-a999-6f9e8a768c4d" + "39db4e56-5dfe-474a-bbaf-8206d75a5eac" "3aa4ed9e-99e1-4a87-a167-935c4a0834dd" + "3dcbd66b-932b-4202-8100-17260a6280b0" "996cc6c8-b7b2-4eee-8c7f-eef086a553bf" + "a3e07924-64cf-4259-9231-0855b76b3901" + ) + ) + (embedded_fonts no) +) diff --git a/hardware/boards/main-control-board/main-control-board.kicad_pro b/hardware/boards/main-control-board/main-control-board.kicad_pro new file mode 100644 index 0000000..a8f9f35 --- /dev/null +++ b/hardware/boards/main-control-board/main-control-board.kicad_pro @@ -0,0 +1,802 @@ +{ + "board": { + "3dviewports": [], + "design_settings": { + "defaults": { + "apply_defaults_to_fp_barcodes": false, + "apply_defaults_to_fp_dimensions": false, + "apply_defaults_to_fp_fields": false, + "apply_defaults_to_fp_shapes": false, + "apply_defaults_to_fp_text": false, + "board_outline_line_width": 0.05, + "copper_line_width": 0.2, + "copper_text_italic": false, + "copper_text_size_h": 1.5, + "copper_text_size_v": 1.5, + "copper_text_thickness": 0.3, + "copper_text_upright": false, + "courtyard_line_width": 0.05, + "dimension_precision": 4, + "dimension_units": 3, + "dimensions": { + "arrow_length": 1270000, + "extension_offset": 500000, + "keep_text_aligned": true, + "suppress_zeroes": true, + "text_position": 0, + "units_format": 0 + }, + "fab_line_width": 0.1, + "fab_text_italic": false, + "fab_text_size_h": 1.0, + "fab_text_size_v": 1.0, + "fab_text_thickness": 0.15, + "fab_text_upright": false, + "other_line_width": 0.1, + "other_text_italic": false, + "other_text_size_h": 1.0, + "other_text_size_v": 1.0, + "other_text_thickness": 0.15, + "other_text_upright": false, + "pads": { + "drill": 0.8, + "height": 1.27, + "width": 1.27 + }, + "silk_line_width": 0.1, + "silk_text_italic": false, + "silk_text_size_h": 1.0, + "silk_text_size_v": 1.0, + "silk_text_thickness": 0.1, + "silk_text_upright": false, + "zones": { + "border_display_style": 2, + "border_hatch_pitch": 0.5, + "corner_radius": 0.0, + "corner_smoothing": 0, + "fill_mode": 0, + "hatch_gap": 1.5, + "hatch_orientation": 0.0, + "hatch_smoothing_level": 0, + "hatch_smoothing_value": 0.1, + "hatch_thickness": 1.0, + "min_clearance": 0.5, + "min_island_area": 10.0, + "min_thickness": 0.25, + "pad_connection": 1, + "remove_islands": 0, + "thermal_relief_gap": 0.5, + "thermal_relief_spoke_width": 0.5 + } + }, + "diff_pair_dimensions": [], + "drc_exclusions": [], + "meta": { + "version": 2 + }, + "rule_severities": { + "annular_width": "error", + "clearance": "error", + "connection_width": "warning", + "copper_edge_clearance": "error", + "copper_sliver": "warning", + "courtyards_overlap": "error", + "creepage": "error", + "diff_pair_gap_out_of_range": "error", + "diff_pair_uncoupled_length_too_long": "error", + "drill_out_of_range": "error", + "duplicate_footprints": "warning", + "extra_footprint": "warning", + "footprint": "error", + "footprint_filters_mismatch": "ignore", + "footprint_symbol_field_mismatch": "warning", + "footprint_symbol_mismatch": "warning", + "footprint_type_mismatch": "ignore", + "hole_clearance": "error", + "hole_to_hole": "warning", + "holes_co_located": "warning", + "invalid_outline": "error", + "isolated_copper": "warning", + "item_on_disabled_layer": "error", + "items_not_allowed": "error", + "length_out_of_range": "error", + "lib_footprint_issues": "warning", + "lib_footprint_mismatch": "warning", + "malformed_courtyard": "error", + "microvia_drill_out_of_range": "error", + "mirrored_text_on_front_layer": "warning", + "missing_courtyard": "ignore", + "missing_footprint": "warning", + "missing_tuning_profile": "warning", + "net_conflict": "warning", + "nonmirrored_text_on_back_layer": "warning", + "npth_inside_courtyard": "error", + "padstack": "warning", + "pth_inside_courtyard": "error", + "shorting_items": "error", + "silk_edge_clearance": "warning", + "silk_over_copper": "warning", + "silk_overlap": "warning", + "skew_out_of_range": "error", + "solder_mask_bridge": "error", + "starved_thermal": "error", + "text_height": "warning", + "text_on_edge_cuts": "error", + "text_thickness": "warning", + "through_hole_pad_without_hole": "error", + "too_many_vias": "error", + "track_angle": "error", + "track_dangling": "warning", + "track_not_centered_on_via": "ignore", + "track_on_post_machined_layer": "error", + "track_segment_length": "error", + "track_width": "error", + "tracks_crossing": "error", + "tuning_profile_track_geometries": "ignore", + "unconnected_items": "error", + "unresolved_variable": "error", + "via_dangling": "warning", + "zones_intersect": "error" + }, + "rules": { + "max_error": 0.005, + "min_clearance": 0.0, + "min_connection": 0.0, + "min_copper_edge_clearance": 0.5, + "min_groove_width": 0.0, + "min_hole_clearance": 0.25, + "min_hole_to_hole": 0.25, + "min_microvia_diameter": 0.2, + "min_microvia_drill": 0.1, + "min_resolved_spokes": 2, + "min_silk_clearance": 0.0, + "min_text_height": 0.8, + "min_text_thickness": 0.08, + "min_through_hole_diameter": 0.3, + "min_track_width": 0.2, + "min_via_annular_width": 0.1, + "min_via_diameter": 0.5, + "solder_mask_to_copper_clearance": 0.005, + "use_height_for_length_calcs": true + }, + "teardrop_options": [ + { + "td_onpthpad": true, + "td_onroundshapesonly": false, + "td_onsmdpad": true, + "td_ontrackend": false, + "td_onvia": true + } + ], + "teardrop_parameters": [ + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_round_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_rect_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_track_end", + "td_width_to_size_filter_ratio": 0.9 + } + ], + "track_widths": [ + 0.0, + 0.2, + 0.4, + 1.5, + 2.0 + ], + "tuning_pattern_settings": { + "diff_pair_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 1.0 + }, + "diff_pair_skew_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 0.6 + }, + "single_track_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 0.6 + } + }, + "via_dimensions": [ + { + "diameter": 0.0, + "drill": 0.0 + }, + { + "diameter": 0.6, + "drill": 0.3 + }, + { + "diameter": 0.8, + "drill": 0.4 + } + ], + "zones_allow_external_fillets": false + }, + "ipc2581": { + "bom_rev": "", + "dist": "", + "distpn": "", + "internal_id": "", + "mfg": "", + "mpn": "", + "sch_revision": "v1" + }, + "layer_pairs": [], + "layer_presets": [], + "viewports": [] + }, + "boards": [], + "component_class_settings": { + "assignments": [], + "meta": { + "version": 0 + }, + "sheet_component_classes": { + "enabled": false + } + }, + "cvpcb": { + "equivalence_files": [] + }, + "erc": { + "erc_exclusions": [], + "meta": { + "version": 0 + }, + "pin_map": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 2 + ], + [ + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 1, + 1, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2 + ], + [ + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 2 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 2, + 1, + 2, + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 2 + ], + [ + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2 + ], + [ + 0, + 2, + 1, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2 + ], + [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ] + ], + "rule_severities": { + "bus_definition_conflict": "error", + "bus_entry_needed": "error", + "bus_to_bus_conflict": "error", + "bus_to_net_conflict": "error", + "different_unit_footprint": "error", + "different_unit_net": "error", + "duplicate_reference": "error", + "duplicate_sheet_names": "error", + "endpoint_off_grid": "warning", + "extra_units": "error", + "field_name_whitespace": "warning", + "footprint_filter": "ignore", + "footprint_link_issues": "warning", + "four_way_junction": "ignore", + "ground_pin_not_ground": "warning", + "hier_label_mismatch": "error", + "isolated_pin_label": "warning", + "label_dangling": "error", + "label_multiple_wires": "warning", + "lib_symbol_issues": "warning", + "lib_symbol_mismatch": "warning", + "missing_bidi_pin": "warning", + "missing_input_pin": "warning", + "missing_power_pin": "error", + "missing_unit": "warning", + "multiple_net_names": "warning", + "net_not_bus_member": "warning", + "no_connect_connected": "warning", + "no_connect_dangling": "warning", + "pin_not_connected": "error", + "pin_not_driven": "error", + "pin_to_pin": "warning", + "power_pin_not_driven": "error", + "same_local_global_label": "warning", + "similar_label_and_power": "warning", + "similar_labels": "warning", + "similar_power": "warning", + "simulation_model_issue": "ignore", + "single_global_label": "ignore", + "stacked_pin_name": "warning", + "unannotated": "error", + "unconnected_wire_endpoint": "warning", + "undefined_netclass": "error", + "unit_value_mismatch": "error", + "unresolved_variable": "error", + "wire_dangling": "error" + } + }, + "libraries": { + "pinned_footprint_libs": [], + "pinned_symbol_libs": [] + }, + "meta": { + "filename": "main-control-board.kicad_pro", + "version": 3 + }, + "net_settings": { + "classes": [ + { + "bus_width": 12, + "clearance": 0.25, + "diff_pair_gap": 0.25, + "diff_pair_via_gap": 0.25, + "diff_pair_width": 0.25, + "line_style": 0, + "microvia_diameter": 0.8, + "microvia_drill": 0.4, + "name": "Default", + "pcb_color": "rgba(0, 0, 0, 0.000)", + "priority": 2147483647, + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.25, + "tuning_profile": "", + "via_diameter": 0.8, + "via_drill": 0.4, + "wire_width": 6 + }, + { + "clearance": 0.25, + "diff_pair_gap": 0.25, + "diff_pair_width": 0.25, + "microvia_diameter": 0.8, + "microvia_drill": 0.4, + "name": "GND", + "pcb_color": "rgb(132, 132, 132)", + "priority": 0, + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.4, + "tuning_profile": "", + "via_diameter": 0.8, + "via_drill": 0.4 + }, + { + "clearance": 0.2, + "diff_pair_gap": 0.25, + "diff_pair_width": 0.25, + "microvia_diameter": 0.6, + "microvia_drill": 0.3, + "name": "Power3V3", + "pcb_color": "rgb(221, 133, 0)", + "priority": 2, + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.4, + "tuning_profile": "", + "via_diameter": 0.6, + "via_drill": 0.3 + }, + { + "clearance": 0.25, + "diff_pair_gap": 0.25, + "diff_pair_width": 0.25, + "microvia_diameter": 0.8, + "microvia_drill": 0.4, + "name": "Power5V", + "pcb_color": "rgb(194, 0, 0)", + "priority": 3, + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 1.5, + "tuning_profile": "", + "via_diameter": 0.8, + "via_drill": 0.4 + }, + { + "clearance": 0.2, + "diff_pair_gap": 0.2, + "diff_pair_width": 0.2, + "microvia_diameter": 0.6, + "microvia_drill": 0.3, + "name": "USB", + "pcb_color": "rgb(0, 0, 255)", + "priority": 1, + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.2, + "tuning_profile": "", + "via_diameter": 0.6, + "via_drill": 0.3 + } + ], + "meta": { + "version": 5 + }, + "net_colors": null, + "netclass_assignments": null, + "netclass_patterns": [ + { + "netclass": "GND", + "pattern": "GND" + }, + { + "netclass": "Power5V", + "pattern": "+5V" + }, + { + "netclass": "Power3V3", + "pattern": "+3.3V" + }, + { + "netclass": "USB", + "pattern": "/USB_*" + }, + { + "netclass": "Default", + "pattern": "/I2S_*" + }, + { + "netclass": "Default", + "pattern": "/I2C_*" + } + ] + }, + "pcbnew": { + "last_paths": { + "idf": "", + "netlist": "", + "plot": "", + "specctra_dsn": "", + "step": "", + "vrml": "" + }, + "page_layout_descr_file": "" + }, + "schematic": { + "annotate_start_num": 0, + "annotation": { + "method": 0, + "sort_order": 0 + }, + "bom_export_filename": "${PROJECTNAME}.csv", + "bom_fmt_presets": [], + "bom_fmt_settings": { + "field_delimiter": ",", + "keep_line_breaks": false, + "keep_tabs": false, + "name": "CSV", + "ref_delimiter": ",", + "ref_range_delimiter": "", + "string_delimiter": "\"" + }, + "bom_presets": [], + "bom_settings": { + "exclude_dnp": false, + "fields_ordered": [ + { + "group_by": false, + "label": "Reference", + "name": "Reference", + "show": true + }, + { + "group_by": false, + "label": "Qty", + "name": "${QUANTITY}", + "show": true + }, + { + "group_by": true, + "label": "Value", + "name": "Value", + "show": true + }, + { + "group_by": true, + "label": "DNP", + "name": "${DNP}", + "show": true + }, + { + "group_by": true, + "label": "Exclude from BOM", + "name": "${EXCLUDE_FROM_BOM}", + "show": true + }, + { + "group_by": true, + "label": "Exclude from Board", + "name": "${EXCLUDE_FROM_BOARD}", + "show": true + }, + { + "group_by": true, + "label": "Exclude from Simulation", + "name": "${EXCLUDE_FROM_SIM}", + "show": true + }, + { + "group_by": true, + "label": "Exclude from Position Files", + "name": "${EXCLUDE_FROM_POS_FILES}", + "show": true + }, + { + "group_by": true, + "label": "Footprint", + "name": "Footprint", + "show": true + }, + { + "group_by": false, + "label": "Datasheet", + "name": "Datasheet", + "show": true + }, + { + "group_by": false, + "label": "Description", + "name": "Description", + "show": false + }, + { + "group_by": false, + "label": "#", + "name": "${ITEM_NUMBER}", + "show": false + }, + { + "group_by": false, + "label": "KiLib_Generator", + "name": "KiLib_Generator", + "show": false + } + ], + "filter_string": "", + "group_symbols": true, + "include_excluded_from_bom": true, + "name": "", + "sort_asc": true, + "sort_field": "Reference" + }, + "bus_aliases": {}, + "connection_grid_size": 50.0, + "drawing": { + "dashed_lines_dash_length_ratio": 12.0, + "dashed_lines_gap_length_ratio": 3.0, + "default_line_thickness": 6.0, + "default_text_size": 50.0, + "field_names": [], + "hop_over_size_choice": 0, + "intersheets_ref_own_page": false, + "intersheets_ref_prefix": "", + "intersheets_ref_short": false, + "intersheets_ref_show": false, + "intersheets_ref_suffix": "", + "junction_size_choice": 3, + "label_size_ratio": 0.375, + "operating_point_overlay_i_precision": 3, + "operating_point_overlay_i_range": "~A", + "operating_point_overlay_v_precision": 3, + "operating_point_overlay_v_range": "~V", + "overbar_offset_ratio": 1.23, + "pin_symbol_size": 25.0, + "text_offset_ratio": 0.15 + }, + "legacy_lib_dir": "", + "legacy_lib_list": [], + "meta": { + "version": 1 + }, + "page_layout_descr_file": "", + "plot_directory": "", + "reuse_designators": true, + "subpart_first_id": 65, + "subpart_id_separator": 0, + "top_level_sheets": [ + { + "filename": "main-control-board.kicad_sch", + "name": "main-control-board", + "uuid": "82a78d11-58ff-455c-a94e-f7463ce9fc2e" + } + ], + "used_designators": "#PWR1-2,#PWR13-20,J1-6", + "variants": [] + }, + "sheets": [ + [ + "82a78d11-58ff-455c-a94e-f7463ce9fc2e", + "main-control-board" + ] + ], + "text_variables": {}, + "tuning_profiles": { + "meta": { + "version": 0 + }, + "tuning_profiles_impedance_geometric": [] + } +} diff --git a/hardware/boards/main-control-board/main-control-board.kicad_sch b/hardware/boards/main-control-board/main-control-board.kicad_sch new file mode 100644 index 0000000..b1ed65f --- /dev/null +++ b/hardware/boards/main-control-board/main-control-board.kicad_sch @@ -0,0 +1,6972 @@ +(kicad_sch + (version 20260306) + (generator "eeschema") + (generator_version "10.0") + (uuid "82a78d11-58ff-455c-a94e-f7463ce9fc2e") + (paper "A4") + (title_block + (title "TinyEngineer PCB") + (date "2026-09-12") + (rev "v1") + ) + (lib_symbols + (symbol "Connector:Conn_01x04_Pin" + (pin_names + (offset 1.016) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "J" + (at 0 5.08 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Conn_01x04_Pin" + (at 0 -7.62 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x04, script generated" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_locked" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "connector" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_fp_filters" "Connector*:*_1x??_*" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "Conn_01x04_Pin_1_1" + (rectangle + (start 0.8636 2.667) + (end 0 2.413) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type outline) + ) + ) + (rectangle + (start 0.8636 0.127) + (end 0 -0.127) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type outline) + ) + ) + (rectangle + (start 0.8636 -2.413) + (end 0 -2.667) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type outline) + ) + ) + (rectangle + (start 0.8636 -4.953) + (end 0 -5.207) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type outline) + ) + ) + (polyline + (pts + (xy 1.27 2.54) (xy 0.8636 2.54) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.27 0) (xy 0.8636 0) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.27 -2.54) (xy 0.8636 -2.54) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.27 -5.08) (xy 0.8636 -5.08) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (pin passive line + (at 5.08 2.54 180) + (length 3.81) + (name "Pin_1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 0 180) + (length 3.81) + (name "Pin_2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 -2.54 180) + (length 3.81) + (name "Pin_3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 -5.08 180) + (length 3.81) + (name "Pin_4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Connector:Conn_01x04_Socket" + (pin_names + (offset 1.016) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "J" + (at 0 5.08 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Conn_01x04_Socket" + (at 0 -7.62 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x04, script generated" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_locked" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "connector" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_fp_filters" "Connector*:*_1x??_*" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "Conn_01x04_Socket_1_1" + (polyline + (pts + (xy -1.27 2.54) (xy -0.508 2.54) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 0) (xy -0.508 0) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -2.54) (xy -0.508 -2.54) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -5.08) (xy -0.508 -5.08) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 2.032) + (mid -0.5058 2.54) + (end 0 3.048) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -0.508) + (mid -0.5058 0) + (end 0 0.508) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -3.048) + (mid -0.5058 -2.54) + (end 0 -2.032) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -5.588) + (mid -0.5058 -5.08) + (end 0 -4.572) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (pin passive line + (at -5.08 2.54 0) + (length 3.81) + (name "Pin_1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 0 0) + (length 3.81) + (name "Pin_2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 -2.54 0) + (length 3.81) + (name "Pin_3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 -5.08 0) + (length 3.81) + (name "Pin_4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Connector:Conn_01x06_Socket" + (pin_names + (offset 1.016) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "J" + (at 0 7.62 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Conn_01x06_Socket" + (at 0 -10.16 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x06, script generated" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_locked" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "connector" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_fp_filters" "Connector*:*_1x??_*" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "Conn_01x06_Socket_1_1" + (polyline + (pts + (xy -1.27 5.08) (xy -0.508 5.08) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 2.54) (xy -0.508 2.54) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 0) (xy -0.508 0) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -2.54) (xy -0.508 -2.54) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -5.08) (xy -0.508 -5.08) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -7.62) (xy -0.508 -7.62) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 4.572) + (mid -0.5058 5.08) + (end 0 5.588) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 2.032) + (mid -0.5058 2.54) + (end 0 3.048) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -0.508) + (mid -0.5058 0) + (end 0 0.508) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -3.048) + (mid -0.5058 -2.54) + (end 0 -2.032) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -5.588) + (mid -0.5058 -5.08) + (end 0 -4.572) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -8.128) + (mid -0.5058 -7.62) + (end 0 -7.112) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (pin passive line + (at -5.08 5.08 0) + (length 3.81) + (name "Pin_1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 2.54 0) + (length 3.81) + (name "Pin_2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 0 0) + (length 3.81) + (name "Pin_3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 -2.54 0) + (length 3.81) + (name "Pin_4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 -5.08 0) + (length 3.81) + (name "Pin_5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 -7.62 0) + (length 3.81) + (name "Pin_6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Connector:Conn_01x07_Socket" + (pin_names + (offset 1.016) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "J" + (at 0 10.16 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Conn_01x07_Socket" + (at 0 -10.16 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x07, script generated" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_locked" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "connector" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_fp_filters" "Connector*:*_1x??_*" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "Conn_01x07_Socket_1_1" + (polyline + (pts + (xy -1.27 7.62) (xy -0.508 7.62) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 5.08) (xy -0.508 5.08) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 2.54) (xy -0.508 2.54) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 0) (xy -0.508 0) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -2.54) (xy -0.508 -2.54) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -5.08) (xy -0.508 -5.08) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -7.62) (xy -0.508 -7.62) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 7.112) + (mid -0.5058 7.62) + (end 0 8.128) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 4.572) + (mid -0.5058 5.08) + (end 0 5.588) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 2.032) + (mid -0.5058 2.54) + (end 0 3.048) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -0.508) + (mid -0.5058 0) + (end 0 0.508) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -3.048) + (mid -0.5058 -2.54) + (end 0 -2.032) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -5.588) + (mid -0.5058 -5.08) + (end 0 -4.572) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -8.128) + (mid -0.5058 -7.62) + (end 0 -7.112) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (pin passive line + (at -5.08 7.62 0) + (length 3.81) + (name "Pin_1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 5.08 0) + (length 3.81) + (name "Pin_2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 2.54 0) + (length 3.81) + (name "Pin_3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 0 0) + (length 3.81) + (name "Pin_4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 -2.54 0) + (length 3.81) + (name "Pin_5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 -5.08 0) + (length 3.81) + (name "Pin_6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 -7.62 0) + (length 3.81) + (name "Pin_7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Connector:Conn_01x09_Socket" + (pin_names + (offset 1.016) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "J" + (at 0 12.7 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Conn_01x09_Socket" + (at 0 -12.7 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x09, script generated" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_locked" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "connector" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_fp_filters" "Connector*:*_1x??_*" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "Conn_01x09_Socket_1_1" + (polyline + (pts + (xy -1.27 10.16) (xy -0.508 10.16) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 7.62) (xy -0.508 7.62) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 5.08) (xy -0.508 5.08) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 2.54) (xy -0.508 2.54) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 0) (xy -0.508 0) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -2.54) (xy -0.508 -2.54) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -5.08) (xy -0.508 -5.08) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -7.62) (xy -0.508 -7.62) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -10.16) (xy -0.508 -10.16) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 9.652) + (mid -0.5058 10.16) + (end 0 10.668) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 7.112) + (mid -0.5058 7.62) + (end 0 8.128) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 4.572) + (mid -0.5058 5.08) + (end 0 5.588) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 2.032) + (mid -0.5058 2.54) + (end 0 3.048) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -0.508) + (mid -0.5058 0) + (end 0 0.508) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -3.048) + (mid -0.5058 -2.54) + (end 0 -2.032) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -5.588) + (mid -0.5058 -5.08) + (end 0 -4.572) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -8.128) + (mid -0.5058 -7.62) + (end 0 -7.112) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -10.668) + (mid -0.5058 -10.16) + (end 0 -9.652) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (pin passive line + (at -5.08 10.16 0) + (length 3.81) + (name "Pin_1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 7.62 0) + (length 3.81) + (name "Pin_2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 5.08 0) + (length 3.81) + (name "Pin_3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 2.54 0) + (length 3.81) + (name "Pin_4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 0 0) + (length 3.81) + (name "Pin_5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 -2.54 0) + (length 3.81) + (name "Pin_6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 -5.08 0) + (length 3.81) + (name "Pin_7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 -7.62 0) + (length 3.81) + (name "Pin_8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 -10.16 0) + (length 3.81) + (name "Pin_9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "TinyEngineerModules:Adafruit_PCA9685_Module" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "U" + (at 5.334 9.144 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Adafruit PCA9685" + (at -1.778 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "Adafruit_PCA9685_Module_1_1" + (rectangle + (start -12.7 7.62) + (end 12.7 -7.62) + (stroke + (width 0) + (type solid) + ) + (fill + (type background) + ) + ) + (pin power_in line + (at 0 -10.16 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at 15.24 3.81 180) + (length 2.54) + (name "OE" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at 15.24 1.27 180) + (length 2.54) + (name "SCL" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 15.24 -1.27 180) + (length 2.54) + (name "SDA" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 15.24 -3.81 180) + (length 2.54) + (name "VCC" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 10.16 270) + (length 2.54) + (name "V+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "TinyEngineerModules:ESP32_C3_Zero_Dev_Board" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "U" + (at -0.254 2.286 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "ESP32-C3-ZERO" + (at 0.254 -1.016 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "https://www.waveshare.com/wiki/ESP32-C3-Zero" + (at 30.734 -19.304 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Waveshare ESP32-C3-Zero module header, pads numbered anticlockwise from USB" + (at 46.736 -16.002 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "ESP32_C3_Zero_Dev_Board_1_1" + (rectangle + (start -15.24 11.43) + (end 15.24 -11.43) + (stroke + (width 0) + (type solid) + ) + (fill + (type background) + ) + ) + (pin power_in line + (at 0 13.97 270) + (length 2.54) + (name "5V" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 -13.97 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_out line + (at -17.78 10.16 0) + (length 2.54) + (name "3V3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 2.54 0) + (length 2.54) + (name "GP0" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 0 0) + (length 2.54) + (name "GP1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 -2.54 0) + (length 2.54) + (name "GP2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 -5.08 0) + (length 2.54) + (name "GP3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 -7.62 0) + (length 2.54) + (name "GP4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 -10.16 0) + (length 2.54) + (name "GP5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 -10.16 180) + (length 2.54) + (name "GP6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 -7.62 180) + (length 2.54) + (name "GP7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "11" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 -5.08 180) + (length 2.54) + (name "GP8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "12" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 -2.54 180) + (length 2.54) + (name "GP9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "13" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 0 180) + (length 2.54) + (name "GP10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "14" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 2.54 180) + (length 2.54) + (name "USB_DM" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "15" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 5.08 180) + (length 2.54) + (name "USB_DP" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "16" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 7.62 180) + (length 2.54) + (name "RX" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "17" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 10.16 180) + (length 2.54) + (name "TX" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "18" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "TinyEngineerModules:MAX98357_Module" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "U" + (at 12.446 -4.572 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "MAX98357A" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "MAX98357_Module_1_1" + (rectangle + (start -11.4299 6.35) + (end 11.43 -6.35) + (stroke + (width 0) + (type solid) + ) + (fill + (type background) + ) + ) + (text "MAX98357" + (at 6.858 7.366 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin input line + (at -13.97 5.08 0) + (length 2.54) + (name "LRC" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -13.97 2.54 0) + (length 2.54) + (name "BCLK" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -13.97 0 0) + (length 2.54) + (name "DIN" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -13.97 -2.54 0) + (length 2.54) + (name "GAIN" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -13.97 -5.08 0) + (length 2.54) + (name "SD" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 -8.89 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 8.89 270) + (length 2.54) + (name "Vin" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "power:+3.3V" + (power global) + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "#PWR" + (at 0 -3.81 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+3.3V" + (at 0 3.556 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+3.3V\"" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "global power" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "+3.3V_0_1" + (polyline + (pts + (xy -0.762 1.27) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 2.54) (xy 0.762 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "+3.3V_1_1" + (pin power_in line + (at 0 0 90) + (length 0) + (name "" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "power:+5V" + (power global) + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "#PWR" + (at 0 -3.81 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+5V" + (at 0 3.556 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "global power" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "+5V_0_1" + (polyline + (pts + (xy -0.762 1.27) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 2.54) (xy 0.762 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "+5V_1_1" + (pin power_in line + (at 0 0 90) + (length 0) + (name "" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "power:GND" + (power global) + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "#PWR" + (at 0 -6.35 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "GND" + (at 0 -3.81 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "global power" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "GND_0_1" + (polyline + (pts + (xy 0 0) (xy 0 -1.27) (xy 1.27 -1.27) (xy 0 -2.54) (xy -1.27 -1.27) (xy 0 -1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "GND_1_1" + (pin power_in line + (at 0 0 270) + (length 0) + (name "" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "power:PWR_FLAG" + (power global) + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "#FLG" + (at 0 1.905 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "PWR_FLAG" + (at 0 3.81 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Special symbol for telling ERC where power comes from" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "flag power" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "PWR_FLAG_0_0" + (pin power_out line + (at 0 0 90) + (length 0) + (name "" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "PWR_FLAG_0_1" + (polyline + (pts + (xy 0 0) (xy 0 1.27) (xy -1.016 1.905) (xy 0 2.54) (xy 1.016 1.905) (xy 0 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (embedded_fonts no) + ) + ) + (junction + (at 73.66 87.63) + (diameter 0) + (color 0 0 0 0) + (uuid "13f0bd49-3cb4-4bd5-b009-2c620d18238d") + ) + (junction + (at 245.11 92.71) + (diameter 0) + (color 0 0 0 0) + (uuid "2a6fdd7d-5846-42c4-911d-20bbeac9f8e3") + ) + (junction + (at 76.2 140.97) + (diameter 0) + (color 0 0 0 0) + (uuid "339b6bfb-9709-4466-af95-8491e22fd487") + ) + (junction + (at 158.75 147.32) + (diameter 0) + (color 0 0 0 0) + (uuid "35ee1829-1289-450f-be44-11723ad98538") + ) + (junction + (at 161.29 144.78) + (diameter 0) + (color 0 0 0 0) + (uuid "3e876c0b-1a86-4af2-bd2c-1778e8d81366") + ) + (junction + (at 115.57 87.63) + (diameter 0) + (color 0 0 0 0) + (uuid "4ee56660-187a-4627-904b-071fe4c4dd78") + ) + (junction + (at 137.16 97.79) + (diameter 0) + (color 0 0 0 0) + (uuid "5f759004-8894-4dcc-a2a3-6221e24d6e6b") + ) + (junction + (at 118.11 90.17) + (diameter 0) + (color 0 0 0 0) + (uuid "700f334e-9ca4-41e9-bf62-57b23cff4f3c") + ) + (junction + (at 83.82 140.97) + (diameter 0) + (color 0 0 0 0) + (uuid "7ceb8915-86da-4903-ad96-27793b64cf85") + ) + (junction + (at 73.66 140.97) + (diameter 0) + (color 0 0 0 0) + (uuid "7f974a66-05ac-4a48-a447-37071a23149a") + ) + (junction + (at 81.28 140.97) + (diameter 0) + (color 0 0 0 0) + (uuid "86720e33-2afa-49c8-a61a-8f24be6fc7fd") + ) + (junction + (at 199.39 87.63) + (diameter 0) + (color 0 0 0 0) + (uuid "88251b76-3227-403b-b4d7-8ca3d1bdbac7") + ) + (junction + (at 76.2 90.17) + (diameter 0) + (color 0 0 0 0) + (uuid "93069620-96cb-4780-8bab-5e8e9b6140ab") + ) + (junction + (at 234.95 90.17) + (diameter 0) + (color 0 0 0 0) + (uuid "95517e64-94e3-4176-889a-1f8d362e5d4a") + ) + (junction + (at 85.09 90.17) + (diameter 0) + (color 0 0 0 0) + (uuid "a25b0492-f1f4-44de-895c-8634e12b2a53") + ) + (junction + (at 78.74 140.97) + (diameter 0) + (color 0 0 0 0) + (uuid "a70b8ed3-6dc6-40f7-9ec2-baaffe768487") + ) + (junction + (at 134.62 95.25) + (diameter 0) + (color 0 0 0 0) + (uuid "ac5d892c-e845-4ac8-b701-68aead01c888") + ) + (junction + (at 71.12 140.97) + (diameter 0) + (color 0 0 0 0) + (uuid "b0f5636b-6767-46dc-901e-f220f31f32f1") + ) + (junction + (at 87.63 87.63) + (diameter 0) + (color 0 0 0 0) + (uuid "b6908943-26b6-4393-9531-c298a41db6bb") + ) + (junction + (at 78.74 92.71) + (diameter 0) + (color 0 0 0 0) + (uuid "bd4832bc-e810-4434-95a1-224d7a37e5ff") + ) + (junction + (at 128.27 100.33) + (diameter 0) + (color 0 0 0 0) + (uuid "d2c9c861-e8fb-490f-ba76-fb103ce3c7be") + ) + (junction + (at 201.93 85.09) + (diameter 0) + (color 0 0 0 0) + (uuid "f0128a21-a52a-455e-9c0f-5d2948b8c14d") + ) + (junction + (at 132.08 92.71) + (diameter 0) + (color 0 0 0 0) + (uuid "f6694c0c-a103-45ae-b598-9386d9986ff4") + ) + (junction + (at 163.83 142.24) + (diameter 0) + (color 0 0 0 0) + (uuid "fd869c9a-1c1c-4219-bde8-adb8219e1ee3") + ) + (wire + (pts + (xy 78.74 140.97) (xy 78.74 151.13) + ) + (stroke + (width 0) + (type default) + ) + (uuid "0870e94a-6ce7-4f36-8435-3c06a80f2a20") + ) + (wire + (pts + (xy 137.16 97.79) (xy 138.43 97.79) + ) + (stroke + (width 0) + (type default) + ) + (uuid "0aa461fe-a528-4347-90f2-38f45154894e") + ) + (wire + (pts + (xy 123.19 95.25) (xy 134.62 95.25) + ) + (stroke + (width 0) + (type default) + ) + (uuid "0c0996d6-e521-4346-a3a2-ae8f7abc1c5e") + ) + (wire + (pts + (xy 118.11 64.77) (xy 118.11 90.17) + ) + (stroke + (width 0) + (type default) + ) + (uuid "0df77cb1-4ddc-493b-add5-2d8b83436738") + ) + (wire + (pts + (xy 85.09 30.48) (xy 85.09 90.17) + ) + (stroke + (width 0) + (type default) + ) + (uuid "0e0a99c3-ef41-4991-b2ce-4177ce1daea9") + ) + (wire + (pts + (xy 107.95 68.58) (xy 110.49 68.58) + ) + (stroke + (width 0) + (type default) + ) + (uuid "0ed24ac2-3c7f-4846-83ef-692ac0c2acba") + ) + (wire + (pts + (xy 85.09 90.17) (xy 118.11 90.17) + ) + (stroke + (width 0) + (type default) + ) + (uuid "0f8f74dd-6931-4dee-993b-d425bcf3052f") + ) + (wire + (pts + (xy 54.61 92.71) (xy 87.63 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "10f961eb-294d-459e-ab54-ae97f68eede4") + ) + (wire + (pts + (xy 245.11 99.06) (xy 245.11 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "135f6f17-0276-46ac-a64e-1d7f26c4a0b9") + ) + (wire + (pts + (xy 194.31 92.71) (xy 173.99 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "14623bf6-65d9-44ba-aa95-a0d144105476") + ) + (wire + (pts + (xy 161.29 144.78) (xy 161.29 163.83) + ) + (stroke + (width 0) + (type default) + ) + (uuid "164a46d1-a8c5-4fe2-a470-0018cbb9a301") + ) + (wire + (pts + (xy 81.28 140.97) (xy 81.28 151.13) + ) + (stroke + (width 0) + (type default) + ) + (uuid "184d4be7-696b-4fe2-b340-feaad02c53ea") + ) + (wire + (pts + (xy 189.23 97.79) (xy 173.99 97.79) + ) + (stroke + (width 0) + (type default) + ) + (uuid "22b87738-840f-41ec-8b53-79f27e147230") + ) + (wire + (pts + (xy 234.95 90.17) (xy 245.11 90.17) + ) + (stroke + (width 0) + (type default) + ) + (uuid "273b64a6-c832-4e4f-989e-e082c485adbc") + ) + (wire + (pts + (xy 83.82 137.16) (xy 81.28 137.16) + ) + (stroke + (width 0) + (type default) + ) + (uuid "2a172e12-f639-4ad5-9d0b-bf36196774ee") + ) + (wire + (pts + (xy 163.83 142.24) (xy 163.83 163.83) + ) + (stroke + (width 0) + (type default) + ) + (uuid "337d0def-58d5-41f9-9095-d590efe7a1c7") + ) + (wire + (pts + (xy 173.99 85.09) (xy 201.93 85.09) + ) + (stroke + (width 0) + (type default) + ) + (uuid "35253450-1789-4ecc-9d89-669c80515301") + ) + (wire + (pts + (xy 137.16 147.32) (xy 137.16 97.79) + ) + (stroke + (width 0) + (type default) + ) + (uuid "3840acad-f6b7-4adb-88de-e3abe019237e") + ) + (wire + (pts + (xy 78.74 92.71) (xy 78.74 140.97) + ) + (stroke + (width 0) + (type default) + ) + (uuid "39b8e176-5664-4a65-a93b-db47a5a08bba") + ) + (wire + (pts + (xy 128.27 64.77) (xy 128.27 100.33) + ) + (stroke + (width 0) + (type default) + ) + (uuid "3ec1eca2-28c5-46a3-a619-39a5bc7c3ed9") + ) + (wire + (pts + (xy 201.93 85.09) (xy 245.11 85.09) + ) + (stroke + (width 0) + (type default) + ) + (uuid "502e0c12-b028-4bc9-90e6-6d8bed8603c4") + ) + (wire + (pts + (xy 241.3 92.71) (xy 245.11 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "509b00bb-e49f-44fe-856c-4ae08b570393") + ) + (wire + (pts + (xy 234.95 99.06) (xy 234.95 90.17) + ) + (stroke + (width 0) + (type default) + ) + (uuid "527eb20f-fc07-40bf-981e-e3cf15bf80b1") + ) + (wire + (pts + (xy 73.66 140.97) (xy 73.66 151.13) + ) + (stroke + (width 0) + (type default) + ) + (uuid "553dc229-0409-4243-8680-9dffefa2b0af") + ) + (wire + (pts + (xy 196.85 90.17) (xy 173.99 90.17) + ) + (stroke + (width 0) + (type default) + ) + (uuid "55b9464c-960b-426c-b704-12c3fbc7e931") + ) + (wire + (pts + (xy 107.95 72.39) (xy 113.03 72.39) + ) + (stroke + (width 0) + (type default) + ) + (uuid "580a6e80-53be-4d27-97c0-dec9f8a61238") + ) + (wire + (pts + (xy 87.63 30.48) (xy 87.63 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "5ab8cb9c-04d4-402c-b5a0-7cd357381636") + ) + (wire + (pts + (xy 163.83 142.24) (xy 134.62 142.24) + ) + (stroke + (width 0) + (type default) + ) + (uuid "6181ccd0-dabb-4473-85b9-546878f54d37") + ) + (wire + (pts + (xy 204.47 64.77) (xy 204.47 82.55) + ) + (stroke + (width 0) + (type default) + ) + (uuid "623a7c3a-6ddb-40e8-9e3c-2503f610c37b") + ) + (wire + (pts + (xy 194.31 64.77) (xy 194.31 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "6242eadd-77fc-4226-825b-ceb35493d5bc") + ) + (wire + (pts + (xy 125.73 64.77) (xy 125.73 97.79) + ) + (stroke + (width 0) + (type default) + ) + (uuid "651d92e0-2cd2-4dc3-b6dc-5ad42e563564") + ) + (wire + (pts + (xy 120.65 92.71) (xy 132.08 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "68d5cb56-e166-463f-806b-868424fab0ac") + ) + (wire + (pts + (xy 120.65 64.77) (xy 120.65 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "6b3f6907-2cf1-4475-b9b4-d8c81cd70a47") + ) + (wire + (pts + (xy 81.28 137.16) (xy 81.28 140.97) + ) + (stroke + (width 0) + (type default) + ) + (uuid "6b922e5e-0b9f-4016-af12-510de7d310a4") + ) + (wire + (pts + (xy 170.18 142.24) (xy 163.83 142.24) + ) + (stroke + (width 0) + (type default) + ) + (uuid "6ca120fc-98dd-43e0-9af3-856d5bcf12ed") + ) + (wire + (pts + (xy 76.2 140.97) (xy 76.2 151.13) + ) + (stroke + (width 0) + (type default) + ) + (uuid "71db4aa7-7a3d-4cd5-9e8a-d901e6fe3a39") + ) + (wire + (pts + (xy 134.62 95.25) (xy 138.43 95.25) + ) + (stroke + (width 0) + (type default) + ) + (uuid "74f2c350-a14e-43af-b613-23a9c7eb1f94") + ) + (wire + (pts + (xy 199.39 87.63) (xy 245.11 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "77ae684e-2ce6-4b09-808e-3f2c0719a7d0") + ) + (wire + (pts + (xy 204.47 82.55) (xy 173.99 82.55) + ) + (stroke + (width 0) + (type default) + ) + (uuid "7c5c7f0d-8733-4664-ae29-34db2128a7be") + ) + (wire + (pts + (xy 115.57 87.63) (xy 138.43 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "82b0b361-9d4b-4e32-8949-23dfa86cd29b") + ) + (wire + (pts + (xy 232.41 90.17) (xy 234.95 90.17) + ) + (stroke + (width 0) + (type default) + ) + (uuid "86ba20b3-0e27-48fd-a5ca-d71f04d1ee18") + ) + (wire + (pts + (xy 170.18 147.32) (xy 158.75 147.32) + ) + (stroke + (width 0) + (type default) + ) + (uuid "873840cf-86af-4470-b6b1-4f084ba320a0") + ) + (wire + (pts + (xy 156.21 149.86) (xy 170.18 149.86) + ) + (stroke + (width 0) + (type default) + ) + (uuid "8b2307d3-be35-4685-a476-bf1c09a62306") + ) + (wire + (pts + (xy 138.43 76.2) (xy 138.43 80.01) + ) + (stroke + (width 0) + (type default) + ) + (uuid "95031aee-bef5-419d-aa81-5712974f3c7a") + ) + (wire + (pts + (xy 153.67 152.4) (xy 170.18 152.4) + ) + (stroke + (width 0) + (type default) + ) + (uuid "961412e1-798f-491f-b9f4-f53e8699057d") + ) + (wire + (pts + (xy 54.61 87.63) (xy 81.28 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "9765e016-7a9e-4833-b420-03b05659bf35") + ) + (wire + (pts + (xy 186.69 100.33) (xy 173.99 100.33) + ) + (stroke + (width 0) + (type default) + ) + (uuid "9ef9b0f6-097c-4420-92d1-1f1d4172be5d") + ) + (wire + (pts + (xy 54.61 90.17) (xy 85.09 90.17) + ) + (stroke + (width 0) + (type default) + ) + (uuid "9f72b453-2431-42a2-9be0-149e9394b10f") + ) + (wire + (pts + (xy 71.12 140.97) (xy 71.12 151.13) + ) + (stroke + (width 0) + (type default) + ) + (uuid "a2893e52-9888-455d-a573-bd9b4d1f3ea4") + ) + (wire + (pts + (xy 73.66 87.63) (xy 73.66 140.97) + ) + (stroke + (width 0) + (type default) + ) + (uuid "a2b4e465-8705-47a5-afd8-f9a9a1cadab9") + ) + (wire + (pts + (xy 81.28 100.33) (xy 81.28 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "a3bf5889-e68e-4673-ac77-9f82fb959370") + ) + (wire + (pts + (xy 173.99 87.63) (xy 199.39 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "a4977b23-49ba-425d-b55f-d603af329d5f") + ) + (wire + (pts + (xy 170.18 144.78) (xy 161.29 144.78) + ) + (stroke + (width 0) + (type default) + ) + (uuid "a84ccbbd-0f52-4b51-ac77-632a50c919be") + ) + (wire + (pts + (xy 189.23 64.77) (xy 189.23 97.79) + ) + (stroke + (width 0) + (type default) + ) + (uuid "a8d95238-e5e4-4378-a0cc-c57eac1efd02") + ) + (wire + (pts + (xy 191.77 95.25) (xy 173.99 95.25) + ) + (stroke + (width 0) + (type default) + ) + (uuid "acc56aea-b72b-4468-a2b9-d581ac7c2e44") + ) + (wire + (pts + (xy 66.04 140.97) (xy 71.12 140.97) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b38d5b42-83e9-4382-a405-de2b52b58af6") + ) + (wire + (pts + (xy 134.62 142.24) (xy 134.62 95.25) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b54b6e35-0123-474c-a3d8-c052fc021c13") + ) + (wire + (pts + (xy 199.39 64.77) (xy 199.39 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b7397c12-b499-441d-87d5-db26f5381ea2") + ) + (wire + (pts + (xy 132.08 92.71) (xy 138.43 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "bf6e68be-fef0-49f9-8002-f9adcbcf36f0") + ) + (wire + (pts + (xy 132.08 144.78) (xy 132.08 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "c3b20870-fce8-41ee-b23c-56b7effc5c58") + ) + (wire + (pts + (xy 153.67 163.83) (xy 153.67 152.4) + ) + (stroke + (width 0) + (type default) + ) + (uuid "c8b54a04-296a-47f4-8795-b2d8b11d506f") + ) + (wire + (pts + (xy 191.77 64.77) (xy 191.77 95.25) + ) + (stroke + (width 0) + (type default) + ) + (uuid "c8cf5e92-daeb-4a3f-a605-6ce2bee1af1f") + ) + (wire + (pts + (xy 118.11 90.17) (xy 138.43 90.17) + ) + (stroke + (width 0) + (type default) + ) + (uuid "ccd91476-c006-448c-b358-cff53d4ed6c6") + ) + (wire + (pts + (xy 123.19 64.77) (xy 123.19 95.25) + ) + (stroke + (width 0) + (type default) + ) + (uuid "ce452314-48c2-413d-9d07-33f8e37bc439") + ) + (wire + (pts + (xy 158.75 147.32) (xy 137.16 147.32) + ) + (stroke + (width 0) + (type default) + ) + (uuid "ce9e7bf3-3714-4eb0-95f2-d0234cda6850") + ) + (wire + (pts + (xy 186.69 64.77) (xy 186.69 100.33) + ) + (stroke + (width 0) + (type default) + ) + (uuid "d1651bd0-65e2-4d26-91a8-9eccfb989c94") + ) + (wire + (pts + (xy 81.28 100.33) (xy 138.43 100.33) + ) + (stroke + (width 0) + (type default) + ) + (uuid "d7268212-5523-41db-8179-d689cbc79426") + ) + (wire + (pts + (xy 125.73 97.79) (xy 137.16 97.79) + ) + (stroke + (width 0) + (type default) + ) + (uuid "d7e0cb80-0a2b-4a3d-8a03-12ea2b79e8bd") + ) + (wire + (pts + (xy 196.85 64.77) (xy 196.85 90.17) + ) + (stroke + (width 0) + (type default) + ) + (uuid "d8ca3160-eea6-4319-ba88-c64586c2908c") + ) + (wire + (pts + (xy 54.61 101.6) (xy 54.61 95.25) + ) + (stroke + (width 0) + (type default) + ) + (uuid "da7781cb-5435-4271-aeff-c98d779eb73a") + ) + (wire + (pts + (xy 113.03 72.39) (xy 113.03 64.77) + ) + (stroke + (width 0) + (type default) + ) + (uuid "dc4f0963-0969-4025-b885-0013810617ab") + ) + (wire + (pts + (xy 158.75 147.32) (xy 158.75 163.83) + ) + (stroke + (width 0) + (type default) + ) + (uuid "e64bdfde-5182-4961-82cb-9dcdd3a5aab1") + ) + (wire + (pts + (xy 161.29 144.78) (xy 132.08 144.78) + ) + (stroke + (width 0) + (type default) + ) + (uuid "e6cf8d68-e33e-4273-8f68-5d86a58197c3") + ) + (wire + (pts + (xy 87.63 87.63) (xy 115.57 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "e92d5780-b9cb-48f5-a00a-b31a899be144") + ) + (wire + (pts + (xy 207.01 80.01) (xy 173.99 80.01) + ) + (stroke + (width 0) + (type default) + ) + (uuid "ec03ed94-0302-4e51-878b-6eb0616b7060") + ) + (wire + (pts + (xy 87.63 87.63) (xy 87.63 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "f20702be-ed06-4b37-be3d-b34e9b54eb99") + ) + (wire + (pts + (xy 110.49 68.58) (xy 110.49 64.77) + ) + (stroke + (width 0) + (type default) + ) + (uuid "f423d54e-2ae6-494b-83f9-6f176cb200de") + ) + (wire + (pts + (xy 156.21 163.83) (xy 156.21 149.86) + ) + (stroke + (width 0) + (type default) + ) + (uuid "f5ca19b6-0a95-4e03-b3b8-4ae58adf4c1f") + ) + (wire + (pts + (xy 76.2 90.17) (xy 76.2 140.97) + ) + (stroke + (width 0) + (type default) + ) + (uuid "f6ebbf95-11c0-4a6c-a6de-114c8e925a23") + ) + (wire + (pts + (xy 207.01 64.77) (xy 207.01 80.01) + ) + (stroke + (width 0) + (type default) + ) + (uuid "f8007346-b89b-415f-a2fb-6de85131f718") + ) + (wire + (pts + (xy 201.93 64.77) (xy 201.93 85.09) + ) + (stroke + (width 0) + (type default) + ) + (uuid "f8309197-b81c-4902-97f8-cf6897731c49") + ) + (wire + (pts + (xy 115.57 64.77) (xy 115.57 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "f89f996f-940d-4d79-b7b8-4c788f12231a") + ) + (wire + (pts + (xy 83.82 140.97) (xy 83.82 151.13) + ) + (stroke + (width 0) + (type default) + ) + (uuid "fde5bb31-2f63-4b72-9fac-bb1b51766483") + ) + (label "I2S_BCLK" + (at 132.08 119.38 90) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + (uuid "09452212-c79c-4bf5-9f29-c9a25df5cae9") + ) + (label "I2S_DIN" + (at 137.16 119.38 90) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + (uuid "1f92fe3d-a4d9-4b80-9f67-9def316a4f1f") + ) + (label "I2S_LRC" + (at 134.62 119.38 90) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + (uuid "3669a922-1b83-42ae-b2f9-f6d2e6f55b1e") + ) + (label "I2C_SDA" + (at 87.63 55.88 90) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + (uuid "5441f028-b52c-4019-92c7-054e7c06b9f4") + ) + (label "USB_D+" + (at 234.95 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + (uuid "6b2308f9-33fa-4a70-b08d-eb4283397724") + ) + (label "I2C_SCL" + (at 85.09 55.88 90) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + (uuid "85f492c8-39dd-4674-a532-fbc41a0c013d") + ) + (label "USB_D-" + (at 234.95 87.63 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + (uuid "a76883ce-1b88-4131-8f57-88670c23096b") + ) + (symbol + (lib_id "power:+5V") + (at 83.82 140.97 270) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "0eabf578-ec65-4ae7-90d8-8a917154f957") + (property "Reference" "#PWR02" + (at 80.01 140.97 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+5V" + (at 87.63 140.9699 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 83.82 140.97 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 83.82 140.97 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 83.82 140.97 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "2b00d55e-ac74-45bc-b255-ab45874c8bc3") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR02") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 66.04 140.97 270) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "1067aec6-87f9-48c3-b4fa-52aa80416c41") + (property "Reference" "#PWR017" + (at 59.69 140.97 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "GND" + (at 62.23 140.9699 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Footprint" "" + (at 66.04 140.97 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 66.04 140.97 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 66.04 140.97 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "1c89cba0-65b2-4633-988e-60d43bb746c7") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR017") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+5V") + (at 107.95 64.77 90) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "1c915a78-5102-4ddf-aa2c-3ea4edab60b0") + (property "Reference" "#PWR018" + (at 111.76 64.77 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+5V" + (at 104.14 64.7699 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 107.95 64.77 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 107.95 64.77 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 107.95 64.77 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "0b04f860-bdc9-45c8-a084-b1ac23fc42fc") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR018") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+5V") + (at 184.15 138.43 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "1e70915d-648a-4ba3-bfcb-6578a48359ac") + (property "Reference" "#PWR07" + (at 184.15 142.24 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+5V" + (at 184.15 133.35 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 184.15 138.43 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 184.15 138.43 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 184.15 138.43 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "aa547513-bbff-4823-9d56-7a056f6d8258") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR07") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 151.13 163.83 180) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "2465e03f-a855-457d-a2ca-357f58faf885") + (property "Reference" "#PWR013" + (at 151.13 157.48 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "GND" + (at 151.13 158.75 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 151.13 163.83 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 151.13 163.83 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 151.13 163.83 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "0b9e33af-b186-4883-8a6c-a4ae29d3456b") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR013") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+3.3V") + (at 54.61 101.6 180) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "28a8df45-b413-46f6-8379-ede9277e82b2") + (property "Reference" "#PWR05" + (at 54.61 97.79 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+3.3V" + (at 54.61 106.68 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 54.61 101.6 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 54.61 101.6 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+3.3V\"" + (at 54.61 101.6 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "24b86346-b2df-48fa-89dc-ae648dd7cef8") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR05") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Connector:Conn_01x04_Pin") + (at 90.17 25.4 270) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "34bba5f8-ff75-4293-a0eb-59d1777af0de") + (property "Reference" "J2" + (at 88.9 20.32 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Conn_OLED" + (at 88.9 22.86 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical" + (at 90.17 25.4 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 90.17 25.4 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x04, script generated" + (at 90.17 25.4 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "LCSC Part #" "C2691448" + (at 90.17 25.4 90) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "FT Rotation Offset" "90" + (at 90.17 25.4 90) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "4" + (uuid "63d84785-86eb-49b3-a535-d857f10ec4d7") + ) + (pin "3" + (uuid "82651f09-dd39-4d04-b505-d20cab2e39c2") + ) + (pin "2" + (uuid "5f9e7e55-df57-4cca-a076-167ed5853822") + ) + (pin "1" + (uuid "ddcb78ba-ad3d-4ab5-8d88-77dfa6a414ef") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "J2") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "TinyEngineerModules:MAX98357_Module") + (at 184.15 147.32 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom no) + (on_board no) + (in_pos_files no) + (dnp no) + (fields_autoplaced yes) + (uuid "36531e2b-a362-4cd5-9344-6709539e35aa") + (property "Reference" "MAX1" + (at 196.85 145.0311 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "MAX98357A" + (at 196.85 147.5711 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 184.15 147.32 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 184.15 147.32 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 184.15 147.32 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "7" + (uuid "adfd1584-26d6-433f-a957-9c345b0bde39") + ) + (pin "6" + (uuid "d67056a2-fc9f-48ac-84b6-0b51ae88a29c") + ) + (pin "5" + (uuid "1d4c947a-58cc-4eab-98a7-6c7f52abcc27") + ) + (pin "1" + (uuid "75a96ac8-308a-4834-ab61-f93956e214e5") + ) + (pin "4" + (uuid "6405be18-6cee-478f-8d1b-5514d92f7e80") + ) + (pin "2" + (uuid "8f302ff6-5da7-40b8-9122-3e83b3eec81b") + ) + (pin "3" + (uuid "cd17607c-22dc-4e91-9343-2cc38c6c95eb") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "MAX1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 107.95 68.58 270) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "3bc6141c-9425-4b67-a813-4416df6a8e8e") + (property "Reference" "#PWR019" + (at 101.6 68.58 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "GND" + (at 104.14 68.5799 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Footprint" "" + (at 107.95 68.58 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 107.95 68.58 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 107.95 68.58 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "2ef7f89e-df11-40aa-9a3c-9509ba7c6fe6") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR019") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+5V") + (at 232.41 90.17 90) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "444296ff-792b-4539-ae99-bd3ecf801b93") + (property "Reference" "#PWR011" + (at 236.22 90.17 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+5V" + (at 228.6 90.1699 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 232.41 90.17 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 232.41 90.17 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 232.41 90.17 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "46462983-cecd-4511-baa3-ae6bb39ba6bd") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR011") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Connector:Conn_01x09_Socket") + (at 118.11 59.69 90) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "48e1ac35-b6db-421d-b1b8-7f72ab3c2d7a") + (property "Reference" "J6" + (at 118.11 54.61 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Conn_ESP32_L" + (at 118.11 57.15 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Connector_PinSocket_2.54mm:PinSocket_1x09_P2.54mm_Vertical" + (at 118.11 59.69 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 118.11 59.69 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x09, script generated" + (at 118.11 59.69 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "LCSC Part #" "C2897372" + (at 118.11 59.69 90) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "FT Rotation Offset" "90" + (at 118.11 59.69 90) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "8" + (uuid "50e86ac7-0600-4a58-b58f-73fd286d9687") + ) + (pin "7" + (uuid "4bc8c714-e032-4894-93e6-483449f1979b") + ) + (pin "6" + (uuid "ee33a340-d63e-4a54-9033-6ccf1263dc5b") + ) + (pin "9" + (uuid "f1b72435-5369-40b5-ad5a-fe83ca7d0b82") + ) + (pin "3" + (uuid "44655238-e147-4903-8661-f21f0ccad938") + ) + (pin "2" + (uuid "b7f3d4c7-5af3-4692-85ae-02d8f18ce1ca") + ) + (pin "1" + (uuid "4fdf932b-2220-47da-a442-79e07ac091d0") + ) + (pin "5" + (uuid "9e83a0a1-6bbf-4ff5-b7f3-f4f559833454") + ) + (pin "4" + (uuid "605e6574-62d8-4613-a142-94fb0bd8cc02") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "J6") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 90.17 30.48 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "4900ff5c-eb12-4a2a-afc4-711be9df22e2") + (property "Reference" "#PWR016" + (at 90.17 36.83 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "GND" + (at 90.17 35.56 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 90.17 30.48 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 90.17 30.48 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 90.17 30.48 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "f832e562-c6fd-4012-bf5b-e281d49e558a") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR016") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+3.3V") + (at 92.71 30.48 270) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "4f858d12-0caf-4e4f-835d-00079e69929d") + (property "Reference" "#PWR01" + (at 88.9 30.48 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+3.3V" + (at 96.52 30.4799 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 92.71 30.48 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 92.71 30.48 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+3.3V\"" + (at 92.71 30.48 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "dd7d8171-3f44-41d5-a5bd-b73b20608df8") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR01") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Connector:Conn_01x06_Socket") + (at 78.74 146.05 270) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (uuid "4fee2094-5f61-496a-aac0-ea5de10a7a67") + (property "Reference" "J4" + (at 65.786 145.796 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Conn_PCA9685_2" + (at 58.928 148.336 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical" + (at 78.74 146.05 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 78.74 146.05 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x06, script generated" + (at 78.74 146.05 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "LCSC Part #" "C40877" + (at 78.74 146.05 90) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "FT Rotation Offset" "90" + (at 78.74 146.05 90) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "32a8ab61-32ce-4905-b13b-2e3f78205aaf") + ) + (pin "6" + (uuid "f927aa6b-b518-446c-9835-d954d3979070") + ) + (pin "5" + (uuid "47caa40b-0c5f-401a-b9a8-ffcaf0ac75ba") + ) + (pin "2" + (uuid "16934fb0-ca77-4d5d-bdf8-a595662c512b") + ) + (pin "4" + (uuid "4b88f256-510c-4f10-b969-52f7842c8da8") + ) + (pin "3" + (uuid "193d6fb8-53d7-4783-bffa-a91bde2ce9ae") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "J4") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "TinyEngineerModules:Adafruit_PCA9685_Module") + (at 39.37 91.44 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom no) + (on_board no) + (in_pos_files no) + (dnp no) + (uuid "6391d22f-15dc-41a6-9172-b77d075a6c9e") + (property "Reference" "PCA1" + (at 33.02 78.74 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Value" "Adafruit PCA9685" + (at 33.02 81.28 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Footprint" "" + (at 39.37 91.44 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 39.37 91.44 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 39.37 91.44 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "2" + (uuid "7c74a8fa-ab21-4093-81cb-f4631d1cf85f") + ) + (pin "1" + (uuid "935d63e1-f1f3-487d-94af-1c5c103a4a62") + ) + (pin "4" + (uuid "71f04be1-a56d-4747-80a9-b898ec63c81a") + ) + (pin "3" + (uuid "8180417d-f95b-4253-9f87-6ebc00a83d83") + ) + (pin "5" + (uuid "cde79735-4137-41af-a4fa-909f4c19d194") + ) + (pin "6" + (uuid "d4ef052f-3247-46db-9679-0a7dd7fb0258") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "PCA1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Connector:Conn_01x09_Socket") + (at 196.85 59.69 90) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "64059419-3b95-457f-a763-0868cd366632") + (property "Reference" "J5" + (at 196.85 54.61 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Conn_ESP32_R" + (at 196.85 57.15 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Connector_PinSocket_2.54mm:PinSocket_1x09_P2.54mm_Vertical" + (at 196.85 59.69 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 196.85 59.69 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x09, script generated" + (at 196.85 59.69 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "LCSC Part #" "C2897372" + (at 196.85 59.69 90) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "FT Rotation Offset" "90" + (at 196.85 59.69 90) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "8" + (uuid "2991daf8-222e-4c7d-85f7-64da017760a3") + ) + (pin "7" + (uuid "cf91260b-412d-4173-bc88-da4c75750b83") + ) + (pin "6" + (uuid "28b42ed3-f878-44c8-ba44-a074e02ff2e8") + ) + (pin "9" + (uuid "e2d27630-704c-4009-bdb6-15faba22603e") + ) + (pin "3" + (uuid "dbe4b5e7-c06d-4838-b18d-51c4d02a55f9") + ) + (pin "2" + (uuid "a7a15026-5b56-45e9-bc71-a4520b2f9a88") + ) + (pin "1" + (uuid "6868e9c3-8b75-4afd-adc6-06dab6b2e9f1") + ) + (pin "5" + (uuid "0c6d44ea-12c6-4f60-b84c-6f05b04e3826") + ) + (pin "4" + (uuid "b59a50b4-706f-4fc0-b2a2-44b8ef4dcc54") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "J5") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Connector:Conn_01x06_Socket") + (at 78.74 156.21 270) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (uuid "6828a854-0afd-47a8-b43c-ba2016a1547f") + (property "Reference" "J3" + (at 87.63 153.162 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Conn_PCA9685_1" + (at 94.488 155.956 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical" + (at 78.74 156.21 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 78.74 156.21 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x06, script generated" + (at 78.74 156.21 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "LCSC Part #" "C40877" + (at 78.74 156.21 90) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "FT Rotation Offset" "90" + (at 78.74 156.21 90) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "060d9a88-d302-4958-aba6-3c0367113a21") + ) + (pin "6" + (uuid "6ccfa516-09b5-40e7-a16b-3b0bd1483657") + ) + (pin "5" + (uuid "80e8c4b7-3088-4613-a99c-6d198f473532") + ) + (pin "2" + (uuid "b76ef37f-d255-4993-a938-1e6a1ceca298") + ) + (pin "4" + (uuid "514a75a7-2405-4fb7-85ae-2def7c700a1f") + ) + (pin "3" + (uuid "4fca88e8-6d4c-4893-ad06-e2f7d761fa04") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "J3") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 241.3 92.71 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "7a7a2d30-281d-4ea9-b605-7400cd5ce566") + (property "Reference" "#PWR012" + (at 241.3 99.06 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "GND" + (at 241.3 97.79 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 241.3 92.71 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 241.3 92.71 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 241.3 92.71 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "6c09f720-e9d9-4026-8d3e-ede9402f9792") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR012") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "TinyEngineerModules:ESP32_C3_Zero_Dev_Board") + (at 156.21 90.17 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom no) + (on_board no) + (in_pos_files no) + (dnp no) + (fields_autoplaced yes) + (uuid "830dbdd4-4215-415a-a843-81c8ec435273") + (property "Reference" "ESP1" + (at 158.3533 73.66 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "ESP32-C3-ZERO" + (at 158.3533 76.2 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "TinyEngineerModules:ESP32_C3_Zero_Dev_Board" + (at 156.21 90.17 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "https://www.waveshare.com/wiki/ESP32-C3-Zero" + (at 156.21 90.17 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Waveshare ESP32-C3-Zero module header, pads numbered anticlockwise from USB" + (at 156.21 90.17 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "4" + (uuid "fc2a9e0c-b317-4dc6-8124-603a6230cb75") + ) + (pin "5" + (uuid "d3a77671-4988-43c3-8b54-2504a732da19") + ) + (pin "1" + (uuid "29d84231-b1c5-46c2-88b9-1403ede41324") + ) + (pin "2" + (uuid "8e91d964-ed39-4b4b-8f75-f9b93ba6ef91") + ) + (pin "3" + (uuid "5f62bd83-491b-4cdf-9be3-44c9ccb7e1a9") + ) + (pin "12" + (uuid "607c1438-a129-4904-bf22-c28ec0854243") + ) + (pin "13" + (uuid "09a8931c-0799-4b8a-8d99-fb80957f9db7") + ) + (pin "6" + (uuid "2f678b9d-39d1-43c1-bbe8-dc08f4f5a920") + ) + (pin "7" + (uuid "39063a94-b645-4ded-9c80-99c8e247dd03") + ) + (pin "8" + (uuid "f22f5460-611a-4b76-ad4d-d0c5fa298c58") + ) + (pin "9" + (uuid "3b2b3aa7-bb47-453a-984a-85de84254089") + ) + (pin "10" + (uuid "930a9963-0d74-4a17-9cbc-67a4cd77465c") + ) + (pin "14" + (uuid "bd2eafed-45f3-4c52-8fd9-4986d83f9a5a") + ) + (pin "15" + (uuid "91fefff7-3319-4381-8757-64384f6425ee") + ) + (pin "16" + (uuid "3369ab32-c0b3-43c4-857f-d8b40b7a8f5a") + ) + (pin "17" + (uuid "d5c05741-4d42-457a-a4ee-a8be655daf31") + ) + (pin "18" + (uuid "fbdc5fe9-61fa-47de-b2fc-10c02a2b5bad") + ) + (pin "11" + (uuid "7e360e3b-04dc-4f3c-8bf1-5db5e7406e0c") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "ESP1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Connector:Conn_01x04_Socket") + (at 250.19 87.63 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "892d2d19-23bd-4928-9797-558c2f8336b9") + (property "Reference" "J7" + (at 251.46 87.6299 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "Conn_USB" + (at 251.46 90.1699 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical" + (at 250.19 87.63 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 250.19 87.63 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x04, script generated" + (at 250.19 87.63 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "KiLib_Generator" "connector/pin_header_socket" + (at 250.19 87.63 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "LCSC Part #" "C2718488" + (at 250.19 87.63 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "FT Rotation Offset" "90" + (at 250.19 87.63 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "b068347e-252a-40b0-b170-b4b59c0032bd") + ) + (pin "2" + (uuid "8b4e3e8a-74f1-497d-931b-3b79b7185a0a") + ) + (pin "3" + (uuid "22eb9229-e651-4a16-ad53-42c7d0b183ff") + ) + (pin "4" + (uuid "3583e291-274b-436c-a74f-784307b4caca") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "J7") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+3.3V") + (at 107.95 72.39 90) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "97bb225e-954c-4a4d-bd1f-eae812f37d5c") + (property "Reference" "#PWR020" + (at 111.76 72.39 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+3.3V" + (at 104.14 72.3899 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 107.95 72.39 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 107.95 72.39 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+3.3V\"" + (at 107.95 72.39 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "05269520-6eea-4cd3-90ca-0bcefaf03b64") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR020") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+5V") + (at 156.21 76.2 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "a07f9255-817b-4460-b680-8046a3632154") + (property "Reference" "#PWR09" + (at 156.21 80.01 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+5V" + (at 156.21 71.12 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 156.21 76.2 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 156.21 76.2 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 156.21 76.2 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "d2c163c6-b8ee-4af8-b18a-720034eb93aa") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR09") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 156.21 104.14 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "a3fb58c7-21c9-4e7d-9344-c5a6126637b7") + (property "Reference" "#PWR010" + (at 156.21 110.49 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "GND" + (at 156.21 109.22 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 156.21 104.14 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 156.21 104.14 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 156.21 104.14 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "ddd6d60b-5bf6-4ff2-a314-3312609e8a47") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR010") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 39.37 101.6 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "a695565c-c157-4a19-8115-24200542a25f") + (property "Reference" "#PWR04" + (at 39.37 107.95 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "GND" + (at 39.37 106.68 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 39.37 101.6 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 39.37 101.6 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 39.37 101.6 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "6b419dd3-d301-46c7-8c50-fc648bd2a5e7") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR04") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 184.15 156.21 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "b892aaa2-371f-4d1a-ba83-f308b6df54e7") + (property "Reference" "#PWR08" + (at 184.15 162.56 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "GND" + (at 184.15 161.29 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 184.15 156.21 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 184.15 156.21 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 184.15 156.21 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "f59f4f50-250b-43e9-8c59-ccdc0fbd5407") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR08") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Connector:Conn_01x07_Socket") + (at 156.21 168.91 270) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "be974232-5f49-406d-83ce-76714e93150c") + (property "Reference" "J1" + (at 156.21 171.45 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Conn_MAX98357" + (at 156.21 173.99 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Connector_PinSocket_2.54mm:PinSocket_1x07_P2.54mm_Vertical" + (at 156.21 168.91 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 156.21 168.91 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x07, script generated" + (at 156.21 168.91 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "LCSC Part #" "C2832270" + (at 156.21 168.91 90) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "FT Rotation Offset" "90" + (at 156.21 168.91 90) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "5" + (uuid "f581bf30-7090-4083-92e6-0619795c3591") + ) + (pin "4" + (uuid "d1f27638-2f55-4335-bed8-5a38becca3c6") + ) + (pin "7" + (uuid "6879bfb3-a84f-46dc-9250-aeb01dfeec2e") + ) + (pin "6" + (uuid "ce1be411-3bb4-4ac8-ae5a-a3a7ce6b36fa") + ) + (pin "3" + (uuid "f4418414-9652-4f19-b1ee-cb158f761cc5") + ) + (pin "2" + (uuid "b4c8302b-c100-443b-bcc6-b338d265009c") + ) + (pin "1" + (uuid "d4405ed4-64aa-4183-82c8-0b6f2ba3497b") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "J1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+3.3V") + (at 138.43 76.2 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "c33cf18b-f25e-4f3c-8211-186d18b308c2") + (property "Reference" "#PWR06" + (at 138.43 80.01 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+3.3V" + (at 140.97 74.9299 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 138.43 76.2 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 138.43 76.2 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+3.3V\"" + (at 138.43 76.2 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "fb95eaf8-32e0-4338-b339-431c1805b0a7") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR06") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+5V") + (at 148.59 163.83 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (uuid "ce798e63-1c28-4cef-ab2e-ba4902371464") + (property "Reference" "#PWR014" + (at 148.59 167.64 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+5V" + (at 145.542 162.052 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 148.59 163.83 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 148.59 163.83 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 148.59 163.83 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "95478000-ad36-4558-ac8b-d4762640b3b0") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR014") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+5V") + (at 39.37 81.28 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "e78c725d-cb72-44f7-a714-f7dc8f172b82") + (property "Reference" "#PWR03" + (at 39.37 85.09 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+5V" + (at 39.37 76.2 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 39.37 81.28 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 39.37 81.28 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 39.37 81.28 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "5c766759-a293-43eb-b059-86d917363697") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR03") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+3.3V") + (at 83.82 137.16 270) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "f61b5ee2-5e23-420c-abac-cd160e962ab5") + (property "Reference" "#PWR015" + (at 80.01 137.16 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+3.3V" + (at 87.63 137.1599 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 83.82 137.16 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 83.82 137.16 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+3.3V\"" + (at 83.82 137.16 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "40d85797-d9a9-4663-bc6c-ff09c7e0d734") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR015") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:PWR_FLAG") + (at 234.95 99.06 180) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "fa2b1a66-9db6-4dd6-a827-f3cb68f8dd64") + (property "Reference" "#FLG01" + (at 234.95 100.965 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "PWR_FLAG" + (at 234.95 104.14 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 234.95 99.06 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 234.95 99.06 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Special symbol for telling ERC where power comes from" + (at 234.95 99.06 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "03554afc-456d-46d3-8e23-3a33296f46b5") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#FLG01") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:PWR_FLAG") + (at 245.11 99.06 180) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (uuid "ffc6aa5c-99c8-43b1-ad59-4ef994381e01") + (property "Reference" "#FLG02" + (at 245.11 100.965 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "PWR_FLAG" + (at 245.11 104.14 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 245.11 99.06 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 245.11 99.06 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Special symbol for telling ERC where power comes from" + (at 245.11 99.06 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "8a86b872-0ed9-4b42-bed0-df5dd3c4f057") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#FLG02") + (unit 1) + ) + ) + ) + ) + (sheet_instances + (path "/" + (page "1") + ) + ) + (embedded_fonts no) +) diff --git a/hardware/boards/main-control-board/sym-lib-table b/hardware/boards/main-control-board/sym-lib-table new file mode 100644 index 0000000..f975faf --- /dev/null +++ b/hardware/boards/main-control-board/sym-lib-table @@ -0,0 +1,4 @@ +(sym_lib_table + (version 7) + (lib (name "TinyEngineerModules") (type "KiCad") (uri "${KIPRJMOD}/libraries/symbols/tiny_engineer_modules.kicad_sym") (options "") (descr "")) +) diff --git a/include/pins.h b/include/pins.h index edc0df4..47cdd72 100644 --- a/include/pins.h +++ b/include/pins.h @@ -18,7 +18,7 @@ constexpr int I2S_DIN = 4; // GP4 // Built-in WS2812 RGB constexpr int RGB_LED_PIN = 10; -// PCA9685 output enable (active LOW). Optional: wire OE → GP5. +// PCA9685 output enable (active LOW). GP5 → OE pending; schematic/PCB do not implement that net. constexpr bool PCA9685_OE_WIRED = false; constexpr int PCA9685_OE_PIN = 5; diff --git a/scripts/check_pcb.py b/scripts/check_pcb.py new file mode 100755 index 0000000..2263068 --- /dev/null +++ b/scripts/check_pcb.py @@ -0,0 +1,501 @@ +#!/usr/bin/env python3 +"""Run KiCad ERC, DRC, and expected-nets checks for hardware/boards/*. + +Requires KiCad 10 (kicad-cli). Stdlib only — no pip packages. Same entrypoint +locally and in CI: + + python3 scripts/check_pcb.py + python3 scripts/check_pcb.py main-control-board + python3 scripts/check_pcb.py --report-dir artifacts/pcb +""" + +from __future__ import annotations + +import argparse +import os +import re +import shutil +import subprocess +import sys +import tempfile +from pathlib import Path +from typing import Any + +KICAD_CLI_HINT = ( + "Install KiCad 10 and ensure kicad-cli is on PATH, " + "or set KICAD_CLI to the binary. " + "macOS: /Applications/KiCad/KiCad.app/Contents/MacOS/kicad-cli" +) + + +def find_repo_root(explicit: Path | None) -> Path: + if explicit is not None: + return explicit.resolve() + return Path(__file__).resolve().parent.parent + + +def find_kicad_cli() -> Path: + env = os.environ.get("KICAD_CLI") + if env: + path = Path(env) + if path.is_file(): + return path + raise SystemExit(f"error: KICAD_CLI is set but not a file: {env}") + + which = shutil.which("kicad-cli") or shutil.which("kicad-cli.exe") + if which: + return Path(which) + + mac = Path("/Applications/KiCad/KiCad.app/Contents/MacOS/kicad-cli") + if mac.is_file(): + return mac + + for base in ( + Path(os.environ.get("ProgramFiles", r"C:\Program Files")) / "KiCad", + Path(os.environ.get("ProgramFiles(x86)", r"C:\Program Files (x86)")) / "KiCad", + ): + if not base.is_dir(): + continue + matches = sorted(base.glob("*/bin/kicad-cli.exe"), reverse=True) + if matches: + return matches[0] + + raise SystemExit(f"error: kicad-cli not found. {KICAD_CLI_HINT}") + + +def discover_boards(repo_root: Path, names: list[str] | None) -> list[Path]: + boards_root = repo_root / "hardware" / "boards" + if not boards_root.is_dir(): + raise SystemExit(f"error: missing boards directory: {boards_root}") + + if names: + dirs = [boards_root / name for name in names] + else: + dirs = sorted(p for p in boards_root.iterdir() if p.is_dir()) + + boards: list[Path] = [] + for board_dir in dirs: + name = board_dir.name + sch = board_dir / f"{name}.kicad_sch" + pcb = board_dir / f"{name}.kicad_pcb" + if not board_dir.is_dir(): + raise SystemExit(f"error: board directory not found: {board_dir}") + if not sch.is_file() or not pcb.is_file(): + if names: + raise SystemExit( + f"error: {name} missing {sch.name} and/or {pcb.name}" + ) + continue + boards.append(board_dir) + + if not boards: + raise SystemExit("error: no KiCad boards found under hardware/boards/") + return boards + + +# --- minimal s-expression parser for KiCad netlists --- + + +def _tokenize(text: str) -> list[str]: + tokens: list[str] = [] + i = 0 + n = len(text) + while i < n: + c = text[i] + if c.isspace(): + i += 1 + continue + if c in "()": + tokens.append(c) + i += 1 + continue + if c == '"': + i += 1 + buf: list[str] = [] + while i < n: + if text[i] == "\\" and i + 1 < n: + buf.append(text[i + 1]) + i += 2 + continue + if text[i] == '"': + i += 1 + break + buf.append(text[i]) + i += 1 + tokens.append("".join(buf)) + continue + j = i + while j < n and not text[j].isspace() and text[j] not in "()": + j += 1 + tokens.append(text[i:j]) + i = j + return tokens + + +def _parse_tokens(tokens: list[str]) -> Any: + if not tokens: + raise ValueError("empty sexpr") + tok = tokens.pop(0) + if tok == "(": + out: list[Any] = [] + while tokens and tokens[0] != ")": + out.append(_parse_tokens(tokens)) + if not tokens: + raise ValueError("unclosed sexpr") + tokens.pop(0) + return out + if tok == ")": + raise ValueError("unexpected )") + return tok + + +def parse_sexpr(text: str) -> Any: + tokens = _tokenize(text) + tree = _parse_tokens(tokens) + if tokens: + raise ValueError("trailing tokens in sexpr") + return tree + + +def _children(node: list[Any], tag: str) -> list[list[Any]]: + return [c for c in node[1:] if isinstance(c, list) and c and c[0] == tag] + + +def _child(node: list[Any], tag: str) -> list[Any] | None: + found = _children(node, tag) + return found[0] if found else None + + +def _atom(node: list[Any], tag: str) -> str | None: + c = _child(node, tag) + if c is None or len(c) < 2: + return None + return str(c[1]) + + +def parse_netlist_pins(netlist_text: str) -> dict[str, set[str]]: + """Return net name -> set of RefDes.PinNum:PinName tokens.""" + root = parse_sexpr(netlist_text) + if not isinstance(root, list) or root[0] != "export": + raise ValueError("netlist root is not (export ...)") + + pin_names: dict[tuple[str, str, str], str] = {} + libparts = _child(root, "libparts") + if libparts: + for libpart in _children(libparts, "libpart"): + pins = _child(libpart, "pins") + if not pins: + continue + lib = _atom(libpart, "lib") or "" + part = _atom(libpart, "part") or "" + for pin in _children(pins, "pin"): + num = _atom(pin, "num") + name = _atom(pin, "name") + if num and name: + pin_names[(lib, part, num)] = name + + ref_libpart: dict[str, tuple[str, str]] = {} + components = _child(root, "components") + if components: + for comp in _children(components, "comp"): + ref = _atom(comp, "ref") + if not ref: + continue + libsource = _child(comp, "libsource") + if libsource: + lib = _atom(libsource, "lib") or "" + part = _atom(libsource, "part") or "" + ref_libpart[ref] = (lib, part) + + nets_out: dict[str, set[str]] = {} + nets = _child(root, "nets") + if not nets: + return nets_out + + for net in _children(nets, "net"): + name = _atom(net, "name") + if not name: + continue + pins: set[str] = set() + for node in _children(net, "node"): + ref = _atom(node, "ref") + pin_num = _atom(node, "pin") + if not ref or not pin_num: + continue + lib_part = ref_libpart.get(ref) + pin_name = None + if lib_part: + pin_name = pin_names.get((lib_part[0], lib_part[1], pin_num)) + if not pin_name: + pf = _atom(node, "pinfunction") + if pf and "_" in pf: + left, right = pf.rsplit("_", 1) + if right == pin_num: + pin_name = left + if not pin_name: + pin_name = pin_num + pins.add(f"{ref}.{pin_num}:{pin_name}") + nets_out[name] = pins + return nets_out + + +def load_expected_nets(path: Path) -> dict[str, list[str]]: + """Parse constrained expected-nets.yml (stdlib only). + + Accepts: # comments, blank lines, top-level `nets:`, bare or double-quoted + net keys, and `- Token` list items. Rejects anything else. + Pin tokens: RefDes.PinNum:PinName (e.g. ESP1.1:5V). + """ + text = path.read_text(encoding="utf-8") + nets: dict[str, list[str]] = {} + current: str | None = None + seen_nets = False + key_re = re.compile(r'^("(?:\\.|[^"\\])*"|[A-Za-z0-9_./+-]+)\s*:\s*$') + item_re = re.compile(r"^-\s+(\S+)\s*$") + + for lineno, raw in enumerate(text.splitlines(), start=1): + line = raw.split("#", 1)[0].rstrip() + if not line.strip(): + continue + stripped = line.strip() + indent = len(line) - len(line.lstrip(" ")) + + if indent == 0 and stripped == "nets:": + if seen_nets: + raise ValueError(f"{path}:{lineno}: duplicate 'nets:'") + seen_nets = True + current = None + continue + + if not seen_nets: + raise ValueError( + f"{path}:{lineno}: expected top-level 'nets:' before other content" + ) + + if indent == 2: + m = key_re.match(stripped) + if not m: + raise ValueError( + f"{path}:{lineno}: expected net key like GND: or \"+5V\":" + ) + key = m.group(1) + if key.startswith('"') and key.endswith('"'): + key = key[1:-1].replace(r"\"", '"').replace(r"\\", "\\") + if key in nets: + raise ValueError(f"{path}:{lineno}: duplicate net {key!r}") + nets[key] = [] + current = key + continue + + if indent == 4 and current is not None: + m = item_re.match(stripped) + if not m: + raise ValueError( + f"{path}:{lineno}: expected list item " + f"'- RefDes.PinNum:PinName'" + ) + nets[current].append(m.group(1)) + continue + + raise ValueError(f"{path}:{lineno}: unsupported line: {raw!r}") + + if not seen_nets: + raise ValueError(f"{path}: missing top-level 'nets:'") + if not nets: + raise ValueError(f"{path}: 'nets:' has no entries") + return nets + + +def check_expected_nets(expected_path: Path, netlist_path: Path) -> list[str]: + errors: list[str] = [] + try: + expected_nets = load_expected_nets(expected_path) + except ValueError as exc: + return [str(exc)] + + netlist_text = netlist_path.read_text(encoding="utf-8") + actual = parse_netlist_pins(netlist_text) + + for net_name, pins in expected_nets.items(): + want = set(pins) + got = actual.get(net_name) + if got is None: + errors.append(f"net {net_name!r}: missing from netlist") + continue + missing = sorted(want - got) + extra = sorted(got - want) + if missing: + errors.append( + f"net {net_name!r}: missing pins: {', '.join(missing)}" + ) + if extra: + errors.append( + f"net {net_name!r}: unexpected pins: {', '.join(extra)}" + ) + return errors + + +def run_kicad(kicad_cli: Path, args: list[str], *, label: str) -> int: + cmd = [str(kicad_cli), *args] + print(f" $ {' '.join(cmd)}") + proc = subprocess.run(cmd, check=False) + if proc.returncode not in (0, 5): + print( + f"error: {label} failed with unexpected exit {proc.returncode}", + file=sys.stderr, + ) + return proc.returncode + + +def check_board(kicad_cli: Path, board_dir: Path, report_dir: Path) -> bool: + name = board_dir.name + sch = board_dir / f"{name}.kicad_sch" + pcb = board_dir / f"{name}.kicad_pcb" + expected = board_dir / "expected-nets.yml" + report_dir.mkdir(parents=True, exist_ok=True) + + erc_json = report_dir / "erc.json" + drc_json = report_dir / "drc.json" + netlist = report_dir / "netlist.net" + + print(f"==> {name}") + + if not expected.is_file(): + print(f"error: missing {expected}", file=sys.stderr) + return False + + erc_rc = run_kicad( + kicad_cli, + [ + "sch", + "erc", + "--format", + "json", + "--severity-error", + "--exit-code-violations", + "-o", + str(erc_json), + str(sch), + ], + label="ERC", + ) + if erc_rc == 5: + print(f"error: ERC errors — see {erc_json}", file=sys.stderr) + return False + if erc_rc != 0: + return False + print(f" ERC OK ({erc_json})") + + drc_rc = run_kicad( + kicad_cli, + [ + "pcb", + "drc", + "--format", + "json", + "--severity-error", + "--schematic-parity", + "--refill-zones", + "--exit-code-violations", + "-o", + str(drc_json), + str(pcb), + ], + label="DRC", + ) + if drc_rc == 5: + print(f"error: DRC errors — see {drc_json}", file=sys.stderr) + return False + if drc_rc != 0: + return False + print(f" DRC OK ({drc_json})") + + net_rc = run_kicad( + kicad_cli, + ["sch", "export", "netlist", "-o", str(netlist), str(sch)], + label="netlist export", + ) + if net_rc != 0: + return False + + net_errors = check_expected_nets(expected, netlist) + if net_errors: + print(f"error: expected-nets mismatch for {name}:", file=sys.stderr) + for err in net_errors: + print(f" - {err}", file=sys.stderr) + return False + print(f" expected-nets OK ({expected.name})") + return True + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser( + description="KiCad ERC, DRC, and expected-nets for hardware/boards/" + ) + parser.add_argument( + "boards", + nargs="*", + help="Board directory names under hardware/boards/ (default: all)", + ) + parser.add_argument( + "--repo-root", + type=Path, + default=None, + help="Repository root (default: parent of scripts/)", + ) + parser.add_argument( + "--report-dir", + type=Path, + default=None, + help="Write per-board reports here (default: temp dir, or PCB_REPORT_DIR)", + ) + args = parser.parse_args(argv) + + repo_root = find_repo_root(args.repo_root) + report_root = args.report_dir + if report_root is None: + env_dir = os.environ.get("PCB_REPORT_DIR") + report_root = Path(env_dir) if env_dir else None + + kicad_cli = find_kicad_cli() + print(f"kicad-cli: {kicad_cli}") + ver = subprocess.run( + [str(kicad_cli), "version"], + check=False, + capture_output=True, + text=True, + ) + if ver.stdout.strip(): + print(f"version: {ver.stdout.strip()}") + + boards = discover_boards(repo_root, args.boards or None) + + owned_temp: Path | None = None + if report_root is None: + owned_temp = Path(tempfile.mkdtemp(prefix="tiny-engineer-pcb-")) + report_root = owned_temp + else: + report_root = report_root.resolve() + report_root.mkdir(parents=True, exist_ok=True) + + print(f"reports: {report_root}") + + ok = True + for board_dir in boards: + if not check_board(kicad_cli, board_dir, report_root / board_dir.name): + ok = False + break + + if ok: + print("All PCB checks passed.") + if owned_temp is not None: + shutil.rmtree(owned_temp, ignore_errors=True) + return 0 + + print("PCB checks failed.", file=sys.stderr) + print(f"reports kept at: {report_root}", file=sys.stderr) + return 1 + + +if __name__ == "__main__": + sys.exit(main())