diff --git a/docs/agent/current-state.md b/docs/agent/current-state.md index 83cf151..d4ff6b7 100644 --- a/docs/agent/current-state.md +++ b/docs/agent/current-state.md @@ -2,6 +2,12 @@ Working memory, not an implementation timeline. Source is authoritative; begin with [code map](code-map.md), [architecture](architecture.md) and [decisions](design-decisions.md). +## Carrier PCB A1 — revised placement and CAD integration + +- `hardware/PCB/serial-carrier.kicad_pcb`: routed 82 × 80 mm two-layer draft; 36 × 19 mm top-left notch, ESP32 shifted down for bottom USB access, RS-232 bare PCB front flush with carrier top. Exact ESP32 body/USB/antenna envelope remains pending user measurements; RF reserve is provisional. +- Adafruit STEP metal geometry extracted and validated; provenance/dimensions in `hardware/PCB/db9-mechanical-notes.md`. Flange front sits 1.930 mm inside carrier edge, screw-lock mouths 2.870 mm outside, shell nose 3.870 mm outside. Case wall plane is not yet fixed. Seven board-local Dwgs.User projections added; rerun `add_db9_envelope.py` and `add_device_silkscreen.py` after moving modules. +- Placement PDF and SVG/PNG/3D previews refreshed. Fresh PCB, independent routing, preservation and CAD validators pass: 38/38 connections, 565 segments, 22 vias, 0 physical DRC violations/unrouted, one expected provisional U2 footprint parity warning. Not fabrication-ready; no hardware qualification or Gerbers. Existing project/schematic/library work preserved; board saves must use `SaveBoard(..., True)` and require checking editor lock. Prior A0 preserved in validation backup. + ## Dual-stack diagnostics follow-up — implemented, device validation pending - User explicitly requested IPv6 ping/traceroute/nslookup on all surfaces after accepting Phase12. Shared `network_console.*` now supports one `-4`/`-6` anywhere after command, preserves count/hop bounds, root and `wifi` aliases. Default probes try IPv4 then IPv6 on resolution failure only; nslookup performs A+AAAA queries separately (one selected address/family), displays unscoped link-local records. Link-local probes require ESP-local `%sta`/`%ap`/index/name; no client-interface guess or IPv4-mapped fallback. Help/completion updated; permissions unchanged. diff --git a/hardware/PCB/README.md b/hardware/PCB/README.md index 07ceaa4..4aa04ff 100644 --- a/hardware/PCB/README.md +++ b/hardware/PCB/README.md @@ -4,7 +4,8 @@ Open **`serial-carrier.kicad_pro`** in KiCad 10, then open **`serial-carrier.kicad_sch`**. A readable export is **`serial-carrier.pdf`**. This is a native, editable schematic with actual connected nets, not an image or a SKiDL-only netlist. **`serial-carrier.kicad_pcb` now contains a routed, -82 × 80 mm two-copper-layer carrier draft.** It is **not fabrication-ready**. +82 × 80 mm two-copper-layer A1 carrier draft with a top-left antenna notch, +USB toward the bottom and RS-232 toward the top.** It is **not fabrication-ready**. See **`pcb-draft-notes.md`** for placement, chosen dimensions/rules, provisional mechanical assumptions and validation. A review drawing is `pcb-placement-draft.pdf`. @@ -25,6 +26,9 @@ the carrier. All 3.3 V and ground connections are explicit named nets. | `validation/pcb-draft.png`, `validation/pcb-draft-3d.png` | Copper/fab preview and carrier-only 3D render | | `validate_pcb_draft.py` | Fresh schematic-to-PCB net checks, bounds/layers and DRC/parity report | | `generate_pcb_draft.py`, `route_pcb_draft.py` | Optional destructive-regeneration tools with explicit overwrite guards | +| `add_device_silkscreen.py` | Refresh board-local OLED/RS-232 outlines and ESP32 header guides after placement/routing; preserves copper and project settings | +| `db9-mechanical-notes.md`, `reference/db9-cad/` | STEP-derived metal dimensions, originals, source licenses and repeatable extraction/validation | +| `add_db9_envelope.py` | Refresh nominal connector metal projections on Dwgs.User; not a case cutout or assembly clearance | | `Carrier.kicad_sym`, `sym-lib-table` | Project-local module, switch and resistor symbols | | `Carrier.pretty/`, `fp-lib-table` | OLED/ESP32/RS-232-reference provisional footprints; standard KiCad 10 switch/resistor/mounting-hole library references | | `oled-fit-check.svg` | User-fit-verified OLED mechanical template | @@ -124,7 +128,7 @@ Repository sources: `../../docs/wiring.md`, `../../src/board_pins.h`, | Assembly | Repository identification | Footprint status | |---|---|---| | ESP32 development board | User confirmed HW-678 V0.0.0 markings and S3-N16R8 shield, two USB-C ports | Two 22-pin rows; nominal 2.54 mm pitch and 25.40 mm row spacing supported by simultaneous breadboard fit. Mechanical outline registration and socket/drill selection remain pending. | -| RS-232 module | Adafruit MAX3243 full-pinout breakout; male is product 6253, female is 5988 | Published female CAD pin map and geometry verified; male mapping/fit remains provisional. Reference footprint used on PCB only; schematic assignment remains blank. | +| RS-232 module | Adafruit MAX3243 full-pinout breakout; male is product 6253, female is 5988 | Eagle pin map/PCB geometry and STEP metal dimensions extracted. User confirms identical male/female external dimensions; actual fit and male electrical map remain release checks. Reference footprint used on PCB only. | | Display | 128×64 yellow/blue I²C OLED, address 0x3c; Amazon ASIN B0F13SSSFB | 26 mm square board, 22.50 mm hole spacing, Ø2 mm holes and centred header 1.50 mm from top edge are user-fit-verified. Local footprint assigned; header pad/drill selection remains provisional. | | Three buttons | Omron B3F-1000; previous, select, next; normally open to ground, active low | Datasheet and `Button_Switch_THT:SW_TH_Tactile_Omron_B3F-100x` pad mapping verified. External 2.2 kΩ pull-ups included. Live distributor stock remains unverified. | @@ -135,7 +139,10 @@ Published female-module Eagle CAD and its header map were retrieved and verified see `adafruit-research.md` for pinned revision, hashes, attribution and geometry. The original files and CC BY-SA 3.0 notices are retained in `reference/`; they remain under their upstream license. Omron reference documents retain their -manufacturer notices. No male-specific module footprint is claimed verified. +manufacturer notices. The CAD-parts repository's STEP and MIT license are separately +retained under `reference/db9-cad/`. External metal geometry is used for the male +module on the user's explicit equivalence confirmation; this does not validate +its electrical map, connector threads, tolerances, assembly fit or case cutout. ## Verified logical connections for the existing firmware profile diff --git a/hardware/PCB/add_db9_envelope.py b/hardware/PCB/add_db9_envelope.py new file mode 100644 index 0000000..7bd6324 --- /dev/null +++ b/hardware/PCB/add_db9_envelope.py @@ -0,0 +1,93 @@ +#!/usr/bin/env python3 +"""Add nominal STEP-derived metal bounding projections on Dwgs.User only. + +Not silkscreen, a courtyard, or a case cutout. See db9-mechanical-notes.md for +source attribution, selected face subsets and the user-confirmed male/female +external-geometry equivalence. No module height or case-wall thickness assumed. +""" +import json +from pathlib import Path +import uuid +import pcbnew as p + +ROOT=Path(__file__).resolve().parent +PCB=ROOT/"serial-carrier.kicad_pcb" +NS=uuid.UUID("ba7274a8-c35d-46bc-908d-cd86708fc6c4") + + +def main(): + lock=ROOT/"~serial-carrier.kicad_pcb.lck" + if lock.exists(): + raise SystemExit("Close PCB Editor before refreshing the CAD envelopes") + before=PCB.read_bytes() + project=ROOT/"serial-carrier.kicad_pro" + project_before=project.read_bytes() + board=p.LoadBoard(str(PCB)) + u2=next(f for f in board.GetFootprints() if f.GetReference()=="U2") + assert u2.GetOrientationDegrees()==0, "Review transform for rotated module" + x0,y0=p.ToMM(u2.GetPosition().x),p.ToMM(u2.GetPosition().y) + data=json.loads((ROOT/"reference/db9-cad/measurements.json").read_text()) + owned={str(uuid.uuid5(NS,str(i))) for i in range(64)} + for drawing in list(board.GetDrawings()): + if drawing.m_Uuid.AsString() in owned: + board.Delete(drawing) + count=0 + + def point(x,y): + # STEP/Eagle axes +Y toward connector; KiCad local Y is downward. + return p.VECTOR2I(p.FromMM(x0+x-1.905),p.FromMM(y0+2.667-y)) + + def add(item): + nonlocal count + assert count<64 + item.SetLayer(p.Dwgs_User) + item.SetUuid(p.KIID(str(uuid.uuid5(NS,str(count))))) + board.Add(item) + count+=1 + + for feature in ("front_flange_exposed_faces", "shell_outer_including_root_and_lip", + "left_front_hex_post", "right_front_hex_post"): + xmin,ymin,_,xmax,ymax,_=data[feature]["bounds"] + rect=p.PCB_SHAPE(board) + rect.SetShape(p.SHAPE_T_RECT) + rect.SetStart(point(xmin,ymax)); rect.SetEnd(point(xmax,ymin)) + rect.SetWidth(p.FromMM(0.1)) + add(rect) + for axis in data["front_lock_axes"]: + x=axis["location"][0] + # These mark front-facing Y axes, not holes through the carrier PCB. + line=p.PCB_SHAPE(board) + line.SetShape(p.SHAPE_T_SEGMENT) + line.SetStart(point(x,26.907)); line.SetEnd(point(x,32.707)) + line.SetWidth(p.FromMM(0.08)) + add(line) + label=p.PCB_TEXT(board) + label.SetText("CAD METAL ENVELOPES - NOT CASE CUTOUT") + label.SetPosition(p.VECTOR2I(p.FromMM(x0+13.97),p.FromMM(y0-17.67))) + label.SetTextSize(p.VECTOR2I(p.FromMM(0.65),p.FromMM(0.65))) + label.SetTextThickness(p.FromMM(0.1)) + add(label) + for drawing in board.GetDrawings(): + if not isinstance(drawing,p.PCB_TEXT): + continue + value=drawing.GetText() + if value.startswith("DE-9 OUT /"): + drawing.SetPosition(p.VECTOR2I(p.FromMM(x0+13.97),p.FromMM(y0-20.67))) + elif value=="82 x 80 mm / 2 copper layers": + drawing.SetPosition(p.VECTOR2I(p.FromMM(141),p.FromMM(91))) + elif value.startswith("Nominal RS-232 metal verified;"): + drawing.SetPosition(p.VECTOR2I(p.FromMM(141),p.FromMM(93.5))) + temp=ROOT/"serial-carrier-envelope-tmp.kicad_pcb" + try: + assert p.SaveBoard(str(temp),board,True) + if lock.exists() or PCB.read_bytes()!=before: + raise RuntimeError("PCB changed or reopened; refusing overwrite") + assert project.read_bytes()==project_before + temp.replace(PCB) + finally: + temp.unlink(missing_ok=True) + print(f"Added {count} nominal CAD projection graphics on Dwgs.User; no copper/project changes") + + +if __name__=="__main__": + main() diff --git a/hardware/PCB/add_device_silkscreen.py b/hardware/PCB/add_device_silkscreen.py new file mode 100644 index 0000000..ad8647e --- /dev/null +++ b/hardware/PCB/add_device_silkscreen.py @@ -0,0 +1,181 @@ +#!/usr/bin/env python3 +"""Refresh board-local device outlines without modifying libraries or project settings. + +Uses pcbnew and Shapely from system Python. Only owned F.SilkS graphics are +replaced; source F.Fab outlines, copper, footprints and board edges are retained. +""" +from pathlib import Path +import math +import uuid +import pcbnew as p +from shapely.geometry import LineString, Point, box +from shapely.ops import unary_union, polygonize + +ROOT = Path(__file__).resolve().parent +PCB = ROOT / "serial-carrier.kicad_pcb" +NS = uuid.UUID("67964aa4-c3a5-45d8-9b54-250fb68e7c41") +WIDTH = 0.12 +GAP = 0.22 # Additional clearance from mask openings and existing silk strokes. + + +def xy(point): + return p.ToMM(point.x), p.ToMM(point.y) + + +def vec(point): + return p.VECTOR2I(p.FromMM(point[0]), p.FromMM(point[1])) + + +def outline_lines(shape): + if shape.GetShape() == p.SHAPE_T_RECT: + x1, y1 = xy(shape.GetStart()) + x2, y2 = xy(shape.GetEnd()) + return [LineString([(x1,y1),(x2,y1)]), LineString([(x2,y1),(x2,y2)]), + LineString([(x2,y2),(x1,y2)]), LineString([(x1,y2),(x1,y1)])] + if shape.GetShape() == p.SHAPE_T_SEGMENT: + return [LineString([xy(shape.GetStart()), xy(shape.GetEnd())])] + return [] + + +def add_outlines(board): + owned = {str(uuid.uuid5(NS, str(i))) for i in range(4096)} + for drawing in list(board.GetDrawings()): + if drawing.m_Uuid.AsString() in owned: + board.Delete(drawing) + footprints = {f.GetReference(): f for f in board.GetFootprints()} + obstacles = [] + for fp in board.GetFootprints(): + for pad in fp.Pads(): + if not pad.IsOnLayer(p.F_Mask): + continue + assert pad.GetOrientationDegrees() % 90 == 0 + x,y = xy(pad.GetPosition()) + expansion = max(0, p.ToMM(pad.GetSolderMaskExpansion(p.F_Mask))) + if pad.GetShape() == p.PAD_SHAPE_CIRCLE: + geom = Point(x,y).buffer(p.ToMM(pad.GetSize().x)/2, quad_segs=32) + else: + bb=pad.GetBoundingBox() + geom=box(p.ToMM(bb.GetX()),p.ToMM(bb.GetY()),p.ToMM(bb.GetRight()),p.ToMM(bb.GetBottom())) + obstacles.append(geom.buffer(expansion+GAP+WIDTH/2)) + for graphic in fp.GraphicalItems(): + if isinstance(graphic,p.PCB_SHAPE) and graphic.GetLayer()==p.F_SilkS: + for line in outline_lines(graphic): + obstacles.append(line.buffer(p.ToMM(graphic.GetWidth())/2+GAP+WIDTH/2)) + # Clear even tented vias for a robust visible guide, independent of mask settings. + for track in board.GetTracks(): + if isinstance(track,p.PCB_VIA): + obstacles.append(Point(xy(track.GetPosition())).buffer(p.ToMM(track.GetWidth(p.F_Cu))/2+GAP+WIDTH/2,quad_segs=32)) + blocked=unary_union(obstacles) + edges = [LineString([xy(d.GetStart()), xy(d.GetEnd())]) + for d in board.GetDrawings() if d.GetLayer() == p.Edge_Cuts] + polygons = list(polygonize(edges)) + assert len(polygons) == 1, 'Expected a single closed carrier outline' + # U2's bare PCB front is flush with the carrier edge; do not print across it. + silk_area = polygons[0].buffer(-(GAP + WIDTH / 2)) + count=0 + + def add(shape): + nonlocal count + assert count < 4096 + shape.SetLayer(p.F_SilkS) + shape.SetUuid(p.KIID(str(uuid.uuid5(NS,str(count))))) + board.Add(shape) + count+=1 + + def line(a,b): + clipped=LineString([a,b]).intersection(silk_area).difference(blocked) + pieces=list(clipped.geoms) if hasattr(clipped,"geoms") else [clipped] + for piece in pieces: + if piece.geom_type!="LineString" or piece.length < 0.25: + continue + shape=p.PCB_SHAPE(board) + shape.SetShape(p.SHAPE_T_SEGMENT) + shape.SetStart(vec(piece.coords[0])); shape.SetEnd(vec(piece.coords[-1])) + shape.SetWidth(p.FromMM(WIDTH)) + add(shape) + + for ref in ("DS1","U2"): + assert footprints[ref].GetOrientationDegrees()==0, "Review outlines for rotated modules" + for source in footprints[ref].GraphicalItems(): + if not isinstance(source,p.PCB_SHAPE) or source.GetLayer()!=p.F_Fab: + continue + if source.GetShape()==p.SHAPE_T_ARC: + # Test small spans for clearance, but retain true circular arcs + # for each visible run rather than replacing corners with chords. + cx,cy=xy(source.GetCenter()) + sx,sy=xy(source.GetStart()); mx,my=xy(source.GetArcMid()) + start=math.atan2(sy-cy,sx-cx) + sweep=2*math.atan2((sx-cx)*(my-cy)-(sy-cy)*(mx-cx), + (sx-cx)*(mx-cx)+(sy-cy)*(my-cy)) + radius=math.hypot(sx-cx,sy-cy) + steps=max(1,math.ceil(abs(math.degrees(sweep)))) + def at(t): + angle=start+sweep*t/steps + return cx+radius*math.cos(angle),cy+radius*math.sin(angle) + run=None + for i in range(steps+1): + span=LineString([at(i),at(i+0.5),at(i+1)]) + clear=i=0.25: + arc=p.PCB_SHAPE(board) + arc.SetShape(p.SHAPE_T_ARC) + arc.SetArcGeometry(vec(at(run)),vec(at((run+i)/2)),vec(at(i))) + arc.SetWidth(p.FromMM(WIDTH)) + add(arc) + run=None + continue + for edge in outline_lines(source): + # Display boundary is visually distinct from the PCB perimeter. + dashed = ref=="DS1" and round(edge.bounds[0]-xy(footprints[ref].GetPosition())[0],2) in (1.0,25.5) + if dashed: + distance=0.0 + while distance < edge.length: + line(edge.interpolate(distance).coords[0],edge.interpolate(min(distance+0.8,edge.length)).coords[0]) + distance+=1.3 + else: + line(edge.coords[0],edge.coords[-1]) + # These are pad-row guides, not inferred socket/body or ESP32 PCB dimensions. + fp=footprints["U1"] + assert fp.GetOrientationDegrees()==0, "Review guide construction for rotated U1" + pads={pad.GetNumber():xy(pad.GetPosition()) for pad in fp.Pads()} + for first,last in (("1","22"),("23","44")): + x,ytop=pads[first]; _,ybottom=pads[last] + corners=[(x-1.2,ytop-1.2),(x+1.2,ytop-1.2),(x+1.2,ybottom+1.2),(x-1.2,ybottom+1.2)] + for a,b in zip(corners,corners[1:]+corners[:1]): + line(a,b) + label=p.PCB_TEXT(board) + label.SetText("HEADER GUIDES") + a,b=pads["1"],pads["23"] + label.SetPosition(vec(((a[0]+b[0])/2,a[1]+28))) + label.SetTextSize(p.VECTOR2I(p.FromMM(0.85),p.FromMM(0.85))) + label.SetTextThickness(p.FromMM(0.12)) + add(label) + return count + + +def main(): + lock=ROOT/"~serial-carrier.kicad_pcb.lck" + if lock.exists(): + raise SystemExit("Close PCB Editor before updating silkscreen") + before=PCB.read_bytes() + project=ROOT/"serial-carrier.kicad_pro" + project_before=project.read_bytes() + board=p.LoadBoard(str(PCB)) + count=add_outlines(board) + temp=ROOT/"validation/pcb-routing-silk-tmp.kicad_pcb" + try: + assert p.SaveBoard(str(temp),board,True) + if lock.exists() or PCB.read_bytes()!=before: + raise RuntimeError("PCB changed or reopened; refusing to overwrite") + assert project.read_bytes()==project_before,"Project settings changed" + temp.replace(PCB) + finally: + temp.unlink(missing_ok=True) + print(f"Added {count} board-local silkscreen graphics; project settings preserved.") + + +if __name__=="__main__": + main() diff --git a/hardware/PCB/db9-mechanical-notes.md b/hardware/PCB/db9-mechanical-notes.md new file mode 100644 index 0000000..b719de1 --- /dev/null +++ b/hardware/PCB/db9-mechanical-notes.md @@ -0,0 +1,133 @@ +# DE-9 mechanical reference — pinned Adafruit 5988 STEP + +Research: 2026-09-21. **Nominal CAD geometry, not a toleranced connector drawing or physical fit qualification.** No board, schematic, footprint, application dependency or main README changes. + +**User-confirmed assumption:** male and female modules have identical external dimensions; use the external geometry below for mechanical planning of the male module on that basis. This is not independent male-CAD verification and **does not verify the male pin map**. The source explicitly identifies `DE9-F` / `F09HP` (5988). Do not infer contact numbering from gender, the model, or the front view. + +## Sources, attribution and licensing + +- User's link: https://github.com/adafruit/Adafruit_CAD_Parts/tree/main/5988%20RS-232%20Level%20Shifter +- Pinned repository revision: **`5b8a21fb5e2e48478faf8901077be812f5224066`**, 2024-09-05, Noe Ruiz, “Adding 5988 RS-232 Level Shifter”. GitHub path history returned this as the latest change to that directory at retrieval. +- Immutable directory: https://github.com/adafruit/Adafruit_CAD_Parts/tree/5b8a21fb5e2e48478faf8901077be812f5224066/5988%20RS-232%20Level%20Shifter +- Unmodified originals retained in `reference/db9-cad/`: STEP, repository-root `README.md`, repository-root `LICENSE`. `sources.json` records **full immutable raw URLs and SHA-256 hashes**. + +| Original | SHA-256 | +|---|---| +| `5988 RS-232 Level Shifter.step` | `8eab9dc591a985fc987ceec2d7534e5e259263c73bebc64c0c3cd847e135906f` | +| `LICENSE` | `f60436644e066301d4c2e8f1f0674a157b1f60e4fd5586717b99dde255cc18cd` | +| `README.md` | `9ed9beac7600623b7b9bd0d02e1fdcd86610ce22966723179e6c6b618e399dce` | + +The CAD repository root license is **MIT, Copyright (c) 2016 Adafruit Industries**; root README merely describes STEP/Fusion/STL parts. No part-specific license file is present in the four-file directory. Retain the original MIT notice and warranty disclaimer with redistribution. This assessment follows the repository's stated license, not an independent audit of any imported vendor geometry. F3D, STL and JPG were listed but not downloaded or used; no image-derived dimensions or mesh fallback were needed. + +The separate Eagle board reference is from `Adafruit-RS-232-Level-Shifter-Breakout-PCB`, commit `63c6200bb3ef17d491089cfa6441b1810d79bb20`; its local `.brd` hash was rechecked (`6a7b35ef909f5a2d243c326c34db3957aaa01275bf2aac8e0c749ff18162e870`). Eagle-derived registration/hole information is attributed to **Limor Fried/Ladyada for Adafruit Industries**, under **CC BY-SA 3.0 Unported**; retain `reference/README.md` and `reference/license.txt`. The Eagle-derived portions of these notes use that license. Do not silently substitute the CAD-parts repository's MIT license for the Eagle design license. + +## Extraction method and confidence + +Used Python/OpenCascade (`cadquery-ocp==7.9.3.1.1`) in the isolated project `.cache/cad-tools/venv`; no application dependencies changed. The initially attempted older OCP wheel was unavailable for this Python; the pinned installed version succeeded. + +- `reference/db9-cad/extract.py`: STEPControl import with assembly placements applied; `BRepBndLib.AddOptimal` with triangulation and shape-tolerance enlargement disabled; analytic planes/cylinders via `BRepAdaptor_Surface`. No tessellation used for measurement. +- `geometry.json`: all 15 solids and their faces, bounds, validity, analytic cylinder radii/axes, plane normals. All 15 pass `BRepCheck_Analyzer`. +- `validate.py`: checks original hashes, all 12 header centres against actual Eagle XML, board bounds, mounting holes and selected front-face geometry; writes `measurements.json` containing explicit face selections and their bounds. +- For unique PCB/connector bodies, STEP `CLOSED_SHELL` face order is associated with import face order, checking face counts, every surface type and every cylinder radius. Appearance assignments corroborate feature identification; **colour is not a material certification**. +- Imported solid 12 = STEP `#101` / `Body2`, the main connector. It fuses housing/insert, contacts, flange, shell and front hex posts; its whole-solid bounds are **not metal-only dimensions**. Solids 13/14 = `#102`/`#103` (`Body3`/`Body4`), separate anchor brackets. +- Front shell/flange/hex-post faces have the shared `Opaque(245,245,246)` appearance and the expected geometric continuity. The report measures those **face subsets**, excluding plastic, contacts, PCB and ICs. There is no separate hollow metal shell solid from which to certify wall thickness. + +**High confidence:** numerical nominal positions/bounds/radii of identified modeled features and STEP-to-Eagle board registration. **Moderate confidence:** physical fidelity of the simplified connector model and material boundaries; the contact/tail geometry differs from Eagle. **Unverified:** manufacturing tolerances, actual purchased-part fit, threads, male electrical mapping, cable/backshell envelope and final enclosure cutout. Extra decimal places below support reproducibility, not manufacturing accuracy. + +## Coordinate system and orientation + +All dimensions are **mm**. Use `(X,Y,Z)` in the imported STEP assembly: + +- X rightward in component/top view; Y toward the connector/cable, Z above the PCB. +- Bare breakout PCB: **X 0…31.750, Y 0…29.337, Z 0…1.570**. PCB front edge is **Y = 29.337**; underside is Z = 0, component-side surface Z = 1.570. +- Logic header hole row: **Y = 2.667**, X = `1.905 + 2.540 × (N−1)`, N = 1…12. No installed header/socket body is modeled; this is the hole-axis datum, not a plastic-header edge. +- STEP XY is already Eagle board XY: **identity transform**, no scale, rotation or translation. Verified by all 12 header holes, both mounting holes and PCB bounds. STEP connector symmetry alone would not establish this registration. +- Existing carrier footprint coordinates (header pad 1 origin, Y downward): **`x = X − 1.905; y = 2.667 − Y`**. Height above module PCB top: **`h = Z − 1.570`**. Add the chosen module-top elevation later to get case/carrier height; socket/standoff stack is not yet selected. +- Connector front/mating approach is along Y, **parallel to the PCB**, not down into it. A cable approaches from +Y and inserts toward −Y. A front view looks along −Y with +Z up; +X then appears to the viewer's **left**, unlike component/top view. Do not reuse top-view left/right pin numbering as front-view numbering. + +## Metal feature dimensions — selected subsets, not assembly bounds + +The Z centre of the D profile and front screw-lock axes is **7.84762024**, or **6.27762024 above the PCB top**. Connector centre X = **15.875** (carrier-local x = **13.970**). + +| Feature | X bounds | Y bounds | Z bounds | Nominal dimensions / evidence | +|---|---|---|---|---| +| Front metal flange, exposed faces | 0.475…31.275 | 27.007…27.407 | 1.572620…14.122620 | **30.800 wide × 12.550 high × 0.400 axial thickness**; solid 12 faces 8, 11–14 | +| D-shell straight outer wall region | 8.035981…23.714019 | 28.007…32.607 | 3.897620…11.797620 | **15.678038 wide × 7.900 high**, straight axial length **4.600**; faces 18–25 | +| D-shell outer surface including root blend and rounded front lip | 7.435981…24.314019 | 27.407…33.207 | 3.297620…12.397620 | **16.878038 wide × 9.100 high × 5.800 axial extent**; faces 18–25, 81–88, 103–110 | +| Left front hex screw-lock post | 0.719189…6.030811 | 27.407…32.207 | 5.547620…10.147620 | **4.600 across flats**, **5.311622 across corners**, **4.800 long**; faces 53–61, 89 | +| Right front hex screw-lock post | 25.719189…31.030811 | 27.407…32.207 | 5.547620…10.147620 | Same dimensions; faces 62–70, 90 | + +The flange is centred laterally on the PCB, inset **0.475** from each side. Its lower edge is only **0.002620** above the modeled PCB top, upper edge **12.552620** above it. Preserve this tiny source offset in registration; do not interpret it as a designed assembly clearance. + +The D-shell has sloping side planes at **10° from vertical** in the front cross-section (`|normal X| = cos 10°`, `|normal Z| = sin 10°`), corner-cylinder radii **1.700**, root/lip rounding radius **0.600**. The wider side is upper (+Z). The maximum 16.878038 × 9.100 envelope occurs at the **root blend**, not uniformly along the projecting nose. These are bounding dimensions of a D shape, not a rectangular cutout prescription. Shell wall thickness / actual hollow cavity geometry is **not verified** by this fused representation. + +### Front cable screw-lock holes: actual modeled cylinders, not thread specifications + +- Axes **parallel to Y**, at `(X,Z) = (3.375,7.84762024)` and `(28.375,7.84762024)`. +- **Axis spacing = 25.000**, symmetric ±12.500 about X = 15.875. +- Carrier-local axis x = **1.470 and 26.470**; post front plane y = **−29.540**. +- Solid 12 faces **60 / 69**, raw STEP faces **#13822 / #13831**, are inward-facing cylindrical hole surfaces: **radius 1.500, diameter 3.000**, Y = **27.407…32.007** (straight cylindrical length **4.600**). +- Mouth cones (faces **89 / 90**) run Y = **32.007…32.207**, growing to **diameter 3.400** at the front: **0.200 axial × 0.200 radial** chamfer. Front mouth plane **Y = 32.207**. +- Flat modeled bottoms at Y = **27.407** (faces 61/70): total modeled mouth-to-bottom depth **4.800** including chamfer. +- **No helical threads modeled. Do not call this M3, 4-40, a tap drill, minor/major thread diameter, or usable engagement depth.** Actual screw standard, pitch, engagement and tolerances require a connector drawing or physical check. + +## Front planes, PCB overhang and header offsets + +There is no single interchangeable “front plane”. The flange, hex-post mouth and shell lip differ. The shell's foremost geometric plane is a useful **mating-face reference**, but the source does not establish a manufacturer's functional fully-mated datum or panel seating specification. + +| Reference plane | STEP/Eagle Y | Forward of PCB front edge Y=29.337 | Forward of header row Y=2.667 | Carrier-local y | +|---|---:|---:|---:|---:| +| Flange rear face | 27.007 | −2.330 | 24.340 | −24.340 | +| Flange front face / shell root | **27.407** | **−1.930** | **24.740** | **−24.740** | +| Straight shell begins | 28.007 | −1.330 | 25.340 | −25.340 | +| Breakout PCB front edge | **29.337** | 0 | **26.670** | **−26.670** | +| Front hex-post mouth faces | **32.207** | **+2.870** | **29.540** | **−29.540** | +| Straight shell ends / rounded lip begins | 32.607 | +3.270 | 29.940 | −29.940 | +| Foremost shell lip / modeled insert face | **33.207** | **+3.870** | **30.540** | **−30.540** | + +Thus the modeled shell nose projects **3.870 beyond the breakout PCB**; the hex posts project **2.870**, ending **1.000 behind the shell nose**. The flange itself is **1.930 behind the PCB front edge**. Do not position a case wall at the flange while ignoring that the PCB extends 1.930 beyond it. + +For later unrotated, component-up carrier placement with header pad 1 at `(x0,y0)`: + +- Breakout front edge: `y0 − 26.670`. +- Flange front: `y0 − 24.740`. +- Hex mouths: `y0 − 29.540`. +- Shell nose: `y0 − 30.540`. +- If the **breakout PCB front edge** is aligned with carrier top edge `ytop`, choose `y0 = ytop + 26.670`; shell nose is then at `ytop − 3.870`, hex mouths at `ytop − 2.870`. +- If instead the **shell nose** is aligned with that edge, choose `y0 = ytop + 30.540`; breakout front edge is then 3.870 inward. These are different choices, not a recommended final layout. + +## Three distinct mechanical systems — do not interchange + +| System | Axes / coordinates | Spacing | Diameter or geometry | Purpose | +|---|---|---:|---|---| +| Front cable screw-lock holes | Y axes; X 3.375 / 28.375, Z 7.847620 | **25.000** | Modeled bore Ø3.000, mouth Ø3.400; no thread qualification | Retain mating cable at connector front | +| Breakout PCB mounting holes | Z axes; `(3.810,11.430)` / `(27.940,11.430)` | **24.130** | Eagle drill Ø3.000 / plated copper Ø3.600; STEP hole cylinders Ø3.000 | Mount module to carrier/standoffs | +| Connector shell/anchor PCB holes G1/G2 | Z axes; Eagle `(3.3528,17.907)` / `(28.3972,17.907)` | **25.0444** | Eagle drill Ø3.302 / copper Ø5.080; STEP rounds X to 3.353 / 28.397 | Receive connector anchor legs, **not** carrier mounting or cable screws | + +### Separate metal anchor brackets and underside clearance + +Solids **13/14** represent the bent anchor brackets/legs, not the front hex posts. Per bracket whole-solid bounds (leg-only components, not whole assembly): + +- Right: **X 25.875…30.875, Y 17.907…24.307, Z −2.230…10.122620**. +- Left: **X 0.875…5.875**, same Y and Z. +- Each bracket envelope: **5.000 wide × 6.400 deep × 12.352620 high**. Bent sheet regions are **0.500 thick**; the lower two fingers occupy Y = **17.907…18.407**, not a circular screw shank. +- Tips reach **2.230 below the module underside**, i.e. **3.800 below the module top**. This needs carrier/case underside clearance; do not turn these bounds into a mounting-hole drill recommendation. +- Bracket symmetry centres X = **3.375 / 28.375**, lower sheet midplane Y = **18.157**. Relative to Eagle G1/G2, centre offsets are respectively **+0.0222 / −0.0222 in X** and **+0.250 in Y**. These are source-model differences, not a reason to move the Eagle pads. +- Main fused body's signal tails separately reach Z = **−1.607380**. Their modeled rows are Y = **16.467 / 19.307**, versus Eagle **16.637 / 19.177**; horizontal pitch also differs (model 2.770 versus Eagle 2.7432). The 3D model is **not suitable as electrical pin/drill authority**. + +No complete all-metal rear housing reconstruction is claimed: only the explicitly selected front surfaces and separate anchor brackets above. Main solid 12's 30.800 × 18.200 × 15.730 bounds include plastic/contact tails and must not be relabeled as a shell-only envelope. + +## Validation, reproduction and release boundary + +From project root: + +```sh +.cache/cad-tools/venv/bin/python -B hardware/PCB/reference/db9-cad/extract.py +python3 -B hardware/PCB/reference/db9-cad/validate.py +``` + +Both successfully ran; validation reported PASS for original hashes, 15 valid solids, all 12 Eagle header centres, PCB bounds, mounting holes, metal-appearance subsets and front lock cylinders. Extraction artifacts retain unrounded floating-point values. No firmware build, board DRC, hardware measurement or physical mating test was performed (research-only task). + +**Ready for nominal placement planning:** metal flange dimensions, shell outer envelope, front hex-post dimensions and bore geometry, their distinct front planes, 25.000 front-axis spacing, PCB/header registration and overhang, anchor-leg underside extent. The A1 PCB now aligns the breakout front edge with the carrier top edge. Nominal metal bounding projections and screw-lock axes appear on Dwgs.User; companion layout/footprint notes have been updated. Neither projection nor nominal bound is an enclosure cutout or clearance qualification. + +**Before fabrication / final case design:** verify actual male pin map; check physical connector profile and overhang against these nominal values; select header/socket and standoff heights; establish manufacturing/assembly clearances, cable backshell/tool access, wall thickness and cutout shape; verify thread standard and retention; perform a 1:1 fit/mating check. In particular, do not use exact-fit nominal bounds as an enclosure clearance or assume the CAD's Ø3.000 lock bore specifies a real screw thread. diff --git a/hardware/PCB/generate_pcb_draft.py b/hardware/PCB/generate_pcb_draft.py index df8649f..beff4ab 100644 --- a/hardware/PCB/generate_pcb_draft.py +++ b/hardware/PCB/generate_pcb_draft.py @@ -3,11 +3,11 @@ Requires system Python + pcbnew. Refuses to overwrite an existing PCB unless --overwrite is explicit. This is a draft generator, not a manufacturing tool. -Does not modify the schematic or footprint libraries. KiCad SaveBoard also saves -PCB design settings into the project; close the project before regeneration. +Does not modify the schematic, footprint libraries or project settings. +SaveBoard(..., True) deliberately preserves the user's existing project rules. """ import argparse -import json + from pathlib import Path import re import subprocess @@ -18,10 +18,10 @@ ROOT = Path(__file__).resolve().parent PCB = ROOT / "serial-carrier.kicad_pcb" LIBS = Path("/usr/share/kicad/footprints") ORIGIN = (100, 100) -OUTLINE = [(0,0), (82,0), (82,80), (36,80), (36,61), (0,61)] +OUTLINE = [(36,0), (82,0), (82,80), (0,80), (0,19), (36,19)] PLACEMENT = { - "U1": ("Carrier:HW678_2x22_Provisional", 8, 4), - "U2": ("Carrier:MAX3243_Reference_Provisional", 43, 30), + "U1": ("Carrier:HW678_2x22_Provisional", 8, 23), + "U2": ("Carrier:MAX3243_Reference_Provisional", 43, 26.670), "DS1": ("Carrier:OLED_26mm_I2C_Provisional", 43, 36), "R1": ("Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal", 43, 34), "R2": ("Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal", 54, 34), @@ -30,9 +30,9 @@ PLACEMENT = { "SW2": ("Button_Switch_THT:SW_TH_Tactile_Omron_B3F-100x", 55, 68), "SW3": ("Button_Switch_THT:SW_TH_Tactile_Omron_B3F-100x", 67, 68), } -MOUNTS = [(3.5,3.5), (3.5,56), (78,4), (78,76)] +MOUNTS = [(3.5,22.5), (3.5,75), (78,4), (78,76)] # Deliberate allocation, NOT a measured antenna envelope or an RF guarantee. -RF_RESERVE = [(10,0), (31,0), (31,13), (10,13)] +RF_RESERVE = [(10,19), (31,19), (31,32), (10,32)] def mm(v): return p.FromMM(v) @@ -87,20 +87,6 @@ def copy_schematic_fields(fp, component): fp.GetField(name).SetVisible(False) -def configure_draft_netclasses(): - # SaveBoard creates the project defaults. Align future interactive routing - # with the draft's physical minimum widths and its explicit power routing. - path=ROOT/"serial-carrier.kicad_pro" - project=json.loads(path.read_text()) - settings=project["net_settings"] - default=next(c for c in settings["classes"] if c["name"]=="Default") - default.update(clearance=0.25, track_width=0.25, via_diameter=0.7, via_drill=0.3) - power=dict(default, name="Power", priority=0, track_width=0.5, diff_pair_width=0.25) - settings["classes"]=[c for c in settings["classes"] if c["name"]!="Power"]+[power] - patterns=[v for v in settings.get("netclass_patterns",[]) if v["pattern"] not in ("/+3V3","/GND")] - settings["netclass_patterns"]=patterns+[{"netclass":"Power","pattern":name} for name in ("/+3V3","/GND")] - path.write_text(json.dumps(project,indent=2)+"\n") - def main(): parser=argparse.ArgumentParser(description=__doc__) @@ -108,8 +94,8 @@ def main(): args=parser.parse_args() if PCB.exists() and not args.overwrite: parser.error("PCB exists; preserve manual edits or explicitly use --overwrite") - if any(ROOT.glob("~serial-carrier.*.lck")): - parser.error("Project is open in KiCad; close it before regenerating PCB/settings") + if ROOT.joinpath("~serial-carrier.kicad_pcb.lck").exists(): + parser.error("PCB is open in KiCad; close it before regenerating") netfile=ROOT / "validation/pcb-source-netlist.xml" subprocess.run(["kicad-cli","sch","export","netlist","--format","kicadxml","-o",str(netfile),str(ROOT/"serial-carrier.kicad_sch")],check=True) source=ET.parse(netfile).getroot() @@ -126,11 +112,11 @@ def main(): settings.m_HoleClearance=mm(0.25) settings.m_TrackMinWidth=mm(0.25) settings.m_ViasMinSize=mm(0.7) - # SaveBoard persists these proposed draft rules into the project settings. + # Proposed in-memory draft rules only; never overwrite the user's project settings. title=board.GetTitleBlock() title.SetTitle("Serial Swiss Army Knife - 82x80 mm carrier draft") - title.SetRevision("A0 DRAFT") - title.SetComment(0,"NOT FOR FABRICATION - male module / USB / antenna geometry unverified") + title.SetRevision("A1 DRAFT") + title.SetComment(0,"NOT FOR FABRICATION - USB / antenna geometry pending; verify module pinout / assembly") pad_nets={} for source_net in source.findall("nets/net"): net=p.NETINFO_ITEM(board,source_net.get("name")) @@ -155,9 +141,9 @@ def main(): quiet_footprint(fp) copy_schematic_fields(fp,comp) if ref=="U1": - fp.Reference().SetPosition(xy(20.7,25)) + fp.Reference().SetPosition(xy(20.7,44)) elif ref=="U2": - fp.Reference().SetPosition(xy(56.97,18)) + fp.Reference().SetPosition(xy(56.97,14.670)) elif ref=="DS1": fp.Reference().SetPosition(xy(56,49)) elif ref.startswith("SW"): @@ -199,23 +185,22 @@ def main(): reserve.SetDoNotAllowFootprints(False) # the module itself spans this region polygon(reserve,RF_RESERVE) board.Add(reserve) - text(board,"RF RESERVE",20.5,7,p.Dwgs_User,1.2) - text(board,"VERIFY ANTENNA",20.5,10,p.Dwgs_User,1) - text(board,"ESP32 HW678",20.7,29) - text(board,"USB ACCESS - VERIFY",18,64,p.Dwgs_User,1) - text(board,"DE-9 OUT / VERIFY MALE",56.97,1.5,p.Dwgs_User,1) - text(board,"MAX3243 REF",56.97,21) + text(board,"RF RESERVE",20.5,26,p.Dwgs_User,1.2) + text(board,"VERIFY ANTENNA",20.5,29,p.Dwgs_User,1) + text(board,"ESP32 HW678",20.7,48) + text(board,"USB ACCESS - VERIFY",18,83,p.Dwgs_User,1) + text(board,"DE-9 OUT / NOMINAL MALE",56.97,-1.830,p.Dwgs_User,1) + text(board,"MAX3243 REF",56.97,17.670) text(board,"26mm OLED",56,52) for label,x in zip(("BACK","SELECT","NEXT"),(46.25,58.25,70.25)): text(board,label,x,75, size=0.9) text(board,"DRAFT - NOT FOR FAB",56,78,size=0.9) text(board,"82 x 80 mm / 2 copper layers",41,-5,p.Dwgs_User,1.5) - text(board,"Carrier envelope only; module overhang and connector clearance not qualified",41,-2.5,p.Dwgs_User,0.9) + text(board,"Nominal RS-232 metal verified; ESP32 USB / antenna / assembly clearance pending",41,-2.5,p.Dwgs_User,0.9) board.BuildConnectivity() - p.SaveBoard(str(PCB),board) - configure_draft_netclasses() + assert p.SaveBoard(str(PCB),board,True) print("Created",PCB,"with 9 circuit footprints, 4 proposed M3 mounts, 2 copper layers.") - print("Placement draft only. Board-only U2 footprint is a female-CAD reference, not male qualification.") + print("Placement draft only. U2 nominal male external metal dimensions user-confirmed; pin map / assembly still require qualification.") if __name__=="__main__": main() diff --git a/hardware/PCB/pcb-draft-notes.md b/hardware/PCB/pcb-draft-notes.md index e7f91c0..9d4bfe7 100644 --- a/hardware/PCB/pcb-draft-notes.md +++ b/hardware/PCB/pcb-draft-notes.md @@ -1,4 +1,4 @@ -# Compact two-layer PCB — A0 draft +# Compact two-layer PCB — A1 draft Open **`serial-carrier.kicad_pcb`** in KiCad 10. The routed board belongs to the existing `serial-carrier.kicad_pro` / `.kicad_sch` project. **Not for fabrication.** @@ -9,8 +9,10 @@ No Gerbers, production drills or manufacturing archive were generated. - **Carrier bounding dimensions: 82 × 80 mm**, within the requested 100 × 100 mm. - **Two copper layers**, F.Cu and B.Cu. All components mount on the front. - Proposed **1.6 mm** carrier thickness; fabrication stackup/process not selected. -- Stepped outline: a **36 × 19 mm lower-left cutaway** leaves cable space below - the ESP32 while the OLED/buttons occupy the deeper right-hand section. +- Stepped outline: a **36 × 19 mm top-left antenna cutaway** fits within a simple + rectangular/square case. The lower edge is now straight, with ESP32 USB toward + the bottom and RS-232 toward the top. U1 moved down by 19 mm; its exact USB/body + registration remains provisional pending the user's measured ESP32 geometry. - Module and mating-plug overhangs are not included in the carrier dimensions. The final complete assembly/enclosure envelope still needs measurement. @@ -22,17 +24,18 @@ component body corners. | Reference | Local origin (X, Y) | Placement | |---|---|---| -| U1 | (8, 4) | ESP32 left header pin 1; antenna toward upper edge, USB toward cutaway | -| U2 | (43, 30) | MAX3243 header pin 1; DE-9 toward upper edge | +| U1 | (8, 23) | ESP32 left header pin 1; antenna toward top-left cutaway, USB toward bottom edge | +| U2 | (43, 26.670) | MAX3243 header pin 1; bare module PCB front exactly flush with carrier top edge | | DS1 | (43, 36) | OLED module upper-left PCB corner; display faces up | | R1 / R2 / R3 | (43 / 54 / 65, 34) | Axial pull-ups in the gap between RS-232 and OLED | | SW1 / SW2 / SW3 | (43 / 55 / 67, 68) | Back, select, next below display; switch pad 1 origins | -| H1 | (3.5, 3.5) | Proposed case mounting hole | -| H2 | (3.5, 56) | Proposed case mounting hole | +| H1 | (3.5, 22.5) | Proposed case mounting hole below antenna notch | +| H2 | (3.5, 75) | Proposed case mounting hole near bottom-left edge | | H3 | (78, 4) | Proposed case mounting hole | | H4 | (78, 76) | Proposed case mounting hole | -Outline vertices: (0,0), (82,0), (82,80), (36,80), (36,61), (0,61), closed. +Outline vertices: (36,0), (82,0), (82,80), (0,80), (0,19), (36,19), closed. +The previous A0 board is retained in `validation/pcb-a0-before-reposition.kicad_pcb`. The board area is **58.76 cm²**; its bounding rectangle is 65.6 cm². H1–H4 are proposed **Ø3.2 mm NPTH M3 clearance holes**, not a previously agreed @@ -48,8 +51,8 @@ The PCB contains actual copper, not just ratsnest placement: - All **38 required physical-pad spanning connections** across **17 connected nets** routed, including both duplicated pads of each switch contact. -- **569 segments**, signal width **0.25 mm**, 3.3 V and GND width **0.50 mm**. -- **20 through vias**, **0.70 mm copper / 0.30 mm drill**. +- **565 segments**, signal width **0.25 mm**, 3.3 V and GND width **0.50 mm**. +- **22 through vias**, **0.70 mm copper / 0.30 mm drill**. - **No copper pours**; ground is explicitly routed. This is an initial routing solution, not a reviewed return-current/EMI or power-integrity design. - Proposed minimum different-net clearance **0.25 mm** and copper-edge clearance @@ -69,7 +72,7 @@ current-carrying capacity, supply stability, I²C signal quality or EMC complian ### ESP32 and RF A two-layer **no-tracks/no-vias/no-pads/no-zone-fill rule area** reserves local -X=10…31 mm, Y=0…13 mm toward the antenna. This is a deliberate carrier design +X=10…31 mm, Y=19…32 mm beneath the antenna-side end of U1, adjacent to the notch. This is a deliberate carrier design allocation, **not a measured antenna envelope or a manufacturer RF keepout**. The module itself may span the rule area; footprint placement is not forbidden. No carrier copper enters the reserve, but copper runs close to its boundary. @@ -83,9 +86,39 @@ Missing RF clearance cannot be signed off from the current footprint alone. U2 uses the new **`Carrier:MAX3243_Reference_Provisional`** footprint **on the PCB only**. Its bare-module outline/header/holes are adapted from published female -5988 CAD for the intended male 6253 module. The user reports identical dimensions, -but the male header map and assembled DE-9 envelope are still unverified. -See `rs232-footprint-notes.md` and its CC BY-SA attribution. +5988 CAD for the intended male 6253 module. The user explicitly confirms identical +male/female external dimensions. The linked Adafruit STEP has now been measured +with OpenCascade; its nominal metal geometry is used on that basis. Male header +mapping, actual fit, tolerances and the mounting stack still need qualification. +See `rs232-footprint-notes.md` and `db9-mechanical-notes.md` for evidence/licenses. + +The module's **bare PCB front is flush with carrier Y=0**, as requested. The +connector has distinct front planes, not one universal case-wall datum: + +| Feature | Position relative to carrier top edge | Meaning | +|---|---:|---| +| Flange front / shell root | 1.930 mm inside | Behind the PCB edge | +| Breakout PCB front | 0 | Flush with the carrier edge | +| Hex screw-lock mouth faces | 2.870 mm outside | Front cable-retention hole mouths | +| Shell nose | 3.870 mm outside | Foremost modeled shell surface | + +The front screw-lock axes are **25.000 mm apart**, with centres **6.277620 mm +above the module PCB top**. They are not the two 24.130 mm-spaced PCB mounting +holes. The source models Ø3.000 mm bores but **no threads**; this does not establish +M3 or 4-40 hardware. The main metal flange is 30.800 × 12.550 × 0.400 mm; the +shell envelope including its root/lip is 16.878 × 9.100 × 5.800 mm. + +`add_db9_envelope.py` places the measured metal bounding projections and screw-lock +axes on **Dwgs.User**, relative to U2. They are not silkscreen, a courtyard or a +case cutout. Run the helper after moving U2; it preserves copper and project +settings. The original STEP and its extraction/validation scripts are retained. + +**Case-wall positioning remains a design decision:** PCB-edge alignment does not +put the flange or screw-lock mouths at that same plane. For example, making the +hex mouths flush with the case exterior would place that exterior 2.870 mm beyond +the carrier edge. No wall thickness, cable-backshell clearance or sealing scheme +has been assumed. The model's anchor legs extend **2.230 mm below the module +underside**; select a stand-off/header stack or clearance solution before assembly. The schematic footprint remains intentionally blank, preserving its caution and avoiding edits to the schematic that was open in KiCad. Consequently there @@ -103,6 +136,39 @@ header/socket bodies, button actuation and finger/plunger clearance are not represented by complete assembly courtyards. In particular the axial resistors are tightly packed between the module outlines; confirm clearance and height. +## Device outlines on front silkscreen + +The PCB now has **0.12 mm front-silkscreen outlines** for the OLED PCB and the +published RS-232 reference module, plus a dashed OLED display boundary. The +RS-232's visible rounded corners retain true arcs. Small gaps clear pad/mask +openings, vias and adjacent resistor markings; the original full F.Fab geometry +remains unchanged. + +U1 instead has **header-row guides**, labelled `HEADER GUIDES`: guide edges are +1.20 mm outside the outer pin centres. These are graphic alignment aids, **not +claimed socket-body dimensions or an inferred ESP32 PCB outline**. The actual +U1 body/antenna/USB outline still requires measured offsets. Existing button and +resistor silkscreen remains unchanged. + +These are board-local drawings, not edits to the footprint libraries. If the +module placement or routing changes, close PCB Editor and refresh them with: + +```sh +/usr/bin/python3 -B hardware/PCB/add_device_silkscreen.py +``` + +The script requires pcbnew and Shapely, replaces only its own generated graphics, +and refuses an open PCB or concurrent board change. It leaves project settings, +copper, pads and source F.Fab outlines unchanged. Run it **after** placement or +routing regeneration; moving a footprint does not move these board-local drawings. +It currently supports the draft's unrotated module placements. + +The original A0 silkscreen-only change left its routing unchanged. A1 deliberately +repositions U1/U2 and reroutes all connections, then refreshes these outlines. +Silkscreen is clipped away from the new flush U2 front board edge. Physical DRC +remains **0 violations**, **0 unconnected**, with the same U2 footprint-parity +warning. PDF and both previews have been refreshed. + ## Review outputs - `validation/pcb-draft.svg` / `pcb-draft.png`: combined copper/outline/fab review. @@ -111,7 +177,8 @@ are tightly packed between the module outlines; confirm clearance and height. the render is not an assembled-device or enclosure fit check. - `pcb-placement-draft.pdf`: **1:1** front placement/pad/outline drawing. Print at 100%, disable fit-to-page, and confirm the outer width is 82 mm before use. - It includes only known module outlines; no guessed U1 body or DE-9 envelope. + It includes the known module outlines and nominal STEP-derived DE-9 metal + bounding projections; no guessed U1 body or case-wall geometry. ## Validation and limits @@ -138,9 +205,10 @@ Results with KiCad **10.0.6**: - **0 physical DRC errors/warnings; 0 unconnected items.** - All saved-schematic pad nets match the PCB; **1 expected U2 footprint parity warning**. -- Independent minimum different-net/copper-to-NPTH gap **0.275 mm**; minimum - copper/NPTH-to-board-edge gap **0.525 mm**. -- All 9 electrical footprints, 4 board-only mounts, outline and RF area retained. +- Independent minimum different-net/copper-to-NPTH gap **0.270544 mm**; minimum + copper/NPTH-to-board-edge gap **1.900 mm**. +- All 9 electrical footprints and 4 board-only mounts retained; positions, outline + and RF area revised as documented, with electrical linkage preserved. - Startup `PROPERTY_ENUM` assertions from the local pcbnew binding are still emitted, but the checks complete successfully. @@ -154,11 +222,13 @@ complete capability set. No electrical/hardware/fabrication tests were performed ## Regeneration and project settings Normal use is to **edit the native PCB in KiCad**, not regenerate it. The optional -`generate_pcb_draft.py` recreates the *unrouted* initial placement and discards -manual PCB work only with explicit `--overwrite`; it refuses an open-project lock. -KiCad's initial SaveBoard populated the previously minimal `.kicad_pro` with PCB -settings and draft clearance/width rules. The schematic was not modified. If the -project was already open, reopen it to load the saved PCB settings before review. +`generate_pcb_draft.py` recreates the *unrouted* A1 placement and discards manual +PCB work only with explicit `--overwrite`; it refuses an open-project lock. A1 was +made by mutating the existing board, not running that generator. All A1 saves use +`SaveBoard(..., True)` to preserve user project settings. The original A0 creation +populated the minimal project with rules; this revision leaves those settings and +the schematic unchanged. Refresh device silkscreen and CAD envelope helpers after +any intentional regeneration or placement/routing changes. `route_pcb_draft.py` requires NumPy and pcbnew. By default it never saves; replacing existing tracks requires explicit `--route --overwrite --replace-routes`. Do not diff --git a/hardware/PCB/pcb-placement-draft.pdf b/hardware/PCB/pcb-placement-draft.pdf index 9b08105..b4e7c1e 100644 Binary files a/hardware/PCB/pcb-placement-draft.pdf and b/hardware/PCB/pcb-placement-draft.pdf differ diff --git a/hardware/PCB/route_pcb_draft.py b/hardware/PCB/route_pcb_draft.py index d7a922b..5b0e61a 100644 --- a/hardware/PCB/route_pcb_draft.py +++ b/hardware/PCB/route_pcb_draft.py @@ -109,10 +109,10 @@ def boundary(radius): edge = 0.5 + radius + MARGIN mask = np.broadcast_to((X < 100 + edge) | (X > 182 - edge) | (Y < 100 + edge) | (Y > 180 - edge), (NY, NX)).copy() - mask |= (X < 136 + edge) & (Y > 161 - edge) + mask |= (X < 136 + edge) & (Y < 119 + edge) # Expand the RF reservation by copper radius plus numerical safety margin. r = radius + MARGIN - mask |= (X >= 110 - r) & (X <= 131 + r) & (Y <= 113 + r) + mask |= (X >= 110 - r) & (X <= 131 + r) & (Y >= 119 - r) & (Y <= 132 + r) return mask @@ -275,13 +275,15 @@ def main(): if ROOT.joinpath('~serial-carrier.kicad_pcb.lck').exists(): parser.error('PCB editor lock exists; close the PCB before routing') original_bytes = PCB.read_bytes() + project = ROOT / 'serial-carrier.kicad_pro' + project_before = project.read_bytes() board = p.LoadBoard(str(PCB)) before = identity(board) if board.GetCopperLayerCount() != 2 or len(board.GetFootprints()) != 13: parser.error('unexpected board structure; review router assumptions') if len(board.Zones()) != 1 or not board.Zones()[0].GetIsRuleArea(): parser.error('unexpected zones; router supports only the original RF rule area') - outline = [(100, 100), (182, 100), (182, 180), (136, 180), (136, 161), (100, 161)] + outline = [(136, 100), (182, 100), (182, 180), (100, 180), (100, 119), (136, 119)] expected_edges = {frozenset((a, b)) for a, b in zip(outline, outline[1:] + outline[:1])} actual_edges = {frozenset(((p.ToMM(e.GetStart().x), p.ToMM(e.GetStart().y)), (p.ToMM(e.GetEnd().x), p.ToMM(e.GetEnd().y)))) @@ -292,7 +294,7 @@ def main(): contour = reserve.Outline().COutline(0) rf_points = {(p.ToMM(contour.CPoint(i).x), p.ToMM(contour.CPoint(i).y)) for i in range(contour.PointCount())} - if (rf_points != {(110, 100), (131, 100), (131, 113), (110, 113)} or + if (rf_points != {(110, 119), (131, 119), (131, 132), (110, 132)} or not all(reserve.IsOnLayer(layer) for layer in LAYERS) or not all((reserve.GetDoNotAllowTracks(), reserve.GetDoNotAllowVias(), reserve.GetDoNotAllowZoneFills()))): @@ -313,8 +315,9 @@ def main(): if len(netpads) > 1: name = netpads[0].GetNetname() for length, a, b in pairs_for_net(netpads): - # Short local links first, then the long signal fanout; ground last. - priority = (name == '/GND', length) + # Reserve short ground escapes before signal fanout can box them in. + # Long ground links still run last, preserving space for signal paths. + priority = (name == '/GND' and length > 15, length) work.append((priority, net, name, a, b)) work.sort(key=lambda w: (w[0], w[2])) start_time = time.monotonic() @@ -354,7 +357,8 @@ def main(): raise RuntimeError('PCB changed or editor opened during routing; refusing overwrite') # Check a serialized candidate before replacing the user's board. candidate = ROOT / 'validation/pcb-routing-candidate.kicad_pcb' - p.SaveBoard(str(candidate), board) + assert p.SaveBoard(str(candidate), board, True) + assert project.read_bytes() == project_before, 'project settings changed' assert identity(p.LoadBoard(str(candidate))) == before, 'saved identity mismatch' candidate.replace(PCB) ROOT.joinpath('validation/pcb-routing-run.json').write_text(json.dumps(report, indent=2)+'\n') diff --git a/hardware/PCB/rs232-footprint-notes.md b/hardware/PCB/rs232-footprint-notes.md index a9ba533..af05077 100644 --- a/hardware/PCB/rs232-footprint-notes.md +++ b/hardware/PCB/rs232-footprint-notes.md @@ -83,11 +83,13 @@ when high. This project's logic interface requires 3.3 V Vin. ## Intentionally omitted / release gates -**No verified DE-9 mechanical envelope is available, so none is drawn.** No -male overhang, shell, mating plug, cable bend, enclosure cutout, height, underside -keepout, mounting-hardware clearance, 3D model or courtyard is invented. Female -library silkscreen and product bounding dimensions are not male clearance data. -The F.Fab outline describes only the bare module PCB, not the assembled envelope. +The footprint F.Fab outline still describes only the bare module PCB. Subsequent +STEP B-rep measurements now establish nominal shell/flange/hex-post envelopes and +registration; see `db9-mechanical-notes.md`. The user explicitly confirms identical +male/female external dimensions. A1 board-local Dwgs.User projections show those +nominal bounds, without changing this footprint's pads or deriving drills from +the 3D model. Mating-plug/cable, case wall/cutout, assembly height and actual fit +remain unqualified. No guessed complete courtyard or 3D mounting offset is added. There is **no fake courtyard**; courtyard checks cannot establish assembly fit. Short silkscreen labels identify PROVISIONAL / FEMALE CAD REF / VERIFY MALE. diff --git a/hardware/PCB/serial-carrier.kicad_pcb b/hardware/PCB/serial-carrier.kicad_pcb index 55b073e..dc0432c 100644 --- a/hardware/PCB/serial-carrier.kicad_pcb +++ b/hardware/PCB/serial-carrier.kicad_pcb @@ -9,8 +9,8 @@ (paper "A4") (title_block (title "Serial Swiss Army Knife - 82x80 mm carrier draft") - (rev "A0 DRAFT") - (comment 1 "NOT FOR FABRICATION - male module / USB / antenna geometry unverified") + (rev "A1 DRAFT") + (comment 1 "NOT FOR FABRICATION - USB / antenna geometry pending; verify module pinout / assembly") ) (layers (0 "F.Cu" signal) @@ -155,6 +155,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -166,6 +167,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -177,6 +179,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -188,6 +191,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -384,7 +388,7 @@ (footprint "MountingHole:MountingHole_3.2mm_M3" (layer "F.Cu") (uuid "1a8b4cef-8dea-4172-b360-f297696eb7e7") - (at 103.5 103.5) + (at 103.5 122.5) (descr "Mounting Hole 3.2mm, M3, no annular, generated by kicad-footprint-generator mountinghole.py") (tags "mountinghole M3") (property "Reference" "H1" @@ -481,7 +485,7 @@ (footprint "Carrier:HW678_2x22_Provisional" (layer "F.Cu") (uuid "3b4d80e2-b60a-47c6-a06a-acd4c69d5a94") - (at 108 104) + (at 108 123) (descr "HW-678, component/top view antenna up USB down; origin pad 1; left top-bottom 1..22, right top-bottom 23..44; only header centres verified; no GPIO mapping, outline, courtyard or antenna keepout; PROVISIONAL connector fit: 1.70 mm pads / 1.00 mm drills from installed KiCad PinHeader_1x04_P2.54mm_Vertical, awaiting selected actual pin/socket datasheet") (tags "module provisional THT") (property "Reference" "U1" @@ -537,6 +541,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -548,6 +553,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -1142,7 +1148,7 @@ (footprint "Carrier:MAX3243_Reference_Provisional" (layer "F.Cu") (uuid "812387f6-6524-459e-8102-fe9c55122668") - (at 143 130) + (at 143 126.67) (descr "PROVISIONAL female 5988 CAD reference / VERIFY MALE 6253 geometry and pad map. Top view DE9 toward -Y; origin JP2 pin 1. Female reference: 1 Vin, 2 GND, 3 DCD, 4 RX, 5 TX, 6 DTR, 7 DSR, 8 RTS, 9 CTS, 10 RI, 11 VLD, 12 OFF. PROVISIONAL connector fit: carrier pads 1.70 mm / drill 1.00 mm. No verified DE9 envelope or courtyard. CAD-derived outline: Limor Fried/Ladyada for Adafruit Industries, CC BY-SA 3.0; see rs232-footprint-notes.md") (tags "MAX3243 module female5988 reference male6253 provisional THT") (property "Reference" "U2" @@ -1198,6 +1204,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -1209,6 +1216,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -1595,6 +1603,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -1741,7 +1750,7 @@ (footprint "MountingHole:MountingHole_3.2mm_M3" (layer "F.Cu") (uuid "93345be0-a55c-48b6-ad01-af0edc524bba") - (at 103.5 156) + (at 103.5 175) (descr "Mounting Hole 3.2mm, M3, no annular, generated by kicad-footprint-generator mountinghole.py") (tags "mountinghole M3") (property "Reference" "H2" @@ -1906,6 +1915,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -2112,6 +2122,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -2123,6 +2134,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -2134,6 +2146,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -2145,6 +2158,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -2409,6 +2423,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -2615,6 +2630,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -2626,6 +2642,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -2637,6 +2654,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -2648,6 +2666,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -2900,6 +2919,7 @@ (effects (font (size 1.27 1.27) + (thickness 0.15) ) ) ) @@ -3005,7 +3025,993 @@ (embedded_fonts no) ) (gr_line - (start 100 100) + (start 106.8 121.8) + (end 109.2 121.8) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "cdd870c2-6daf-560d-a619-6903566202a1") + ) + (gr_line + (start 106.8 177.54) + (end 106.8 121.8) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "1576658b-4eb9-5105-9817-e374c6ef271e") + ) + (gr_line + (start 109.2 121.8) + (end 109.2 177.54) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "8f746121-d8e6-5a89-9328-da46f2da8ac0") + ) + (gr_line + (start 109.2 177.54) + (end 106.8 177.54) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "bfbd0b33-54e8-590f-87da-4935db08a121") + ) + (gr_line + (start 132.2 121.8) + (end 134.6 121.8) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "fef8b02b-8a5c-5e27-8e75-fc116ddbd526") + ) + (gr_line + (start 132.2 136.509273) + (end 132.2 121.8) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "abb27fb8-ae0c-56d1-9e35-c66b92681547") + ) + (gr_line + (start 132.2 162.671905) + (end 132.2 137.390726) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "03740f02-7c63-574b-ad1d-eeaa2c77d2ea") + ) + (gr_line + (start 132.2 170.202783) + (end 132.2 163.828094) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "2cecac83-165e-5e49-a695-c0b09f3b631c") + ) + (gr_line + (start 132.2 177.54) + (end 132.2 171.397216) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "5473bcda-98ee-5a28-9fda-f27d137d534c") + ) + (gr_line + (start 134.6 121.8) + (end 134.6 130.421905) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "0445e79c-43e4-5609-90ad-67bffdf64341") + ) + (gr_line + (start 134.6 131.578094) + (end 134.6 140.571905) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "6405d812-d377-52d9-8013-8c19bd4cdc2b") + ) + (gr_line + (start 134.6 141.728094) + (end 134.6 160.952783) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "f938fe4f-5ff2-577d-9bff-2827fb32ce22") + ) + (gr_line + (start 134.6 162.147216) + (end 134.6 169.559273) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "d472d222-21c6-5a78-ab7f-18799bceab8a") + ) + (gr_line + (start 134.6 170.440726) + (end 134.6 177.54) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "bfa82c3d-e8e2-58ea-8b46-f0db41e84458") + ) + (gr_line + (start 134.6 177.54) + (end 132.2 177.54) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "2441022c-c903-5a57-a84c-86f0a5143cb5") + ) + (gr_line + (start 141.095 100.28) + (end 141.095 126.797) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "a8548815-ac11-50b2-ba28-b237fdad1749") + ) + (gr_line + (start 143 136) + (end 149.652783 136) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "3c5ac182-42c7-574a-bb6f-4b6c0ee76706") + ) + (gr_line + (start 143 149.821905) + (end 143 136) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "59de7e5d-cc91-5921-ae22-5399ab7d7260") + ) + (gr_line + (start 143 162) + (end 143 150.978094) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "67e7188b-be0e-5e36-b5fd-99720ba61b5b") + ) + (gr_arc + (start 143.635 129.336999) + (mid 141.838948 128.593051) + (end 141.095 126.797) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "cf0840d6-e320-5738-912d-aac58ed27ccc") + ) + (gr_line + (start 143.635 129.336999) + (end 170.305 129.336999) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "10948042-6a50-57a7-bf8a-824a085b69cf") + ) + (gr_line + (start 144 140.5) + (end 144.8 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "64969ed3-fe46-58ab-8b01-383456d0e844") + ) + (gr_line + (start 144 141.4) + (end 144 140.6) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "8ffddb5d-8084-5c88-8fe9-77ff0f8ba9b9") + ) + (gr_line + (start 144 142.7) + (end 144 141.9) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "63f734c4-7020-596a-bd28-4c3c60b7669f") + ) + (gr_line + (start 144 144) + (end 144 143.2) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "85e05f25-b376-55a9-85d1-8abf39e7d326") + ) + (gr_line + (start 144 145.3) + (end 144 144.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "7dd7b9b7-08c4-5db7-91b1-6fb9e43467c8") + ) + (gr_line + (start 144 146.6) + (end 144 145.8) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "82aeff4e-9853-564a-b19e-fb07bcba6d23") + ) + (gr_line + (start 144 147.9) + (end 144 147.1) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "3efbb191-f441-57d8-9200-9427fe66fc4c") + ) + (gr_line + (start 144 149.2) + (end 144 148.4) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "24dea679-bf9b-5c03-85fc-5fcc9c8d8899") + ) + (gr_line + (start 144 150.5) + (end 144 149.7) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "2d08a05c-bc08-549a-9d8d-3da28631ab96") + ) + (gr_line + (start 144 151.8) + (end 144 151) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "a2ddb3e7-e806-5b1c-bffe-d806af05aad2") + ) + (gr_line + (start 144 153.1) + (end 144 152.3) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "8c3a99fe-a676-525a-87a4-89234954431f") + ) + (gr_line + (start 144 154.4) + (end 144 153.6) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "76770f5c-bc4a-5eef-a35f-6048cd46bda3") + ) + (gr_line + (start 144 155.7) + (end 144 154.9) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "573b0ff8-c4ea-55ce-8639-35b5be69384b") + ) + (gr_line + (start 144 157) + (end 144 156.2) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "aaf95d9c-f138-540b-b31a-466b00817eaf") + ) + (gr_line + (start 145.1 157) + (end 144.299999 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "45540257-1072-5b43-8806-db920d8cde30") + ) + (gr_line + (start 145.3 140.5) + (end 146.1 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "90946748-831c-586e-ade0-b1d90f661000") + ) + (gr_line + (start 146.4 157) + (end 145.6 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "dc6da13a-189c-5734-82cd-2ef01eb034a4") + ) + (gr_line + (start 146.6 140.5) + (end 147.4 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "0b7d01df-fbc6-5fcf-b328-8da125f3ab3e") + ) + (gr_line + (start 147.7 157) + (end 146.9 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "2d1175d7-ed91-5747-b77a-f6f329680dd8") + ) + (gr_line + (start 147.9 140.5) + (end 148.7 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "a7c8b9f8-828c-5549-83fc-d2542af076cf") + ) + (gr_line + (start 149 157) + (end 148.2 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "ed159221-5eca-528e-b1a4-5b30d18a2cd4") + ) + (gr_line + (start 149.2 140.5) + (end 150 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "5b69e660-ec9e-5d7a-87dc-71afbd183e09") + ) + (gr_line + (start 150.3 157) + (end 149.5 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "068702f2-fabb-5ab8-a238-41a1bcae3a5c") + ) + (gr_line + (start 150.5 140.5) + (end 151.3 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "33ab64dc-41a6-58b5-8c7e-dac85140f221") + ) + (gr_line + (start 150.847216 136) + (end 169 136) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "79102baa-5b2e-5141-a687-0481bb2f2d50") + ) + (gr_line + (start 151.6 157) + (end 150.8 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "ec867bc4-6241-5c66-9bd9-4756692a8d82") + ) + (gr_line + (start 151.8 140.5) + (end 152.6 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "f97def7c-bd44-5020-8c22-df9768781ac0") + ) + (gr_line + (start 152.9 157) + (end 152.1 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "8f03ea77-026c-5c8d-aa29-a7ff1d0f1626") + ) + (gr_line + (start 153.1 140.5) + (end 153.9 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "1436861d-6d51-5a72-9c96-c2344d13c4d2") + ) + (gr_line + (start 154.2 157) + (end 153.4 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "86403081-4364-503a-b80a-f2f6cfb17ca7") + ) + (gr_line + (start 154.4 140.5) + (end 155.2 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "ccc766d5-3f55-5aec-8baa-5bd07dd6131b") + ) + (gr_line + (start 155.5 157) + (end 154.7 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "bfbcc8cd-c216-527f-b9a7-d268475ede18") + ) + (gr_line + (start 155.7 140.5) + (end 156.5 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "ad991aa4-39b1-5562-8e4d-618b54b334f6") + ) + (gr_line + (start 156.8 157) + (end 156 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "22a543c4-7e51-5d19-9d27-dd391da9a84c") + ) + (gr_line + (start 157 140.5) + (end 157.8 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "82228b17-5750-59ca-ae15-db8f225cc196") + ) + (gr_line + (start 158.1 157) + (end 157.3 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "c53539ab-a3f2-50c7-b026-d8ee2b891494") + ) + (gr_line + (start 158.3 140.5) + (end 159.1 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "a913db38-7f74-57c4-9b25-430980512811") + ) + (gr_line + (start 159.4 157) + (end 158.6 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "d27e8b9c-b1ea-5c18-8278-394acbdabfbf") + ) + (gr_line + (start 159.6 140.5) + (end 160.4 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "1e0f312b-86c8-58a4-a0e3-704649cf1e0f") + ) + (gr_line + (start 160.7 157) + (end 159.9 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "41161fc2-6555-570c-a906-eda5f8b94e9d") + ) + (gr_line + (start 160.9 140.5) + (end 161.7 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "b7878612-ec05-578a-b6bc-a585ae66410f") + ) + (gr_line + (start 162 157) + (end 161.2 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "cd6af73e-4d80-5b67-b089-a36575ee79d0") + ) + (gr_line + (start 162.2 140.5) + (end 163 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "fa67187e-ef24-5fd6-b707-0826f86595da") + ) + (gr_line + (start 163.3 157) + (end 162.5 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "c19669ff-2796-59fa-8d21-374f70cc47a1") + ) + (gr_line + (start 163.5 140.5) + (end 164.3 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "017159d4-f763-5935-96be-819d9cf7878e") + ) + (gr_line + (start 164.6 157) + (end 163.8 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "3b334bf8-d470-576e-8018-5c023737fbfa") + ) + (gr_line + (start 164.8 140.5) + (end 165.6 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "c1e3293a-42b2-5558-b6aa-48e5a4276edf") + ) + (gr_line + (start 165.9 157) + (end 165.1 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "f567ed85-7e5a-5353-a3f2-497dde11e131") + ) + (gr_line + (start 166.1 140.5) + (end 166.9 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "ead94f5c-d608-5c11-9d40-ec05ada8d73d") + ) + (gr_line + (start 167.2 157) + (end 166.4 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "9bec74a1-b2b0-5663-8243-5e9fe9325dbf") + ) + (gr_line + (start 167.4 140.5) + (end 168.2 140.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "f78963f3-3bdf-5404-b632-3b6521f61c77") + ) + (gr_line + (start 168.5 140.5) + (end 168.5 141.3) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "c6e5c586-d62a-554c-9efe-2237f792fca4") + ) + (gr_line + (start 168.5 141.8) + (end 168.5 142.6) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "a5299371-ef8c-518b-a9d5-9e8a242ac835") + ) + (gr_line + (start 168.5 143.1) + (end 168.5 143.9) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "eae4089a-dce4-52fa-aba8-5bb5072f13f3") + ) + (gr_line + (start 168.5 144.4) + (end 168.5 145.2) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "960176a3-1513-546b-995b-a38341db4120") + ) + (gr_line + (start 168.5 145.7) + (end 168.5 146.5) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "c9fa2037-2c3c-5a66-9df9-41d3bc1eb88e") + ) + (gr_line + (start 168.5 147) + (end 168.5 147.8) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "8d353170-b534-5f6e-b0a2-5601ef413400") + ) + (gr_line + (start 168.5 148.3) + (end 168.5 149.1) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "ae95f6b3-86a4-591b-9619-b43cfb481f89") + ) + (gr_line + (start 168.5 149.6) + (end 168.5 150.4) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "fa9dcc79-d45b-5629-aaf5-febdb74782dd") + ) + (gr_line + (start 168.5 150.9) + (end 168.5 151.7) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "67587d58-c9fa-51d6-b90c-2fae3175d65b") + ) + (gr_line + (start 168.5 152.2) + (end 168.5 153) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "c4fcb0ff-8d91-5c60-81b2-0546bd284ee2") + ) + (gr_line + (start 168.5 153.5) + (end 168.5 154.3) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "33c787fb-1f73-52fc-b3e3-865cdc8d5da4") + ) + (gr_line + (start 168.5 154.8) + (end 168.5 155.6) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "3b734e22-c7bc-5bbc-b9b8-5f790cbf1389") + ) + (gr_line + (start 168.5 156.1) + (end 168.5 156.9) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "cf25e2e9-2244-5dbc-8a41-12843d40441e") + ) + (gr_line + (start 168.5 157) + (end 167.7 157) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "1e5e9d07-9557-5786-a182-7f0313e5797f") + ) + (gr_line + (start 169 136) + (end 169 162) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "cd62f738-1d93-5fc0-9290-2414676652c8") + ) + (gr_line + (start 169 162) + (end 143 162) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "1af3fb4e-80e9-5ef1-b3dc-5a02d2828ea8") + ) + (gr_arc + (start 172.845 126.797) + (mid 172.101051 128.593051) + (end 170.305 129.336999) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "c62b295c-ee54-5fb8-a84a-62d59f4f6f07") + ) + (gr_line + (start 172.845 126.797) + (end 172.845 100.28) + (stroke + (width 0.12) + (type default) + ) + (layer "F.SilkS") + (uuid "4cfe669d-785f-544f-8f26-a6120f2d5aa8") + ) + (gr_rect + (start 141.57 101.93) + (end 172.37 102.329999) + (stroke + (width 0.1) + (type default) + ) + (fill no) + (layer "Dwgs.User") + (uuid "a63c3bd0-77b3-5a7b-985f-217cdbe9ba3d") + ) + (gr_rect + (start 141.814188 97.13) + (end 147.125811 101.93) + (stroke + (width 0.1) + (type default) + ) + (fill no) + (layer "Dwgs.User") + (uuid "c3c1afd7-b296-5fb5-9222-3bc5748a47b7") + ) + (gr_line + (start 144.47 102.43) + (end 144.47 96.63) + (stroke + (width 0.08) + (type default) + ) + (layer "Dwgs.User") + (uuid "9b0e8653-6263-5653-ad4c-8a9cbb9d2601") + ) + (gr_rect + (start 148.530981 96.13) + (end 165.409018 101.93) + (stroke + (width 0.1) + (type default) + ) + (fill no) + (layer "Dwgs.User") + (uuid "7faaeb3d-233c-5538-91e1-95c4103ad5db") + ) + (gr_rect + (start 166.814188 97.13) + (end 172.125811 101.93) + (stroke + (width 0.1) + (type default) + ) + (fill no) + (layer "Dwgs.User") + (uuid "8566ee06-7e9b-58cd-9c1f-9d311905cfec") + ) + (gr_line + (start 169.47 102.43) + (end 169.47 96.63) + (stroke + (width 0.08) + (type default) + ) + (layer "Dwgs.User") + (uuid "b85e91f4-b8d4-5ff6-8d7a-e6ef71e6fe7f") + ) + (gr_line + (start 100 119) + (end 136 119) + (stroke + (width 0.05) + (type default) + ) + (layer "Edge.Cuts") + (uuid "1dc7a9fd-03af-4394-8ed1-9a6edc5f15e6") + ) + (gr_line + (start 100 180) + (end 100 119) + (stroke + (width 0.05) + (type default) + ) + (layer "Edge.Cuts") + (uuid "f3fe1b44-d774-4285-b572-67c64ac82b95") + ) + (gr_line + (start 136 100) (end 182 100) (stroke (width 0.05) @@ -3015,8 +4021,8 @@ (uuid "c7599f57-6a67-4917-b673-436faff51ee4") ) (gr_line - (start 100 161) - (end 100 100) + (start 136 119) + (end 136 100) (stroke (width 0.05) (type default) @@ -3024,26 +4030,6 @@ (layer "Edge.Cuts") (uuid "390e3d7e-1ebd-4f8c-9ba4-0ebdd92195a1") ) - (gr_line - (start 136 161) - (end 100 161) - (stroke - (width 0.05) - (type default) - ) - (layer "Edge.Cuts") - (uuid "1dc7a9fd-03af-4394-8ed1-9a6edc5f15e6") - ) - (gr_line - (start 136 180) - (end 136 161) - (stroke - (width 0.05) - (type default) - ) - (layer "Edge.Cuts") - (uuid "f3fe1b44-d774-4285-b572-67c64ac82b95") - ) (gr_line (start 182 100) (end 182 180) @@ -3056,7 +4042,7 @@ ) (gr_line (start 182 180) - (end 136 180) + (end 100 180) (stroke (width 0.05) (type default) @@ -3064,6 +4050,17 @@ (layer "Edge.Cuts") (uuid "17ad1955-d7db-47eb-a736-baff736aac39") ) + (gr_text "HEADER GUIDES" + (at 120.7 151 0) + (layer "F.SilkS") + (uuid "2b9b8e99-a473-51bc-8241-448388f63fcb") + (effects + (font + (size 0.85 0.85) + (thickness 0.12) + ) + ) + ) (gr_text "BACK" (at 146.25 175 0) (layer "F.SilkS") @@ -3109,7 +4106,7 @@ ) ) (gr_text "ESP32 HW678" - (at 120.7 129 0) + (at 120.7 148 0) (layer "F.SilkS") (uuid "f45876c7-f270-4231-bfa4-b69ded09f3a4") (effects @@ -3131,7 +4128,7 @@ ) ) (gr_text "MAX3243 REF" - (at 156.97 121 0) + (at 156.97 117.67 0) (layer "F.SilkS") (uuid "fa700fde-d4f3-437c-9b51-4322d0fd68e0") (effects @@ -3141,8 +4138,19 @@ ) ) ) - (gr_text "Carrier envelope only; module overhang and connector clearance not qualified" - (at 141 97.5 0) + (gr_text "CAD METAL ENVELOPES - NOT CASE CUTOUT" + (at 156.97 109 0) + (layer "Dwgs.User") + (uuid "7980ebeb-f20b-55f4-9bb1-05d1ff647c6b") + (effects + (font + (size 0.65 0.65) + (thickness 0.1) + ) + ) + ) + (gr_text "Nominal RS-232 metal verified; ESP32 USB / antenna / assembly clearance pending" + (at 141 93.5 0) (layer "Dwgs.User") (uuid "de46e0e9-8a3a-42d0-b1c7-8915a9856836") (effects @@ -3153,7 +4161,7 @@ ) ) (gr_text "USB ACCESS - VERIFY" - (at 118 164 0) + (at 118 183 0) (layer "Dwgs.User") (uuid "c695eb94-004e-4a56-801a-0ca6797a46b2") (effects @@ -3164,7 +4172,7 @@ ) ) (gr_text "VERIFY ANTENNA" - (at 120.5 110 0) + (at 120.5 129 0) (layer "Dwgs.User") (uuid "ce061da3-831a-4fb1-9676-9177435d649e") (effects @@ -3174,8 +4182,8 @@ ) ) ) - (gr_text "DE-9 OUT / VERIFY MALE" - (at 156.97 101.5 0) + (gr_text "DE-9 OUT / NOMINAL MALE" + (at 156.97 106 0) (layer "Dwgs.User") (uuid "94303a67-2a65-4a16-9499-2b409a657ba6") (effects @@ -3186,7 +4194,7 @@ ) ) (gr_text "RF RESERVE" - (at 120.5 107 0) + (at 120.5 126 0) (layer "Dwgs.User") (uuid "e8228b54-6114-48a6-80ef-7f0a68175b1d") (effects @@ -3197,7 +4205,7 @@ ) ) (gr_text "82 x 80 mm / 2 copper layers" - (at 141 95 0) + (at 141 91 0) (layer "Dwgs.User") (uuid "a742de35-8412-472f-a2e3-0b85d84866bc") (effects @@ -3208,20 +4216,44 @@ ) ) (segment - (start 150.05 166.85) - (end 150 166.8) + (start 133.949999 169.9) + (end 133.85 169.9) (width 0.25) (layer "F.Cu") (net "/BTN_SELECT") - (uuid "2ca48f4c-caaf-4edf-91aa-bc1b0b09121f") + (uuid "0bead82f-1ee1-444b-8df1-7b9fe5993336") ) (segment - (start 150.15 166.9) - (end 150.1 166.85) + (start 150.05 169.15) + (end 150 169.2) (width 0.25) (layer "F.Cu") (net "/BTN_SELECT") - (uuid "2e9c8e2e-aa80-4870-8047-1a547cf807bb") + (uuid "10ad3d08-02fe-4fdf-8961-5a8f2df8e51f") + ) + (segment + (start 134.05 169.85) + (end 134 169.85) + (width 0.25) + (layer "F.Cu") + (net "/BTN_SELECT") + (uuid "1bec74d0-10c5-4854-98ab-3856478f1f5c") + ) + (segment + (start 133.6 170) + (end 109.3 170) + (width 0.25) + (layer "F.Cu") + (net "/BTN_SELECT") + (uuid "46b0da28-ea19-4da7-b86b-bda52f05f834") + ) + (segment + (start 108 168.7) + (end 108 168.72) + (width 0.25) + (layer "F.Cu") + (net "/BTN_SELECT") + (uuid "4a88aaf6-4631-4c87-85f7-42c47e73e0ab") ) (segment (start 155 168) @@ -3229,23 +4261,55 @@ (width 0.25) (layer "F.Cu") (net "/BTN_SELECT") - (uuid "63d1bc13-ae01-4f3b-9685-dcabd23383cc") + (uuid "51b7f32a-3173-4aba-8a70-98f9cb39acd9") ) (segment - (start 108 149.7) - (end 108 149.72) + (start 134.199999 169.75) + (end 134.15 169.75) (width 0.25) (layer "F.Cu") (net "/BTN_SELECT") - (uuid "6cf1010e-2a68-49cc-9423-800ad5448867") + (uuid "5d9829da-980b-41ab-8df1-3cc6fdb75ebc") ) (segment - (start 149.9 166.8) - (end 149.85 166.75) + (start 134.7 169.25) + (end 134.199999 169.75) (width 0.25) (layer "F.Cu") (net "/BTN_SELECT") - (uuid "7cae9c9a-b667-4d55-b9bd-fb7f47c5ce12") + (uuid "618b09bb-b1b6-457b-9355-f755248d35ff") + ) + (segment + (start 150 169.2) + (end 149.9 169.2) + (width 0.25) + (layer "F.Cu") + (net "/BTN_SELECT") + (uuid "62a26a49-0768-4185-9186-ba8e8cccc57b") + ) + (segment + (start 151.35 168) + (end 150.35 169) + (width 0.25) + (layer "F.Cu") + (net "/BTN_SELECT") + (uuid "64a6cfa2-ef20-4174-90fb-51361959fd76") + ) + (segment + (start 133.8 169.95) + (end 133.65 169.95) + (width 0.25) + (layer "F.Cu") + (net "/BTN_SELECT") + (uuid "69bfd1a3-5b67-4a84-93b4-f7f83d5b3565") + ) + (segment + (start 149.85 169.25) + (end 134.7 169.25) + (width 0.25) + (layer "F.Cu") + (net "/BTN_SELECT") + (uuid "7fdaf338-8ac7-481d-85b7-6ed49b8a35f5") ) (segment (start 155 168) @@ -3253,87 +4317,95 @@ (width 0.25) (layer "F.Cu") (net "/BTN_SELECT") - (uuid "8ae59a3b-62db-4a55-9f9f-f6a3ff5648eb") + (uuid "9deb2320-69b9-49bc-b005-31bd63f210f6") ) (segment - (start 150.3 167) - (end 150.2 166.9) + (start 134 169.85) + (end 133.949999 169.9) (width 0.25) (layer "F.Cu") (net "/BTN_SELECT") - (uuid "8cd04afe-3266-4c8b-b0fb-0ab8c93004b0") + (uuid "9e623456-2066-438d-b8e6-b9739fd4e0fa") ) (segment - (start 150.1 166.85) - (end 150.05 166.85) + (start 133.85 169.9) + (end 133.8 169.95) (width 0.25) (layer "F.Cu") (net "/BTN_SELECT") - (uuid "90411caf-861a-4fd5-b4e8-86e43f464bbb") + (uuid "9e8737f2-db63-4b5d-92f5-540eff3134bb") ) (segment - (start 143.05 166.75) - (end 136.65 160.35) + (start 150.35 169) + (end 150.3 169) (width 0.25) (layer "F.Cu") (net "/BTN_SELECT") - (uuid "979e261c-d6fd-423a-abfe-16538b15841b") + (uuid "b2539077-f1f9-4d70-81e4-4048b577a61b") ) (segment - (start 149.85 166.75) - (end 143.05 166.75) + (start 134.15 169.75) + (end 134.05 169.85) (width 0.25) (layer "F.Cu") (net "/BTN_SELECT") - (uuid "a76ff2a9-750b-457a-9033-a8c19d310f81") + (uuid "b2b2b793-b0f1-4de6-949c-d12947580177") ) (segment - (start 150.35 167) - (end 150.3 167) + (start 150.15 169.1) + (end 150.1 169.15) (width 0.25) (layer "F.Cu") (net "/BTN_SELECT") - (uuid "ac26f983-c32f-4e87-988a-ae17d46ed7dd") + (uuid "b64ba5dd-8030-466b-9b00-c44c8d64fce4") ) (segment - (start 118.65 160.35) - (end 108 149.7) + (start 133.65 169.95) + (end 133.6 170) (width 0.25) (layer "F.Cu") (net "/BTN_SELECT") - (uuid "aed62969-8700-4600-b3c5-441f747027c9") + (uuid "b78dde75-64b2-4290-ae80-9b8a3a06cbf4") ) (segment - (start 136.65 160.35) - (end 118.65 160.35) + (start 150.3 169) + (end 150.2 169.1) (width 0.25) (layer "F.Cu") (net "/BTN_SELECT") - (uuid "b25b7999-ab39-45b1-baa0-3ac4875519fa") + (uuid "c3286c6d-0250-4bdc-ba30-f78d8faf6904") ) (segment - (start 150.2 166.9) - (end 150.15 166.9) + (start 150.1 169.15) + (end 150.05 169.15) (width 0.25) (layer "F.Cu") (net "/BTN_SELECT") - (uuid "c81a6a1e-d922-48ad-8ca4-fcccc2c9f22b") + (uuid "cf05c621-c6b2-4a2f-b0fa-36a2d18f4c26") ) (segment - (start 150 166.8) - (end 149.9 166.8) + (start 149.9 169.2) + (end 149.85 169.25) (width 0.25) (layer "F.Cu") (net "/BTN_SELECT") - (uuid "cb2e8e22-837a-4971-8d97-ee5d7befd912") + (uuid "da8b3ae1-383c-40b5-a43b-65f87e2510d8") ) (segment - (start 151.35 168) - (end 150.35 167) + (start 109.3 170) + (end 108 168.7) (width 0.25) (layer "F.Cu") (net "/BTN_SELECT") - (uuid "e99fad86-9d1c-411d-8fd6-8fa6528f958e") + (uuid "ea26376d-e7c6-4833-b005-eef476be3d60") + ) + (segment + (start 150.2 169.1) + (end 150.15 169.1) + (width 0.25) + (layer "F.Cu") + (net "/BTN_SELECT") + (uuid "ef76cd50-c8df-435d-8f37-edef67daca82") ) (segment (start 161.6 134) @@ -3341,15 +4413,7 @@ (width 0.25) (layer "B.Cu") (net "/BTN_SELECT") - (uuid "9b2d7eda-15b2-4d9f-9165-6a55da04f07d") - ) - (segment - (start 161.5 168) - (end 161.5 134.1) - (width 0.25) - (layer "B.Cu") - (net "/BTN_SELECT") - (uuid "c38e98a9-d513-491d-906b-e42864c25043") + (uuid "15c5caea-afd8-4f13-ad41-65aa162be77b") ) (segment (start 161.5 134.1) @@ -3357,39 +4421,31 @@ (width 0.25) (layer "B.Cu") (net "/BTN_SELECT") - (uuid "f720f695-a356-4c5a-b02f-2e018c3688f1") + (uuid "2b971840-588b-4f00-a60f-ef4d726679e3") ) (segment - (start 137.65 123.8) - (end 138.05 123.8) + (start 161.5 168) + (end 161.5 134.1) + (width 0.25) + (layer "B.Cu") + (net "/BTN_SELECT") + (uuid "38b14c4a-1117-48f1-84c2-69df406efd45") + ) + (segment + (start 144.4 125.25) + (end 135.65 125.25) (width 0.5) (layer "F.Cu") (net "/GND") - (uuid "062ec7a8-919a-497a-97a0-ddae3ef5d348") + (uuid "276a7101-8bcd-4fc1-a600-63095465aeb9") ) (segment - (start 152.2 137.5) - (end 152.19 137.5) + (start 135.65 125.25) + (end 133.4 123) (width 0.5) (layer "F.Cu") (net "/GND") - (uuid "0780f6a7-5743-4823-afdf-bcb3ffbb766b") - ) - (segment - (start 139.9 126.35) - (end 138.1 126.35) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "2e350640-0d2f-409c-8211-6ed0f0d505c4") - ) - (segment - (start 141.25 126.65) - (end 141.1 126.5) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "3bd08c2e-2976-4060-833e-975af6111886") + (uuid "36a61d44-e817-4d3f-b487-1554bb00450c") ) (segment (start 155 172.5) @@ -3397,175 +4453,23 @@ (width 0.5) (layer "F.Cu") (net "/GND") - (uuid "445f0d2c-61f4-4e6e-bbdd-8cda9e106286") + (uuid "5483317e-7a20-4f3a-b0f3-13553cc537fe") ) (segment - (start 167 172.5) - (end 173.5 172.5) + (start 133.4 176.34) + (end 133.4 176.35) (width 0.5) (layer "F.Cu") (net "/GND") - (uuid "4634a84c-2c52-4b07-b87e-077713b8b65b") + (uuid "557bc89e-e637-4518-a38d-5e10409f6fda") ) (segment - (start 136.6 124.85) - (end 137.65 123.8) + (start 133.4 176.35) + (end 108 176.35) (width 0.5) (layer "F.Cu") (net "/GND") - (uuid "4cc6b082-2d6a-447e-a4c8-edce26d3c89b") - ) - (segment - (start 141.4 126.7) - (end 141.35 126.7) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "5c6876a9-b846-4dee-bac9-f822198de4fe") - ) - (segment - (start 139.95 126.4) - (end 139.9 126.35) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "60f9cf14-acee-4714-8f50-97f484beb0e1") - ) - (segment - (start 155 172.5) - (end 149.5 172.5) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "63102bb9-835e-4f0b-b997-b4bc5cd020f7") - ) - (segment - (start 161.5 172.5) - (end 167 172.5) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "6c7a5d4d-92f6-46fc-9d28-102dc0e3ccd2") - ) - (segment - (start 141.6 126.8) - (end 141.55 126.75) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "712676fc-4118-4a5e-9fe7-a318da1b124e") - ) - (segment - (start 140.05 126.45) - (end 140 126.4) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "778750de-7212-4471-b32b-1cdd52481f25") - ) - (segment - (start 140 126.4) - (end 139.95 126.4) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "862828a6-cd48-42f2-ac81-cdb8cbd0eaa5") - ) - (segment - (start 145.6 142.6) - (end 147.1 142.6) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "941c030e-d580-49fa-b912-aa23a606d94b") - ) - (segment - (start 141.45 126.75) - (end 141.4 126.7) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "946ca9ab-b94e-4eb1-97bd-db446dbb2070") - ) - (segment - (start 152.2 137.5) - (end 148.2 137.5) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "a92a491b-514e-4dbc-8c26-f033be54c83c") - ) - (segment - (start 141.55 126.75) - (end 141.45 126.75) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "abc10578-adf1-4ee4-83cc-2d4559fd714b") - ) - (segment - (start 141.1 126.5) - (end 140.2 126.5) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "b5d48360-928f-4530-82f9-8061822d85a3") - ) - (segment - (start 141.3 126.65) - (end 141.25 126.65) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "b983cf0b-bb7d-4c01-a296-54249e72e248") - ) - (segment - (start 140.15 126.45) - (end 140.05 126.45) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "c29c2674-e034-4229-a124-326b5c54f337") - ) - (segment - (start 135.7 106.3) - (end 133.4 104) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "c628d8a8-b123-4fe0-8562-3748e9fc5dd9") - ) - (segment - (start 147.1 142.6) - (end 152.2 137.5) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "c8ecfd48-7cb3-4017-b729-5def0ab249bf") - ) - (segment - (start 140.2 126.5) - (end 140.15 126.45) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "d8d8fd1e-027c-4d09-aa2d-1e3173f17106") - ) - (segment - (start 141.35 126.7) - (end 141.3 126.65) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "e0994632-549f-45a3-94d6-abae8e93e3b6") - ) - (segment - (start 152.19 137.5) - (end 152.2 137.5) - (width 0.5) - (layer "F.Cu") - (net "/GND") - (uuid "ec923ddb-c0f0-4411-8f63-a15a6c0126cf") + (uuid "74b97b96-d7de-4bf2-a24e-d4e3e0af732f") ) (segment (start 149.5 172.5) @@ -3573,575 +4477,343 @@ (width 0.5) (layer "F.Cu") (net "/GND") - (uuid "f451527c-1cb0-4d22-9621-0cb92a23d8f8") + (uuid "7f4000a0-39ce-4aae-85e0-cd1263ea5b3f") ) (segment - (start 142.5 126.8) - (end 141.6 126.8) + (start 155 172.5) + (end 149.5 172.5) (width 0.5) (layer "F.Cu") (net "/GND") - (uuid "fc57052e-682c-4645-8ccc-c191da394647") - ) - (via - (at 138.1 126.35) - (size 0.7) - (drill 0.3) - (layers "F.Cu" "B.Cu") - (net "/GND") - (uuid "21983e9e-8939-41a0-9759-f2d35c920f0b") - ) - (via - (at 135.7 106.3) - (size 0.7) - (drill 0.3) - (layers "F.Cu" "B.Cu") - (net "/GND") - (uuid "307e359a-152b-4f1e-9a62-54b99c3276b7") - ) - (via - (at 142.5 126.8) - (size 0.7) - (drill 0.3) - (layers "F.Cu" "B.Cu") - (net "/GND") - (uuid "349110ac-8618-4c55-a690-63c518ad5c75") - ) - (via - (at 138.05 123.8) - (size 0.7) - (drill 0.3) - (layers "F.Cu" "B.Cu") - (net "/GND") - (uuid "5d7db6c5-25c1-4e02-9a3d-3d63f265c67a") - ) - (via - (at 145.6 142.6) - (size 0.7) - (drill 0.3) - (layers "F.Cu" "B.Cu") - (net "/GND") - (uuid "a05633e0-8434-4e7f-bb4c-1c203afd4489") - ) - (via - (at 148.2 137.5) - (size 0.7) - (drill 0.3) - (layers "F.Cu" "B.Cu") - (net "/GND") - (uuid "a792b929-84ef-4016-8a36-28d2cbb1078d") - ) - (via - (at 136.6 124.85) - (size 0.7) - (drill 0.3) - (layers "F.Cu" "B.Cu") - (net "/GND") - (uuid "d507eff1-470b-420a-a77a-85d7c5ccbbf6") + (uuid "818050bc-4a91-42c9-ade1-f1035cf68e3d") ) (segment - (start 145.55 130) - (end 145.55 129.75) + (start 148.75 137.3) + (end 150.25 135.8) (width 0.5) - (layer "B.Cu") + (layer "F.Cu") (net "/GND") - (uuid "050b966d-0fab-4a00-898d-214eaa200368") + (uuid "892a0e9c-edf4-42c3-8068-83d1416cbd39") ) (segment (start 143 172.5) - (end 143 170) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "054c4fc1-0c7b-4fc1-a2a5-d4941c42644e") - ) - (segment - (start 141.75 168.65) - (end 141.7 168.6) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "059e9473-7760-4d4d-b8ee-4bf8268c6a1c") - ) - (segment - (start 146.25 137) - (end 146.2 136.95) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "0ac32a1c-f456-4aac-b44a-ceb90a493e81") - ) - (segment - (start 133.4 157.35) - (end 133.4 157.34) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "0b8a491d-cddb-4134-93e5-600aaf5c9416") - ) - (segment - (start 133.4 157.34) - (end 133.4 157.35) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "11b475e1-3b56-4988-bee8-02ab29074aa3") - ) - (segment - (start 146.6 137.3) - (end 146.55 137.3) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "129404ca-8af5-4dd8-acba-f028534228f5") - ) - (segment - (start 146.5 137.25) - (end 146.45 137.25) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "18bd0053-b950-49bb-8031-ae3dde615ec4") - ) - (segment - (start 143.25 127.45) - (end 143.2 127.45) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "1ae6dba6-e2d9-4b76-bd19-9f062e8d1eae") - ) - (segment - (start 145.55 129.75) - (end 143.25 127.45) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "1af0d18d-839d-4bd0-b28a-997e23b7570c") - ) - (segment - (start 146.1 130.55) - (end 145.55 130) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "1bc71896-03bb-4923-bd8e-7e5dc66a1147") - ) - (segment - (start 146.1 136.7) - (end 146.1 130.55) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "1c651f2a-0aa1-427c-a764-ed51c6dba644") - ) - (segment - (start 146.75 137.35) - (end 146.65 137.35) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "1e02d849-8c1e-4c06-af2e-3a5025acb86e") - ) - (segment - (start 146.2 136.95) - (end 146.2 136.9) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "32697408-4f5d-474f-a64d-a931fadab0b7") - ) - (segment - (start 138.1 126.35) - (end 136.6 124.85) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "4022ff9f-eed7-40db-b584-f28aece18450") - ) - (segment - (start 146.25 137.05) - (end 146.25 137) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "4682e6a7-18a2-49d9-806f-3a0d8acd611b") - ) - (segment - (start 146.45 137.25) - (end 146.25 137.05) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "4ebc81a7-6de1-4e43-a109-5a7c6a9fe6ec") - ) - (segment - (start 133.949999 157.35) - (end 133.4 157.35) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "4f1fe638-f2bd-4d20-95fe-97bfd04bdce5") - ) - (segment - (start 143.2 127.45) - (end 143.15 127.4) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "5cb8c93c-270b-4b1e-832c-f10b06bac4d1") - ) - (segment - (start 146.65 137.35) - (end 146.6 137.3) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "5dd9fa7c-e2a7-44f2-bd7e-06369f406a03") - ) - (segment - (start 141.6 168.25) - (end 141.6 165.55) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "64d18ee3-e55b-4846-a0ba-871d4f8ad8f9") - ) - (segment - (start 148.1 137.4) - (end 146.8 137.4) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "6e152c66-76d3-4e16-805c-6102eb45c3e1") - ) - (segment - (start 141.7 168.5) - (end 141.65 168.45) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "748967bb-1e5e-45ca-a407-1a55c5fb2d88") - ) - (segment - (start 143.1 127.4) - (end 142.5 126.8) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "787b6608-b0ae-487a-97b6-a7890d5eebda") - ) - (segment - (start 143 170) - (end 141.85 168.85) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "874560d5-951b-483b-9f5a-69e776a118f3") - ) - (segment - (start 108 157.35) - (end 108 157.34) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "87bd3ace-e823-406b-8b39-2505eb406ea2") - ) - (segment - (start 138.05 108.65) - (end 135.7 106.3) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "9c428306-2a0c-43bb-8804-6471454c8771") - ) - (segment - (start 146.15 136.75) - (end 146.1 136.7) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "9dfb8d7a-91a2-4599-9355-b3e867c7e85a") - ) - (segment - (start 136.8 160.75) - (end 136.8 160.2) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "a442ee4b-9707-4759-9560-56b044dc1ae2") - ) - (segment - (start 133.4 157.35) - (end 133.4 154.8) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "a766a7e9-86ef-4edd-addb-e7a8558ad0f8") - ) - (segment - (start 133.4 154.8) - (end 145.6 142.6) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "af8673fe-2632-4905-b72d-6134f38a85fa") - ) - (segment - (start 143.15 127.4) - (end 143.1 127.4) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "b5dacb90-31b0-4305-a09c-0e1875651f9d") - ) - (segment - (start 141.7 168.6) - (end 141.7 168.5) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "b7d247f2-c75c-4882-af6c-4a7ed17d9e48") - ) - (segment - (start 141.65 168.3) - (end 141.6 168.25) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "baec137d-7f1a-4c53-a594-729228d7dbcb") - ) - (segment - (start 138.05 123.8) - (end 138.05 108.65) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "c5b1e8d7-2949-49b3-867d-726042992209") - ) - (segment - (start 141.6 165.55) - (end 136.8 160.75) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "d1c47421-a327-4613-a505-2b18267d889b") - ) - (segment - (start 133.4 157.35) - (end 108 157.35) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "d9cf0b05-2453-498d-ae56-b6a861c81084") - ) - (segment - (start 133.4 157.34) - (end 133.4 157.35) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "dc686727-72db-49ef-870f-fc75fd7def45") - ) - (segment - (start 148.2 137.5) - (end 148.1 137.4) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "e15fdc35-bd8c-42db-a7c5-a60959ac1943") - ) - (segment - (start 146.2 136.9) - (end 146.15 136.85) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "e197337f-9a0e-48fc-a8a9-71d6c77a6fcb") - ) - (segment - (start 141.65 168.45) - (end 141.65 168.3) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "e464e0e3-b067-47f2-8af9-642c2b976192") - ) - (segment - (start 141.85 168.85) - (end 141.85 168.8) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "e92c78c6-f631-440f-b6ef-6d4a9e819481") - ) - (segment - (start 145.55 130) - (end 145.54 130) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "ea8bd7dd-7747-48bd-a107-dfe4ff5bd4fe") - ) - (segment - (start 141.85 168.8) - (end 141.75 168.7) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "f1055d74-42c3-4178-91d7-060a9d8205d7") - ) - (segment - (start 145.54 130) - (end 145.55 130) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "fac3b4df-ed96-46cd-ae42-63ec43d927aa") - ) - (segment - (start 146.15 136.85) - (end 146.15 136.75) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "fac714bb-04fb-4e0e-97bf-e88a0432218a") - ) - (segment - (start 146.55 137.3) - (end 146.5 137.25) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "faf37ba2-4861-4027-9b6f-6bae95adc7ee") - ) - (segment - (start 141.75 168.7) - (end 141.75 168.65) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "fc5c10a3-4eb6-4e6a-966e-7c80d28a2443") - ) - (segment - (start 136.8 160.2) - (end 133.949999 157.35) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "ff4844da-4ad1-45b1-ae9e-48666b525e32") - ) - (segment - (start 146.8 137.4) - (end 146.75 137.35) - (width 0.5) - (layer "B.Cu") - (net "/GND") - (uuid "ff738149-2af9-4d73-ae38-585e4bbf8597") - ) - (segment - (start 149.95 132.8) - (end 150 132.8) + (end 134.7 172.5) (width 0.5) (layer "F.Cu") - (net "/+3V3") - (uuid "00c03775-fbde-4ac6-b43a-c1a10505aec0") + (net "/GND") + (uuid "8d36b3c6-af43-4fbf-92c7-4f45f97b900c") ) (segment - (start 156.95 136.15) - (end 157 136.1) + (start 134.7 172.5) + (end 133.4 173.8) (width 0.5) (layer "F.Cu") - (net "/+3V3") - (uuid "0e1750df-819c-4275-9a26-925b4bf5aa0c") + (net "/GND") + (uuid "a2623c5c-5f28-4a61-bfca-5f1273eed5a7") ) (segment - (start 150.1 132.75) - (end 150.15 132.699999) + (start 145.54 126.67) + (end 145.55 126.65) (width 0.5) (layer "F.Cu") - (net "/+3V3") - (uuid "3154e85c-f416-4a80-b304-3ba6fb23ed8c") + (net "/GND") + (uuid "a4c67cfd-5fa3-484f-85f3-e3c82d59cc0b") ) (segment - (start 156.65 136.25) - (end 156.7 136.2) + (start 161.5 172.5) + (end 167 172.5) (width 0.5) (layer "F.Cu") - (net "/+3V3") - (uuid "35028c8a-a2d4-47b7-8cc6-da41927e2270") + (net "/GND") + (uuid "a6147a48-5550-4597-8de4-1dcb3c8756ce") ) (segment - (start 156.75 136.2) - (end 156.8 136.15) + (start 145.55 126.65) + (end 144.4 125.5) (width 0.5) (layer "F.Cu") - (net "/+3V3") - (uuid "36be543b-0d40-4178-bbb2-59ac876ff0c6") + (net "/GND") + (uuid "a8c8b3fe-60c8-42a7-8c5e-136a0cdfd590") ) (segment - (start 156.55 136.3) - (end 156.6 136.25) + (start 144.4 125.5) + (end 144.4 125.25) (width 0.5) (layer "F.Cu") - (net "/+3V3") - (uuid "380e3b36-627d-4d52-80a8-076bd53424f7") + (net "/GND") + (uuid "ceda1a43-b38d-429f-9bf8-1a79383cbe18") ) (segment - (start 150.15 132.699999) - (end 150.3 132.699999) + (start 167 172.5) + (end 173.5 172.5) (width 0.5) (layer "F.Cu") - (net "/+3V3") - (uuid "51d8cb1b-21f1-43e4-8152-4f68f9addf56") + (net "/GND") + (uuid "e6ab044d-fd33-4080-8de7-4573f281ceb0") ) (segment - (start 149.85 132.85) - (end 149.9 132.85) + (start 108 176.35) + (end 108 176.34) (width 0.5) (layer "F.Cu") - (net "/+3V3") - (uuid "5c3fe90d-e0f8-43d5-b610-7f764701a0e3") + (net "/GND") + (uuid "f3dd4cb1-362b-483a-8c86-e63d6fe311b2") + ) + (via + (at 148.75 137.3) + (size 0.7) + (drill 0.3) + (layers "F.Cu" "B.Cu") + (net "/GND") + (uuid "7e66538a-56b8-4c42-8443-0e3947ee0a50") + ) + (via + (at 150.25 135.8) + (size 0.7) + (drill 0.3) + (layers "F.Cu" "B.Cu") + (net "/GND") + (uuid "a3174b96-03c8-49f0-9f5f-417b656c8e40") ) (segment - (start 154.73 137.5) - (end 155.25 137.5) + (start 150.25 135.8) + (end 151.95 137.5) (width 0.5) - (layer "F.Cu") - (net "/+3V3") - (uuid "6313f027-35ed-4d63-8606-9f803bd6c3f0") + (layer "B.Cu") + (net "/GND") + (uuid "03d6ff8c-16a7-4469-b2db-8c097276ec4c") ) (segment - (start 155.25 137.5) - (end 156.35 136.4) + (start 148.15 168.3) + (end 148.1 168.25) (width 0.5) - (layer "F.Cu") - (net "/+3V3") - (uuid "6b117734-9eca-4808-8901-dcc20e08c836") + (layer "B.Cu") + (net "/GND") + (uuid "0436d2d5-7e3c-4343-a104-b27263f50378") ) (segment - (start 150 132.8) - (end 150.05 132.75) + (start 148.15 168.45) + (end 148.15 168.3) (width 0.5) - (layer "F.Cu") - (net "/+3V3") - (uuid "6d2ae8f4-2da4-453e-810e-679fc1a43907") + (layer "B.Cu") + (net "/GND") + (uuid "0cd2f1ba-dd20-43d0-88bf-b78d25caa7f2") ) (segment - (start 156.6 136.25) - (end 156.65 136.25) + (start 148.25 168.7) + (end 148.25 168.65) (width 0.5) - (layer "F.Cu") - (net "/+3V3") - (uuid "6e5a101e-f83e-41c4-acbd-563f50eac688") + (layer "B.Cu") + (net "/GND") + (uuid "0df43fc8-4848-4075-9ee2-84440d3d4c52") ) (segment - (start 150.35 132.65) - (end 152.65 132.65) + (start 148.1 168.25) + (end 148.1 156.55) (width 0.5) - (layer "F.Cu") - (net "/+3V3") - (uuid "70fa8b38-e2ed-4d7d-8622-284cb4c739c6") + (layer "B.Cu") + (net "/GND") + (uuid "114df41e-6104-445f-b52b-b623673294c3") + ) + (segment + (start 142.35 150.6) + (end 142.35 147.35) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "14253541-0b9a-498f-bf88-1d0492924bc8") + ) + (segment + (start 142.45 150.85) + (end 142.45 150.8) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "15922f8b-19cd-46aa-8710-a1ff98002c40") + ) + (segment + (start 142.45 150.8) + (end 142.4 150.75) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "188995db-0475-4b54-a8b7-65eeb5749138") + ) + (segment + (start 148.1 156.55) + (end 142.5 150.95) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "1cec3985-635b-4135-9b60-dbaec2902fff") + ) + (segment + (start 151.95 137.5) + (end 152.2 137.5) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "1e4c5737-9b1b-44d0-ada8-fe4401c0bf2c") + ) + (segment + (start 145.55 126.65) + (end 145.54 126.67) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "2b753da3-4d0e-4b90-98b5-55fb08c265a8") + ) + (segment + (start 142.4 150.75) + (end 142.4 150.65) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "2c4d2ac0-ae1a-4013-8088-567d7dad443c") + ) + (segment + (start 148.25 168.65) + (end 148.2 168.6) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "2f38905d-78e9-4853-b3d0-50b257179e7b") + ) + (segment + (start 142.35 147.35) + (end 148.75 140.95) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "356fc46f-b514-4320-b6bd-0e0d158643a8") + ) + (segment + (start 133.4 173.8) + (end 133.4 176.35) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "44e9889c-9490-432d-a008-5bfbfce28962") + ) + (segment + (start 148.75 140.95) + (end 148.75 137.3) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "45789c67-e414-4c43-bff0-c57e15992b2c") + ) + (segment + (start 148.2 168.6) + (end 148.2 168.5) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "5b48705f-d547-4a77-84fa-6e4149256b50") + ) + (segment + (start 148.2 168.5) + (end 148.15 168.45) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "68657908-8a9e-41e0-832d-7e05a448acea") + ) + (segment + (start 148.35 168.85) + (end 148.35 168.8) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "6b91cd8a-246d-4cfc-9398-242d2912fc37") + ) + (segment + (start 133.4 176.35) + (end 133.4 176.34) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "81988ad6-ff20-4617-b14e-2b3478b16bd4") + ) + (segment + (start 149.5 170) + (end 148.35 168.85) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "88c50c34-fa4a-4fb9-89c7-fb8e40fcaad2") + ) + (segment + (start 149.5 172.5) + (end 149.5 170) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "91ba911d-2d9d-4a42-a692-6376d6ed8d8a") + ) + (segment + (start 142.4 150.65) + (end 142.35 150.6) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "9889c4e3-9006-4f19-9670-ca49a4f26c11") + ) + (segment + (start 152.2 133.3) + (end 145.55 126.65) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "9e80e1c0-4aaa-4ebc-9689-497f9e2d3e92") + ) + (segment + (start 142.5 150.9) + (end 142.45 150.85) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "a5a06a16-7ca2-483f-8a85-15e8cb114c34") + ) + (segment + (start 152.2 137.5) + (end 152.2 133.3) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "b88df4ea-9af3-402e-b7ca-59ce0b2065bb") + ) + (segment + (start 142.5 150.95) + (end 142.5 150.9) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "bb6f2a19-c80b-406c-8cd5-3c98b77ac7cb") + ) + (segment + (start 152.2 137.5) + (end 152.19 137.5) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "be0612b6-9ad5-496c-af34-27fb7bb2e667") + ) + (segment + (start 152.19 137.5) + (end 152.2 137.5) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "daf2d1fc-dec8-4e75-b894-eda08e17fba7") + ) + (segment + (start 148.35 168.8) + (end 148.25 168.7) + (width 0.5) + (layer "B.Cu") + (net "/GND") + (uuid "e1a92e9c-97e5-4400-b977-42536a8d2f2d") ) (segment (start 157 136.1) @@ -4149,47 +4821,23 @@ (width 0.5) (layer "F.Cu") (net "/+3V3") - (uuid "815fc8aa-9a2c-4082-91c8-c4d461d9afa4") + (uuid "035f44c0-74b7-4161-a7cd-674edb64837e") ) (segment - (start 156.35 136.4) - (end 156.4 136.4) + (start 150.15 132.699999) + (end 150.3 132.699999) (width 0.5) (layer "F.Cu") (net "/+3V3") - (uuid "9a8a9080-b6a9-4605-95ea-fe8af80f4179") + (uuid "073a79bf-6f12-4c76-ba49-fbbfb977d470") ) (segment - (start 156.8 136.15) - (end 156.95 136.15) + (start 154.73 137.5) + (end 155.25 137.5) (width 0.5) (layer "F.Cu") (net "/+3V3") - (uuid "9ae98808-d6c1-4b3f-a030-0774c67b9e58") - ) - (segment - (start 156.7 136.2) - (end 156.75 136.2) - (width 0.5) - (layer "F.Cu") - (net "/+3V3") - (uuid "a51f68a0-c322-4c58-ab69-d8db9fa396b0") - ) - (segment - (start 152.65 132.65) - (end 154 134) - (width 0.5) - (layer "F.Cu") - (net "/+3V3") - (uuid "a680435f-dbe5-4fc0-83c7-ccc3a9708d09") - ) - (segment - (start 156.5 136.3) - (end 156.55 136.3) - (width 0.5) - (layer "F.Cu") - (net "/+3V3") - (uuid "b03ae305-41a9-47a2-9fae-72e8cf737304") + (uuid "1808790d-c6c4-41e4-8d89-55db5020f596") ) (segment (start 150.3 132.699999) @@ -4197,39 +4845,15 @@ (width 0.5) (layer "F.Cu") (net "/+3V3") - (uuid "db343ea2-f2f9-47d5-8503-211ac60913d6") + (uuid "18bac46c-c87a-4575-b8af-1934ea6110c4") ) (segment - (start 156.4 136.4) - (end 156.5 136.3) + (start 149.85 132.85) + (end 149.9 132.85) (width 0.5) (layer "F.Cu") (net "/+3V3") - (uuid "e5a78ac4-11bc-43a1-9f5e-7359f7edc6bc") - ) - (segment - (start 150.05 132.75) - (end 150.1 132.75) - (width 0.5) - (layer "F.Cu") - (net "/+3V3") - (uuid "ea77f26b-2d89-4dc2-b5f9-0470ef51207a") - ) - (segment - (start 162.9 136.1) - (end 165 134) - (width 0.5) - (layer "F.Cu") - (net "/+3V3") - (uuid "f7458ec5-bbd7-4083-9ed8-6fdc9edc1856") - ) - (segment - (start 149.9 132.85) - (end 149.95 132.8) - (width 0.5) - (layer "F.Cu") - (net "/+3V3") - (uuid "f8789791-00a0-4718-b943-eb05c986fb74") + (uuid "20378a0c-b433-42ba-a643-c5af22ce09ed") ) (segment (start 148.7 134) @@ -4237,7 +4861,15 @@ (width 0.5) (layer "F.Cu") (net "/+3V3") - (uuid "fe528e51-ecf9-4156-a316-7ebc95138ac6") + (uuid "28595a1b-947e-4fdd-be3e-d725cdabbcd4") + ) + (segment + (start 156.5 136.3) + (end 156.55 136.3) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "361c324e-8744-478b-be5c-40c6d3d8e6ee") ) (segment (start 143 134) @@ -4245,199 +4877,215 @@ (width 0.5) (layer "F.Cu") (net "/+3V3") - (uuid "feb0a612-7187-4cad-80c1-0d46155c56d0") + (uuid "4049aa0f-3f17-41c6-b441-9570a4d1df85") ) (segment - (start 134.8 103.75) - (end 134.8 121.8) + (start 150.1 132.75) + (end 150.15 132.699999) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "49bb5dc7-5ca7-4d9c-8bb0-79ddb15d928f") + ) + (segment + (start 156.8 136.15) + (end 156.95 136.15) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "4db270fc-c773-4b79-b538-bf1c5924ee02") + ) + (segment + (start 156.4 136.4) + (end 156.5 136.3) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "56ecb5e9-0ff9-490c-8319-32e1c98dad95") + ) + (segment + (start 156.65 136.25) + (end 156.7 136.2) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "5ca9fbf4-0761-4787-a650-a91f24622482") + ) + (segment + (start 152.65 132.65) + (end 154 134) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "5e71cee0-5251-4a9d-9a39-a542dbccc3ef") + ) + (segment + (start 156.95 136.15) + (end 157 136.1) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "757e1216-0b80-4fbf-8378-491399e3684c") + ) + (segment + (start 149.95 132.8) + (end 150 132.8) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "79379f9c-e912-4b19-af4c-1638bb948703") + ) + (segment + (start 156.35 136.4) + (end 156.4 136.4) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "82ca8e7e-0080-42a7-8f1a-5b3e1572d519") + ) + (segment + (start 155.25 137.5) + (end 156.35 136.4) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "9548a695-9c5c-4071-b37a-75f34b59b132") + ) + (segment + (start 150.05 132.75) + (end 150.1 132.75) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "97355a54-7801-4a02-8b6f-e1d31d364035") + ) + (segment + (start 156.7 136.2) + (end 156.75 136.2) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "9a29d7b6-f09f-4fca-8184-2491420d478f") + ) + (segment + (start 150 132.8) + (end 150.05 132.75) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "a2b2baa5-e50d-449a-ab05-53aaaf15c06c") + ) + (segment + (start 156.6 136.25) + (end 156.65 136.25) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "bc45aa48-f842-4e48-9b9c-c340ca438081") + ) + (segment + (start 156.55 136.3) + (end 156.6 136.25) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "d88dfd01-7676-427f-802c-36b0277cc6c1") + ) + (segment + (start 150.35 132.65) + (end 152.65 132.65) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "da453fcc-84cc-470b-bc5a-49aa69700fa2") + ) + (segment + (start 156.75 136.2) + (end 156.8 136.15) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "de5c3ecf-f02d-4f7b-ae20-dc89513ecad3") + ) + (segment + (start 149.9 132.85) + (end 149.95 132.8) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "eab2ad52-ceaa-4fcb-ba9d-336bbc8745de") + ) + (segment + (start 162.9 136.1) + (end 165 134) + (width 0.5) + (layer "F.Cu") + (net "/+3V3") + (uuid "f94e272d-4022-46b3-84f0-b3549713741a") + ) + (segment + (start 134.05 121.75) + (end 134.1 121.75) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "0c5a7b37-dc7a-4ada-881f-09564895a9dc") + (uuid "00b004e4-0459-4fa2-970e-10b1d2cb17d9") ) (segment - (start 132.75 102.75) - (end 132.8 102.7) + (start 133.65 121.6) + (end 133.699999 121.65) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "10a93fd0-7cf1-4d86-975e-02fd865e25ad") + (uuid "00c11337-3713-43be-a45f-6afc36b05066") ) (segment - (start 134.55 103.2) - (end 134.65 103.3) + (start 132.75 121.75) + (end 132.8 121.7) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "16183462-2fcc-4be7-9c6b-33868843544d") + (uuid "0a16a997-2e4b-48c0-881e-0696fb2186bc") ) (segment - (start 154.75 137.5) - (end 154.73 137.5) + (start 132.1 122.5) + (end 132.1 122.4) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "1c1effb2-2d66-4e0e-9795-78bfbc02e2ee") + (uuid "12d128d8-8433-49f0-8ff9-cce16d573ea7") ) (segment - (start 109.7 113.3) - (end 131.3 113.3) + (start 133.15 121.6) + (end 133.65 121.6) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "21089351-be9c-492d-9f12-035d31f6ffd6") + (uuid "165fee85-55a8-463a-b271-5597681377de") ) (segment - (start 134.25 102.85) - (end 134.55 103.15) + (start 132.55 121.85) + (end 132.6 121.85) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "2a77955e-8bdc-4f2a-bad3-9c71aa68ccb9") + (uuid "1c2d255f-f246-44e7-893a-1fb50177c94d") ) (segment - (start 134.7 103.5) - (end 134.75 103.55) + (start 132.15 122.35) + (end 132.15 122.3) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "2d342bd8-ad9f-42f2-99d4-749826915f2a") + (uuid "20510f4d-5a4c-4848-b789-4d5b857706a6") ) (segment - (start 134.05 102.75) - (end 134.1 102.75) + (start 143 126.65) + (end 143 126.67) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "395dcc00-68df-4e3f-990a-6da135111f74") - ) - (segment - (start 133.65 102.6) - (end 133.699999 102.65) - (width 0.5) - (layer "B.Cu") - (net "/+3V3") - (uuid "47df5af3-c258-41ed-a73b-de11dd433a1f") - ) - (segment - (start 134.65 103.35) - (end 134.7 103.4) - (width 0.5) - (layer "B.Cu") - (net "/+3V3") - (uuid "4c1467fd-e331-47b8-ae81-84c1fe9f05d7") - ) - (segment - (start 132.8 102.7) - (end 132.9 102.7) - (width 0.5) - (layer "B.Cu") - (net "/+3V3") - (uuid "51f847f6-c81d-4c18-8478-ae7bcf1d846a") - ) - (segment - (start 108 106.55) - (end 108 106.54) - (width 0.5) - (layer "B.Cu") - (net "/+3V3") - (uuid "5a6a57a3-0edf-4566-bd73-e500c19bd470") - ) - (segment - (start 109.7 108.25) - (end 109.7 113.3) - (width 0.5) - (layer "B.Cu") - (net "/+3V3") - (uuid "5d79c1f4-2a71-4d31-b5a5-5458fbb17e85") - ) - (segment - (start 133.15 102.6) - (end 133.65 102.6) - (width 0.5) - (layer "B.Cu") - (net "/+3V3") - (uuid "6f1d4fb4-222d-41a7-9301-5a7338abd8de") - ) - (segment - (start 133.9 102.7) - (end 134 102.7) - (width 0.5) - (layer "B.Cu") - (net "/+3V3") - (uuid "71d9e5b1-9ec5-4bad-91dc-65253005105d") - ) - (segment - (start 108 106.55) - (end 109.7 108.25) - (width 0.5) - (layer "B.Cu") - (net "/+3V3") - (uuid "762c6cf8-8790-4134-b7ce-c3f89566bc36") - ) - (segment - (start 132.699999 102.75) - (end 132.75 102.75) - (width 0.5) - (layer "B.Cu") - (net "/+3V3") - (uuid "7fcd1ae8-ad63-4a70-9746-bd10a8bdd6af") - ) - (segment - (start 134 102.7) - (end 134.05 102.75) - (width 0.5) - (layer "B.Cu") - (net "/+3V3") - (uuid "87da0b3e-ea70-4473-8b8e-8dd5c41ee9c1") - ) - (segment - (start 154 134) - (end 154 136.75) - (width 0.5) - (layer "B.Cu") - (net "/+3V3") - (uuid "8eb58f2f-1cec-4449-8872-b285f660aa24") - ) - (segment - (start 134.75 103.7) - (end 134.8 103.75) - (width 0.5) - (layer "B.Cu") - (net "/+3V3") - (uuid "8f96eda5-6334-4b3d-ad61-ffa5a75e6fbc") - ) - (segment - (start 133.699999 102.65) - (end 133.85 102.65) - (width 0.5) - (layer "B.Cu") - (net "/+3V3") - (uuid "967e4f87-ca2f-49cc-bac6-8253f1606e08") - ) - (segment - (start 133.85 102.65) - (end 133.9 102.7) - (width 0.5) - (layer "B.Cu") - (net "/+3V3") - (uuid "ab2c1cf9-d88c-4fb5-93a1-6432c289edbe") - ) - (segment - (start 132.55 102.85) - (end 132.6 102.85) - (width 0.5) - (layer "B.Cu") - (net "/+3V3") - (uuid "abe19347-8ba6-429d-afad-5f45ab04f1b1") - ) - (segment - (start 143 130) - (end 143 134) - (width 0.5) - (layer "B.Cu") - (net "/+3V3") - (uuid "ae2feee1-6a82-46bd-b72c-ca8ab38b1e91") + (uuid "23930ecc-c4b7-4a3f-80cb-a56f567a2d8a") ) (segment (start 154 136.75) @@ -4445,3319 +5093,3639 @@ (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "ae671235-63a9-4c0d-9ff7-1e2a53f3c22a") + (uuid "27bfb939-d170-4d17-9aab-8d68ea6995ca") ) (segment - (start 132.9 102.7) - (end 132.949999 102.65) + (start 132.15 122.3) + (end 132.25 122.2) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "b1a28b85-3cce-4adf-bb92-4cdfc6693444") + (uuid "2b4d8c17-0007-4388-870c-063dc816dc33") ) (segment - (start 134.199999 102.85) - (end 134.25 102.85) + (start 132.1 122.4) + (end 132.15 122.35) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "c2d73b51-9c1c-4f3c-8003-6ccd37747eac") + (uuid "307bf71d-5c73-4d37-9181-527de4b9861f") ) (segment - (start 131.3 113.3) - (end 131.3 104.1) + (start 133.85 121.65) + (end 133.9 121.7) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "cb6f8a58-4964-463a-9702-ca1e061ccf1a") + (uuid "3265a2ff-1e86-499d-b9ab-51a73f1d684a") ) (segment - (start 134.1 102.75) - (end 134.199999 102.85) + (start 131.3 132.3) + (end 132 131.6) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "cf320205-7f7f-4404-9cbf-2ffd49ab5ecd") + (uuid "339d6c09-f678-451d-9130-7fa813a9176e") ) (segment - (start 134.65 103.3) - (end 134.65 103.35) + (start 154.75 137.5) + (end 154.73 137.5) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "d2f3ed73-4ff4-4348-8e52-ae92720d4034") + (uuid "40b1d433-ac1d-4dae-ab85-9555482c1865") ) (segment - (start 133.1 102.65) - (end 133.15 102.6) + (start 143 126.67) + (end 143 126.65) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "d581ed82-e50e-4dce-9665-2db3f46988a1") + (uuid "411bf780-bfd5-4830-ba09-439dde2b594b") ) (segment - (start 131.3 104.1) - (end 132.55 102.85) + (start 132.25 122.15) + (end 132.55 121.85) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "e48d8d58-9b20-4787-b556-ad2b08a875f9") + (uuid "50140d6d-78e2-47d0-9e4e-2d9d5090d3d5") ) (segment - (start 134.8 121.8) - (end 143 130) + (start 132.9 121.7) + (end 132.949999 121.65) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "e8df7161-cbbf-421b-a00c-28086c261460") + (uuid "55eb620d-70a5-4549-8a29-92acee97682f") ) (segment - (start 108 106.54) - (end 108 106.55) + (start 134.199999 121.85) + (end 134.25 121.85) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "e9dbc34b-ed69-4144-b886-35faf3c5cb64") + (uuid "5b752018-3f5c-40fe-9975-6c1040b84068") ) (segment - (start 134.7 103.4) - (end 134.7 103.5) + (start 132.05 122.7) + (end 132.05 122.55) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "e9dd4d31-7e00-4161-982a-a1bf90c366ad") + (uuid "6952e7da-8b70-48a2-8c1d-5ddea1fe70a5") ) (segment - (start 134.55 103.15) - (end 134.55 103.2) + (start 154 134) + (end 154 136.75) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "eb99fd9e-71e5-4ce4-bbca-9940e0026b76") + (uuid "6bb98a8c-ace7-48cb-8836-47b54273ebc3") ) (segment - (start 108 104) - (end 108 106.55) + (start 108 123) + (end 108 125.55) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "ef59aee8-c34c-40e5-8532-481f1d929138") + (uuid "72933f77-f130-4ae6-a00e-a60a9b5bfd1b") ) (segment - (start 132.949999 102.65) - (end 133.1 102.65) + (start 133.699999 121.65) + (end 133.85 121.65) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "f56cfb24-c178-4341-85f6-7166d6e69f48") + (uuid "77c87aef-a0fa-443d-8228-59c3220f0749") ) (segment - (start 132.6 102.85) - (end 132.699999 102.75) + (start 139.05 126.65) + (end 143 126.65) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "f7447cb1-fb10-46dc-8e05-a0de540e3281") + (uuid "822b4ddf-0560-4a61-8816-ffbfa7ceb197") ) (segment - (start 134.75 103.55) - (end 134.75 103.7) + (start 108 125.55) + (end 108 125.54) (width 0.5) (layer "B.Cu") (net "/+3V3") - (uuid "fe38951f-2d81-4b29-b98e-dac4df8c61e2") + (uuid "8527b83d-116a-4415-92c7-20c7a2a336d3") ) (segment - (start 108 111.62) - (end 108 111.6) + (start 109.7 132.3) + (end 131.3 132.3) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "8564a371-b4fb-4db5-8347-da0179d8ec26") + ) + (segment + (start 132.949999 121.65) + (end 133.1 121.65) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "88de81df-8af8-48a6-8b66-cb520f7690c3") + ) + (segment + (start 133.1 121.65) + (end 133.15 121.6) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "88fe4b4a-8cb5-469c-8c86-e91345ee2908") + ) + (segment + (start 143 126.65) + (end 143 134) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "8fdf9680-a2dc-4d68-9f81-9c860179e468") + ) + (segment + (start 132.25 122.2) + (end 132.25 122.15) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "920c94f3-9f80-4f2f-aa82-fe99fc4acae2") + ) + (segment + (start 108 125.54) + (end 108 125.55) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "95784d76-08dd-4e13-abe2-5673864120ee") + ) + (segment + (start 132.8 121.7) + (end 132.9 121.7) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "abdf8c0e-dad4-4205-abac-aa303cbcb753") + ) + (segment + (start 132.05 122.55) + (end 132.1 122.5) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "ad81d4f3-eccd-4bd8-b2c0-205b56055b3c") + ) + (segment + (start 108 125.55) + (end 109.7 127.25) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "b2e0c9d5-4de8-44ef-be31-f5d4d01b2476") + ) + (segment + (start 132 131.6) + (end 132 122.75) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "b7b373fd-4031-48b3-bcf8-86c350e78ec6") + ) + (segment + (start 109.7 127.25) + (end 109.7 132.3) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "bc4b1725-975a-4d58-b515-dbc819f1d727") + ) + (segment + (start 133.9 121.7) + (end 134 121.7) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "bf8973b5-090d-4cb6-bd87-cde74f0e528f") + ) + (segment + (start 134.25 121.85) + (end 139.05 126.65) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "bfbec666-c9e2-42a5-a45c-60701bd60fda") + ) + (segment + (start 132 122.75) + (end 132.05 122.7) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "d0a23da8-a290-4361-82aa-b5a4f262116d") + ) + (segment + (start 134.1 121.75) + (end 134.199999 121.85) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "e3d4108b-b4d5-446d-877e-05ba83d2802a") + ) + (segment + (start 134 121.7) + (end 134.05 121.75) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "ef8afe5a-439e-4f0d-9cc2-ae9f044a6749") + ) + (segment + (start 132.699999 121.75) + (end 132.75 121.75) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "f6479d4b-fbc0-47b6-9b84-23bc30cf35c6") + ) + (segment + (start 132.6 121.85) + (end 132.699999 121.75) + (width 0.5) + (layer "B.Cu") + (net "/+3V3") + (uuid "f85da337-781c-4f5f-85b5-c0f4f1e5e7df") + ) + (segment + (start 132.9 131.949999) + (end 133.05 131.949999) (width 0.25) (layer "F.Cu") (net "/RS_DCD") - (uuid "00aeafe3-bc63-4030-9f3c-2cf2a71bd835") + (uuid "0879c62e-77a6-4793-a4ae-b8c5860c8a2d") ) (segment - (start 132.6 117.7) - (end 132.699999 117.8) + (start 108 130.62) + (end 108 130.6) (width 0.25) (layer "F.Cu") (net "/RS_DCD") - (uuid "1060a9d4-f0eb-4ec3-b031-20e99bb08289") + (uuid "511444a2-c1d8-4a96-8585-7edc397fda06") ) (segment - (start 108.3 111.6) - (end 109.85 113.15) + (start 133.05 131.949999) + (end 133.1 131.9) (width 0.25) (layer "F.Cu") (net "/RS_DCD") - (uuid "15fd9065-41f0-4a5a-962f-c1c5bc6a79a2") + (uuid "65049537-3e20-4639-9f69-a30e34405242") ) (segment - (start 132.55 117.7) - (end 132.6 117.7) + (start 108 130.6) + (end 108.3 130.6) (width 0.25) (layer "F.Cu") (net "/RS_DCD") - (uuid "25ed8139-4dd6-41da-b156-85b02e4538e0") + (uuid "6826e019-f115-495f-ae07-d8637b040299") ) (segment - (start 109.85 113.15) - (end 128 113.15) + (start 132.699999 132.05) + (end 132.75 132.05) (width 0.25) (layer "F.Cu") (net "/RS_DCD") - (uuid "2fd3fe83-167c-450f-9e89-4623ccdb1a9f") + (uuid "7f003c6f-f106-4df1-bb97-676d0eab4da2") ) (segment - (start 108 111.6) - (end 108.3 111.6) + (start 142.85 131.9) + (end 148.1 126.65) (width 0.25) (layer "F.Cu") (net "/RS_DCD") - (uuid "4f6350da-745e-466b-8647-0957d7dfb219") + (uuid "8f0d756a-6380-4e82-b65c-17d2f12cf462") ) (segment - (start 132.699999 117.8) - (end 132.75 117.8) + (start 148.1 126.65) + (end 148.08 126.67) (width 0.25) (layer "F.Cu") (net "/RS_DCD") - (uuid "50b8a8da-c4fb-4226-b53c-97ab00aebfc2") + (uuid "a42acdd9-5f2f-47c0-aa8e-710f0f5a76a5") ) (segment - (start 128 113.15) - (end 132.55 117.7) + (start 132.75 132.05) + (end 132.8 132) (width 0.25) (layer "F.Cu") (net "/RS_DCD") - (uuid "5b871c33-1ef8-4cde-8653-bf8cd59cee79") + (uuid "b82a9bdb-29e4-4a06-aa68-8f6bff65c40d") ) (segment - (start 132.75 117.8) - (end 132.8 117.85) + (start 132.6 132.15) + (end 132.699999 132.05) (width 0.25) (layer "F.Cu") (net "/RS_DCD") - (uuid "60733c15-256e-424b-a2e4-27c217ad5b3b") + (uuid "bcd78f10-d97f-4acd-90a1-2f51d40e5c5b") ) (segment - (start 133 117.9) - (end 133.05 117.95) + (start 132.85 132) + (end 132.9 131.949999) (width 0.25) (layer "F.Cu") (net "/RS_DCD") - (uuid "6337d62e-c19c-4526-b976-f96366f327fa") + (uuid "dcdadde7-420f-4e53-a917-e7f92cb57c44") ) (segment - (start 136.05 117.95) - (end 145.5 127.4) + (start 108.3 130.6) + (end 109.85 132.15) (width 0.25) (layer "F.Cu") (net "/RS_DCD") - (uuid "88a0afc2-0116-452c-9002-e06201562c80") + (uuid "dd2eb9c2-f7ac-4f41-a311-39f98b1032b3") ) (segment - (start 132.8 117.85) - (end 132.85 117.85) + (start 132.8 132) + (end 132.85 132) (width 0.25) (layer "F.Cu") (net "/RS_DCD") - (uuid "8dbd301a-3050-472d-bd8e-426f535042ce") + (uuid "e4dad100-91a8-4106-8fad-09e7b57c68e6") ) (segment - (start 132.9 117.9) - (end 133 117.9) + (start 133.1 131.9) + (end 142.85 131.9) (width 0.25) (layer "F.Cu") (net "/RS_DCD") - (uuid "a768c1d3-faef-460c-b99d-cc5d6fefbe6a") + (uuid "eb39c8eb-56cd-4331-b798-e769bfd19c05") ) (segment - (start 133.05 117.95) - (end 136.05 117.95) + (start 109.85 132.15) + (end 132.6 132.15) (width 0.25) (layer "F.Cu") (net "/RS_DCD") - (uuid "e214d9ea-5379-402c-b65a-1bc129e5519e") + (uuid "f898bff4-6d9a-4540-b13f-5c50db6936d0") ) (segment - (start 132.85 117.85) - (end 132.9 117.9) + (start 141.2 131) + (end 144.05 128.15) (width 0.25) (layer "F.Cu") - (net "/RS_DCD") - (uuid "e47737ce-d226-4409-bdf4-6864a210ff42") + (net "/RS_DSR") + (uuid "05c071ab-5ab2-4a6a-9b7a-47a135b72d23") + ) + (segment + (start 108 133.16) + (end 108 133.15) + (width 0.25) + (layer "F.Cu") + (net "/RS_DSR") + (uuid "09bb2a2d-83c8-4dca-8970-811e863e6f35") + ) + (segment + (start 108 133.15) + (end 131.55 133.15) + (width 0.25) + (layer "F.Cu") + (net "/RS_DSR") + (uuid "416061b0-afd1-40ea-8233-6a254a6d1cae") + ) + (segment + (start 134.85 131) + (end 141.2 131) + (width 0.25) + (layer "F.Cu") + (net "/RS_DSR") + (uuid "62b346f2-6fb0-422d-b514-c36feb0b9ab1") ) (via - (at 145.5 127.4) - (size 0.7) - (drill 0.3) - (layers "F.Cu" "B.Cu") - (net "/RS_DCD") - (uuid "e08e31d7-a9dc-4179-a66b-6d2a6e654ae7") - ) - (segment - (start 145.5 127.4) - (end 148.1 130) - (width 0.25) - (layer "B.Cu") - (net "/RS_DCD") - (uuid "bcdd12ed-0f99-4868-a57b-7f80b8cee07f") - ) - (segment - (start 148.1 130) - (end 148.08 130) - (width 0.25) - (layer "B.Cu") - (net "/RS_DCD") - (uuid "ca4fcbd9-29d6-4b87-b9d4-6dfc9e6da476") - ) - (segment - (start 132.6 115.2) - (end 132.65 115.2) - (width 0.25) - (layer "F.Cu") - (net "/RS_DSR") - (uuid "11c0829a-da58-4083-8642-d9513c42047e") - ) - (segment - (start 131.6 114.2) - (end 132.6 115.2) - (width 0.25) - (layer "F.Cu") - (net "/RS_DSR") - (uuid "1cfddc69-f64e-4e3d-bc7f-778ebb39bb53") - ) - (segment - (start 127.9 114.15) - (end 127.95 114.2) - (width 0.25) - (layer "F.Cu") - (net "/RS_DSR") - (uuid "209bd1e9-e822-48fb-8762-b0b7e18c2c4a") - ) - (segment - (start 158.25 130) - (end 158.24 130) - (width 0.25) - (layer "F.Cu") - (net "/RS_DSR") - (uuid "2cd4416c-a6fd-4afb-bc4c-b2a9238bfbce") - ) - (segment - (start 132.75 115.3) - (end 132.8 115.3) - (width 0.25) - (layer "F.Cu") - (net "/RS_DSR") - (uuid "32bdaaff-0e1c-471f-a490-41f5b088ed53") - ) - (segment - (start 108 114.16) - (end 108 114.15) - (width 0.25) - (layer "F.Cu") - (net "/RS_DSR") - (uuid "42d30efc-ffa2-4962-933e-dfe7b027158c") - ) - (segment - (start 132.65 115.2) - (end 132.75 115.3) - (width 0.25) - (layer "F.Cu") - (net "/RS_DSR") - (uuid "4e99a103-01d3-46d9-9d9e-2225600a0a2f") - ) - (segment - (start 132.85 115.35) - (end 132.949999 115.35) - (width 0.25) - (layer "F.Cu") - (net "/RS_DSR") - (uuid "58a41757-acf9-4925-a89a-07b48a07d9a9") - ) - (segment - (start 130.15 114.2) - (end 131.6 114.2) - (width 0.25) - (layer "F.Cu") - (net "/RS_DSR") - (uuid "6469af62-d2ed-4c15-b45a-ed2bfb903c49") - ) - (segment - (start 133.25 115.45) - (end 143.7 115.45) - (width 0.25) - (layer "F.Cu") - (net "/RS_DSR") - (uuid "70a71ed5-f03f-4a86-832c-c84c006e3720") - ) - (segment - (start 133 115.4) - (end 133.199999 115.4) - (width 0.25) - (layer "F.Cu") - (net "/RS_DSR") - (uuid "7658ac04-662b-40f9-a630-e9bb768bbea8") - ) - (segment - (start 108 114.15) - (end 127.9 114.15) - (width 0.25) - (layer "F.Cu") - (net "/RS_DSR") - (uuid "77df67ec-ecb2-4563-9fb4-e84b6fa41e9b") - ) - (segment - (start 132.949999 115.35) - (end 133 115.4) - (width 0.25) - (layer "F.Cu") - (net "/RS_DSR") - (uuid "85afd953-f89b-4e83-a809-42d1d526ce6e") - ) - (segment - (start 132.8 115.3) - (end 132.85 115.35) - (width 0.25) - (layer "F.Cu") - (net "/RS_DSR") - (uuid "b5125f54-1206-4fd1-b453-9bed283b04b3") - ) - (segment - (start 143.7 115.45) - (end 158.25 130) - (width 0.25) - (layer "F.Cu") - (net "/RS_DSR") - (uuid "c747d86d-3917-447d-a82f-a52f71000f2f") - ) - (segment - (start 133.199999 115.4) - (end 133.25 115.45) - (width 0.25) - (layer "F.Cu") - (net "/RS_DSR") - (uuid "f696fab5-bcfa-46b3-b43e-b19c42386204") - ) - (via - (at 127.95 114.2) + (at 134.85 131) (size 0.7) (drill 0.3) (layers "F.Cu" "B.Cu") (net "/RS_DSR") - (uuid "5d5803c9-91d0-4bba-a9c9-a88f066cb0fc") + (uuid "0742cf87-0d6e-429d-96a6-8c955b43bdd1") ) (via - (at 130.15 114.2) + (at 144.05 128.15) (size 0.7) (drill 0.3) (layers "F.Cu" "B.Cu") (net "/RS_DSR") - (uuid "f8288202-9f9f-401e-b608-b9d8eab0b183") + (uuid "c4c4c959-0946-4f7d-bac8-bfd62e9d2c21") + ) + (via + (at 131.55 133.15) + (size 0.7) + (drill 0.3) + (layers "F.Cu" "B.Cu") + (net "/RS_DSR") + (uuid "db5a60be-72af-4440-9608-72515518b919") ) (segment - (start 127.95 114.2) - (end 130.15 114.2) + (start 144.4 126.1) + (end 144.4 126.05) (width 0.25) (layer "B.Cu") (net "/RS_DSR") - (uuid "6633d14c-6398-4aeb-a0e5-44f69d119d36") + (uuid "06d7a1d9-24c5-4ace-94ef-9659684f7f9e") ) (segment - (start 142.3 132.949999) - (end 142.35 132.949999) + (start 144.95 125.5) + (end 145.05 125.5) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "08450a37-a65f-4f74-b0a9-185217ccee72") + ) + (segment + (start 144.6 125.8) + (end 144.6 125.75) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "0a8eb6f4-bcc6-4f58-aed6-7334edb37782") + ) + (segment + (start 156.2 125.5) + (end 156.25 125.5) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "1020a927-f7d0-448d-926a-eb48db311fa4") + ) + (segment + (start 144.3 126.3) + (end 144.35 126.25) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "12dea520-cd08-4f77-bee4-5dd3cebea913") + ) + (segment + (start 133.8 131.85) + (end 133.85 131.8) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "23e841d4-2dc9-48d6-8351-7251a8987e37") + ) + (segment + (start 144.8 125.6) + (end 144.85 125.6) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "2667b6d5-d063-4c51-88e6-7ef473dffb25") + ) + (segment + (start 144.35 126.25) + (end 144.35 126.15) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "2f144139-8cde-4289-9803-27e2b7142960") + ) + (segment + (start 156.15 125.45) + (end 156.2 125.5) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "355d9bf5-79e4-4041-850e-d6ac787b174d") + ) + (segment + (start 156.3 125.55) + (end 156.35 125.55) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "3b4bd87e-274b-4233-a879-91e363bab0e9") + ) + (segment + (start 155.95 125.4) + (end 156 125.45) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "3c84aca8-86fb-4cd8-8e95-02b648cfb4b0") + ) + (segment + (start 156.35 125.55) + (end 156.4 125.6) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "3ca35d3a-cd0a-42ed-ba01-aa634f87c9e8") + ) + (segment + (start 131.55 133.15) + (end 132.8 131.9) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "3d66bd24-9cdc-43f1-88ca-e035860329dd") + ) + (segment + (start 134.15 131.65) + (end 134.199999 131.65) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "47e9eaa3-1684-4419-be27-ef470d8bb3d1") + ) + (segment + (start 144.35 126.15) + (end 144.4 126.1) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "4b3bdc70-11d0-4829-9dd2-b2359d0407f1") + ) + (segment + (start 144.45 125.95) + (end 144.6 125.8) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "4bb40287-f9f8-430d-b626-bda85d624bf2") + ) + (segment + (start 158.25 126.65) + (end 158.24 126.67) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "4e483fa6-0145-44f8-9a76-cc8c193c3ed2") + ) + (segment + (start 156.4 125.6) + (end 156.45 125.6) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "53fdfa14-6266-4c8b-ad4e-dcfc908fd327") + ) + (segment + (start 144.25 126.55) + (end 144.3 126.5) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "54e57763-d970-4338-83c9-704b188b0885") + ) + (segment + (start 133.65 131.85) + (end 133.8 131.85) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "590c85f5-4848-41bc-9718-dbbc6a6e24d1") + ) + (segment + (start 144.05 128.15) + (end 144.25 127.95) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "5cad6bcb-168b-45a5-b993-5f32675e41b1") + ) + (segment + (start 156.45 125.6) + (end 157.5 126.65) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "68408121-a8a9-4f97-8fec-9d9652d58c1d") + ) + (segment + (start 132.8 131.9) + (end 133.6 131.9) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "69e1cd46-8206-4c1b-a592-6951fb260a9d") + ) + (segment + (start 144.45 126) + (end 144.45 125.95) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "6e3ec90e-8e1e-4454-9949-035509dd689a") + ) + (segment + (start 133.85 131.8) + (end 133.949999 131.8) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "71630b83-5d90-4947-92c7-c02d425c9b8a") + ) + (segment + (start 133.949999 131.8) + (end 134 131.75) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "7dac5b9b-1597-4822-8abc-d31e1ffec27e") + ) + (segment + (start 134.199999 131.65) + (end 134.85 131) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "800c3a31-296c-40d3-90dd-13ce67e91d7f") + ) + (segment + (start 156.25 125.5) + (end 156.3 125.55) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "819fb2dc-a9c9-4f70-a495-e2937b8109db") + ) + (segment + (start 145.2 125.45) + (end 145.25 125.4) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "8a923ffc-3736-437a-8b86-922f5537d609") + ) + (segment + (start 134 131.75) + (end 134.05 131.75) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "8bd1671b-26f2-425e-b322-140e316e332c") + ) + (segment + (start 144.25 127.95) + (end 144.25 126.55) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "9afb488d-0be7-40bf-91d9-0e482e8367c3") + ) + (segment + (start 134.05 131.75) + (end 134.15 131.65) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "a1696008-2575-4a40-8a74-c15794cda589") + ) + (segment + (start 157.5 126.65) + (end 158.25 126.65) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "a9028dfc-85c8-49b2-b5cf-f4f75a00e841") + ) + (segment + (start 144.65 125.75) + (end 144.8 125.6) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "bad31385-de38-4009-85a6-3223573c97d2") + ) + (segment + (start 144.3 126.5) + (end 144.3 126.3) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "bec71c36-0374-42ec-ad07-380fdfb1577e") + ) + (segment + (start 145.05 125.5) + (end 145.1 125.45) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "c19a2f1c-52c1-42a5-bded-a50e6488445e") + ) + (segment + (start 156 125.45) + (end 156.15 125.45) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "ca7ddc92-b819-4e8b-8dcf-28c914c7d6fa") + ) + (segment + (start 144.4 126.05) + (end 144.45 126) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "d0b61bf6-f3ed-46cd-82e8-420d25bc6545") + ) + (segment + (start 144.85 125.6) + (end 144.95 125.5) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "d5ce829f-fbe1-4351-a024-c3beee238a15") + ) + (segment + (start 145.25 125.4) + (end 155.95 125.4) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "da682355-864b-4135-bcf9-63a9a5d020e4") + ) + (segment + (start 144.6 125.75) + (end 144.65 125.75) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "ebe4c140-da32-4d18-a8e7-9b63c383b488") + ) + (segment + (start 133.6 131.9) + (end 133.65 131.85) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "ec90855c-1ea7-4c74-a026-20850acae409") + ) + (segment + (start 145.1 125.45) + (end 145.2 125.45) + (width 0.25) + (layer "B.Cu") + (net "/RS_DSR") + (uuid "f6e505b2-9580-457f-aee5-18a359e952a1") + ) + (segment + (start 147.7 141.15) + (end 150.25 138.6) (width 0.25) (layer "F.Cu") (net "/RS_RI") - (uuid "0633db8f-6152-44c3-950f-c0454370d646") + (uuid "2358037a-fece-481d-a543-e6dbbfa8d6eb") ) (segment - (start 149.4 132.3) - (end 149.45 132.3) + (start 134.85 141.15) + (end 147.7 141.15) (width 0.25) (layer "F.Cu") (net "/RS_RI") - (uuid "119ddcb4-da0d-48f7-974e-feaf0f44ef40") + (uuid "799e0f85-ba42-488f-90c1-d60dc7dff980") + ) + (via + (at 150.25 138.6) + (size 0.7) + (drill 0.3) + (layers "F.Cu" "B.Cu") + (net "/RS_RI") + (uuid "340f5a04-e14f-4625-b183-cdb6050e7d05") + ) + (via + (at 134.85 141.15) + (size 0.7) + (drill 0.3) + (layers "F.Cu" "B.Cu") + (net "/RS_RI") + (uuid "f6dabd76-d1d3-4d16-bd62-6e7d14a8117c") ) (segment - (start 163.85 132) - (end 165.85 130) + (start 108 135.7) + (end 124.25 135.7) (width 0.25) - (layer "F.Cu") + (layer "B.Cu") (net "/RS_RI") - (uuid "22e2689f-e4d3-41c2-8181-5b093e2900ce") + (uuid "007d74ea-6ad9-49db-a784-57387542c6a1") ) (segment - (start 133.1 133.199999) - (end 142.05 133.199999) + (start 165.85 126.65) + (end 165.86 126.67) (width 0.25) - (layer "F.Cu") + (layer "B.Cu") (net "/RS_RI") - (uuid "238b0e5f-5b9d-4a63-ba9b-79a736c8acb0") + (uuid "044d5f75-82ed-487e-b175-63525c3fd3f3") + ) + (segment + (start 150.75 138.6) + (end 150.9 138.75) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "0fd7a362-fac5-4d46-ac81-0bf89fde7864") + ) + (segment + (start 156 136.5) + (end 165.85 126.65) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "16c19532-1b7d-4251-a3f2-07d08811abe4") + ) + (segment + (start 124.25 135.7) + (end 128.65 140.1) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "18aed921-2c3d-448f-8b7f-9a51d8e005e8") + ) + (segment + (start 134 141.9) + (end 134.05 141.9) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "1e516f6c-5006-4bbe-a1d7-60514f41e496") + ) + (segment + (start 132.65 141.85) + (end 132.699999 141.85) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "2209611e-068a-46a5-be44-ed868c0f6cc1") + ) + (segment + (start 132.9 141.95) + (end 132.949999 142) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "328ca793-d45a-41c2-9f33-f6ec4f2d25fa") + ) + (segment + (start 155.15 138.7) + (end 155.25 138.7) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "3cc0ce66-5427-4a82-8471-7efd27d78d03") + ) + (segment + (start 131.05 140.25) + (end 132.65 141.85) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "443246f7-d926-4657-8a37-07fdf3cf8a3c") + ) + (segment + (start 132.75 141.9) + (end 132.8 141.9) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "4589879f-ce0d-4a0f-b8e2-f8619847430a") + ) + (segment + (start 155.85 138.15) + (end 155.85 138.1) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "45f61cb8-ad1d-4ca5-bb0d-3d26df7a61eb") + ) + (segment + (start 128.85 140.2) + (end 128.9 140.25) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "46769c25-cb67-4f1a-818d-42190b232cd4") + ) + (segment + (start 132.85 141.95) + (end 132.9 141.95) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "4bbcd6bd-afd9-4eaf-8f66-886dbd3f2c19") + ) + (segment + (start 155.85 138.1) + (end 155.9 138.05) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "4dc2388f-7f09-4efc-ae8d-5593cfd0efc5") + ) + (segment + (start 156 137.75) + (end 156 136.5) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "527da12c-1892-4783-8e1e-bbb23491cf13") + ) + (segment + (start 132.699999 141.85) + (end 132.75 141.9) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "55e3699a-7198-4f9e-9929-33c060f686db") + ) + (segment + (start 155.45 138.55) + (end 155.5 138.55) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "643622f8-985f-41ef-9f60-97b85df04a4b") + ) + (segment + (start 133.15 142.05) + (end 133.65 142.05) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "68a61771-f5e2-44b5-873b-c2d6608be07c") + ) + (segment + (start 150.9 138.75) + (end 155.1 138.75) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "705ee66b-cbc5-4058-b7cb-0e11a4849780") + ) + (segment + (start 155.9 138.05) + (end 155.9 138) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "7201c8b8-a924-4a78-8718-8639e1b84375") + ) + (segment + (start 155.1 138.75) + (end 155.15 138.7) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "736bec63-3d46-4976-bbe8-0098d9fd494f") + ) + (segment + (start 133.699999 142) + (end 133.85 142) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "741c30ae-59b3-4787-a3f1-275e27770d51") + ) + (segment + (start 133.1 142) + (end 133.15 142.05) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "74abfbb7-415e-4ca0-b282-2056d13a791b") + ) + (segment + (start 155.8 138.25) + (end 155.8 138.2) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "82d24494-1863-4798-8dab-d6acaa6af1ef") + ) + (segment + (start 155.95 137.8) + (end 156 137.75) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "9d886175-0a22-4800-bacf-d027a2594149") + ) + (segment + (start 128.8 140.2) + (end 128.85 140.2) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "9f1f508d-8f25-4417-9fbb-4732179f868d") + ) + (segment + (start 128.699999 140.1) + (end 128.8 140.2) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "a3d1dcf4-6880-4192-8846-bee0dc662857") + ) + (segment + (start 132.949999 142) + (end 133.1 142) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "a4a4809d-065a-46c4-a1e7-226fd852ac05") + ) + (segment + (start 128.9 140.25) + (end 131.05 140.25) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "a5c5d759-3948-4ec8-804a-16b172daf463") + ) + (segment + (start 133.9 141.95) + (end 133.949999 141.95) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "b3d4dd51-8a5a-4225-a7ae-2cadf307c6b9") + ) + (segment + (start 155.9 138) + (end 155.95 137.95) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "b87e55c6-667a-4320-b42e-5311956f3869") + ) + (segment + (start 150.25 138.6) + (end 150.75 138.6) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "c26004bb-2c0d-4e56-90d4-86e5c5e48e80") + ) + (segment + (start 128.65 140.1) + (end 128.699999 140.1) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "c5d95850-4d47-4dca-ac7d-8efb8e708576") + ) + (segment + (start 134.05 141.9) + (end 134.1 141.85) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "c7e1d881-ba1a-47e1-a3d3-ff3b2f386aa9") + ) + (segment + (start 134.1 141.85) + (end 134.15 141.85) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "c98b9168-743c-4c9d-ac0d-b8fc2a573dbe") + ) + (segment + (start 155.8 138.2) + (end 155.85 138.15) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "ca3aebf5-89f6-4d95-920c-7f751b4e7227") + ) + (segment + (start 133.85 142) + (end 133.9 141.95) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "cd1dab57-ea22-4859-aa5a-44a16fdf36f1") + ) + (segment + (start 155.3 138.65) + (end 155.35 138.65) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "d43c4432-114e-4488-b457-1015c677dd58") + ) + (segment + (start 155.35 138.65) + (end 155.45 138.55) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "d5c6f4dc-918d-453a-a950-6fa7ff814a53") + ) + (segment + (start 155.5 138.55) + (end 155.8 138.25) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "db004298-a5ea-4295-a340-99861f12affa") + ) + (segment + (start 134.15 141.85) + (end 134.85 141.15) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "db5ba5f3-c789-4007-84cd-56d34ab11a35") + ) + (segment + (start 133.949999 141.95) + (end 134 141.9) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "ddf51391-c4a2-4fad-a03d-2068bdaaa349") + ) + (segment + (start 155.25 138.7) + (end 155.3 138.65) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "e058474e-eea8-44c5-9566-227ab00f9713") + ) + (segment + (start 132.8 141.9) + (end 132.85 141.95) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "e6f2f3ae-4777-4a1b-95eb-fb84ec2d36b1") + ) + (segment + (start 155.95 137.95) + (end 155.95 137.8) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "ebf07a5b-1b77-4da4-9009-b5456894c1a6") + ) + (segment + (start 133.65 142.05) + (end 133.699999 142) + (width 0.25) + (layer "B.Cu") + (net "/RS_RI") + (uuid "fbe50826-5b0d-4e8e-a347-79ae25f5218e") ) (segment (start 149.75 132.15) (end 149.8 132.1) (width 0.25) (layer "F.Cu") - (net "/RS_RI") - (uuid "37f0eac5-7cc2-473c-8e45-0c67f355dff8") - ) - (segment - (start 149.45 132.3) - (end 149.5 132.25) - (width 0.25) - (layer "F.Cu") - (net "/RS_RI") - (uuid "3bb53299-3010-44b7-af0c-3ab1c44335f2") - ) - (segment - (start 132.9 133.15) - (end 133.05 133.15) - (width 0.25) - (layer "F.Cu") - (net "/RS_RI") - (uuid "3fd968ed-566f-4744-aa85-68c6a247e46b") - ) - (segment - (start 148.9 132.8) - (end 149.4 132.3) - (width 0.25) - (layer "F.Cu") - (net "/RS_RI") - (uuid "4691a63a-56ab-4d06-a03e-959f70f2f324") - ) - (segment - (start 132.85 133.1) - (end 132.9 133.15) - (width 0.25) - (layer "F.Cu") - (net "/RS_RI") - (uuid "46ce190c-a12e-4f46-83e4-c421536fc61c") - ) - (segment - (start 149.65 132.199999) - (end 149.7 132.15) - (width 0.25) - (layer "F.Cu") - (net "/RS_RI") - (uuid "5617f1ed-964f-4be5-b5f4-df6a3bf0930e") - ) - (segment - (start 150.05 132.05) - (end 150.1 132) - (width 0.25) - (layer "F.Cu") - (net "/RS_RI") - (uuid "5838b166-b804-49f5-8d91-fa547b64dfa0") - ) - (segment - (start 142.4 132.9) - (end 142.45 132.9) - (width 0.25) - (layer "F.Cu") - (net "/RS_RI") - (uuid "77873bd7-bab2-4990-8a16-ae6baf3ddbd0") - ) - (segment - (start 149.6 132.199999) - (end 149.65 132.199999) - (width 0.25) - (layer "F.Cu") - (net "/RS_RI") - (uuid "829205bd-bea2-4ace-bbd0-069163c8baf3") - ) - (segment - (start 149.9 132.05) - (end 150.05 132.05) - (width 0.25) - (layer "F.Cu") - (net "/RS_RI") - (uuid "855af106-3ff1-4bb7-8c28-9e728146659a") - ) - (segment - (start 142.45 132.9) - (end 142.5 132.85) - (width 0.25) - (layer "F.Cu") - (net "/RS_RI") - (uuid "8624fd9e-ee84-4dd0-8f85-b6c49d91741b") - ) - (segment - (start 142.6 132.85) - (end 142.65 132.8) - (width 0.25) - (layer "F.Cu") - (net "/RS_RI") - (uuid "876506d2-6591-49df-972b-a7e32a61c667") - ) - (segment - (start 142.65 132.8) - (end 148.9 132.8) - (width 0.25) - (layer "F.Cu") - (net "/RS_RI") - (uuid "87c9944d-d0d8-4b81-aab0-3752cf1174cb") - ) - (segment - (start 132.75 133.05) - (end 132.8 133.1) - (width 0.25) - (layer "F.Cu") - (net "/RS_RI") - (uuid "91071451-42ee-483d-9bd7-2218f90431a6") - ) - (segment - (start 132.8 133.1) - (end 132.85 133.1) - (width 0.25) - (layer "F.Cu") - (net "/RS_RI") - (uuid "98a42dbb-f069-432a-a3f8-58c6385cc782") - ) - (segment - (start 165.85 130) - (end 165.86 130) - (width 0.25) - (layer "F.Cu") - (net "/RS_RI") - (uuid "a4712d96-1fd5-40ca-b8d8-0282f7198caa") - ) - (segment - (start 132.699999 133.05) - (end 132.75 133.05) - (width 0.25) - (layer "F.Cu") - (net "/RS_RI") - (uuid "a77ab6af-fe7c-4497-b0df-53b497104a81") + (net "/RS_DTR") + (uuid "0348920f-ac8a-4881-925c-2379c1c042a3") ) (segment (start 150.1 132) - (end 163.85 132) + (end 150.35 132) (width 0.25) (layer "F.Cu") - (net "/RS_RI") - (uuid "adb6216b-c7fe-492a-b9af-e40c46a437a0") + (net "/RS_DTR") + (uuid "1376e497-a31b-44ba-8756-a0c3909ae497") ) (segment - (start 132.449999 132.85) - (end 132.5 132.85) + (start 149.4 132.3) + (end 149.45 132.3) (width 0.25) (layer "F.Cu") - (net "/RS_RI") - (uuid "ba4c7b5f-9858-4d5d-bbd2-51f911f2b539") + (net "/RS_DTR") + (uuid "1ae9db6c-00ce-498f-a69a-4917829179a3") ) (segment (start 149.5 132.25) (end 149.55 132.25) (width 0.25) (layer "F.Cu") - (net "/RS_RI") - (uuid "bffde14b-a208-4ec9-abef-7bd302996715") + (net "/RS_DTR") + (uuid "3385b064-faba-489a-ab8f-e2efd7bc6078") ) (segment - (start 132.5 132.85) - (end 132.699999 133.05) + (start 155.7 126.65) + (end 155.7 126.67) (width 0.25) (layer "F.Cu") - (net "/RS_RI") - (uuid "c46725da-d99f-4c63-96d2-6332a17b4d97") + (net "/RS_DTR") + (uuid "3704f2cc-141f-4d3f-86f9-3b11bfcca63c") ) (segment - (start 142.5 132.85) - (end 142.6 132.85) + (start 150.05 132.05) + (end 150.1 132) (width 0.25) (layer "F.Cu") - (net "/RS_RI") - (uuid "c7a1bbab-ad34-4d47-9865-0e5e5d63278d") + (net "/RS_DTR") + (uuid "41b7e5dc-e873-4e78-add1-4a8aef2cf0f2") ) (segment - (start 149.8 132.1) - (end 149.85 132.1) + (start 108 138.24) + (end 108 138.25) (width 0.25) (layer "F.Cu") - (net "/RS_RI") - (uuid "cd28d30b-87f8-4476-b6f8-9da55b4d74cf") + (net "/RS_DTR") + (uuid "4387011b-d84b-4f5c-8b46-0e07d43f6e8a") ) (segment - (start 142.35 132.949999) - (end 142.4 132.9) + (start 150.35 132) + (end 155.7 126.65) (width 0.25) (layer "F.Cu") - (net "/RS_RI") - (uuid "e0631013-477d-484f-a801-afa6e1dda597") + (net "/RS_DTR") + (uuid "4a9ea5ca-9548-464c-90aa-d5a11171700b") + ) + (segment + (start 148.6 133.1) + (end 149.4 132.3) + (width 0.25) + (layer "F.Cu") + (net "/RS_DTR") + (uuid "53084fac-b12d-4262-8e8a-326bb1598e1d") ) (segment (start 149.7 132.15) (end 149.75 132.15) (width 0.25) (layer "F.Cu") - (net "/RS_RI") - (uuid "e1193d15-0bcf-4408-b926-2dedd9cb4d28") + (net "/RS_DTR") + (uuid "6278694c-ab84-4d18-966d-cdd87569b736") ) (segment (start 149.55 132.25) (end 149.6 132.199999) (width 0.25) (layer "F.Cu") - (net "/RS_RI") - (uuid "e23fadeb-8b51-4992-ab5f-f9b8d674ea14") + (net "/RS_DTR") + (uuid "70ecf107-6be8-4c81-944d-b9195d0e907b") ) (segment - (start 133.05 133.15) - (end 133.1 133.199999) + (start 149.6 132.199999) + (end 149.65 132.199999) (width 0.25) (layer "F.Cu") - (net "/RS_RI") - (uuid "eb9db42f-d10f-41b8-87bf-cdbea4348934") + (net "/RS_DTR") + (uuid "7d370000-a728-42ad-8fb3-07bd56f55834") ) (segment - (start 142.05 133.199999) - (end 142.3 132.949999) + (start 130.449999 138.25) + (end 131.75 136.95) (width 0.25) (layer "F.Cu") - (net "/RS_RI") - (uuid "f52a05ee-6f5c-4fd6-8270-9bd306682f01") + (net "/RS_DTR") + (uuid "7d718676-b298-4fc7-a4cb-a6ac6dd3d7e5") ) (segment - (start 130.5 130.9) - (end 132.449999 132.85) + (start 149.45 132.3) + (end 149.5 132.25) (width 0.25) (layer "F.Cu") - (net "/RS_RI") - (uuid "f722b73e-721f-4a54-bf8c-16e3652c8af0") + (net "/RS_DTR") + (uuid "8a26d3a6-0e4e-47ac-914a-4e2ac03e80b8") + ) + (segment + (start 149.8 132.1) + (end 149.85 132.1) + (width 0.25) + (layer "F.Cu") + (net "/RS_DTR") + (uuid "a4794925-fe72-46c4-bea5-8cdf2ead8bbe") + ) + (segment + (start 108 138.25) + (end 130.449999 138.25) + (width 0.25) + (layer "F.Cu") + (net "/RS_DTR") + (uuid "bd459ed2-22b0-412a-a122-3b0e03605a8a") + ) + (segment + (start 149.9 132.05) + (end 150.05 132.05) + (width 0.25) + (layer "F.Cu") + (net "/RS_DTR") + (uuid "c8f89618-ed14-47ff-8e60-c489062cce99") ) (segment (start 149.85 132.1) (end 149.9 132.05) (width 0.25) (layer "F.Cu") - (net "/RS_RI") - (uuid "f8dfb220-6a05-4ce9-b3e0-d37cc5f396f5") + (net "/RS_DTR") + (uuid "d42d944c-5031-40e7-bab4-578d2a05e07c") ) (segment - (start 122.2 130.9) - (end 130.5 130.9) + (start 147.8 133.1) + (end 148.6 133.1) (width 0.25) (layer "F.Cu") - (net "/RS_RI") - (uuid "fc89f786-3a72-45cf-a8f2-95811767ce33") + (net "/RS_DTR") + (uuid "ec1a2b40-3aff-428a-8fe6-998b618b6c8e") + ) + (segment + (start 149.65 132.199999) + (end 149.7 132.15) + (width 0.25) + (layer "F.Cu") + (net "/RS_DTR") + (uuid "fc51bdbd-326c-4620-b799-b1fcbfd0abfa") ) (via - (at 122.2 130.9) - (size 0.7) - (drill 0.3) - (layers "F.Cu" "B.Cu") - (net "/RS_RI") - (uuid "7482bf87-dd84-4e60-ac8b-abef2c96ef42") - ) - (segment - (start 108 116.7) - (end 122.2 130.9) - (width 0.25) - (layer "B.Cu") - (net "/RS_RI") - (uuid "1d313689-5078-4304-83ee-1d42f9bb607f") - ) - (segment - (start 132.449999 120.15) - (end 132.5 120.15) - (width 0.25) - (layer "F.Cu") - (net "/RS_DTR") - (uuid "242f589e-1898-4d02-afe4-87732cd27141") - ) - (segment - (start 132.699999 120.35) - (end 132.75 120.35) - (width 0.25) - (layer "F.Cu") - (net "/RS_DTR") - (uuid "6f688bec-c430-4f8d-90be-45dfff41dea9") - ) - (segment - (start 131.55 119.25) - (end 132.449999 120.15) - (width 0.25) - (layer "F.Cu") - (net "/RS_DTR") - (uuid "8258f068-c2bd-4e2d-8b46-51bdb66985b3") - ) - (segment - (start 132.75 120.35) - (end 132.8 120.4) - (width 0.25) - (layer "F.Cu") - (net "/RS_DTR") - (uuid "91c94838-07de-4235-88bf-8b7b1af73426") - ) - (segment - (start 137.5 120.5) - (end 143.65 126.65) - (width 0.25) - (layer "F.Cu") - (net "/RS_DTR") - (uuid "9500ddca-76b8-4227-bb5d-c7c7c3e60f7b") - ) - (segment - (start 132.5 120.15) - (end 132.699999 120.35) - (width 0.25) - (layer "F.Cu") - (net "/RS_DTR") - (uuid "ae773f10-ff82-4ecd-9d3c-602fafe5c73c") - ) - (segment - (start 132.9 120.45) - (end 133.05 120.45) - (width 0.25) - (layer "F.Cu") - (net "/RS_DTR") - (uuid "b7f7956d-be0d-4963-80e4-687ffef7c6ac") - ) - (segment - (start 133.05 120.45) - (end 133.1 120.5) - (width 0.25) - (layer "F.Cu") - (net "/RS_DTR") - (uuid "bbdcb361-a460-4d7c-aa3f-13f040876c3b") - ) - (segment - (start 132.85 120.4) - (end 132.9 120.45) - (width 0.25) - (layer "F.Cu") - (net "/RS_DTR") - (uuid "c490e65f-36a2-4fa7-a6c8-434fc2489982") - ) - (segment - (start 108 119.25) - (end 131.55 119.25) - (width 0.25) - (layer "F.Cu") - (net "/RS_DTR") - (uuid "ca65f3f0-2ed9-41c6-8b88-8d2780049875") - ) - (segment - (start 108 119.24) - (end 108 119.25) - (width 0.25) - (layer "F.Cu") - (net "/RS_DTR") - (uuid "e825ecb8-6575-4a2b-948f-854b933cc049") - ) - (segment - (start 133.1 120.5) - (end 137.5 120.5) - (width 0.25) - (layer "F.Cu") - (net "/RS_DTR") - (uuid "f0e7b63b-e92e-4fca-8ce7-d7ed545296a7") - ) - (segment - (start 132.8 120.4) - (end 132.85 120.4) - (width 0.25) - (layer "F.Cu") - (net "/RS_DTR") - (uuid "f5284629-5bc5-4ddb-bb75-d3da53a5332e") - ) - (via - (at 143.65 126.65) + (at 131.75 136.95) (size 0.7) (drill 0.3) (layers "F.Cu" "B.Cu") (net "/RS_DTR") - (uuid "24ce79c6-c76e-439e-bd7e-c7597d584a70") - ) - (segment - (start 143.65 126.65) - (end 145.8 126.65) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "16baf506-300a-48bc-a50b-0679724a1b6c") - ) - (segment - (start 146 126.8) - (end 146.05 126.8) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "1d3981c3-ab24-4d75-b1d2-aa6585242bf9") - ) - (segment - (start 153.8 128.9) - (end 153.85 128.9) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "2c6c7077-ca32-46b5-a604-6158ca2fbe08") - ) - (segment - (start 153.65 128.8) - (end 153.7 128.85) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "3eee75a5-38b3-4c99-8b4b-29ce7009be90") - ) - (segment - (start 153.7 128.85) - (end 153.75 128.85) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "485cfb14-d58b-4a16-b4a3-38db339b8360") - ) - (segment - (start 153.95 128.949999) - (end 155 130) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "62c55d35-d396-46a0-a1df-01134291474d") - ) - (segment - (start 146.05 126.8) - (end 148 128.75) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "7c3a7849-7c18-45ff-993d-144df5e2c997") - ) - (segment - (start 153.55 128.8) - (end 153.65 128.8) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "7c528d4d-af19-409b-b0db-363a95d19dbb") - ) - (segment - (start 153.75 128.85) - (end 153.8 128.9) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "965a7359-8ddc-409d-9e9f-f277a34e75f9") - ) - (segment - (start 155 130) - (end 155.7 130) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "cc8797f0-7d5d-4145-96fc-482c493855a9") - ) - (segment - (start 153.5 128.75) - (end 153.55 128.8) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "d88b4b29-cc29-4afc-9b1f-c08fa36b150a") - ) - (segment - (start 145.8 126.65) - (end 145.85 126.7) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "d94a5ce0-bbec-4718-98ee-a01ee70b78f7") - ) - (segment - (start 153.9 128.949999) - (end 153.95 128.949999) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "e01a636b-c468-43bc-89ee-15817a4ce00b") - ) - (segment - (start 145.9 126.7) - (end 146 126.8) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "e73fc908-51fa-4c02-987f-657095cf76fa") - ) - (segment - (start 148 128.75) - (end 153.5 128.75) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "eadac9ae-7f2d-4f20-8e73-21e6922c6ac6") - ) - (segment - (start 145.85 126.7) - (end 145.9 126.7) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "f3ad5ad1-a3dd-4ef6-9cca-78b21aa15b93") - ) - (segment - (start 153.85 128.9) - (end 153.9 128.949999) - (width 0.25) - (layer "B.Cu") - (net "/RS_DTR") - (uuid "f454456c-2482-4243-ab46-12d052cc2c60") - ) - (segment - (start 108 121.8) - (end 131.6 121.8) - (width 0.25) - (layer "F.Cu") - (net "/RS_RTS") - (uuid "10b776a8-9da6-4408-a16f-33c4bfa571e8") - ) - (segment - (start 108 121.78) - (end 108 121.8) - (width 0.25) - (layer "F.Cu") - (net "/RS_RTS") - (uuid "1d95b586-5d33-4648-b665-2c6a8044e8ce") - ) - (segment - (start 132.75 122.9) - (end 132.8 122.9) - (width 0.25) - (layer "F.Cu") - (net "/RS_RTS") - (uuid "2c0caa1f-4b74-488c-b44c-5d86e9529272") - ) - (segment - (start 132.65 122.85) - (end 132.699999 122.85) - (width 0.25) - (layer "F.Cu") - (net "/RS_RTS") - (uuid "3a440623-d071-4447-a76e-125a5625020a") - ) - (segment - (start 132.8 122.9) - (end 132.85 122.95) - (width 0.25) - (layer "F.Cu") - (net "/RS_RTS") - (uuid "3dea40ae-063e-4eac-8fbc-445eab4ce025") - ) - (segment - (start 133.1 123) - (end 133.15 123.05) - (width 0.25) - (layer "F.Cu") - (net "/RS_RTS") - (uuid "7b0fc75e-1a07-48ca-b817-fc42e2bd124d") - ) - (segment - (start 133.15 123.05) - (end 138.95 123.05) - (width 0.25) - (layer "F.Cu") - (net "/RS_RTS") - (uuid "8a6f8b3c-6d4e-4708-ac84-5f415dade606") - ) - (segment - (start 132.699999 122.85) - (end 132.75 122.9) - (width 0.25) - (layer "F.Cu") - (net "/RS_RTS") - (uuid "aca79a89-aa81-40ce-a032-5743d822dff0") - ) - (segment - (start 138.95 123.05) - (end 141.8 125.9) - (width 0.25) - (layer "F.Cu") - (net "/RS_RTS") - (uuid "bf0c8f06-066d-4c74-894b-ed3b80a2b6a3") - ) - (segment - (start 131.6 121.8) - (end 132.65 122.85) - (width 0.25) - (layer "F.Cu") - (net "/RS_RTS") - (uuid "ccadf309-c747-489c-aa5d-2a741a66abb1") - ) - (segment - (start 132.9 122.95) - (end 132.949999 123) - (width 0.25) - (layer "F.Cu") - (net "/RS_RTS") - (uuid "ce9e10b4-328c-4a0a-8127-5256c642722e") - ) - (segment - (start 132.949999 123) - (end 133.1 123) - (width 0.25) - (layer "F.Cu") - (net "/RS_RTS") - (uuid "e7779000-643c-4b8e-b77f-0fb469b0d754") - ) - (segment - (start 132.85 122.95) - (end 132.9 122.95) - (width 0.25) - (layer "F.Cu") - (net "/RS_RTS") - (uuid "ff176bf6-44f6-4a47-8bff-6ae4458a289a") + (uuid "08658be1-1863-479e-9f07-e5495cbd6dfa") ) (via - (at 141.8 125.9) + (at 147.8 133.1) (size 0.7) (drill 0.3) (layers "F.Cu" "B.Cu") + (net "/RS_DTR") + (uuid "1340aea3-2d46-4ed1-9de8-0ca8034ccd81") + ) + (segment + (start 146 133.8) + (end 146.05 133.8) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "0248084d-afa3-4763-af76-c2e7f6682b1d") + ) + (segment + (start 145.95 133.85) + (end 146 133.8) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "112efb7f-7f6e-4c14-b059-085b9d768d43") + ) + (segment + (start 134.25 136.7) + (end 135 135.95) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "114f9b43-3c66-4624-9f80-601579645092") + ) + (segment + (start 143.8 135.65) + (end 143.85 135.6) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "1b629dae-6bd1-467c-b26c-7d6829458264") + ) + (segment + (start 143.65 135.7) + (end 143.7 135.65) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "29aa812e-ceb4-4954-93ea-e0e61dbed4e4") + ) + (segment + (start 133.9 136.9) + (end 133.949999 136.85) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "2ba82771-b3e4-49ec-8eb9-e6f0109dd768") + ) + (segment + (start 146.8 133.1) + (end 147.8 133.1) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "428eb724-d136-49aa-b17d-f1bf07b701ec") + ) + (segment + (start 143.5 135.75) + (end 143.55 135.7) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "4dd73c8e-20f6-4f3c-b5a7-a25e3f17a4f8") + ) + (segment + (start 134 136.85) + (end 134.05 136.8) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "4fa14825-0f70-4597-974b-68a9a5d0c39f") + ) + (segment + (start 135 135.95) + (end 139.25 135.95) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "579b4ba3-370f-4439-9945-930d76e9f815") + ) + (segment + (start 143.55 135.7) + (end 143.65 135.7) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "6a20d883-0eb9-4a9a-94fc-f26197bcc7a3") + ) + (segment + (start 146.05 133.8) + (end 146.15 133.699999) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "6b66a5ca-c75c-4d31-b4ae-d4a2e9a15f9c") + ) + (segment + (start 133.949999 136.85) + (end 134 136.85) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "74c8c55a-b041-48ba-95dd-e6fd6d1b027b") + ) + (segment + (start 139.3 135.9) + (end 139.35 135.9) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "75764789-f203-4ef2-80d2-4faedf64954d") + ) + (segment + (start 139.25 135.95) + (end 139.3 135.9) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "7f67a28e-711f-4d4b-becf-833bd8e0298d") + ) + (segment + (start 145.7 133.85) + (end 145.95 133.85) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "94e837cb-2548-4220-9888-75941e47695e") + ) + (segment + (start 139.35 135.9) + (end 139.45 135.8) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "9ef743d9-8426-4834-bed0-980de0e14416") + ) + (segment + (start 143.9 135.6) + (end 143.95 135.55) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "a547aa0c-5cea-4df4-b650-8221b80f9729") + ) + (segment + (start 146.2 133.699999) + (end 146.8 133.1) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "af55d1aa-2f5a-46fd-a874-b5a1553c4bdd") + ) + (segment + (start 139.5 135.8) + (end 139.55 135.75) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "b12c92ab-832e-4169-9aff-41ba3ffe530c") + ) + (segment + (start 133.75 136.95) + (end 133.8 136.9) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "b1bfea9e-57fb-4d14-b1c8-d07bd42dadd6") + ) + (segment + (start 131.75 136.95) + (end 133.75 136.95) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "b3a5998a-950c-459b-bcf0-c2ae29297b42") + ) + (segment + (start 133.8 136.9) + (end 133.9 136.9) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "c57a802b-1684-48ad-adb3-c26e81833267") + ) + (segment + (start 146.15 133.699999) + (end 146.2 133.699999) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "ccd27ecf-fd06-46ea-863c-c89f1d7c979b") + ) + (segment + (start 134.199999 136.7) + (end 134.25 136.7) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "cf5eada0-8ffe-4196-95fd-29c61fe37a28") + ) + (segment + (start 139.45 135.8) + (end 139.5 135.8) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "e136f508-c6c0-48f4-9309-26ac55b384cf") + ) + (segment + (start 143.95 135.55) + (end 144 135.55) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "e420fea0-b424-481d-b484-7aeeb65d636a") + ) + (segment + (start 134.05 136.8) + (end 134.1 136.8) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "e57d665f-912a-4342-b9d6-d40ad59bdd9d") + ) + (segment + (start 134.1 136.8) + (end 134.199999 136.7) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "e79c4a35-690d-471e-b979-4166f54939ee") + ) + (segment + (start 144 135.55) + (end 145.7 133.85) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "ea2938f2-133c-4ac0-8ba3-ffc78c47fe09") + ) + (segment + (start 143.7 135.65) + (end 143.8 135.65) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "ef923769-1f64-493e-b7f5-b0538343a91d") + ) + (segment + (start 139.55 135.75) + (end 143.5 135.75) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "efe1f7b9-1ab5-4f2a-a800-79b99687e118") + ) + (segment + (start 143.85 135.6) + (end 143.9 135.6) + (width 0.25) + (layer "B.Cu") + (net "/RS_DTR") + (uuid "f989985e-b2f0-4d45-94ca-de930482e01e") + ) + (segment + (start 154.35 135.2) + (end 154.4 135.15) + (width 0.25) + (layer "F.Cu") (net "/RS_RTS") - (uuid "d045eec6-c1e5-4a4e-991e-cf052d4d0e8a") + (uuid "0852a7bd-e008-4abe-998e-a8ed91329346") ) (segment - (start 158.95 128.9) - (end 159.1 129.05) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "0392d3c2-c3de-4224-a192-b1f52f69ab4f") - ) - (segment - (start 144.25 126.1) - (end 145.95 126.1) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "06030b15-2385-4470-928a-50b3cd3bd71f") - ) - (segment - (start 144.15 126.05) - (end 144.2 126.05) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "0ed2e273-dcb0-4ed8-ba32-e425ca12683d") - ) - (segment - (start 154.05 128.35) - (end 154.1 128.4) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "1012c43b-8eb4-4397-a158-146f62ef1471") - ) - (segment - (start 159.15 129.05) - (end 160.1 130) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "183630cb-919f-4866-af88-676cd3ecd065") - ) - (segment - (start 153.85 128.3) - (end 153.95 128.3) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "2140ba1f-aa84-4391-89d8-2b45b67d3859") - ) - (segment - (start 154.15 128.4) - (end 154.2 128.449999) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "266f56da-a4ce-45eb-badd-313d51df78c3") - ) - (segment - (start 158.85 128.85) - (end 158.9 128.9) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "27edba28-21d3-411d-ab18-a432f92abb75") - ) - (segment - (start 153.65 128.199999) - (end 153.7 128.25) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "2b0ba165-d4bf-4594-9055-9c7048e1c28b") - ) - (segment - (start 158.75 128.8) - (end 158.8 128.85) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "2bc3b5fa-5128-4a64-a18d-b5e50a6793b6") - ) - (segment - (start 146.15 126.2) - (end 146.2 126.2) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "2f0149ec-b19c-4677-a131-f730fe1f28b1") - ) - (segment - (start 154.1 128.4) - (end 154.15 128.4) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "33cfb112-02c1-4b43-bc0c-9c6d95019b37") - ) - (segment - (start 146.2 126.2) - (end 146.3 126.3) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "4104fe43-2681-48f8-b63f-f4bafe5fcbc6") - ) - (segment - (start 144 125.95) - (end 144.05 125.95) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "437b4d04-edc8-43a2-b2ba-c6e20378ab4d") - ) - (segment - (start 148.25 128.199999) - (end 153.65 128.199999) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "5075c3fa-973a-42d2-8e22-6f5233177b10") - ) - (segment - (start 154.25 128.449999) - (end 154.55 128.75) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "547e28b6-3c1f-49eb-828c-d94975660e84") - ) - (segment - (start 154 128.35) - (end 154.05 128.35) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "5b66ba31-95dd-4c08-a5ec-1bb7255f4b9c") - ) - (segment - (start 160.1 130) - (end 160.8 130) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "5c950406-374e-4536-95e3-bf267828892d") - ) - (segment - (start 159.1 129.05) - (end 159.15 129.05) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "5dfc1905-a932-4ffc-b64a-e479cace1e31") - ) - (segment - (start 141.8 125.9) - (end 143.95 125.9) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "5e140190-f796-4770-a124-b3bcca5848a1") - ) - (segment - (start 153.8 128.25) - (end 153.85 128.3) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "715cb74b-5433-45c4-96fb-50b9596236bd") - ) - (segment - (start 143.95 125.9) - (end 144 125.95) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "74e6b100-69b4-4f3a-849b-0168d44c1226") - ) - (segment - (start 158.9 128.9) - (end 158.95 128.9) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "7e7376d6-7582-4173-91dd-e7bf9191831c") - ) - (segment - (start 146.1 126.15) - (end 146.15 126.2) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "83168eca-a9a4-4ded-900f-dfdf6893a3a2") - ) - (segment - (start 158.65 128.8) - (end 158.75 128.8) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "8533867a-1a0f-490c-a41f-c50347ab97a9") - ) - (segment - (start 144.05 125.95) - (end 144.15 126.05) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "890088d0-be97-4625-a445-7173eeacec80") - ) - (segment - (start 146.35 126.3) - (end 148.25 128.199999) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "a4cfb92a-7d0c-42da-a9db-164d9cc9ca6d") - ) - (segment - (start 160.8 130) - (end 160.78 130) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "ae217f2a-c156-45b4-a560-6090b310257a") - ) - (segment - (start 153.7 128.25) - (end 153.8 128.25) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "af9bf345-07b3-4246-a029-43129950de30") - ) - (segment - (start 145.95 126.1) - (end 146 126.15) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "b90b6b4b-2aed-430b-967c-a6bc19df08f6") - ) - (segment - (start 154.2 128.449999) - (end 154.25 128.449999) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "ba6f7b59-771f-4c83-9e1f-beb148b39da2") - ) - (segment - (start 146 126.15) - (end 146.1 126.15) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "cd7476f1-9eb0-44f0-9f27-ac7402b69074") - ) - (segment - (start 153.95 128.3) - (end 154 128.35) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "d67aee6c-6352-488e-8a4f-162f7709ad85") - ) - (segment - (start 144.2 126.05) - (end 144.25 126.1) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "dedfcc95-b225-4dd4-909f-d14c3d014a22") - ) - (segment - (start 146.3 126.3) - (end 146.35 126.3) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "eb447819-fbd7-4390-964c-94f7fc640b23") - ) - (segment - (start 154.55 128.75) - (end 158.6 128.75) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "eccf60af-fecd-4b1b-ba1b-8a6e86ad2f16") - ) - (segment - (start 158.8 128.85) - (end 158.85 128.85) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "f8d1ace1-0a13-44a5-a52c-56619cf4391f") - ) - (segment - (start 158.6 128.75) - (end 158.65 128.8) - (width 0.25) - (layer "B.Cu") - (net "/RS_RTS") - (uuid "f9cd96a7-2636-4f08-b223-e7145c7de94e") - ) - (segment - (start 133.199999 125.6) - (end 140.4 125.6) - (width 0.25) - (layer "F.Cu") - (net "/RS_CTS") - (uuid "09d4efec-aa73-4c41-9a73-10d9ac3f1f10") - ) - (segment - (start 108 124.32) - (end 108 124.3) - (width 0.25) - (layer "F.Cu") - (net "/RS_CTS") - (uuid "270af9d7-0eb1-4a24-abb0-b60ad9dbe2c5") - ) - (segment - (start 132.75 125.45) - (end 132.8 125.45) - (width 0.25) - (layer "F.Cu") - (net "/RS_CTS") - (uuid "2bf283ef-3c27-4dcb-8a7e-db31e9972d1d") - ) - (segment - (start 132.8 125.45) - (end 132.85 125.5) - (width 0.25) - (layer "F.Cu") - (net "/RS_CTS") - (uuid "4742dbbf-0914-44ad-8420-abfdbe4e185d") - ) - (segment - (start 132.949999 125.5) - (end 133 125.55) - (width 0.25) - (layer "F.Cu") - (net "/RS_CTS") - (uuid "5237797f-288e-429a-a20d-4bf5a38fdc92") - ) - (segment - (start 133 125.55) - (end 133.15 125.55) - (width 0.25) - (layer "F.Cu") - (net "/RS_CTS") - (uuid "7ee1b65e-0e7c-462d-9360-1f1ae6e226af") - ) - (segment - (start 108 124.3) - (end 131.55 124.3) - (width 0.25) - (layer "F.Cu") - (net "/RS_CTS") - (uuid "9e483ef2-93bd-441f-930e-e0e3008d176c") - ) - (segment - (start 132.65 125.35) - (end 132.75 125.45) - (width 0.25) - (layer "F.Cu") - (net "/RS_CTS") - (uuid "b8383ff9-f9ad-4a5b-9686-e858644d1221") - ) - (segment - (start 131.55 124.3) - (end 132.6 125.35) - (width 0.25) - (layer "F.Cu") - (net "/RS_CTS") - (uuid "da1b7a04-ec88-46ff-9c3a-88a55f63c5cc") - ) - (segment - (start 132.6 125.35) - (end 132.65 125.35) - (width 0.25) - (layer "F.Cu") - (net "/RS_CTS") - (uuid "f84e9376-3038-4d61-9705-1f330d35841e") - ) - (segment - (start 133.15 125.55) - (end 133.199999 125.6) - (width 0.25) - (layer "F.Cu") - (net "/RS_CTS") - (uuid "f85fd33d-0b50-4713-a00f-2afb17324410") - ) - (segment - (start 132.85 125.5) - (end 132.949999 125.5) - (width 0.25) - (layer "F.Cu") - (net "/RS_CTS") - (uuid "fd6f8569-14d3-476c-aec1-7190ae7a1c38") - ) - (via - (at 140.4 125.6) - (size 0.7) - (drill 0.3) - (layers "F.Cu" "B.Cu") - (net "/RS_CTS") - (uuid "c36a5a7b-e817-478d-ac1e-ca5938daa9b4") - ) - (segment - (start 141.3 125.3) - (end 141.4 125.2) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "03beca8e-e1a5-49a7-ab92-4e24e41ba94d") - ) - (segment - (start 146.25 125.6) - (end 146.3 125.65) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "0dac7093-a0c9-4e2b-8ff2-87167cbbb3ab") - ) - (segment - (start 154.5 127.95) - (end 154.55 127.95) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "0fbe713a-cbd8-4a49-9b37-e3d85f18ff5e") - ) - (segment - (start 154.25 127.8) - (end 154.3 127.85) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "13265a75-d053-43e6-8ea4-c22801e676f6") - ) - (segment - (start 161.5 128.949999) - (end 161.55 128.949999) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "1451c2a1-f8a7-4485-8bf2-8765cdeb2d5e") - ) - (segment - (start 154.35 127.85) - (end 154.4 127.9) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "15ab9ee9-52c4-410b-89c0-203b0b71b8f5") - ) - (segment - (start 159.4 128.55) - (end 159.45 128.55) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "15ff194f-d686-41c3-903a-9a58ee22b77c") - ) - (segment - (start 141.45 125.2) - (end 141.5 125.15) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "174e18a7-1707-42b2-a59a-1a6375307133") - ) - (segment - (start 144.1 125.35) - (end 144.15 125.4) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "2bdbb575-6dc4-482f-9171-d7585212ea78") - ) - (segment - (start 142.1 125.15) - (end 142.15 125.2) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "31a04354-47a4-441d-b6e4-978f17118a4a") - ) - (segment - (start 142.3 125.3) - (end 142.35 125.3) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "320e4edf-071b-4a1e-b341-4faad97b1668") - ) - (segment - (start 158.9 128.25) - (end 158.95 128.3) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "349d2901-a7c6-4f43-8179-11eacdcaed3d") - ) - (segment - (start 146.15 125.6) - (end 146.25 125.6) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "359277bc-79a3-4f2c-950a-e19bbac77142") - ) - (segment - (start 144.3 125.45) - (end 144.35 125.45) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "38439356-c73a-4193-b5e6-251fd711e865") - ) - (segment - (start 154 127.75) - (end 154.1 127.75) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "3a7f38b3-3155-47b2-80ff-4766fe2177f0") - ) - (segment - (start 146.5 125.7) - (end 146.6 125.8) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "4df5f155-fb8c-4a37-9e0a-7edc3f23b46d") - ) - (segment - (start 140.4 125.6) - (end 140.95 125.6) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "5041f09b-4aab-4bbc-a74c-d0b18a0975e1") - ) - (segment - (start 144.35 125.45) - (end 144.45 125.55) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "5519b653-0e95-4606-a096-9477c3182e2a") - ) - (segment - (start 158.75 128.199999) - (end 158.8 128.25) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "5a4abc48-1ce0-4731-ac09-c0be9b3d35ac") - ) - (segment - (start 161.15 128.75) - (end 161.2 128.8) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "684ac88a-bce4-4299-a74d-610ed095528c") - ) - (segment - (start 144.45 125.55) - (end 146.1 125.55) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "6baa8f0e-bd82-4673-b732-3b1d6fe979e8") - ) - (segment - (start 144.25 125.4) - (end 144.3 125.45) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "710062ea-5bf8-4814-a40d-06f6d07ee376") - ) - (segment - (start 154.55 127.95) - (end 154.8 128.199999) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "73c90ef0-1e20-4aaf-a846-a75e1f1a9b2c") - ) - (segment - (start 153.85 127.7) - (end 153.95 127.7) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "75b8c5be-0ba2-4b5c-b7ee-a8f3bb8a8c65") - ) - (segment - (start 146.1 125.55) - (end 146.15 125.6) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "78ba173e-4bab-42ed-9a15-7b33f11f0433") - ) - (segment - (start 154.1 127.75) - (end 154.15 127.8) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "7a77a5a5-ab3f-44a8-8fa7-d90d07162d87") - ) - (segment - (start 146.65 125.8) - (end 148.5 127.65) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "82a97a5c-ec87-4412-8222-2e2c4623d113") - ) - (segment - (start 154.4 127.9) - (end 154.45 127.9) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "8b341c74-a7fa-4381-8870-9d03189312c5") - ) - (segment - (start 161.35 128.85) - (end 161.4 128.85) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "8c9ce80c-2306-418e-8e51-64f859c47a04") - ) - (segment - (start 159.05 128.3) - (end 159.1 128.35) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "8d3a0c88-1e9e-45bc-b446-0fdc826cf4cb") - ) - (segment - (start 146.6 125.8) - (end 146.65 125.8) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "8e98112c-45ad-481e-93ba-37dc74eb9d73") - ) - (segment - (start 141.25 125.3) - (end 141.3 125.3) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "915d29fc-8861-46d7-be4a-8a477c5fccdc") - ) - (segment - (start 141.4 125.2) - (end 141.45 125.2) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "96d6613b-d7d5-469a-ab08-82c5aa86ade5") - ) - (segment - (start 158.8 128.25) - (end 158.9 128.25) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "98beae8a-0e1a-4906-8ca2-6064217b3e76") - ) - (segment - (start 154.3 127.85) - (end 154.35 127.85) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "9c0f272b-6203-4f05-b6eb-0198328a49dc") - ) - (segment - (start 142.15 125.2) - (end 142.2 125.2) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "9cf14338-6dfe-4276-aa12-1cde139cf523") - ) - (segment - (start 154.15 127.8) - (end 154.25 127.8) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "9efb42ac-8397-417b-91ae-05c402b99219") - ) - (segment - (start 141.5 125.15) - (end 142.1 125.15) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "ae48aabe-0007-4076-9e26-a17f9af54f3d") - ) - (segment - (start 144.15 125.4) - (end 144.25 125.4) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "af271be1-b1bb-49d7-a32e-fb7e37fb9786") - ) - (segment - (start 142.4 125.35) - (end 144.1 125.35) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "b4ee0635-5351-4711-8741-fd37a67aa781") - ) - (segment - (start 153.8 127.65) - (end 153.85 127.7) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "b732b6fd-58e0-43c0-82b9-a73815fe46bf") - ) - (segment - (start 146.3 125.65) - (end 146.4 125.65) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "b7e32b43-8c2f-4383-aaef-efa932f6e467") - ) - (segment - (start 159.15 128.35) - (end 159.2 128.4) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "b9ccc555-be66-4f1f-9c0f-a9090a748258") - ) - (segment - (start 159.2 128.4) - (end 159.25 128.4) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "bb96e9f9-47f4-463f-ac8b-b48f0017c82f") - ) - (segment - (start 159.45 128.55) - (end 159.65 128.75) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "be49d7aa-ce3e-454b-92b6-0e69670f05e5") - ) - (segment - (start 146.4 125.65) - (end 146.45 125.7) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "c2630e55-d0e1-4d38-84f0-c28a703a14e2") - ) - (segment - (start 148.5 127.65) - (end 153.8 127.65) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "c38ffe02-7d5c-4e31-af49-7fedcd185aea") - ) - (segment - (start 159.65 128.75) - (end 161.15 128.75) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "c6bbece8-3fc4-4d09-b859-6e65ca102865") - ) - (segment - (start 161.55 128.949999) - (end 162.6 130) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "d54d130f-3ef3-49c7-9013-269d670142e6") - ) - (segment - (start 161.4 128.85) - (end 161.5 128.949999) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "d90290b5-66e5-4d6d-bc37-8b569347934b") - ) - (segment - (start 140.95 125.6) - (end 141.25 125.3) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "da0fa354-8d0c-487b-a786-33e1e2a1f7b0") - ) - (segment - (start 159.25 128.4) - (end 159.4 128.55) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "db4df13e-dff4-4668-a485-a066e4cac2f7") - ) - (segment - (start 161.3 128.8) - (end 161.35 128.85) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "dd1740c3-9c30-43c3-8a73-c283170ec933") - ) - (segment - (start 162.6 130) - (end 163.32 130) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "e243266f-ca14-4d1e-ac6b-4aee116649d8") - ) - (segment - (start 154.8 128.199999) - (end 158.75 128.199999) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "e3e0c719-77f4-4c6d-b809-63dfaeb7edff") - ) - (segment - (start 161.2 128.8) - (end 161.3 128.8) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "e4f0ec97-eeac-489a-a75d-0c7d6d1a72de") - ) - (segment - (start 142.2 125.2) - (end 142.3 125.3) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "e79cbed3-339f-4c96-85a5-2a050fc9fe5f") - ) - (segment - (start 154.45 127.9) - (end 154.5 127.95) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "e90e4b6a-3e65-4048-9ee6-b5c65b8e3871") - ) - (segment - (start 153.95 127.7) - (end 154 127.75) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "eb0c8a84-e836-4bb5-8321-8b1d6704f4ca") - ) - (segment - (start 146.45 125.7) - (end 146.5 125.7) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "ee39f72f-447e-431a-8011-a1a978efec83") - ) - (segment - (start 142.35 125.3) - (end 142.4 125.35) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "f2322b60-d7e0-4854-b049-c28fd7fba132") - ) - (segment - (start 159.1 128.35) - (end 159.15 128.35) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "fbd25860-624a-4e17-9025-6f5045db841e") - ) - (segment - (start 158.95 128.3) - (end 159.05 128.3) - (width 0.25) - (layer "B.Cu") - (net "/RS_CTS") - (uuid "fd565b55-7589-4ddb-a819-4442e27505ce") - ) - (segment - (start 153.15 130) - (end 153.16 130) - (width 0.25) - (layer "F.Cu") - (net "/RS_TX") - (uuid "100d338d-8471-47d1-a212-44b677f169bd") - ) - (segment - (start 141.75 131.25) - (end 151.9 131.25) - (width 0.25) - (layer "F.Cu") - (net "/RS_TX") - (uuid "108094cb-5f53-4003-8236-1377c5c96c99") - ) - (segment - (start 132.6 130.4) - (end 132.699999 130.5) - (width 0.25) - (layer "F.Cu") - (net "/RS_TX") - (uuid "18f9ae38-67bd-44c8-b729-c2f6baf0ad65") - ) - (segment - (start 132.55 130.4) - (end 132.6 130.4) - (width 0.25) - (layer "F.Cu") - (net "/RS_TX") - (uuid "36f9c95d-fcbe-489d-bb3d-faf0f2105b7a") - ) - (segment - (start 132.9 130.6) - (end 133 130.6) - (width 0.25) - (layer "F.Cu") - (net "/RS_TX") - (uuid "44b121c4-e120-48b2-aa83-8a60222523ae") - ) - (segment - (start 132.75 130.5) - (end 132.8 130.55) - (width 0.25) - (layer "F.Cu") - (net "/RS_TX") - (uuid "4e5ea254-16db-4264-94b1-273f5c7822e9") - ) - (segment - (start 132.3 130.15) - (end 132.55 130.4) - (width 0.25) - (layer "F.Cu") - (net "/RS_TX") - (uuid "57f65023-e2ef-4e30-a38d-b1a208dcc6f4") - ) - (segment - (start 133 130.6) - (end 133.05 130.65) - (width 0.25) - (layer "F.Cu") - (net "/RS_TX") - (uuid "5fb1c2f3-a1e0-4c31-ac82-820187802a53") - ) - (segment - (start 132.85 130.55) - (end 132.9 130.6) - (width 0.25) - (layer "F.Cu") - (net "/RS_TX") - (uuid "ccdcb5ba-bfd6-4def-ba4b-4d2e895c9cf2") - ) - (segment - (start 151.9 131.25) - (end 153.15 130) - (width 0.25) - (layer "F.Cu") - (net "/RS_TX") - (uuid "ddd13d20-1661-46c0-ab55-010d8e40e2a6") - ) - (segment - (start 141.15 130.65) - (end 141.75 131.25) - (width 0.25) - (layer "F.Cu") - (net "/RS_TX") - (uuid "e662ae82-7846-4a28-994a-24d2123efa3c") - ) - (segment - (start 111.3 130.15) - (end 132.3 130.15) - (width 0.25) - (layer "F.Cu") - (net "/RS_TX") - (uuid "f1c9b213-2ab3-45d6-908e-c6be3bc68528") - ) - (segment - (start 132.8 130.55) - (end 132.85 130.55) - (width 0.25) - (layer "F.Cu") - (net "/RS_TX") - (uuid "f489d878-0110-4242-9a99-253b0fa456aa") - ) - (segment - (start 132.699999 130.5) - (end 132.75 130.5) - (width 0.25) - (layer "F.Cu") - (net "/RS_TX") - (uuid "f51574e2-c267-4aa8-83ea-c3683e75c9eb") - ) - (segment - (start 133.05 130.65) - (end 141.15 130.65) - (width 0.25) - (layer "F.Cu") - (net "/RS_TX") - (uuid "fa2f4895-9650-425b-87de-0ff449ae03fb") - ) - (via - (at 111.3 130.15) - (size 0.7) - (drill 0.3) - (layers "F.Cu" "B.Cu") - (net "/RS_TX") - (uuid "f21599f1-36fc-493e-9836-6c003cbe752f") - ) - (segment - (start 108 126.86) - (end 108 126.85) - (width 0.25) - (layer "B.Cu") - (net "/RS_TX") - (uuid "6b996882-5c3f-4f57-9779-8ed13ef2bf15") - ) - (segment - (start 108 126.85) - (end 111.3 130.15) - (width 0.25) - (layer "B.Cu") - (net "/RS_TX") - (uuid "85d359af-6cb0-46aa-b802-51764b6d0024") - ) - (segment - (start 133.05 128.15) - (end 148.75 128.15) - (width 0.25) - (layer "F.Cu") - (net "/RS_RX") - (uuid "13800e2b-00bc-4d8f-9caa-2173d70a77bf") - ) - (segment - (start 132.75 128.3) - (end 132.8 128.25) - (width 0.25) - (layer "F.Cu") - (net "/RS_RX") - (uuid "1b53e02c-9656-4f23-b759-bf967d981e42") - ) - (segment - (start 132.55 128.4) - (end 132.6 128.4) - (width 0.25) - (layer "F.Cu") - (net "/RS_RX") - (uuid "29dbc7d0-e0c4-4616-be3a-0bb7592b8fae") - ) - (segment - (start 131.55 129.4) - (end 132.55 128.4) - (width 0.25) - (layer "F.Cu") - (net "/RS_RX") - (uuid "2bdb1be2-1aee-4e62-8701-4c384b6024dd") - ) - (segment - (start 148.75 128.15) - (end 150.6 130) - (width 0.25) - (layer "F.Cu") - (net "/RS_RX") - (uuid "37be7d17-aa4f-48ee-ad25-64f8c0454452") - ) - (segment - (start 132.85 128.25) - (end 132.9 128.199999) - (width 0.25) - (layer "F.Cu") - (net "/RS_RX") - (uuid "42295b75-68e5-4719-9492-af0f9eacb757") - ) - (segment - (start 133 128.199999) - (end 133.05 128.15) - (width 0.25) - (layer "F.Cu") - (net "/RS_RX") - (uuid "5938d137-aa9a-41f5-a457-b72a65288a9b") - ) - (segment - (start 108 129.4) - (end 131.55 129.4) - (width 0.25) - (layer "F.Cu") - (net "/RS_RX") - (uuid "8d605c85-efba-4d5b-ad67-22c4ac46834c") - ) - (segment - (start 132.699999 128.3) - (end 132.75 128.3) - (width 0.25) - (layer "F.Cu") - (net "/RS_RX") - (uuid "9de41d95-f19d-4550-a342-024b337fb012") - ) - (segment - (start 150.6 130) - (end 150.62 130) - (width 0.25) - (layer "F.Cu") - (net "/RS_RX") - (uuid "b597c46f-78bd-4f92-b66c-2be44f7a9adf") - ) - (segment - (start 132.8 128.25) - (end 132.85 128.25) - (width 0.25) - (layer "F.Cu") - (net "/RS_RX") - (uuid "d95e4dbd-9da3-4799-8b2d-6d77c8979cc7") - ) - (segment - (start 132.6 128.4) - (end 132.699999 128.3) - (width 0.25) - (layer "F.Cu") - (net "/RS_RX") - (uuid "e151f1a6-62ad-451c-b4d8-4fb2849ba017") - ) - (segment - (start 132.9 128.199999) - (end 133 128.199999) - (width 0.25) - (layer "F.Cu") - (net "/RS_RX") - (uuid "f800156f-7555-4df3-af3a-ae440e2f9f83") - ) - (segment - (start 133.15 135.75) - (end 147.1 135.75) - (width 0.25) - (layer "F.Cu") - (net "/RS_VALID") - (uuid "183532a8-27c1-481a-8db7-45b16c52386e") - ) - (segment - (start 147.1 135.75) - (end 147.95 134.9) - (width 0.25) - (layer "F.Cu") - (net "/RS_VALID") - (uuid "1942513e-51fb-40d0-8bcc-0a3ec5316ec7") - ) - (segment - (start 132.699999 135.55) - (end 132.75 135.6) - (width 0.25) - (layer "F.Cu") - (net "/RS_VALID") - (uuid "281bdff2-888e-4aa1-ae38-18e3056c1dad") - ) - (segment - (start 132.65 135.55) - (end 132.699999 135.55) - (width 0.25) - (layer "F.Cu") - (net "/RS_VALID") - (uuid "3788f7af-15cd-4628-8c2f-65541500bb69") - ) - (segment - (start 132.85 135.65) - (end 132.9 135.65) - (width 0.25) - (layer "F.Cu") - (net "/RS_VALID") - (uuid "582cab6e-89f2-47ef-a1ff-9fb98773d58d") - ) - (segment - (start 132.949999 135.7) - (end 133.1 135.7) - (width 0.25) - (layer "F.Cu") - (net "/RS_VALID") - (uuid "6417709a-17a7-458e-a88c-aa3bd509227b") - ) - (segment - (start 132.8 135.6) - (end 132.85 135.65) - (width 0.25) - (layer "F.Cu") - (net "/RS_VALID") - (uuid "937af9bd-f4b8-4091-8729-17f59f3ed9fd") - ) - (segment - (start 132.9 135.65) - (end 132.949999 135.7) - (width 0.25) - (layer "F.Cu") - (net "/RS_VALID") - (uuid "9d5edcda-d143-46fd-929b-b3ff0f46b895") - ) - (segment - (start 108 131.94) - (end 108 131.949999) - (width 0.25) - (layer "F.Cu") - (net "/RS_VALID") - (uuid "bddb5367-70ad-4afd-a876-64cab7e0a054") - ) - (segment - (start 132.75 135.6) - (end 132.8 135.6) - (width 0.25) - (layer "F.Cu") - (net "/RS_VALID") - (uuid "c350d1db-e603-4acc-a9d4-04514c1fa186") - ) - (segment - (start 133.1 135.7) - (end 133.15 135.75) - (width 0.25) - (layer "F.Cu") - (net "/RS_VALID") - (uuid "dc8c06b7-b0ba-4ab2-816f-c350e718e02c") - ) - (segment - (start 108 131.949999) - (end 129.05 131.949999) - (width 0.25) - (layer "F.Cu") - (net "/RS_VALID") - (uuid "e288eee3-c629-4054-a62b-6ccf77db532c") - ) - (segment - (start 129.05 131.949999) - (end 132.65 135.55) - (width 0.25) - (layer "F.Cu") - (net "/RS_VALID") - (uuid "f46e420a-085f-457c-ab5f-9a822d6604cd") - ) - (via - (at 147.95 134.9) - (size 0.7) - (drill 0.3) - (layers "F.Cu" "B.Cu") - (net "/RS_VALID") - (uuid "9e17d20c-6744-45db-9ac9-c6b5fe278f6b") - ) - (segment - (start 166.35 131.199999) - (end 166.4 131.15) - (width 0.25) - (layer "B.Cu") - (net "/RS_VALID") - (uuid "052678c6-a645-46b0-9b4a-6e8b4e6472d3") - ) - (segment - (start 151.6 131.25) - (end 166.2 131.25) - (width 0.25) - (layer "B.Cu") - (net "/RS_VALID") - (uuid "121fb698-9fa1-4815-8762-4c1a462d9294") - ) - (segment - (start 166.5 131.1) - (end 166.55 131.1) - (width 0.25) - (layer "B.Cu") - (net "/RS_VALID") - (uuid "2cd25f5d-1f6c-441b-b458-f4332f1383e4") - ) - (segment - (start 147.95 134.9) - (end 151.6 131.25) - (width 0.25) - (layer "B.Cu") - (net "/RS_VALID") - (uuid "315644e1-facd-4e6e-87aa-0a15b0fc4418") - ) - (segment - (start 166.65 131.05) - (end 167.7 130) - (width 0.25) - (layer "B.Cu") - (net "/RS_VALID") - (uuid "48fb9a15-e2e4-4bae-87aa-f3484a7e77dd") - ) - (segment - (start 166.2 131.25) - (end 166.25 131.199999) - (width 0.25) - (layer "B.Cu") - (net "/RS_VALID") - (uuid "530405c6-1376-41b1-8ae9-6d6a40a1dc85") - ) - (segment - (start 166.55 131.1) - (end 166.6 131.05) - (width 0.25) - (layer "B.Cu") - (net "/RS_VALID") - (uuid "54c4dff3-b1d0-4563-b2c5-5561db599b1a") - ) - (segment - (start 166.6 131.05) - (end 166.65 131.05) - (width 0.25) - (layer "B.Cu") - (net "/RS_VALID") - (uuid "7d237472-41f3-4ed8-b776-30be53cf22a3") - ) - (segment - (start 167.7 130) - (end 168.4 130) - (width 0.25) - (layer "B.Cu") - (net "/RS_VALID") - (uuid "c2954d42-b077-4e45-ac10-302ae5697eba") - ) - (segment - (start 166.4 131.15) - (end 166.45 131.15) - (width 0.25) - (layer "B.Cu") - (net "/RS_VALID") - (uuid "dbf6e95c-ae16-4f36-ac99-e5a7327d290b") - ) - (segment - (start 166.25 131.199999) - (end 166.35 131.199999) - (width 0.25) - (layer "B.Cu") - (net "/RS_VALID") - (uuid "f201a0ad-bdb2-49b5-a8a9-e0ef59f7376d") - ) - (segment - (start 166.45 131.15) - (end 166.5 131.1) - (width 0.25) - (layer "B.Cu") - (net "/RS_VALID") - (uuid "f88c4a86-d859-4b2e-beab-0d0b9269806e") - ) - (segment - (start 155.95 135.85) - (end 156.05 135.75) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "05ffb1b5-30c2-4b6d-a71c-4d669449685a") - ) - (segment - (start 155.5 136.25) - (end 155.9 135.85) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "0d547c10-aed8-4993-96ef-0a6c615ed7d4") - ) - (segment - (start 132.85 138.4) - (end 132.9 138.35) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "166bf1f6-b05f-4d41-a704-7dfed41aabe9") - ) - (segment - (start 156.7 135.5) - (end 156.75 135.45) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "179ddad8-9835-41dd-a5ef-0980e032c3f3") - ) - (segment - (start 133.05 138.35) - (end 133.1 138.3) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "18458e3d-0fb6-4520-9dee-dfc08f0f7eec") - ) - (segment - (start 150.9 136.25) - (end 155.5 136.25) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "1d123898-6bef-474f-8e26-91e34d296afc") - ) - (segment - (start 161 132.9) - (end 161.1 132.9) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "1da363a7-0485-4b87-98b7-624e5fbfc145") - ) - (segment - (start 144.35 136.35) - (end 146.85 136.35) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "280c7066-19f9-4cb7-a5d0-940de5dd60eb") - ) - (segment - (start 160.85 133) - (end 160.9 133) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "2a87d413-6488-43c0-9009-a06bb813c859") - ) - (segment - (start 149.2 136.5) - (end 150.65 136.5) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "316d5017-1d94-47fc-b94e-4238670724d3") - ) - (segment - (start 108 139.55) - (end 131.55 139.55) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "32ee714b-a450-4baa-ab3b-2cc6e36ce0d0") - ) - (segment - (start 132.5 138.65) - (end 132.699999 138.45) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "3f9d743e-3635-4043-8314-4604994fd13b") - ) - (segment - (start 158.4 135.45) - (end 160.85 133) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "400c6adc-15a6-4a58-96b7-c3d1a528bb9d") - ) - (segment - (start 144.2 136.4) - (end 144.3 136.4) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "41ff3155-efaf-4972-ac44-f8116e7167c5") - ) - (segment - (start 168.15 132.8) - (end 170.95 130) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "4ca5be17-cee2-460c-bee0-ac9914672e7b") - ) - (segment - (start 161.15 132.85) - (end 161.2 132.85) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "4eb92a26-40a2-4a57-aa7f-2481d37e3858") - ) - (segment - (start 156.55 135.5) - (end 156.7 135.5) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "50b89388-d593-4b0b-8db1-18a1a858c0db") - ) - (segment - (start 132.75 138.45) - (end 132.8 138.4) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "55561963-d8ac-42cd-af82-826cec50b9b4") - ) - (segment - (start 108 139.56) - (end 108 139.55) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "5748ffaf-3be3-4ccf-9f28-7b1bcd84ea61") - ) - (segment - (start 156.25 135.65) - (end 156.3 135.65) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "5c814278-e716-4774-a536-5af53288f873") - ) - (segment - (start 133.1 138.3) - (end 142.15 138.3) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "667126ea-c245-4bc8-8a63-153a4ca2f92b") - ) - (segment - (start 144.15 136.45) - (end 144.2 136.4) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "66a51b2e-f5a8-448f-81ff-ab3d607034b8") - ) - (segment - (start 156.75 135.45) - (end 158.4 135.45) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "6d0eeb18-d5c5-4b31-b5d6-b249ebf4350f") - ) - (segment - (start 132.449999 138.65) - (end 132.5 138.65) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "71620654-560a-4c1d-80b5-425a8deabc1a") - ) - (segment - (start 131.55 139.55) - (end 132.449999 138.65) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "71a16d53-2264-4033-8c00-560bbf21e517") - ) - (segment - (start 150.65 136.5) + (start 147.65 139.5) (end 150.9 136.25) (width 0.25) (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "79306767-e91b-45a9-af16-8fdb50a8fa5d") + (net "/RS_RTS") + (uuid "1d786d5b-4f72-42b5-a58a-af05251eab48") ) (segment - (start 143.9 136.6) - (end 144 136.5) + (start 154.55 135.1) + (end 154.6 135.1) (width 0.25) (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "7a66b358-069f-4975-bdbe-286ec416f460") + (net "/RS_RTS") + (uuid "22fff482-e1ae-4d60-8a80-1028ad808dd9") ) (segment - (start 156.15 135.7) - (end 156.2 135.7) + (start 154.7 135.05) + (end 160.8 128.949999) (width 0.25) (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "7c3922d4-d661-4785-b70e-f46da979703b") + (net "/RS_RTS") + (uuid "25140bf2-264f-4230-9a40-467c0424cbef") ) (segment - (start 144 136.5) - (end 144.05 136.5) + (start 154.5 135.15) + (end 154.55 135.1) (width 0.25) (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "7df97e76-9ad9-4ed4-850a-cc852f56fc96") + (net "/RS_RTS") + (uuid "4320d9ba-7050-423a-aa3d-273bfd36016c") ) (segment - (start 156.5 135.55) - (end 156.55 135.5) + (start 127.9 140.8) + (end 129.199999 139.5) (width 0.25) (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "831454cf-d249-4355-8ac3-e4ec8b6d012a") + (net "/RS_RTS") + (uuid "545338f0-4e8f-4690-9e14-7b912e5cbfaf") ) (segment - (start 156.2 135.7) - (end 156.25 135.65) + (start 154.4 135.15) + (end 154.5 135.15) (width 0.25) (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "853138d9-ee35-4628-9d05-ff347dedfc40") + (net "/RS_RTS") + (uuid "83b6be69-69fa-4b8b-af85-1facc6390aeb") ) (segment - (start 156.05 135.75) - (end 156.1 135.75) + (start 152.25 135.2) + (end 154.35 135.2) (width 0.25) (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "8bf3d1c8-5615-43df-83ae-43dc21b87dd9") + (net "/RS_RTS") + (uuid "83dfe307-e015-470a-8fda-8603d03b6199") ) (segment - (start 161.25 132.8) - (end 168.15 132.8) + (start 154.65 135.05) + (end 154.7 135.05) (width 0.25) (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "99fb402a-445b-4eba-aedf-76b7f0cad042") + (net "/RS_RTS") + (uuid "89f7a330-01f4-4b61-bc2e-2d5d53c5bf4e") ) (segment - (start 155.9 135.85) - (end 155.95 135.85) + (start 150.9 136.25) + (end 151.2 136.25) (width 0.25) (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "9ef1ac94-dd81-48bf-92f8-3afa0970c548") + (net "/RS_RTS") + (uuid "8dedd1f5-2b14-4f36-9a43-b42edd75abd2") ) (segment - (start 156.35 135.6) - (end 156.4 135.6) + (start 136.85 139.5) + (end 147.65 139.5) (width 0.25) (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "a0bee222-d1a5-41f2-a84f-bc323f9c5b78") + (net "/RS_RTS") + (uuid "8e8d77c6-9d75-4ca2-9a43-db2ffb2466b6") ) (segment - (start 144.1 136.45) - (end 144.15 136.45) + (start 160.8 126.65) + (end 160.78 126.67) (width 0.25) (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "a1269634-908d-49a0-b71f-e97fd444a1a8") + (net "/RS_RTS") + (uuid "b1d7a9f0-91bf-4768-97ed-ba0332b5066e") ) (segment - (start 144.05 136.5) - (end 144.1 136.45) + (start 154.6 135.1) + (end 154.65 135.05) (width 0.25) (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "a1a1ea19-8751-485c-b55e-14e3b7218e90") + (net "/RS_RTS") + (uuid "bade3086-f60f-480b-9205-388151df0f0b") ) (segment - (start 161.1 132.9) - (end 161.15 132.85) + (start 108 140.78) + (end 108 140.8) (width 0.25) (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "a403ace6-b250-482c-964f-7f4f5344da9d") + (net "/RS_RTS") + (uuid "cbcba429-0176-41d5-9140-647c9c4c57cd") ) (segment - (start 161.2 132.85) - (end 161.25 132.8) + (start 108 140.8) + (end 127.9 140.8) (width 0.25) (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "ac8dcf49-1a10-45ed-b1d7-57d790476f49") + (net "/RS_RTS") + (uuid "e297c3a8-19f9-43bc-96dc-15cdabf7712c") ) (segment - (start 132.699999 138.45) - (end 132.75 138.45) + (start 160.8 128.949999) + (end 160.8 126.65) (width 0.25) (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "b23aa529-7d3a-4fb8-8507-5e5a33b18b0e") + (net "/RS_RTS") + (uuid "f147bc19-4c22-480b-89ae-e0a4ce8aad9e") ) (segment - (start 144.3 136.4) - (end 144.35 136.35) + (start 151.2 136.25) + (end 152.25 135.2) (width 0.25) (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "b9c7e9d1-acb4-4260-b7fe-87bc322b1dfe") - ) - (segment - (start 160.9 133) - (end 161 132.9) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "c7a3139f-a009-4248-b53c-a906ac74e657") - ) - (segment - (start 156.4 135.6) - (end 156.45 135.55) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "c96c7d97-f98b-4ade-b9e5-8e94a72f4637") - ) - (segment - (start 132.8 138.4) - (end 132.85 138.4) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "cc27b7d7-75a2-45ac-97c6-14cbbb32b925") - ) - (segment - (start 146.85 136.35) - (end 147 136.5) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "cda932b1-6b78-47fb-bd46-392eda709e32") - ) - (segment - (start 156.3 135.65) - (end 156.35 135.6) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "d752c9cf-c80d-40a8-a034-2be699f6e8d4") - ) - (segment - (start 156.45 135.55) - (end 156.5 135.55) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "dc0d8ce8-802a-49e4-a890-7c113fde8a9d") - ) - (segment - (start 143.85 136.6) - (end 143.9 136.6) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "dc9ff728-c312-46f1-86b6-45e9a0e048e8") - ) - (segment - (start 170.95 130) - (end 170.94 130) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "e19bec17-30a9-489d-bc68-d26a58bc0594") - ) - (segment - (start 156.1 135.75) - (end 156.15 135.7) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "e4278bf9-b8af-463a-a764-2f75daabfeef") - ) - (segment - (start 132.9 138.35) - (end 133.05 138.35) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "e4302052-704a-4115-825b-425d319caaaf") - ) - (segment - (start 142.15 138.3) - (end 143.85 136.6) - (width 0.25) - (layer "F.Cu") - (net "/RS_OFF_N") - (uuid "e96c544e-4d18-48a4-8c81-2b09961ba833") + (net "/RS_RTS") + (uuid "f6466575-0fc1-4122-af44-6cf5f1cf350f") ) (via - (at 147 136.5) + (at 129.199999 139.5) (size 0.7) (drill 0.3) (layers "F.Cu" "B.Cu") - (net "/RS_OFF_N") - (uuid "19dcb6f3-1e92-4822-98b6-7654e8f83e46") + (net "/RS_RTS") + (uuid "c176d168-0472-4188-a683-fc2e19a028ac") ) (via - (at 149.2 136.5) + (at 136.85 139.5) (size 0.7) (drill 0.3) (layers "F.Cu" "B.Cu") - (net "/RS_OFF_N") - (uuid "7fbe3fc7-d7b3-40a4-bea3-1393081da555") + (net "/RS_RTS") + (uuid "e7d7193b-209f-4443-aa38-411ec082a762") ) (segment - (start 147 136.5) - (end 149.2 136.5) + (start 129.199999 139.5) + (end 136.85 139.5) (width 0.25) (layer "B.Cu") - (net "/RS_OFF_N") - (uuid "22cca446-02fe-4f26-85c3-569897417dd3") + (net "/RS_RTS") + (uuid "d30a98e2-d716-4d71-9233-efcdaa0a64c3") ) (segment - (start 132.6 141.1) - (end 132.699999 141) + (start 153.45 138.75) + (end 153.45 137.3) (width 0.25) (layer "F.Cu") - (net "/BTN_PREVIOUS") - (uuid "1195d52b-c270-47ea-9c43-90522e105e48") + (net "/RS_CTS") + (uuid "08eda9a1-b0e4-4ed1-8d7d-cec706f0162c") ) (segment - (start 132.9 140.9) - (end 133 140.9) + (start 151.2 138.75) + (end 153.45 138.75) (width 0.25) (layer "F.Cu") - (net "/BTN_PREVIOUS") - (uuid "14b5195a-4ed8-43cb-949e-8f071d1f0e6c") + (net "/RS_CTS") + (uuid "1822752c-e926-4612-9130-c36bd7cac66d") ) (segment - (start 149.5 168) - (end 143 168) + (start 132.699999 142.25) + (end 132.75 142.2) (width 0.25) (layer "F.Cu") - (net "/BTN_PREVIOUS") - (uuid "1be73fc6-20d5-4238-8182-20792864f547") + (net "/RS_CTS") + (uuid "29524f5d-05ee-49d2-b092-6ed4a5dab357") ) (segment - (start 133 140.9) - (end 133.05 140.85) + (start 154.95 135.55) + (end 155 135.55) (width 0.25) (layer "F.Cu") - (net "/BTN_PREVIOUS") - (uuid "25ca9ee8-74c9-437c-a7d3-28137f551221") + (net "/RS_CTS") + (uuid "2a07e8b7-cf05-47b1-a0b9-729733a74e3c") ) (segment - (start 150.6 134) - (end 150.62 134) + (start 147.9 142.05) + (end 151.2 138.75) (width 0.25) (layer "F.Cu") - (net "/BTN_PREVIOUS") - (uuid "2f9dc17b-05a2-4214-9699-4e11721ddb2a") + (net "/RS_CTS") + (uuid "2aa888e6-7b0a-43a7-9b44-fba94af41883") ) (segment - (start 132.699999 141) - (end 132.75 141) + (start 154.8 135.65) + (end 154.85 135.6) (width 0.25) (layer "F.Cu") - (net "/BTN_PREVIOUS") - (uuid "453afb05-fc59-420c-bdda-a8a79a392e77") + (net "/RS_CTS") + (uuid "2f04cc30-6baf-40d0-b2e5-66b7c463c0a9") ) (segment - (start 143.75 140.85) - (end 150.6 134) + (start 130.15 143.3) + (end 131.6 143.3) (width 0.25) (layer "F.Cu") - (net "/BTN_PREVIOUS") - (uuid "6a0f4061-e997-4bfe-b2e2-4bab8601af2d") + (net "/RS_CTS") + (uuid "3fbec349-6f0e-4468-93c9-7ab6beecfdd9") ) (segment - (start 132.75 141) - (end 132.8 140.95) + (start 132.949999 142.1) + (end 133.1 142.1) (width 0.25) (layer "F.Cu") - (net "/BTN_PREVIOUS") - (uuid "7618d403-0871-4819-8059-09ab06254e23") + (net "/RS_CTS") + (uuid "417b2bcc-17c3-4631-a75a-b885181d36de") ) (segment - (start 108 142.1) - (end 131.55 142.1) + (start 132.8 142.2) + (end 132.85 142.15) (width 0.25) (layer "F.Cu") - (net "/BTN_PREVIOUS") - (uuid "9f96a7b4-6032-4d66-8dd5-b5961c6a7ea2") + (net "/RS_CTS") + (uuid "42937186-dc4c-423d-9929-dec907b16785") ) (segment - (start 132.55 141.1) - (end 132.6 141.1) + (start 131.6 143.3) + (end 132.65 142.25) (width 0.25) (layer "F.Cu") - (net "/BTN_PREVIOUS") - (uuid "a9c2fe46-514c-4bb0-96b5-671330c8494c") + (net "/RS_CTS") + (uuid "4727a838-5f15-40bf-a14a-3377c31e8da1") ) (segment - (start 132.85 140.95) - (end 132.9 140.9) + (start 132.75 142.2) + (end 132.8 142.2) (width 0.25) (layer "F.Cu") - (net "/BTN_PREVIOUS") - (uuid "b7ea891a-30e2-4da6-834a-24698d2ee7ad") + (net "/RS_CTS") + (uuid "5592b004-ae21-4f23-a436-ef43d3e8c5af") ) (segment - (start 132.8 140.95) - (end 132.85 140.95) + (start 153.45 137.3) + (end 153.5 137.25) (width 0.25) (layer "F.Cu") - (net "/BTN_PREVIOUS") - (uuid "dac93347-bd04-4c01-8e76-8041d1022808") + (net "/RS_CTS") + (uuid "56f6e44c-d9f4-4144-8950-869e365e09d5") ) (segment - (start 131.55 142.1) - (end 132.55 141.1) + (start 153.7 136.7) + (end 154.75 135.65) (width 0.25) (layer "F.Cu") - (net "/BTN_PREVIOUS") - (uuid "e50119ce-c6a6-4b79-aa59-a9d66f5c81fd") + (net "/RS_CTS") + (uuid "575729f7-8e91-43fc-ba36-47bd1927aebb") ) (segment - (start 133.05 140.85) - (end 143.75 140.85) + (start 153.7 136.75) + (end 153.7 136.7) (width 0.25) (layer "F.Cu") - (net "/BTN_PREVIOUS") - (uuid "fe3c02ae-b58d-4f5d-ab85-52e5638e5813") + (net "/RS_CTS") + (uuid "58b8f7f8-efff-41d9-a224-6c87461ab440") ) (segment - (start 150.6 166.9) - (end 149.5 168) - (width 0.25) - (layer "B.Cu") - (net "/BTN_PREVIOUS") - (uuid "4d332cc5-2f4b-46ab-969a-e91a43945b74") - ) - (segment - (start 150.6 134) - (end 150.6 166.9) - (width 0.25) - (layer "B.Cu") - (net "/BTN_PREVIOUS") - (uuid "cc7cc126-c82d-465e-8980-1587e216a987") - ) - (segment - (start 150.62 134) - (end 150.6 134) - (width 0.25) - (layer "B.Cu") - (net "/BTN_PREVIOUS") - (uuid "e5165c7a-a08f-43ae-987e-9fd28597e464") - ) - (segment - (start 108 144.64) - (end 108 144.65) + (start 132.65 142.25) + (end 132.699999 142.25) (width 0.25) (layer "F.Cu") - (net "/OLED_SDA") - (uuid "2315cab2-de1a-4a0c-b327-8e6e536e10b6") + (net "/RS_CTS") + (uuid "5db3c197-b840-45e3-8dc8-7d9fbc94a320") ) (segment - (start 132.85 143.45) - (end 132.949999 143.45) + (start 154.9 135.6) + (end 154.95 135.55) (width 0.25) (layer "F.Cu") - (net "/OLED_SDA") - (uuid "25014e77-dff9-4d7d-a76d-e48b8a0b88c0") + (net "/RS_CTS") + (uuid "63453903-3b03-4f43-a833-6d123462c138") ) (segment - (start 132.949999 143.45) - (end 133 143.4) + (start 153.6 136.9) + (end 153.6 136.85) (width 0.25) (layer "F.Cu") - (net "/OLED_SDA") - (uuid "2d8e76e4-004c-45f7-af2e-c0ac22883d45") + (net "/RS_CTS") + (uuid "847e753c-6cc0-4300-8d7c-a3aba8914103") ) (segment - (start 132.65 143.6) - (end 132.75 143.5) + (start 153.5 137.25) + (end 153.5 137.1) (width 0.25) (layer "F.Cu") - (net "/OLED_SDA") - (uuid "3a3c2f6e-f402-47e9-b917-f3e708d27c71") + (net "/RS_CTS") + (uuid "8b3de05f-9c1d-4e9f-82ab-64f1d17763e7") ) (segment - (start 132.8 143.5) - (end 132.85 143.45) + (start 155 135.55) + (end 163.3 127.25) (width 0.25) (layer "F.Cu") - (net "/OLED_SDA") - (uuid "4b113154-3e3a-410c-b251-5933662bb09a") + (net "/RS_CTS") + (uuid "91827cb9-5a6a-4762-8824-50ef37c6c7a8") ) (segment - (start 133.199999 143.4) - (end 133.25 143.35) + (start 163.3 127.25) + (end 163.3 126.65) (width 0.25) (layer "F.Cu") - (net "/OLED_SDA") - (uuid "55e4a191-2148-4968-8a24-49ebbd10fcf8") + (net "/RS_CTS") + (uuid "93afaeb7-abae-40d8-aa7f-9d48fc08f92d") ) (segment - (start 132.6 143.6) - (end 132.65 143.6) + (start 153.6 136.85) + (end 153.7 136.75) (width 0.25) (layer "F.Cu") - (net "/OLED_SDA") - (uuid "7191b4a6-de4f-4fa6-b040-82fb12942e1d") + (net "/RS_CTS") + (uuid "c0c4c166-7646-41f9-b005-9fe5c7ded558") ) (segment - (start 150.3 143.35) - (end 154.65 139) + (start 163.3 126.65) + (end 163.32 126.67) (width 0.25) (layer "F.Cu") - (net "/OLED_SDA") - (uuid "b44ae164-fd5d-465f-abf5-ab966dd2da5e") + (net "/RS_CTS") + (uuid "c8faf496-576a-4fd2-85a2-4a6712eb121b") ) (segment - (start 131.55 144.65) - (end 132.6 143.6) + (start 153.55 137.05) + (end 153.55 136.95) (width 0.25) (layer "F.Cu") - (net "/OLED_SDA") - (uuid "bc3628ca-ae40-4834-a430-f8e8254e12db") + (net "/RS_CTS") + (uuid "c972b3de-08dc-4ad9-a684-3ff40523f29a") ) (segment - (start 108 144.65) - (end 131.55 144.65) + (start 154.75 135.65) + (end 154.8 135.65) (width 0.25) (layer "F.Cu") - (net "/OLED_SDA") - (uuid "c0c5339c-7e35-47fb-9c5e-586241feead9") + (net "/RS_CTS") + (uuid "d5c586b8-f48f-49a2-85c5-603ecde1972b") ) (segment - (start 133 143.4) - (end 133.199999 143.4) + (start 132.9 142.15) + (end 132.949999 142.1) (width 0.25) (layer "F.Cu") - (net "/OLED_SDA") - (uuid "dd7698ef-6ff1-4c35-9e10-e40f6e6dd200") + (net "/RS_CTS") + (uuid "de41b70d-0a09-4906-b95a-372e092475ab") ) (segment - (start 132.75 143.5) - (end 132.8 143.5) + (start 154.85 135.6) + (end 154.9 135.6) (width 0.25) (layer "F.Cu") - (net "/OLED_SDA") - (uuid "e59e1361-2765-4a95-8bbf-16a7b6f92a27") + (net "/RS_CTS") + (uuid "dff09db1-54b6-467b-b9c8-25a0a8a16af2") ) (segment - (start 133.25 143.35) - (end 150.3 143.35) + (start 153.5 137.1) + (end 153.55 137.05) (width 0.25) (layer "F.Cu") - (net "/OLED_SDA") - (uuid "f0f2681b-3c32-4036-a384-ecb3715a4e7f") + (net "/RS_CTS") + (uuid "e0902a82-2700-41ac-b7e3-328984d82703") + ) + (segment + (start 153.55 136.95) + (end 153.6 136.9) + (width 0.25) + (layer "F.Cu") + (net "/RS_CTS") + (uuid "efb34c99-e6f3-4563-b01e-7d740f4bb0d1") + ) + (segment + (start 133.15 142.05) + (end 147.9 142.05) + (width 0.25) + (layer "F.Cu") + (net "/RS_CTS") + (uuid "f43d1250-7506-4948-91e6-c6ec657efc2c") + ) + (segment + (start 132.85 142.15) + (end 132.9 142.15) + (width 0.25) + (layer "F.Cu") + (net "/RS_CTS") + (uuid "fa04e5d1-d42f-44f5-9976-09623f26d249") + ) + (segment + (start 133.1 142.1) + (end 133.15 142.05) + (width 0.25) + (layer "F.Cu") + (net "/RS_CTS") + (uuid "fc56d846-d6d0-4798-9466-b39dc5cac355") ) (via - (at 154.65 139) + (at 130.15 143.3) (size 0.7) (drill 0.3) (layers "F.Cu" "B.Cu") - (net "/OLED_SDA") - (uuid "023a0764-94ce-4670-9723-65d99d52fcfc") + (net "/RS_CTS") + (uuid "dcb7ae49-2355-4d1a-a849-11e7673108ee") ) (segment - (start 157.7 138.7) - (end 157.75 138.7) + (start 108 143.32) + (end 108 143.3) (width 0.25) (layer "B.Cu") - (net "/OLED_SDA") - (uuid "0f42e6ac-df7c-4182-bed0-288b02f71665") + (net "/RS_CTS") + (uuid "98110725-c7be-4535-a5ae-de16082fa135") ) (segment - (start 159.1 137.5) - (end 159.81 137.5) + (start 108 143.3) + (end 130.15 143.3) (width 0.25) (layer "B.Cu") - (net "/OLED_SDA") - (uuid "23c068f6-5005-4055-bec3-fb3288b81cf5") + (net "/RS_CTS") + (uuid "c3ddea8c-fe2e-45e3-b878-52d6a6b3aef3") ) (segment - (start 158.05 138.55) - (end 159.1 137.5) + (start 108 145.86) + (end 108 145.85) (width 0.25) - (layer "B.Cu") - (net "/OLED_SDA") - (uuid "55f9495f-8962-4fa5-9e24-d0cc65d54b54") + (layer "F.Cu") + (net "/RS_TX") + (uuid "0b5fa72d-991a-4b3b-ac12-185210bfe786") ) (segment - (start 157.9 138.65) - (end 158 138.55) + (start 153.15 126.65) + (end 153.16 126.67) (width 0.25) - (layer "B.Cu") - (net "/OLED_SDA") - (uuid "571679ef-7bfd-4fd1-b776-e012150a932d") + (layer "F.Cu") + (net "/RS_TX") + (uuid "1697acf3-2ceb-4f08-9b5a-7171c794f9f9") ) (segment - (start 157.65 138.75) - (end 157.7 138.7) + (start 132.6 137.2) + (end 132.65 137.2) (width 0.25) - (layer "B.Cu") - (net "/OLED_SDA") - (uuid "7a5aa16f-395c-413d-b5de-1e43df28e1f2") + (layer "F.Cu") + (net "/RS_TX") + (uuid "2da27f4d-fde5-4beb-bbf4-f2c2481db546") ) (segment - (start 158 138.55) - (end 158.05 138.55) + (start 108 145.85) + (end 123.95 145.85) (width 0.25) - (layer "B.Cu") - (net "/OLED_SDA") - (uuid "93667178-2b6d-4af4-acce-c3117923f0e8") + (layer "F.Cu") + (net "/RS_TX") + (uuid "42df52fd-28be-4ce5-9018-df8914b0f070") ) (segment - (start 154.65 139) - (end 154.9 138.75) + (start 133.25 136.95) + (end 137.2 136.95) (width 0.25) - (layer "B.Cu") - (net "/OLED_SDA") - (uuid "b091f237-5b37-436c-b370-d6ef35e6273c") + (layer "F.Cu") + (net "/RS_TX") + (uuid "541ed554-1ddf-43f5-88ea-e08998ac70fd") ) (segment - (start 157.75 138.7) - (end 157.8 138.65) + (start 132.8 137.1) + (end 132.85 137.05) (width 0.25) - (layer "B.Cu") - (net "/OLED_SDA") - (uuid "cd0c1a00-31bc-4a2b-b856-90aebb38be9c") + (layer "F.Cu") + (net "/RS_TX") + (uuid "5882ed68-dc73-4463-9cd6-c34482202a5e") ) (segment - (start 154.9 138.75) - (end 157.65 138.75) + (start 133.199999 137) + (end 133.25 136.95) + (width 0.25) + (layer "F.Cu") + (net "/RS_TX") + (uuid "592e34ec-0ec8-4f2c-8f39-18572b5392bd") + ) + (segment + (start 145.65 133.1) + (end 146.7 133.1) + (width 0.25) + (layer "F.Cu") + (net "/RS_TX") + (uuid "5f50481d-c9db-4477-8619-81317489f86b") + ) + (segment + (start 123.95 145.85) + (end 132.6 137.2) + (width 0.25) + (layer "F.Cu") + (net "/RS_TX") + (uuid "6b60ef15-c01b-4068-a124-914ffd0b7363") + ) + (segment + (start 132.75 137.1) + (end 132.8 137.1) + (width 0.25) + (layer "F.Cu") + (net "/RS_TX") + (uuid "99719bd8-6bbb-4808-a286-2c717bb9f640") + ) + (segment + (start 133 137) + (end 133.199999 137) + (width 0.25) + (layer "F.Cu") + (net "/RS_TX") + (uuid "9a35acd8-1d72-4d0c-943a-3775752ce1f7") + ) + (segment + (start 132.949999 137.05) + (end 133 137) + (width 0.25) + (layer "F.Cu") + (net "/RS_TX") + (uuid "9e5cb45c-05d3-448c-bdd3-ab9c62cfed45") + ) + (segment + (start 137.2 136.95) + (end 138.95 135.2) + (width 0.25) + (layer "F.Cu") + (net "/RS_TX") + (uuid "b0881b7b-e09e-430b-ab52-4a4b946f0c5c") + ) + (segment + (start 132.85 137.05) + (end 132.949999 137.05) + (width 0.25) + (layer "F.Cu") + (net "/RS_TX") + (uuid "b19ccd01-e646-4c07-a2bc-b85b2b08b2c5") + ) + (segment + (start 132.65 137.2) + (end 132.75 137.1) + (width 0.25) + (layer "F.Cu") + (net "/RS_TX") + (uuid "cb2a70a8-9dfb-4dec-a52a-b404f40bcda4") + ) + (segment + (start 146.7 133.1) + (end 153.15 126.65) + (width 0.25) + (layer "F.Cu") + (net "/RS_TX") + (uuid "fa43d81f-55ce-4300-b470-2eccd205abda") + ) + (via + (at 138.95 135.2) + (size 0.7) + (drill 0.3) + (layers "F.Cu" "B.Cu") + (net "/RS_TX") + (uuid "2a9e7bd7-8dd2-42db-b24b-27231e97c578") + ) + (via + (at 145.65 133.1) + (size 0.7) + (drill 0.3) + (layers "F.Cu" "B.Cu") + (net "/RS_TX") + (uuid "4efd3d60-2dda-4690-8c7f-1c6c5fc27632") + ) + (segment + (start 143.5 135.15) + (end 143.55 135.1) (width 0.25) (layer "B.Cu") - (net "/OLED_SDA") - (uuid "d3c270bd-0187-4b1f-b4fe-eddcbb14cbdc") + (net "/RS_TX") + (uuid "060ca1dc-a80c-4378-b5c1-4546cdda8d4b") + ) + (segment + (start 143.65 135.05) + (end 143.7 135.05) + (width 0.25) + (layer "B.Cu") + (net "/RS_TX") + (uuid "2429f1ea-c500-4c34-9a57-08de78ae554e") + ) + (segment + (start 143.6 135.1) + (end 143.65 135.05) + (width 0.25) + (layer "B.Cu") + (net "/RS_TX") + (uuid "5bdc528a-5edc-4524-8d5d-cb6be9859dc5") + ) + (segment + (start 138.95 135.2) + (end 143.35 135.2) + (width 0.25) + (layer "B.Cu") + (net "/RS_TX") + (uuid "7a59d584-272e-44c8-8571-d67509fa227e") + ) + (segment + (start 143.4 135.15) + (end 143.5 135.15) + (width 0.25) + (layer "B.Cu") + (net "/RS_TX") + (uuid "8cb1649f-4acd-427b-9db8-666caa8e5c2f") + ) + (segment + (start 143.35 135.2) + (end 143.4 135.15) + (width 0.25) + (layer "B.Cu") + (net "/RS_TX") + (uuid "9ba1ced9-6b68-4dae-add6-e3d2cd4d75b6") + ) + (segment + (start 143.7 135.05) + (end 145.65 133.1) + (width 0.25) + (layer "B.Cu") + (net "/RS_TX") + (uuid "ae1b1650-8a6e-4606-87ef-69101b3fe72e") + ) + (segment + (start 143.55 135.1) + (end 143.6 135.1) + (width 0.25) + (layer "B.Cu") + (net "/RS_TX") + (uuid "ce6e81ec-f5ae-4e1e-bbf9-07245954baab") + ) + (segment + (start 150.6 126.65) + (end 150.62 126.67) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "27858579-2885-41e4-9237-369ac7d5ee3e") + ) + (segment + (start 123.95 148.4) + (end 132.6 139.75) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "2fe470e8-052e-4f69-b01a-46c1f8881306") + ) + (segment + (start 132.65 139.75) + (end 132.75 139.65) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "4dea39e6-efcf-4bf3-83e7-d8b0abcc33bc") + ) + (segment + (start 142.4 132.9) + (end 142.45 132.9) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "5a6d5bb5-ab3e-4f95-9afc-8e9b5e1651b3") + ) + (segment + (start 133 139.55) + (end 133.15 139.55) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "5ec4f258-3417-4722-b525-adc14e36ab0b") + ) + (segment + (start 132.6 139.75) + (end 132.65 139.75) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "662d8d54-aa84-4d16-81ca-7aa8734e5204") + ) + (segment + (start 142.35 132.949999) + (end 142.4 132.9) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "679beec8-cb5f-4c3c-9fab-d7d370b03f50") + ) + (segment + (start 132.8 139.65) + (end 132.85 139.6) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "6b0145ea-c033-472a-bd8e-345f5ff300df") + ) + (segment + (start 142.5 132.85) + (end 142.6 132.85) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "70fb66f6-deb5-4699-bb7d-effa571a4758") + ) + (segment + (start 142.45 132.9) + (end 142.5 132.85) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "736e4133-a876-4d18-83ad-2a0649b0a9bf") + ) + (segment + (start 132.85 139.6) + (end 132.949999 139.6) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "7830d8fe-6a01-4dd0-a1aa-2f6a1ff9691f") + ) + (segment + (start 142.65 132.8) + (end 144.45 132.8) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "785f6aab-ebe2-4476-b49f-a75d98b64c44") + ) + (segment + (start 142.3 132.949999) + (end 142.35 132.949999) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "7a2820fc-35e9-408e-8e6d-1fa62e0f3416") + ) + (segment + (start 135.75 139.5) + (end 142.3 132.949999) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "870bf561-8eb8-4dbe-a63b-64a573c40a28") + ) + (segment + (start 108 148.4) + (end 123.95 148.4) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "89b2a265-02d2-42df-9f5a-20a56284c461") + ) + (segment + (start 132.75 139.65) + (end 132.8 139.65) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "a2af717a-5db5-40c0-9806-0620f32f1a24") + ) + (segment + (start 132.949999 139.6) + (end 133 139.55) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "aaa53fb6-e097-49d8-9c85-109521849810") + ) + (segment + (start 142.6 132.85) + (end 142.65 132.8) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "b519d784-ca35-488d-b0d2-5f4c344e7519") + ) + (segment + (start 133.15 139.55) + (end 133.199999 139.5) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "e57c7280-2dea-4c80-99b3-058966cfd1f9") + ) + (segment + (start 144.45 132.8) + (end 150.6 126.65) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "e764f7d1-2229-426c-896e-596f9b9fb693") + ) + (segment + (start 133.199999 139.5) + (end 135.75 139.5) + (width 0.25) + (layer "F.Cu") + (net "/RS_RX") + (uuid "f223bf23-390c-4fa6-9313-a81cc9ffa36e") + ) + (segment + (start 133.25 149.65) + (end 144 149.65) + (width 0.25) + (layer "F.Cu") + (net "/RS_VALID") + (uuid "0f3b9c84-ecaf-427b-b4b5-df480d045d19") + ) + (segment + (start 144 149.65) + (end 154.15 139.5) + (width 0.25) + (layer "F.Cu") + (net "/RS_VALID") + (uuid "126f292f-b65c-4663-9fd1-9063bc984534") + ) + (segment + (start 133 149.7) + (end 133.199999 149.7) + (width 0.25) + (layer "F.Cu") + (net "/RS_VALID") + (uuid "1934c4e9-cc23-420f-86e8-43eb5f2ef8b6") + ) + (segment + (start 132.85 149.75) + (end 132.949999 149.75) + (width 0.25) + (layer "F.Cu") + (net "/RS_VALID") + (uuid "4dd9b60a-f6ab-40f8-b8ad-521f0cbfdb65") + ) + (segment + (start 108 150.95) + (end 131.55 150.95) + (width 0.25) + (layer "F.Cu") + (net "/RS_VALID") + (uuid "60630de0-2d87-41d0-9438-b0c24ae4f815") + ) + (segment + (start 132.949999 149.75) + (end 133 149.7) + (width 0.25) + (layer "F.Cu") + (net "/RS_VALID") + (uuid "639a9286-e75e-471c-aecc-51f89a1703cb") + ) + (segment + (start 133.199999 149.7) + (end 133.25 149.65) + (width 0.25) + (layer "F.Cu") + (net "/RS_VALID") + (uuid "7d2d7bfd-8f9b-41d8-9e01-47cd64664e52") + ) + (segment + (start 132.6 149.9) + (end 132.65 149.9) + (width 0.25) + (layer "F.Cu") + (net "/RS_VALID") + (uuid "864b194a-ed15-44fd-bee9-2b909a7d0b0d") + ) + (segment + (start 132.8 149.8) + (end 132.85 149.75) + (width 0.25) + (layer "F.Cu") + (net "/RS_VALID") + (uuid "9b3f19a6-5453-4520-91e9-6e221c778212") + ) + (segment + (start 131.55 150.95) + (end 132.6 149.9) + (width 0.25) + (layer "F.Cu") + (net "/RS_VALID") + (uuid "aaef8d3c-73e6-4957-8d7b-e86e08789eef") + ) + (segment + (start 132.75 149.8) + (end 132.8 149.8) + (width 0.25) + (layer "F.Cu") + (net "/RS_VALID") + (uuid "b082849d-0625-4f67-8df8-0f49dc0fceaa") + ) + (segment + (start 132.65 149.9) + (end 132.75 149.8) + (width 0.25) + (layer "F.Cu") + (net "/RS_VALID") + (uuid "dc03a07d-2d4e-4cfd-bf66-ffd9a8c65dd9") + ) + (segment + (start 108 150.94) + (end 108 150.95) + (width 0.25) + (layer "F.Cu") + (net "/RS_VALID") + (uuid "e2e73970-dd8f-45a6-a2e5-a007e0f492d9") + ) + (via + (at 154.15 139.5) + (size 0.7) + (drill 0.3) + (layers "F.Cu" "B.Cu") + (net "/RS_VALID") + (uuid "edb0d941-6e6c-4beb-adde-115903b64227") + ) + (segment + (start 160.4 134.65) + (end 160.4 133.75) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "0225087c-1bcb-4bdc-ac0b-11fe1bff8a27") ) (segment (start 157.8 138.65) (end 157.9 138.65) (width 0.25) (layer "B.Cu") + (net "/RS_VALID") + (uuid "0237718c-7284-4cf8-8958-2e7e2e829e16") + ) + (segment + (start 155.75 139.05) + (end 155.8 139.05) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "06feb1df-b4a1-47f7-b29f-54ad3dd0769f") + ) + (segment + (start 154.35 139.3) + (end 155.25 139.3) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "0d9e38c0-bf34-4dfb-9664-023c2aca6a98") + ) + (segment + (start 160.65 133.199999) + (end 165.9 127.95) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "18a95172-f9ce-43f8-b9dd-ab56b48eaaa8") + ) + (segment + (start 160.65 133.25) + (end 160.65 133.199999) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "1ca667c6-9ebc-4ed5-9aeb-90c176a57a9f") + ) + (segment + (start 168.4 126.65) + (end 168.4 126.67) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "1d3521f2-16b9-423b-99cf-49b88285035e") + ) + (segment + (start 158.45 137.95) + (end 158.5 137.9) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "241e7690-286a-467b-b825-70d989d4cb66") + ) + (segment + (start 155.4 139.25) + (end 155.45 139.2) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "292c29ff-fdd6-4748-be8f-e0783b1723c9") + ) + (segment + (start 158.55 136.5) + (end 160.4 134.65) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "2a05aea8-421b-4c13-a82e-d49ae2a0c82e") + ) + (segment + (start 166.1 127.95) + (end 166.15 127.9) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "2c7b56f3-ea24-499e-943c-643a5ef69656") + ) + (segment + (start 158.4 138.15) + (end 158.4 138.1) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "2d7c81b1-9664-4486-bb9e-46db89cc5b02") + ) + (segment + (start 157.9 138.65) + (end 158 138.55) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "310d85fb-84d9-440e-80a3-b2824fcd4d15") + ) + (segment + (start 155.25 139.3) + (end 155.3 139.25) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "3abbcebe-bad0-4a99-b6fa-0c9de5cf5526") + ) + (segment + (start 155.45 139.2) + (end 155.55 139.2) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "3c20c2c4-d2f7-4ab8-8e25-e8056d5e9b17") + ) + (segment + (start 158.5 137.9) + (end 158.5 137.75) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "3fbbbb13-12d9-42e8-9b0a-7c40cbeef8a5") + ) + (segment + (start 158 138.55) + (end 158.05 138.55) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "4260b587-cd60-4ca0-8a41-71e2e49f46a4") + ) + (segment + (start 167.7 126.65) + (end 168.4 126.65) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "42faed67-4e7b-43fb-99e8-c000bdf50d26") + ) + (segment + (start 157.7 138.7) + (end 157.75 138.7) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "4b00ef57-bf3e-4c0f-afbf-fad8837313de") + ) + (segment + (start 158.05 138.55) + (end 158.3 138.3) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "52415179-03b2-49b7-9e57-1fd6965ef4f4") + ) + (segment + (start 166.35 127.85) + (end 166.4 127.85) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "5979190c-2169-46ce-ab74-80a3c456b3b4") + ) + (segment + (start 158.4 138.1) + (end 158.45 138.05) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "7239518a-93d0-46dc-9114-703f779efb33") + ) + (segment + (start 166.15 127.9) + (end 166.3 127.9) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "751a2187-28a7-4c60-979c-8c6cb30fa02f") + ) + (segment + (start 166.4 127.85) + (end 166.45 127.8) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "7b84fad9-7675-4c56-93e4-d212b27e2990") + ) + (segment + (start 160.55 133.4) + (end 160.55 133.35) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "7bbda78d-630f-429b-816c-5b3db4ef39d0") + ) + (segment + (start 155.6 139.15) + (end 155.65 139.15) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "7c147dc7-bd94-449e-8449-3d3835bc55f1") + ) + (segment + (start 158.5 137.75) + (end 158.55 137.7) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "7df7c029-9651-4323-bd67-afbf86fe336b") + ) + (segment + (start 160.45 133.55) + (end 160.5 133.5) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "7e68296a-607b-446e-91e0-4fd4e30f18c9") + ) + (segment + (start 166.6 127.75) + (end 167.7 126.65) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "83ee0498-2133-4d02-b4f5-f634f31a5609") + ) + (segment + (start 155.55 139.2) + (end 155.6 139.15) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "84ee921d-eed7-4bf9-b609-d215cf8cb4dc") + ) + (segment + (start 157.65 138.75) + (end 157.7 138.7) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "8df2653b-b1b6-4e09-8395-27509081cf55") + ) + (segment + (start 155.65 139.15) + (end 155.75 139.05) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "93181c19-8c5f-4810-9312-5b92f8a8e13d") + ) + (segment + (start 154.15 139.5) + (end 154.35 139.3) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "a1ab164d-07ec-45d3-837b-a728db0b5b75") + ) + (segment + (start 160.5 133.449999) + (end 160.55 133.4) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "a88c6fe8-c782-4db0-9c1c-afc4a1bc3f4b") + ) + (segment + (start 156.1 138.75) + (end 157.65 138.75) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "aa1bd2fa-0c57-4275-943c-b304d750c7ea") + ) + (segment + (start 155.3 139.25) + (end 155.4 139.25) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "b2583fb3-90d9-4c21-b939-dbadb93842bf") + ) + (segment + (start 160.45 133.699999) + (end 160.45 133.55) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "c058ecbb-3e79-457e-a16c-77c319e0107c") + ) + (segment + (start 166.5 127.8) + (end 166.55 127.75) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "c4ba59ff-bea5-482f-aa58-076e60ff917d") + ) + (segment + (start 160.4 133.75) + (end 160.45 133.699999) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "ce63f9cd-80a2-422e-9d7b-251b8f54bbf7") + ) + (segment + (start 158.3 138.25) + (end 158.4 138.15) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "d1d00ff3-b284-45e3-836a-0f5cfb666142") + ) + (segment + (start 166.55 127.75) + (end 166.6 127.75) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "d464bdf1-e178-415d-8c87-f994b8d271df") + ) + (segment + (start 160.5 133.5) + (end 160.5 133.449999) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "da267940-8d82-4b44-9d44-b28614c250cf") + ) + (segment + (start 158.55 137.7) + (end 158.55 136.5) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "dbfbcc12-4305-4cd7-ba73-6f6dade960e4") + ) + (segment + (start 155.8 139.05) + (end 156.1 138.75) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "dd095126-61ad-4700-94d1-7c24aedc2f28") + ) + (segment + (start 166.3 127.9) + (end 166.35 127.85) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "e0a6a78f-8aeb-4c25-a6c2-24745d04f208") + ) + (segment + (start 158.3 138.3) + (end 158.3 138.25) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "e125d718-5926-473f-b25b-b9419465b0b1") + ) + (segment + (start 158.45 138.05) + (end 158.45 137.95) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "ec4f2ef8-ca69-4520-aee7-6b12e42625b1") + ) + (segment + (start 160.55 133.35) + (end 160.65 133.25) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "eca47b24-175d-4f12-9300-8770ec274a4d") + ) + (segment + (start 157.75 138.7) + (end 157.8 138.65) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "f120e834-5db9-4ce4-9e4b-3b2b0757fa3f") + ) + (segment + (start 166.45 127.8) + (end 166.5 127.8) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "f161c8da-9e59-484a-b14e-7f43f5410a4e") + ) + (segment + (start 165.9 127.95) + (end 166.1 127.95) + (width 0.25) + (layer "B.Cu") + (net "/RS_VALID") + (uuid "fa682992-07c2-420e-afa1-9815132276c4") + ) + (segment + (start 165.55 135.1) + (end 165.6 135.1) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "02dc98c0-22a4-4181-bd5f-c15b3864a0b1") + ) + (segment + (start 170.95 126.65) + (end 170.94 126.67) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "082f827a-5fac-4fc1-b7ea-9327de95dbd6") + ) + (segment + (start 160.55 138.55) + (end 160.6 138.55) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "08f34dfb-69ce-4ce7-aeb3-9b04878939bd") + ) + (segment + (start 148.75 149.65) + (end 159.65 138.75) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "0ba922ca-53ff-4ff4-aa44-ba3a7a579e81") + ) + (segment + (start 132.85 157.4) + (end 132.9 157.35) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "0ceed0d7-6fbe-4280-94b2-d0a040c24d12") + ) + (segment + (start 132.75 157.45) + (end 132.8 157.4) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "0f844d27-3297-4129-b62a-88f9b24d9d20") + ) + (segment + (start 164.8 135.2) + (end 165.35 135.2) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "1c0c63b2-bedd-47da-99d9-093b951bc2bc") + ) + (segment + (start 160.3 138.7) + (end 160.35 138.65) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "265214f3-776f-4707-be6e-993749f3c8a7") + ) + (segment + (start 159.65 138.75) + (end 160.15 138.75) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "356a3362-5fa2-4fec-8133-f131551cfdcc") + ) + (segment + (start 136.35 157.3) + (end 143.25 150.4) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "39050fdc-428c-42bf-b9b6-503034dd6891") + ) + (segment + (start 163.3 136.65) + (end 163.35 136.65) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "4b48b728-18e1-4601-81f3-b8ecaefcbec7") + ) + (segment + (start 108 158.55) + (end 131.55 158.55) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "4e516256-6b7e-4b1f-8110-4378fdffb15e") + ) + (segment + (start 163.35 136.65) + (end 164.8 135.2) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "511d8cef-7024-49b2-ba16-616414b45874") + ) + (segment + (start 165.35 135.2) + (end 165.4 135.15) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "6102f2be-d7bc-43c9-8776-31592f1f3d61") + ) + (segment + (start 163.25 136.7) + (end 163.3 136.65) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "674e64ea-133e-4e62-97cc-80fd45d7dad6") + ) + (segment + (start 163.15 136.75) + (end 163.2 136.7) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "6843cd59-bf19-47fa-babe-d080ee0c815b") + ) + (segment + (start 132.9 157.35) + (end 133.05 157.35) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "6db27179-bc9c-43c4-9cf8-da6349745aea") + ) + (segment + (start 160.6 138.55) + (end 162.4 136.75) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "75e60ab2-4a98-4ae8-8155-068279b73dd6") + ) + (segment + (start 132.5 157.65) + (end 132.699999 157.45) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "7a058c79-f8a0-4766-98d5-a3a0b992b0cc") + ) + (segment + (start 133.1 157.3) + (end 136.35 157.3) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "7d8f5976-bdc4-4d37-9557-d53d15661223") + ) + (segment + (start 162.4 136.75) + (end 163.15 136.75) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "948bf7cb-580a-40ae-a1ed-92d4e738a3e7") + ) + (segment + (start 165.5 135.15) + (end 165.55 135.1) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "966e20d6-0f78-451a-9872-2ce3b53c2d33") + ) + (segment + (start 160.35 138.65) + (end 160.4 138.65) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "98485ed4-b71e-46b1-aebe-781d40674d9f") + ) + (segment + (start 160.5 138.6) + (end 160.55 138.55) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "9cbac9b7-9f29-4742-9e3b-8817a22ad4af") + ) + (segment + (start 160.4 138.65) + (end 160.45 138.6) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "ab28a160-1194-460a-bcd9-cb165a51a47e") + ) + (segment + (start 165.4 135.15) + (end 165.5 135.15) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "aeb74ebd-1e8c-4d56-8864-a51873f0836e") + ) + (segment + (start 131.55 158.55) + (end 132.449999 157.65) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "af15de44-eabe-421e-9151-4e79076da049") + ) + (segment + (start 160.45 138.6) + (end 160.5 138.6) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "bac74aef-8326-4288-ac02-51ae39830b3d") + ) + (segment + (start 108 158.56) + (end 108 158.55) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "bf89e681-e4a6-464f-ab56-10cbb6909ab1") + ) + (segment + (start 132.699999 157.45) + (end 132.75 157.45) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "c54031ac-82a2-4859-842d-12388f4eded0") + ) + (segment + (start 165.65 135.05) + (end 165.7 135.05) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "c8271d8d-173a-4e2f-b7d6-64637d46f798") + ) + (segment + (start 165.7 135.05) + (end 170.95 129.8) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "c8e2b360-012d-4488-b2cf-178e2002fc5f") + ) + (segment + (start 132.8 157.4) + (end 132.85 157.4) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "ccc792f1-359c-4840-b668-11cd0e579bde") + ) + (segment + (start 170.95 129.8) + (end 170.95 126.65) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "d83d5273-2dd8-48a6-b045-79e6ec52fe50") + ) + (segment + (start 160.15 138.75) + (end 160.2 138.7) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "dbaed98a-d6c0-48cc-a3a1-1cf991e6ea4d") + ) + (segment + (start 163.2 136.7) + (end 163.25 136.7) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "dd294c47-5121-48fe-b2b2-25a09e06232a") + ) + (segment + (start 132.449999 157.65) + (end 132.5 157.65) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "dd7028dc-d34c-46ff-be75-743ed978ed53") + ) + (segment + (start 165.6 135.1) + (end 165.65 135.05) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "f3af0d60-6073-4ac0-8b99-8189f8e995e4") + ) + (segment + (start 133.05 157.35) + (end 133.1 157.3) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "f9bd78e2-495d-452f-9bea-a7b97de108df") + ) + (segment + (start 160.2 138.7) + (end 160.3 138.7) + (width 0.25) + (layer "F.Cu") + (net "/RS_OFF_N") + (uuid "fc518d80-b6c5-4201-9de9-0bb037b2faf5") + ) + (via + (at 148.75 149.65) + (size 0.7) + (drill 0.3) + (layers "F.Cu" "B.Cu") + (net "/RS_OFF_N") + (uuid "51565cd2-751d-4862-86b3-355e10a8d68e") + ) + (via + (at 143.25 150.4) + (size 0.7) + (drill 0.3) + (layers "F.Cu" "B.Cu") + (net "/RS_OFF_N") + (uuid "7887ebce-f9fa-4e8c-bc21-4cd1fdeda15c") + ) + (segment + (start 143.25 150.4) + (end 144 149.65) + (width 0.25) + (layer "B.Cu") + (net "/RS_OFF_N") + (uuid "5f95670d-40ed-470f-b7fe-03bf9edbb6a8") + ) + (segment + (start 144 149.65) + (end 148.75 149.65) + (width 0.25) + (layer "B.Cu") + (net "/RS_OFF_N") + (uuid "b88fa514-4bfc-4c87-b4e3-32d6303a2191") + ) + (segment + (start 132.8 162.25) + (end 132.85 162.25) + (width 0.25) + (layer "F.Cu") + (net "/BTN_PREVIOUS") + (uuid "03fc4497-e7a6-4047-a574-a27b3d268f81") + ) + (segment + (start 143 168) + (end 149.5 168) + (width 0.25) + (layer "F.Cu") + (net "/BTN_PREVIOUS") + (uuid "3a64a994-a8e7-418c-8fe1-5b12e8067e2d") + ) + (segment + (start 132.85 162.25) + (end 132.9 162.3) + (width 0.25) + (layer "F.Cu") + (net "/BTN_PREVIOUS") + (uuid "3d28b404-dd29-4897-8549-e156b7e1e759") + ) + (segment + (start 132.6 162.1) + (end 132.699999 162.2) + (width 0.25) + (layer "F.Cu") + (net "/BTN_PREVIOUS") + (uuid "3dd42cbc-6586-4dd2-b8be-d43eefe48906") + ) + (segment + (start 108 161.1) + (end 131.55 161.1) + (width 0.25) + (layer "F.Cu") + (net "/BTN_PREVIOUS") + (uuid "79903367-7fd7-4925-9352-ded4f18cf632") + ) + (segment + (start 137.35 162.35) + (end 143 168) + (width 0.25) + (layer "F.Cu") + (net "/BTN_PREVIOUS") + (uuid "804c0c3e-70be-4286-ac84-dbc0460809db") + ) + (segment + (start 132.699999 162.2) + (end 132.75 162.2) + (width 0.25) + (layer "F.Cu") + (net "/BTN_PREVIOUS") + (uuid "87302b9c-d9b7-427d-a39a-2cfc4fa4e21d") + ) + (segment + (start 132.9 162.3) + (end 133 162.3) + (width 0.25) + (layer "F.Cu") + (net "/BTN_PREVIOUS") + (uuid "88ae868e-c03b-44d5-83d5-459c2c65cfdd") + ) + (segment + (start 132.55 162.1) + (end 132.6 162.1) + (width 0.25) + (layer "F.Cu") + (net "/BTN_PREVIOUS") + (uuid "9ac1663b-119e-4aed-9c12-e9fdfb2eead4") + ) + (segment + (start 131.55 161.1) + (end 132.55 162.1) + (width 0.25) + (layer "F.Cu") + (net "/BTN_PREVIOUS") + (uuid "dcb60ba6-a725-4743-a08d-835316a8a110") + ) + (segment + (start 133 162.3) + (end 133.05 162.35) + (width 0.25) + (layer "F.Cu") + (net "/BTN_PREVIOUS") + (uuid "eb2cc63f-7814-4f99-b01f-711e20406b19") + ) + (segment + (start 132.75 162.2) + (end 132.8 162.25) + (width 0.25) + (layer "F.Cu") + (net "/BTN_PREVIOUS") + (uuid "f741c3d8-007d-48f8-a676-ae69576386c5") + ) + (segment + (start 133.05 162.35) + (end 137.35 162.35) + (width 0.25) + (layer "F.Cu") + (net "/BTN_PREVIOUS") + (uuid "fc13ee07-f122-4346-843c-bbef7111c916") + ) + (segment + (start 150.6 134) + (end 150.62 134) + (width 0.25) + (layer "B.Cu") + (net "/BTN_PREVIOUS") + (uuid "64cefc0c-db46-4fe9-bba7-c43c8901e416") + ) + (segment + (start 149.5 135.1) + (end 150.6 134) + (width 0.25) + (layer "B.Cu") + (net "/BTN_PREVIOUS") + (uuid "7b52384a-025c-4c72-8222-b19d34eb3dda") + ) + (segment + (start 149.5 168) + (end 149.5 135.1) + (width 0.25) + (layer "B.Cu") + (net "/BTN_PREVIOUS") + (uuid "86183c13-0c18-4d56-98e7-4068b4e6c04e") + ) + (segment + (start 159.8 137.5) + (end 159.81 137.5) + (width 0.25) + (layer "F.Cu") (net "/OLED_SDA") - (uuid "e7d4aa94-33b5-4d81-869b-892f74b94940") + (uuid "138ebb79-8de5-4e5d-a07a-7a69dc183f51") ) (segment - (start 131.55 147.2) - (end 132.6 146.15) + (start 134.8 161.55) + (end 135.75 161.55) + (width 0.25) + (layer "F.Cu") + (net "/OLED_SDA") + (uuid "83228900-96b1-4f90-aed0-1055c48539eb") + ) + (segment + (start 108 163.64) + (end 108 163.65) + (width 0.25) + (layer "F.Cu") + (net "/OLED_SDA") + (uuid "a9fb629f-d740-403b-b450-55f80a8c5616") + ) + (segment + (start 131.55 163.65) + (end 131.949999 163.25) + (width 0.25) + (layer "F.Cu") + (net "/OLED_SDA") + (uuid "b178cfc6-4976-4c7b-b141-8563f3d37234") + ) + (segment + (start 135.75 161.55) + (end 159.8 137.5) + (width 0.25) + (layer "F.Cu") + (net "/OLED_SDA") + (uuid "d8112662-ca8b-4828-8ad4-34d71ca66db7") + ) + (segment + (start 108 163.65) + (end 131.55 163.65) + (width 0.25) + (layer "F.Cu") + (net "/OLED_SDA") + (uuid "e3fde337-8dd4-44c5-b002-a476207ef97a") + ) + (via + (at 131.949999 163.25) + (size 0.7) + (drill 0.3) + (layers "F.Cu" "B.Cu") + (net "/OLED_SDA") + (uuid "60cd051f-34a3-4b94-8eee-22f833af435c") + ) + (via + (at 134.8 161.55) + (size 0.7) + (drill 0.3) + (layers "F.Cu" "B.Cu") + (net "/OLED_SDA") + (uuid "d95f45cb-7fa4-4203-a786-0a069425e2b8") + ) + (segment + (start 134.05 162.2) + (end 134.1 162.2) + (width 0.25) + (layer "B.Cu") + (net "/OLED_SDA") + (uuid "395f4b19-8e54-4dd9-a89a-75fb300d5307") + ) + (segment + (start 133.949999 162.25) + (end 134 162.25) + (width 0.25) + (layer "B.Cu") + (net "/OLED_SDA") + (uuid "64ad62ad-fb28-4bec-8c66-19ff63314c2f") + ) + (segment + (start 133.75 162.35) + (end 133.8 162.3) + (width 0.25) + (layer "B.Cu") + (net "/OLED_SDA") + (uuid "99f92b9a-2c63-4d31-86a3-c50ed61de4cb") + ) + (segment + (start 132.85 162.35) + (end 133.75 162.35) + (width 0.25) + (layer "B.Cu") + (net "/OLED_SDA") + (uuid "a03514c3-c5b8-446e-8111-41197703c884") + ) + (segment + (start 134.25 162.1) + (end 134.8 161.55) + (width 0.25) + (layer "B.Cu") + (net "/OLED_SDA") + (uuid "b165a476-d418-4bc0-be53-22db7613c84c") + ) + (segment + (start 133.9 162.3) + (end 133.949999 162.25) + (width 0.25) + (layer "B.Cu") + (net "/OLED_SDA") + (uuid "c0a105c4-2fe4-43db-9137-75f7a178b581") + ) + (segment + (start 131.949999 163.25) + (end 132.85 162.35) + (width 0.25) + (layer "B.Cu") + (net "/OLED_SDA") + (uuid "c4c0d3b8-4b64-46ea-aee4-1695b092fdff") + ) + (segment + (start 134.1 162.2) + (end 134.199999 162.1) + (width 0.25) + (layer "B.Cu") + (net "/OLED_SDA") + (uuid "cb35cd12-0ce2-4a31-b1fa-10b04489883d") + ) + (segment + (start 134.199999 162.1) + (end 134.25 162.1) + (width 0.25) + (layer "B.Cu") + (net "/OLED_SDA") + (uuid "e02fb4e2-c685-4b68-b812-b95ab741b334") + ) + (segment + (start 134 162.25) + (end 134.05 162.2) + (width 0.25) + (layer "B.Cu") + (net "/OLED_SDA") + (uuid "e06692f2-cfa9-44dc-b60c-6bf098ab0687") + ) + (segment + (start 133.8 162.3) + (end 133.9 162.3) + (width 0.25) + (layer "B.Cu") + (net "/OLED_SDA") + (uuid "f69f0ac1-a2c4-47fc-9a32-e45fe4898d74") + ) + (segment + (start 113.85 160.35) + (end 132.3 160.35) (width 0.25) (layer "F.Cu") (net "/OLED_SCL") - (uuid "024225a5-e338-4ab0-9ed2-b2d38788accc") + (uuid "164751b8-cc4c-41d3-af66-8e32a196f735") ) (segment - (start 132.85 146) - (end 132.949999 146) + (start 132.699999 160) + (end 132.75 160) (width 0.25) (layer "F.Cu") (net "/OLED_SCL") - (uuid "031779cf-7298-4ec2-b290-0157471e5174") + (uuid "343b1ee0-5bfb-4e3c-827b-21c0bd9cd01f") ) (segment - (start 132.949999 146) - (end 133 145.95) + (start 133.05 159.85) + (end 134.9 159.85) (width 0.25) (layer "F.Cu") (net "/OLED_SCL") - (uuid "5189d1b4-83b9-4873-90ff-06f197df2b07") + (uuid "5041f6fe-8b34-4ac1-b3a4-2a5e2864b351") ) (segment - (start 132.6 146.15) - (end 132.65 146.15) + (start 133 159.9) + (end 133.05 159.85) (width 0.25) (layer "F.Cu") (net "/OLED_SCL") - (uuid "57d54281-492c-4bdb-9514-f001c4b2edec") + (uuid "54aad168-0394-4126-8933-75dbac36a806") ) (segment - (start 108 147.18) - (end 108 147.2) - (width 0.25) - (layer "F.Cu") - (net "/OLED_SCL") - (uuid "61e25ad4-644d-48c3-8c95-a1728eb06d31") - ) - (segment - (start 132.65 146.15) - (end 132.75 146.05) - (width 0.25) - (layer "F.Cu") - (net "/OLED_SCL") - (uuid "84dee2b2-6635-4ed0-a2d1-46723a90ed3f") - ) - (segment - (start 133.199999 145.9) - (end 148.85 145.9) - (width 0.25) - (layer "F.Cu") - (net "/OLED_SCL") - (uuid "87611b45-5c3f-437e-ae43-3f7fff5968e2") - ) - (segment - (start 108 147.2) - (end 131.55 147.2) - (width 0.25) - (layer "F.Cu") - (net "/OLED_SCL") - (uuid "9359cee0-eec7-4528-b32d-dc63c48510e9") - ) - (segment - (start 148.85 145.9) + (start 134.9 159.85) (end 157.25 137.5) (width 0.25) (layer "F.Cu") (net "/OLED_SCL") - (uuid "b4e9ac22-37de-4f9a-b8bc-583a5597e81d") + (uuid "55f54e2b-ba8d-4c59-97e8-2e3c26ec1d98") ) (segment - (start 132.8 146.05) - (end 132.85 146) + (start 132.85 159.95) + (end 132.9 159.9) (width 0.25) (layer "F.Cu") (net "/OLED_SCL") - (uuid "bd41c851-a1b1-48e4-b606-4ffd34813eca") - ) - (segment - (start 132.75 146.05) - (end 132.8 146.05) - (width 0.25) - (layer "F.Cu") - (net "/OLED_SCL") - (uuid "cbccb17e-b846-49c8-8fd9-284dad8432d0") - ) - (segment - (start 133 145.95) - (end 133.15 145.95) - (width 0.25) - (layer "F.Cu") - (net "/OLED_SCL") - (uuid "d5603944-e848-4959-9881-07330c952eac") - ) - (segment - (start 133.15 145.95) - (end 133.199999 145.9) - (width 0.25) - (layer "F.Cu") - (net "/OLED_SCL") - (uuid "e65093b2-09cc-4992-ab03-51d84caa5964") + (uuid "75ea04e9-65b5-443b-b015-b970d53e47e0") ) (segment (start 157.25 137.5) @@ -7765,55 +8733,103 @@ (width 0.25) (layer "F.Cu") (net "/OLED_SCL") - (uuid "ee23803e-58e2-478c-a272-21689a9d8866") + (uuid "78a22315-9708-4bc9-b85f-413a088c595e") ) (segment - (start 111.65 152.25) - (end 131.55 152.25) + (start 132.8 159.95) + (end 132.85 159.95) (width 0.25) (layer "F.Cu") - (net "/BTN_NEXT") - (uuid "157346fb-4744-4062-8b0a-5c8ca2628627") + (net "/OLED_SCL") + (uuid "7c1b537b-2253-4a4e-80f1-3978dcc9f1f6") ) (segment - (start 152.55 153.55) + (start 132.75 160) + (end 132.8 159.95) + (width 0.25) + (layer "F.Cu") + (net "/OLED_SCL") + (uuid "ab149b02-6a83-4fc4-9dea-b139c2066f40") + ) + (segment + (start 132.6 160.1) + (end 132.699999 160) + (width 0.25) + (layer "F.Cu") + (net "/OLED_SCL") + (uuid "ed1989dc-a15c-424e-aef4-3565e8e083fa") + ) + (segment + (start 132.55 160.1) + (end 132.6 160.1) + (width 0.25) + (layer "F.Cu") + (net "/OLED_SCL") + (uuid "ee10d021-1f91-4356-8db9-b833e8698b47") + ) + (segment + (start 132.3 160.35) + (end 132.55 160.1) + (width 0.25) + (layer "F.Cu") + (net "/OLED_SCL") + (uuid "f96c33ff-4a66-46cd-a0d9-ecf32d1d68c0") + ) + (segment + (start 132.9 159.9) + (end 133 159.9) + (width 0.25) + (layer "F.Cu") + (net "/OLED_SCL") + (uuid "febb14e1-73b1-4506-be7e-9a7726f182ef") + ) + (via + (at 113.85 160.35) + (size 0.7) + (drill 0.3) + (layers "F.Cu" "B.Cu") + (net "/OLED_SCL") + (uuid "6a4e2c18-e2ee-4702-9bd1-6bc3cd636617") + ) + (segment + (start 108 166.2) + (end 113.85 160.35) + (width 0.25) + (layer "B.Cu") + (net "/OLED_SCL") + (uuid "089a21b5-362f-4296-af34-9a28e6ca135d") + ) + (segment + (start 108 166.18) + (end 108 166.2) + (width 0.25) + (layer "B.Cu") + (net "/OLED_SCL") + (uuid "755fd72a-c5c1-436e-be42-f58f9f3689f1") + ) + (segment + (start 165 170) (end 167 168) (width 0.25) (layer "F.Cu") (net "/BTN_NEXT") - (uuid "29495c0c-2adf-4ea9-9ccb-523babe9a9a5") + (uuid "265017f2-e1f0-495d-8edb-3d3f6f6b913e") ) (segment - (start 132.85 153.45) - (end 132.949999 153.45) + (start 108 171.26) + (end 108 171.25) (width 0.25) (layer "F.Cu") (net "/BTN_NEXT") - (uuid "547ca9d8-15f6-4f77-b24e-4d6ea0645142") + (uuid "54d82efb-7505-42ca-9e3a-4ddf25c66101") ) (segment - (start 133.25 153.55) - (end 152.55 153.55) + (start 108 171.25) + (end 131.55 171.25) (width 0.25) (layer "F.Cu") (net "/BTN_NEXT") - (uuid "60afe6ff-5c3d-44d5-ab07-d87de83aa608") - ) - (segment - (start 133 153.5) - (end 133.199999 153.5) - (width 0.25) - (layer "F.Cu") - (net "/BTN_NEXT") - (uuid "7b8fe583-0799-4265-b450-b103d9bc88f8") - ) - (segment - (start 132.8 153.4) - (end 132.85 153.45) - (width 0.25) - (layer "F.Cu") - (net "/BTN_NEXT") - (uuid "90c07b68-efca-433d-bcca-749f25ae07b1") + (uuid "6ca8dbb5-43b0-4f5e-8730-e589f9de28aa") ) (segment (start 167 168) @@ -7821,87 +8837,39 @@ (width 0.25) (layer "F.Cu") (net "/BTN_NEXT") - (uuid "984dc5b9-169a-4c2e-ac16-685d9a095e4c") + (uuid "96d62821-9fb1-4f52-ab62-84e0f3997065") ) (segment - (start 132.6 153.3) - (end 132.65 153.3) + (start 135.05 170) + (end 165 170) (width 0.25) (layer "F.Cu") (net "/BTN_NEXT") - (uuid "c0a0e692-99a5-4484-89e1-25b472ef7012") + (uuid "9a6c35a4-c61d-4d62-8767-0193d208f2b5") ) (segment - (start 132.65 153.3) - (end 132.75 153.4) + (start 131.55 171.25) + (end 132 170.8) (width 0.25) (layer "F.Cu") (net "/BTN_NEXT") - (uuid "c2de7ad1-57e1-4d17-ae80-24fc7b8a5247") - ) - (segment - (start 131.55 152.25) - (end 132.6 153.3) - (width 0.25) - (layer "F.Cu") - (net "/BTN_NEXT") - (uuid "d688c353-6058-4bfb-ad16-36d6fc2fa64e") - ) - (segment - (start 133.199999 153.5) - (end 133.25 153.55) - (width 0.25) - (layer "F.Cu") - (net "/BTN_NEXT") - (uuid "d7fad7d7-c408-42e6-880c-ded5f0d0ec6e") - ) - (segment - (start 132.75 153.4) - (end 132.8 153.4) - (width 0.25) - (layer "F.Cu") - (net "/BTN_NEXT") - (uuid "e0e72100-fb93-4676-9ddc-04f28398c25c") - ) - (segment - (start 132.949999 153.45) - (end 133 153.5) - (width 0.25) - (layer "F.Cu") - (net "/BTN_NEXT") - (uuid "e1744cd4-4dd7-43d3-aad2-e314e9c8a194") + (uuid "fd3aca07-b286-4c7f-9028-ea89c86e8a3a") ) (via - (at 111.65 152.25) + (at 132 170.8) (size 0.7) (drill 0.3) (layers "F.Cu" "B.Cu") (net "/BTN_NEXT") - (uuid "c651eeb6-813f-4d4a-864c-20199df798a9") + (uuid "9adb2f0f-b52e-4586-a222-c5684cda5125") ) - (segment - (start 108 152.26) - (end 108 152.25) - (width 0.25) - (layer "B.Cu") + (via + (at 135.05 170) + (size 0.7) + (drill 0.3) + (layers "F.Cu" "B.Cu") (net "/BTN_NEXT") - (uuid "01c43430-447b-4f12-90db-3ebab1478c84") - ) - (segment - (start 173.5 134.9) - (end 172.6 134) - (width 0.25) - (layer "B.Cu") - (net "/BTN_NEXT") - (uuid "1e4503d3-e0e8-40a4-8f8c-e643b31da802") - ) - (segment - (start 173.5 168) - (end 173.5 134.9) - (width 0.25) - (layer "B.Cu") - (net "/BTN_NEXT") - (uuid "3bc96181-50dc-4508-9d4c-ce3521410184") + (uuid "c399a178-1b50-4f83-9b67-3fe49dfa4f35") ) (segment (start 172.6 134) @@ -7909,15 +8877,39 @@ (width 0.25) (layer "B.Cu") (net "/BTN_NEXT") - (uuid "6886f963-3c23-426d-b426-f253afa2efa8") + (uuid "0806ce46-3896-4c68-ab6b-e07f137928b3") ) (segment - (start 108 152.25) - (end 111.65 152.25) + (start 173.5 134.9) + (end 172.6 134) (width 0.25) (layer "B.Cu") (net "/BTN_NEXT") - (uuid "a05d18a5-9cab-4894-848a-227674d3f8e4") + (uuid "64ef684a-25da-413a-b297-c4ad0c8fc0a8") + ) + (segment + (start 173.5 168) + (end 173.5 134.9) + (width 0.25) + (layer "B.Cu") + (net "/BTN_NEXT") + (uuid "7c01d24d-f63d-4c94-a2b1-58aedc12fba5") + ) + (segment + (start 132.8 170) + (end 135.05 170) + (width 0.25) + (layer "B.Cu") + (net "/BTN_NEXT") + (uuid "e613856b-b1f9-4746-9ec1-db400ade8274") + ) + (segment + (start 132 170.8) + (end 132.8 170) + (width 0.25) + (layer "B.Cu") + (net "/BTN_NEXT") + (uuid "fddf7742-165d-4cf3-a456-f1d5d0fa9a61") ) (zone (layers "F.Cu" "B.Cu") @@ -7946,7 +8938,7 @@ ) (polygon (pts - (xy 110 100) (xy 131 100) (xy 131 113) (xy 110 113) + (xy 110 119) (xy 131 119) (xy 131 132) (xy 110 132) ) ) ) diff --git a/hardware/PCB/serial-carrier.kicad_pro b/hardware/PCB/serial-carrier.kicad_pro index abdbd43..dbe3dba 100644 --- a/hardware/PCB/serial-carrier.kicad_pro +++ b/hardware/PCB/serial-carrier.kicad_pro @@ -259,6 +259,230 @@ "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": [] @@ -314,8 +538,14 @@ "net_colors": null, "netclass_assignments": null, "netclass_patterns": [ - { "netclass": "Power", "pattern": "/+3V3" }, - { "netclass": "Power", "pattern": "/GND" } + { + "netclass": "Power", + "pattern": "/+3V3" + }, + { + "netclass": "Power", + "pattern": "/GND" + } ] }, "pcbnew": { @@ -330,16 +560,137 @@ "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 + } + ], + "filter_string": "", + "group_symbols": true, + "include_excluded_from_bom": true, + "name": "Default Editing", + "sort_asc": true, + "sort_field": "Referenz" + }, "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": "serial-carrier.kicad_sch", "name": "serial-carrier", "uuid": "00000000-0000-0000-0000-000000000000" } - ] + ], + "used_designators": "", + "variants": [] }, "sheets": [], "text_variables": {}, diff --git a/hardware/PCB/validate_pcb_draft.py b/hardware/PCB/validate_pcb_draft.py index fa0a98a..5ae040b 100644 --- a/hardware/PCB/validate_pcb_draft.py +++ b/hardware/PCB/validate_pcb_draft.py @@ -4,6 +4,7 @@ Requires KiCad's pcbnew binding in system Python. The known U2 footprint parity warning is reported explicitly, not hidden or added to KiCad's exclusions. """ +import hashlib import json from pathlib import Path import subprocess @@ -29,7 +30,33 @@ assert p.ToMM(board.GetDesignSettings().GetBoardThickness())==1.6 outline=[d for d in board.GetDrawings() if d.GetLayer()==p.Edge_Cuts] assert len(outline)==6 points={(round(p.ToMM(v.x)-100,5),round(p.ToMM(v.y)-100,5)) for d in outline for v in (d.GetStart(),d.GetEnd())} -assert points=={(0,0),(82,0),(82,80),(36,80),(36,61),(0,61)} +expected_outline=[(36,0),(82,0),(82,80),(0,80),(0,19),(36,19)] +assert points==set(expected_outline) +expected_edges={frozenset((a,b)) for a,b in zip(expected_outline,expected_outline[1:]+expected_outline[:1])} +actual_edges={frozenset((round(p.ToMM(v.x)-100,5),round(p.ToMM(v.y)-100,5)) + for v in (d.GetStart(),d.GetEnd())) for d in outline} +assert actual_edges==expected_edges +placements={"U1":(8,23),"U2":(43,26.670),"DS1":(43,36), + "R1":(43,34),"R2":(54,34),"R3":(65,34), + "SW1":(43,68),"SW2":(55,68),"SW3":(67,68), + "H1":(3.5,22.5),"H2":(3.5,75),"H3":(78,4),"H4":(78,76)} +for ref,(x,y) in placements.items(): + position=footprints[ref].GetPosition() + assert position.x==p.FromMM(x+100) and position.y==p.FromMM(y+100),ref + assert footprints[ref].GetOrientationDegrees()==0,ref +assert len(board.Zones())==1 +reserve=board.Zones()[0] +assert reserve.GetIsRuleArea() and reserve.IsOnLayer(p.F_Cu) and reserve.IsOnLayer(p.B_Cu) +assert reserve.GetDoNotAllowTracks() and reserve.GetDoNotAllowVias() and reserve.GetDoNotAllowZoneFills() +contour=reserve.Outline().COutline(0) +assert {(p.ToMM(contour.CPoint(i).x),p.ToMM(contour.CPoint(i).y)) for i in range(contour.PointCount())}=={(110,119),(131,119),(131,132),(110,132)} +# Reference bare-PCB front is 26.670 mm above the U2 pad-row origin. +u2_front=p.ToMM(footprints['U2'].GetPosition().y)-26.670 +assert abs(u2_front-100)<1e-6 +assert any(isinstance(g,p.PCB_SHAPE) and g.GetLayer()==p.F_Fab and + g.GetShape()==p.SHAPE_T_SEGMENT and + g.GetStart().y==p.FromMM(100) and g.GetEnd().y==p.FromMM(100) + for g in footprints['U2'].GraphicalItems()), 'U2 bare-PCB front not flush' assert max(x for x,y in points)-min(x for x,y in points)==82 assert max(y for x,y in points)-min(y for x,y in points)==80 padnets={} @@ -77,6 +104,13 @@ assert len(parity)==1 and parity[0]["type"]=="footprint_symbol_mismatch",parity assert len(parity[0]["items"])==1 and parity[0]["items"][0]["uuid"]==footprints["U2"].m_Uuid.AsString() summary={ "carrier_bounds_mm":[82,80], + "outline_local_mm":expected_outline, + "placements_local_mm":placements, + "rf_reserve_absolute_mm":[110,119,131,132], + "u2_bare_pcb_front_local_y_mm":round(u2_front-100,6), + "nominal_user_confirmed_rs232_metal_mm":{"shell_overhang":3.870,"hex_mouth_overhang":2.870,"flange_front_inset":1.930}, + "tracks":sum(not isinstance(t,p.PCB_VIA) for t in tracks), + "vias":sum(isinstance(t,p.PCB_VIA) for t in tracks), "copper_layers":2, "draft_thickness_mm":1.6, "electrical_footprints":len(comps), @@ -84,9 +118,10 @@ summary={ "physical_DRC_violations":0, "unconnected_items":0, "schematic_pad_nets_match":True, - "known_parity_warning":"U2 provisional female-reference footprint assigned on PCB only; schematic footprint intentionally blank", + "known_parity_warning":"U2 reference footprint assigned on PCB only; schematic footprint intentionally blank; nominal male external metal dimensions user-confirmed", + "project_settings_sha256":hashlib.sha256((ROOT/'serial-carrier.kicad_pro').read_bytes()).hexdigest(), "ignored_DRC_checks":report["ignored_checks"], - "not_validated":["male module pin map/fit", "assembly envelope and heights", "header/socket fit", "RF performance and antenna clearance", "power/return-path integrity", "USB power path", "OLED pull-ups", "fabrication process", "hardware operation"], + "not_validated":["male module pin map/header fit", "ESP32 geometry and complete assembly envelope/heights", "header/socket fit", "RF performance and antenna clearance", "power/return-path integrity", "USB power path", "OLED pull-ups", "fabrication process", "hardware operation"], } (OUT/"pcb-validation-summary.json").write_text(json.dumps(summary,indent=2)+"\n") print("PCB draft verified: 82 x 80 mm; 2 copper layers; 0 physical DRC violations; 0 unrouted.")