From c3c279150a9696495d319981729afb09ee11e694 Mon Sep 17 00:00:00 2001
From: Neil Gershenfeld <gersh@cba.mit.edu>
Date: Thu, 28 Dec 2023 20:00:41 -0500
Subject: [PATCH] wip

---
 python/pcb.py | 87 +++++++++++++++++++++++++--------------------------
 1 file changed, 42 insertions(+), 45 deletions(-)

diff --git a/python/pcb.py b/python/pcb.py
index 83d471f..b65e8ff 100755
--- a/python/pcb.py
+++ b/python/pcb.py
@@ -6653,7 +6653,7 @@ class PicoW(part):
 
 class XIAO_RP2040(part):
    #
-   # XIAO
+   # XIAO RP2040
    #
    def __init__(self,value=''):
       self.value = value
@@ -6661,12 +6661,11 @@ class XIAO_RP2040(part):
       self.labels = []
       padl = cube(-0.03,0.081,-0.070/2,0.070/2,0,0)
       padr = cube(-0.081,0.03,-0.070/2,0.070/2,0,0)
-      width = 0.713
-      length = 0.843
-      d = 0.015
       pitch = 0.1
-      offset = 0.08
       dx = 0.035
+      width = 0.699
+      length = 0.818
+      d = 0.015
       #
       # pin 1
       #
@@ -6755,77 +6754,75 @@ class XIAO_RP2040(part):
       # VIN
       #
       self.shape = add(self.shape,cube(
-         -width/2+0.287-d,
-         -width/2+0.287+0.040+d,
-         -length/2+0.033-d,
-         -length/2+0.033+0.086+d,
+         width/2-.418-d,
+         width/2-.376+d,
+         length/2-.798-d,
+         length/2-.714+d,
          0,0))
       self.pad.append(point(
-         -width/2+0.287+0.040/2,
-         -length/2+0.033+0.086/2,
+         width/2-.376-(.418-.376)/2,
+         length/2-.714-(.798-.714)/2,
          0))
       self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'VIN'))
       #
       # GND
       #
       self.shape = add(self.shape,cube(
-         -width/2+0.287+0.040+0.062-d,
-         -width/2+0.287+0.040+0.062+0.040+d,
-         -length/2+0.033-d,
-         -length/2+0.033+0.086+d,
+         width/2-.317-d,
+         width/2-.275+d,
+         length/2-.798-d,
+         length/2-.714+d,
          0,0))
       self.pad.append(point(
-         -width/2+0.287+0.040+0.062+0.040/2,
-         -length/2+0.033+0.086/2,
+         width/2-.275-(.317-.275)/2,
+         length/2-.714-(.798-.714)/2,
          0))
       self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND'))
       #
       # prog
       #
       self.shape = add(self.shape,cube(
-         -width/2+0.288-d,
-         -width/2+0.288+0.045+d,
-         length/2-0.058-0.045-d,
-         length/2-0.058+d,
+         width/2-.320-d,
+         width/2-.276+d,
+         length/2-.107-d,
+         length/2-.060+d,
          0,0))
       self.pad.append(point(
-         -width/2+0.288+0.045/2,
-         length/2-0.058-0.045/2,
+         width/2-.276-(.320-.276)/2,
+         length/2-.060-(.107-.060)/2,
          0))
-      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'DIO'))
+      #
       self.shape = add(self.shape,cube(
-         -width/2+0.288+0.045+0.057-d,
-         -width/2+0.288+0.045+0.057+0.045+d,
-         length/2-0.058-0.045-d,
-         length/2-0.058+d,
+         width/2-.424-d,
+         width/2-.376+d,
+         length/2-.107-d,
+         length/2-.060+d,
          0,0))
       self.pad.append(point(
-         -width/2+0.288+0.045+0.057+0.045/2,
-         length/2-0.058-0.045/2,
+         width/2-.376-(.424-.376)/2,
+         length/2-.060-(.107-.060)/2,
          0))
-      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'CLK'))
       self.shape = add(self.shape,cube(
-         -width/2+0.288-d,
-         -width/2+0.288+0.045+d,
-         length/2-0.058-0.045-0.058-0.045-d,
-         length/2-0.058-0.045-0.058+d,
+         width/2-.424-d,
+         width/2-.376+d,
+         length/2-.209-d,
+         length/2-.161+d,
          0,0))
       self.pad.append(point(
-         -width/2+0.288+0.045/2,
-         length/2-0.058-0.045-0.058-0.045/2,
+         width/2-.376-(.424-.376)/2,
+         length/2-.161-(.209-.161)/2,
          0))
-      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'RST'))
+      #
       self.shape = add(self.shape,cube(
-         -width/2+0.288+0.045+0.057-d,
-         -width/2+0.288+0.045+0.057+0.045+d,
-         length/2-0.058-0.045-0.058-0.045-d,
-         length/2-0.058-0.045-0.058+d,
+         width/2-.320-d,
+         width/2-.276+d,
+         length/2-.209-d,
+         length/2-.161+d,
          0,0))
       self.pad.append(point(
-         -width/2+0.288+0.045+0.057+0.045/2,
-         length/2-0.058-0.045-0.058-0.045/2,
+         width/2-.276-(.320-.276)/2,
+         length/2-.161-(.209-.161)/2,
          0))
-      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND'))
 
 class XIAO(part):
    #
-- 
GitLab