diff --git a/python/pcb.py b/python/pcb.py
index 18014d8b1a8c8bba820668e1474ca7cd40b53cc4..8d1f0970b07cf3d1f79e836fc328631fab92d119 100755
--- a/python/pcb.py
+++ b/python/pcb.py
@@ -6829,43 +6829,43 @@ class XIAO_SAMD21(part):
       #
       dw = 0.047
       left = 0.27
-      right = 0.265
-      bottom = 0.050
-      top = 0.20
+      right = 0.27
+      top = 0.050
+      bottom = 0.20
       pad = cube(-dw/2,dw/2,-dw/2,dw/2,0,0)
       #
-      self.shape = add(self.shape,translate(pad,-width/2+left+dw/2,-length/2+bottom+dw/2,0))
-      self.pad.append(point(-width/2+left+dw/2,-length/2+bottom+dw/2))
+      self.shape = add(self.shape,translate(pad,-width/2+left+dw/2,length/2-bottom+dw/2,0))
+      self.pad.append(point(-width/2+left+dw/2,length/2-bottom+dw/2))
       self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,''))
       #
-      self.shape = add(self.shape,translate(pad,-width/2+left+dw/2,-length/2+top-dw/2,0))
-      self.pad.append(point(-width/2+left+dw/2,-length/2+top-dw/2))
+      self.shape = add(self.shape,translate(pad,-width/2+left+dw/2,length/2-top-dw/2,0))
+      self.pad.append(point(-width/2+left+dw/2,length/2-top-dw/2))
       self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,''))
       #
-      self.shape = add(self.shape,translate(pad,width/2-right-dw/2,-length/2+bottom+dw/2,0))
-      self.pad.append(point(width/2-right-dw/2,-length/2+bottom+dw/2))
+      self.shape = add(self.shape,translate(pad,width/2-right-dw/2,length/2-bottom+dw/2,0))
+      self.pad.append(point(width/2-right-dw/2,length/2-bottom+dw/2))
       self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,''))
       #
-      self.shape = add(self.shape,translate(pad,width/2-right-dw/2,-length/2+top-dw/2,0))
-      self.pad.append(point(width/2-right-dw/2,-length/2+top-dw/2))
+      self.shape = add(self.shape,translate(pad,width/2-right-dw/2,length/2-top-dw/2,0))
+      self.pad.append(point(width/2-right-dw/2,length/2-top-dw/2))
       self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,''))
       #
       # battery
       #
       dx = 0.042
       dy = 0.081
-      left = 0.275
-      right = 0.269
-      top = 0.020
+      left = 0.27
+      right = 0.27
+      bottom = 0.020
       pad = cube(-dx/2,dx/2,-dy/2,dy/2,0,0)
       #
-      self.shape = add(self.shape,translate(pad,-width/2+left+dx/2,length/2-top-dy/2,0))
-      self.pad.append(point(-width/2+left+dx/2,length/2-top-dy/2))
-      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND'))
-      #
-      self.shape = add(self.shape,translate(pad,width/2-right-dx/2,length/2-top-dy/2,0))
-      self.pad.append(point(width/2-right-dx/2,length/2-top-dy/2))
+      self.shape = add(self.shape,translate(pad,-width/2+left+dx/2,-length/2+bottom+dy/2,0))
+      self.pad.append(point(-width/2+left+dx/2,-length/2+bottom+dy/2))
       self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'VIN'))
+      #
+      self.shape = add(self.shape,translate(pad,width/2-right-dx/2,-length/2+bottom+dy/2,0))
+      self.pad.append(point(width/2-right-dx/2,-length/2+bottom+dy/2))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND'))
 
 class XIAO_ESP32S3(part):
    #