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