From 4e1b4f7889272c982eca72b8b9a15cd21ebd0ba3 Mon Sep 17 00:00:00 2001
From: Neil Gershenfeld <gersh@cba.mit.edu>
Date: Tue, 17 Oct 2023 21:06:20 -0400
Subject: [PATCH] wip

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

diff --git a/python/pcb.py b/python/pcb.py
index ad5e8dc..1d0c77c 100755
--- a/python/pcb.py
+++ b/python/pcb.py
@@ -1277,6 +1277,59 @@ class FFC_4x1(part):
       self.shape = add(self.shape,translate(anchor,-ax,ay,0))
       self.shape = add(self.shape,translate(anchor,ax,ay,0))
 
+class header_IMU_4754_hole(part):
+   #
+   # Adafruit 4754 IMU breakout through-hole
+   #
+   def __init__(self,value,zb,zt):
+      pad_header = cylinder(0,0,zb,zt,.03)
+      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,.25,0)
+      self.holes = translate(pad_hole,0,.25,0)
+      self.pad.append(point(0,.25,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'Vin'))
+      #
+      # pin 2
+      #
+      self.shape = add(self.shape,translate(pad_header,0,.15,0))
+      self.holes = add(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,'3.3'))
+      #
+      # 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,'GND'))
+      #
+      # pin 4
+      #
+      self.shape = add(self.shape,translate(pad_header,0,-0.05,0))
+      self.holes = add(self.holes,translate(pad_hole,0,-0.05,0))
+      self.pad.append(point(0,-0.05,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'SCL'))
+      #
+      # pin 5
+      #
+      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,'SDA'))
+      #
+      # pin 6
+      #
+      self.shape = add(self.shape,translate(pad_header,0,-0.25,0))
+      self.holes = add(self.holes,translate(pad_hole,0,-0.25,0))
+      self.pad.append(point(0,-0.25,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'INT'))
+
 class header_IMU_3463_hole(part):
    #
    # Adafruit 3463 IMU breakout through-hole
-- 
GitLab