From b3e0353f8927a7398e991899a5062485f5808294 Mon Sep 17 00:00:00 2001
From: Neil Gershenfeld <gersh@cba.mit.edu>
Date: Mon, 21 Oct 2024 20:45:30 -0400
Subject: [PATCH] wip

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

diff --git a/python/pcb.py b/python/pcb.py
index 3de2127..61dbc73 100755
--- a/python/pcb.py
+++ b/python/pcb.py
@@ -1353,6 +1353,73 @@ 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 IMU_6050(part):
+   #
+   # MPU-6050 IMU breakout 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,.35,0)
+      self.holes = translate(pad_hole,0,.35,0)
+      self.pad.append(point(0,.35,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'VCC'))
+      #
+      # pin 2
+      #
+      self.shape = add(self.shape,translate(pad_header,0,.25,0))
+      self.holes = add(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,'GND'))
+      #
+      # pin 3
+      #
+      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,'SCL'))
+      #
+      # 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,'SDA'))
+      #
+      # pin 5
+      #
+      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,'XDA'))
+      #
+      # pin 6
+      #
+      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,'XCL'))
+      #
+      # pin 7
+      #
+      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,'AD0'))
+      #
+      # pin 8
+      #
+      self.shape = add(self.shape,translate(pad_header,0,-0.35,0))
+      self.holes = add(self.holes,translate(pad_hole,0,-0.35,0))
+      self.pad.append(point(0,-0.35,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'INT'))
+
 class IMU_4754(part):
    #
    # Adafruit 4754 IMU breakout through-hole
-- 
GitLab