From d559b62e97bbd8f92b4586a467a75ce585106b4e Mon Sep 17 00:00:00 2001
From: Neil Gershenfeld <gersh@cba.mit.edu>
Date: Sun, 5 Nov 2023 14:58:57 -0500
Subject: [PATCH] wip

---
 python/pcb.py | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/python/pcb.py b/python/pcb.py
index 1d0c77c..4e13862 100755
--- a/python/pcb.py
+++ b/python/pcb.py
@@ -1227,6 +1227,45 @@ class choke(part):
 # connectors
 ############################################################
 
+class header_I2C_hole(part):
+   #
+   # I2C through-hole
+   #
+   def __init__(self,value,zb,zt):
+      pad_header = cylinder(0,0,zb,zt,.04)
+      pad_hole = cylinder(0,0,zb,zt,.018)
+      self.value = value
+      self.pad = [point(0,0,0)]
+      self.labels = []
+      #
+      # pin 1
+      #
+      self.shape = translate(pad_header,0,.15,0)
+      self.holes = translate(pad_hole,0,.15,0)
+      self.pad.append(point(0,.15,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'SDA'))
+      #
+      # pin 2
+      #
+      self.shape = add(self.shape,translate(pad_header,0,.05,0))
+      self.holes = add(self.holes,translate(pad_hole,0,.05,0))
+      self.pad.append(point(0,.05,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'SCL'))
+      #
+      # pin 3
+      #
+      self.shape = add(self.shape,translate(pad_header,0,-.05,0))
+      self.holes = add(self.holes,translate(pad_hole,0,-.05,0))
+      self.pad.append(point(0,-.05,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'VCC'))
+      #
+      # pin 4
+      #
+      self.shape = add(self.shape,translate(pad_header,0,-0.15,0))
+      self.holes = add(self.holes,translate(pad_hole,0,-0.15,0))
+      self.pad.append(point(0,-0.15,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND'))
+
 class FFC_4x1(part):
    #
    # 4 x 1mm flat flex connector
-- 
GitLab