From 607f05c66a91fd6c8c09b39bb3b5ca3e6148fc10 Mon Sep 17 00:00:00 2001
From: Sam Calisch <sam.calisch@cba.mit.edu>
Date: Wed, 4 Oct 2017 08:29:27 -0400
Subject: [PATCH 1/5] Add new directory

---
 kokopelli/.gitkeep | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 kokopelli/.gitkeep

diff --git a/kokopelli/.gitkeep b/kokopelli/.gitkeep
new file mode 100644
index 0000000..e69de29
-- 
GitLab


From 6cce0301b2a94803997674dbf1aa9e8dc5661b35 Mon Sep 17 00:00:00 2001
From: Sam Calisch <sam.calisch@cba.mit.edu>
Date: Wed, 4 Oct 2017 08:30:47 -0400
Subject: [PATCH 2/5] Upload New File

---
 kokopelli/pcb.py | 988 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 988 insertions(+)
 create mode 100644 kokopelli/pcb.py

diff --git a/kokopelli/pcb.py b/kokopelli/pcb.py
new file mode 100644
index 0000000..7d4b139
--- /dev/null
+++ b/kokopelli/pcb.py
@@ -0,0 +1,988 @@
+import operator
+from math import cos, sin, atan2, radians, degrees, sqrt
+
+import koko.lib.shapes2d as s2d
+from koko.lib.text import text
+from numpy import *
+
+class PCB(object):
+    def __init__(self, x0, y0, width, height, chamfer_distance=0):
+        self.x0 = x0
+        self.y0 = y0
+        self.width = width
+        self.height = height
+
+        self.components  = []
+        self.connections = []
+        self._cutout = None
+        self.custom_cutout = None
+        self.custom_layers = {}
+        self.chamfer_distance = chamfer_distance
+
+    @property
+    def traces(self):
+        L = [c.pads for c in self.components if c.side == 0] + [c.traces[0] for c in self.connections]
+        if L:
+            t = reduce(operator.add, L)
+            #L = [c.holes for c in self.components if c.holes is not None]
+            #L.extend([c.holes for c in self.connections if c.holes is not None])
+            #if L:
+            #    t = t - reduce(operator.add,L)
+            return t
+        else: return None
+    @property
+    def traces_other_side(self):
+        L = [c.pads for c in self.components if c.side == 1] + [c.traces[1] for c in self.connections if c.traces[1] is not None]
+        if L:
+            t = reduce(operator.add, L)
+            #L = [c.holes for c in self.components if c.holes is not None]
+            #L.extend([c.holes for c in self.connections if c.holes is not None])
+            #if L:
+            #    t = t - reduce(operator.add,L)
+            return t
+        else: return None        
+    @property
+    def holes(self):
+        L = [c.holes for c in self.components if c.holes is not None]
+        L.extend([c.holes for c in self.connections if c.holes is not None])
+        if L:
+            t = reduce(operator.add,L)  
+            return t
+        else:
+            return None
+
+    @property
+    def part_labels_top(self):
+        L = [c.label for c in self.components if c.label is not None and c.side==0]
+        return reduce(operator.add, L) if L else None
+    @property
+    def part_labels_bot(self):
+        L = [c.label for c in self.components if c.label is not None and c.side==1]
+        return reduce(operator.add, L) if L else None
+    @property
+    def part_shadows_top(self):
+        L = [c.shadow_shape for c in self.components if c.shadow_shape is not None and c.side==0]
+        return reduce(operator.add, L) if L else None 
+    @property
+    def part_shadows_bot(self):
+        L = [c.shadow_shape for c in self.components if c.shadow_shape is not None and c.side==1]
+        return reduce(operator.add, L) if L else None        
+    @property
+    def pin_labels_top(self):
+        L = [c.pin_labels for c in self.components if c.pin_labels is not None and c.side==0]
+        return reduce(operator.add, L) if L else None
+    @property
+    def pin_labels_bot(self):
+        L = [c.pin_labels for c in self.components if c.pin_labels is not None and c.side==1]
+        return reduce(operator.add, L) if L else None
+
+    @property
+    def cutout(self):
+        if self.custom_cutout is not None:    
+            if self.holes:
+                return self.custom_cutout - self.holes
+            else: 
+                return self.custom_cutout 
+        outer = s2d.rectangle(self.x0, self.x0 + self.width,
+                             self.y0, self.y0 + self.height)
+        if self.chamfer_distance:
+            c = self.chamfer_distance
+            c1 = s2d.triangle(self.x0,self.y0,self.x0,self.y0+c,self.x0+c,self.y0)
+            c2 = s2d.triangle(self.x0+self.width,self.y0+self.height, self.x0+self.width, self.y0+self.height-c, self.x0+self.width-c, self.y0+self.height)
+            c3 = s2d.triangle(self.x0,self.y0+self.height, self.x0+c, self.y0+self.height, self.x0, self.y0+self.height-c)
+            c4 = s2d.triangle(self.x0+self.width,self.y0, self.x0+self.width-c, self.y0, self.x0+self.width, self.y0+c)
+            outer -= c1+c2+c3+c4
+        #L = [c.holes for c in self.components if c.holes is not None]
+        #L.extend([c.holes for c in self.connections if c.holes is not None])
+        return outer - self.holes if self.holes else outer
+
+    #@property
+    def layout(self,sides=[0,1]):
+        T = []
+        if 0 in sides:
+            if self.part_labels_top:
+                T.append(s2d.color(self.part_labels_top, (125, 200, 60)))
+            if self.pin_labels_top:
+                T.append(s2d.color(self.pin_labels_top, (255, 90, 60)))
+            if self.traces:
+                T.append(s2d.color(self.traces-self.holes, (125, 90, 60)))
+            if self.part_shadows_top:
+                T.append(s2d.color(self.part_shadows_top-self.holes,(55,55,60)))
+        if 1 in sides:
+            if self.part_labels_bot:
+                T.append(s2d.color(self.part_labels_bot, (90, 60, 255)))
+            if self.pin_labels_bot:
+                T.append(s2d.color(self.pin_labels_bot, (175, 30, 175)))
+            if self.traces_other_side:
+                T.append(s2d.color(self.traces_other_side-self.holes, (90, 60, 125)))
+            if self.part_shadows_bot:
+               T.append(s2d.color(self.part_shadows_bot-self.holes,(45, 30, 62)))
+        
+        for v in sorted(self.custom_layers.values(),key=lambda v: -v['position']):
+            if v['visible']: T.append(s2d.color(v['layer'],v['color']))
+        T.append(s2d.color(self.cutout, (35,35,40)))
+        return T
+
+
+    def __iadd__(self, rhs):
+        if isinstance(rhs, Component):
+            self.components.append(rhs)
+        elif isinstance(rhs, Connection):
+            self.connections.append(rhs)
+        else:
+            raise TypeError("Invalid type for PCB addition (%s)" % type(rhs))
+        return self
+
+    def add_custom_layer(self,name,layer,color):
+        self.custom_layers[name] = {'layer':layer,'color':color,'position':len(self.custom_layers),'visible':1}
+    def hide_layer(self,name):
+        self.custom_layers[name]['visible'] = 0
+
+    def connectH(self, *args, **kwargs):
+        ''' Connects a set of pins or points, traveling first
+            horizontally then vertically
+        '''
+        width = kwargs['width'] if 'width' in kwargs else 0.016
+        mode = kwargs['mode'] if 'mode' in kwargs else 'explicit'
+        sides = kwargs['sides'] if 'sides' in kwargs else [0 for a in args[:-1]]
+        new_sides = []
+        points = []
+        args = list(args)
+        for i,p in enumerate(args):
+            if not isinstance(p,BoundPin):
+                if mode=='diff':
+                    args[i] = Point(args[i-1].x+p[0],args[i-1].y+p[1])
+                elif mode=='explicit':
+                    args[i] = Point(*p)
+                else:
+                    raise NotImplementedError("Unknown mode type %s"%mode)
+        for A, B, s in zip(args[:-1], args[1:], sides):
+            points.append(A); new_sides.append(s)
+            if (A.x != B.x):
+                points.append(Point(B.x, A.y)); new_sides.append(s)
+        if A.y != B.y:  points.append(B)
+        c = Connection(width, *points, sides=new_sides)
+        self.connections.append(c)
+        return c
+
+    def connectV(self, *args, **kwargs):
+        ''' Connects a set of pins or points, travelling first
+            vertically then horizontally.
+        '''
+        width = kwargs['width'] if 'width' in kwargs else 0.016
+        mode = kwargs['mode'] if 'mode' in kwargs else 'explicit'
+        sides = kwargs['sides'] if 'sides' in kwargs else [0 for a in args[:-1]]
+        new_sides = []
+        points = []
+        args = list(args)
+        for i,p in enumerate(args):
+            if not isinstance(p,BoundPin):
+                if mode=='diff':
+                    args[i] = Point(args[i-1].x+p[0],args[i-1].y+p[1])
+                elif mode=='explicit':
+                    args[i] = Point(*p)
+                else:
+                    raise NotImplementedError("Unknown mode type %s"%mode)
+        for A, B, s in zip(args[:-1], args[1:], sides):
+            points.append(A); new_sides.append(s)
+            if (A.y != B.y):
+                points.append(Point(A.x, B.y)); new_sides.append(s)
+        if A.x != B.x:  points.append(B)
+        c = Connection(width, *points, sides=new_sides)
+        self.connections.append(c)
+        return c
+
+    def connectD(self, *args, **kwargs):
+        ''' Connects a set of pins or points, travelling first
+            diagonally then horizontally or vertically, depending on geometry.
+        '''
+        width = kwargs['width'] if 'width' in kwargs else 0.016
+        sides = kwargs['sides'] if 'sides' in kwargs else [0 for a in args[:-1]]
+        new_sides = []
+        points = []
+        def sgn(x): 
+            if x>=0: 
+                return 1 
+            else:
+                return -1
+        args = list(args)
+        for i,p in enumerate(args):
+            if not isinstance(p,BoundPin):
+                args[i] = Point(*p)
+        for A, B, s in zip(args[:-1], args[1:], sides):
+            points.append(A); new_sides.append(s)
+            if (B.y-A.y != B.x-A.x):
+                if abs(B.y-A.y) > abs(B.x-A.x):
+                    points.append(Point(B.x, A.y+sgn(B.y-A.y)*abs(B.x-A.x))); new_sides.append(s)
+                else:
+                    points.append(Point(A.x+sgn(B.x-A.x)*abs(B.y-A.y),B.y)); new_sides.append(s)                    
+        if (A.x != B.x) or (A.y != B.y):  points.append(B)
+        c = Connection(width, *points, sides=new_sides)
+        self.connections.append(c)
+        return c
+
+
+################################################################################
+
+class Component(object):
+    ''' Generic PCB component.
+    '''
+    def __init__(self, x, y, rot=0, name='',label_size=0.05, side=0):
+        ''' Constructs a Component object
+                x           X position
+                y           Y position
+                rotation    angle (degrees)
+                name        String
+                side        which side of board 0 for top, 1 for bottom
+        '''
+        self.x = x
+        self.y = y
+        self.rot   = rot
+        self.name = name
+        self.label_size = label_size
+        self.side = side
+        if self.side == 1:
+            self.pins = [p.mirror_x()  for p in self.pins]
+            self.vias = [v.mirror_x()  for v in self.vias]
+
+    def __getitem__(self, i):
+        if isinstance(i, str):
+            try:
+                pin = [p for p in self.pins if p.name == i][0]
+            except IndexError:
+                raise IndexError("No pin with name %s" % i)
+        elif isinstance(i, int):
+            try:
+                pin = self.pins[i-1]
+            except IndexError:
+                raise IndexError("Pin %i is not in array" %i)
+        return BoundPin(pin, self)
+
+    @property
+    def pads(self):
+        pads = reduce(operator.add, [p.pad for p in self.pins])
+        return s2d.move(s2d.rotate(pads, self.rot), self.x, self.y)
+
+    @property
+    def holes(self):
+        if self.vias:
+            holes = reduce(operator.add,[v.hole for v in self.vias])
+            return s2d.move(s2d.rotate(holes,self.rot), self.x, self.y)
+        else: return None
+
+    @property
+    def pin_labels(self):
+        L = []
+        for p in self.pins:
+            p = BoundPin(p, self)
+            if p.pin.name:
+                t = s2d.rotate(text(p.pin.name, 0, 0, p.pin.label_size),self.rot+p.pin.label_rot)
+                L.append(s2d.move(t, p.x, p.y))
+        return reduce(operator.add, L) if L else None
+
+    @property
+    def label(self):
+        return text(self.name, self.x, self.y, self.label_size)
+    @property
+    def shadow_shape(self):
+        try:
+            return s2d.move(s2d.rotate(self.shadow, self.rot),self.x, self.y)
+        except AttributeError:
+            return None
+
+################################################################################
+
+class Pin(object):
+    ''' PCB pin, with name, shape, and position
+    '''
+    def __init__(self, x, y, shape, name='', label_size=.03, label_rot=0):
+        self.x      = x
+        self.y      = y
+        self.shape  = shape
+        self.name   = name
+        self.label_size   = label_size
+        self.label_rot   = label_rot
+
+    @property
+    def pad(self):
+        return s2d.move(self.shape, self.x, self.y)
+
+    def mirror_x(self):
+        return Pin( -self.x, self.y, self.shape, self.name, label_size=self.label_size, label_rot=self.label_rot )
+
+################################################################################
+
+class Via(object):
+    ''' PCB via, with shape, and position
+    '''
+    def __init__(self, x, y, shape):
+        self.x      = x
+        self.y      = y
+        self.shape  = shape
+
+    @property
+    def hole(self):
+        return s2d.move(self.shape, self.x, self.y)
+
+    def mirror_x(self):
+        return Via( -self.x, self.y, self.shape )
+
+################################################################################
+
+class BoundPin(object):
+    ''' PCB pin localized to a specific component
+        (so that it has correct x and y positions)
+    '''
+    def __init__(self, pin, component):
+        self.pin = pin
+        self.component = component
+
+    @property
+    def x(self):
+        return (cos(radians(self.component.rot)) * self.pin.x -
+                sin(radians(self.component.rot)) * self.pin.y +
+                self.component.x)
+
+    @property
+    def y(self):
+        return (sin(radians(self.component.rot)) * self.pin.x +
+                cos(radians(self.component.rot)) * self.pin.y +
+                self.component.y)
+    @property
+    def point(self):
+        return Point(self.x,self.y)
+################################################################################
+
+class Point(object):
+    ''' Object with x and y member variables
+    '''
+    def __init__(self, x, y):
+        self.x = x
+        self.y = y
+    def __iter__(self):
+        return iter([self.x, self.y])
+    def __add__(self, p):
+        return Point(self.x+p.x,self.y+p.y)
+    def __sub__(self, p):
+        return Point(self.x-p.x,self.y-p.y)
+    def __rmul__(self,a):
+        return Point(a*self.x,a*self.y)
+    def magnitude(self):
+        return sqrt(self.x*self.x + self.y+self.y)
+    def normalized(self):
+        return Point(self.x/self.magnitude(), self.y/self.magnitude())
+    @property
+    def point(self):
+        return self
+
+################################################################################
+
+class Connection(object):
+    ''' Connects two pins via a series of intermediate points
+    '''
+    def __init__(self, width, *args, **kwargs):
+        self.width = width
+        self.points = [
+            a if isinstance(a, BoundPin) else Point(*a) for a in args
+        ]
+        self.sides = kwargs['sides'] if 'sides' in kwargs else [0 for a in args[:-1]] #0 is base side, 1 is other side
+        self.holes = None
+        self.jumpers = []
+    
+    def add_jumper(self,p,rot=0,width=.12, height=.07,thick=.05):
+        self.jumpers.append((p,rot,width,height,thick))
+        return self
+
+    def cut_corners(self,idx):
+        for i in idx:
+            i,v = i #unpack index and distance
+            assert(i>0) #start corner numbering at 1
+            assert(i<len(self.points)) #no corner to cut at end
+            d = lambda p,q: sqrt( (p.x-q.x)**2 + (p.y-q.y)**2 )
+            dm = d(self.points[i],self.points[i-1])
+            dp = d(self.points[i],self.points[i+1])
+            #if dm > dp:
+            self.points = self.points[:i] + \
+                [Point(self.points[i].x-v/dm*(self.points[i].x-self.points[i-1].x ), self.points[i].y-v/dm*(self.points[i].y-self.points[i-1].y )),
+                 Point(self.points[i].x+v/dp*(self.points[i+1].x-self.points[i].x ), self.points[i].y+v/dp*(self.points[i+1].y-self.points[i].y ))
+                ] + \
+                self.points[i+1:]
+            self.sides.insert(i,self.sides[i])
+            #else:
+            #    self.points[i] = self.points[i] - dm/dp*(self.points[i]-self.points[i+1])
+        return self
+
+    @property
+    def traces(self):
+        #_pad_1206 = s2d.rectangle(-0.025, 0.025, -0.034, 0.034)
+        _pad_via = s2d.circle(0,0,.025) #s2d.rectangle(-0.025, 0.025, -0.025, 0.025)
+        _hole_via = s2d.circle(0,0,.016)
+        jumper_cuts = []
+        jumper_pads = []
+        for p,r,w,h,t in self.jumpers:
+            _jumper_pad  = s2d.move(s2d.rectangle(-.5*t, .5*t, -.5*h, .5*h),-.5*w,0)
+            _jumper_pad += s2d.move(s2d.rectangle(-.5*t, .5*t, -.5*h, .5*h), .5*w,0)
+            _cut = s2d.rectangle(-.5*w,.5*w,-.5*h,.5*h)
+            jumper_cuts.append(s2d.move(s2d.rotate(_cut,r),p[0],p[1]))
+            jumper_pads.append(s2d.move(s2d.rotate(_jumper_pad,r),p[0],p[1]))
+        t = [[],[]]
+        for p1, p2, side in zip(self.points[:-1], self.points[1:], self.sides):
+            d = sqrt((p1.x - p2.x)**2 + (p1.y - p2.y)**2)
+            if p2 != self.points[-1]:
+                d += self.width/2
+            a = atan2(p2.y - p1.y, p2.x - p1.x)
+            r = s2d.rounded_rectangle(0, d, -self.width/2, self.width/2,1.)
+            t[side].append(s2d.move(s2d.rotate(r, degrees(a)), p1.x, p1.y))
+        try:
+            result0 = reduce(operator.add, t[0])
+        except TypeError:
+            result0 = None
+        try:
+            result1 = reduce(operator.add, t[1])
+        except TypeError:
+            result1 = None
+        #calculate locations for via holes and pads
+        for s1,s2,p in zip(self.sides[:-1],self.sides[1:],self.points[1:-1]):
+            if s1!=s2:
+                result0 += s2d.move(_pad_via,p.x,p.y)
+                result1 += s2d.move(_pad_via,p.x,p.y)
+                self.holes += s2d.move(_hole_via,p.x,p.y)
+        if len(self.jumpers)!=0:
+            result0 -= reduce(operator.add,jumper_cuts)
+            result0 += reduce(operator.add,jumper_pads)
+        return result0, result1
+
+################################################################################
+# Discrete passive components
+################################################################################
+
+_pad_1206 = s2d.rectangle(-0.032, 0.032, -0.034, 0.034)
+
+class R_1206(Component):
+    ''' 1206 Resistor
+    '''
+    pins = [Pin(-0.06, 0, _pad_1206), Pin(0.06, 0, _pad_1206)]
+    prefix = 'R'
+    vias = []
+
+
+class C_1206(Component):
+    ''' 1206 Capacitor
+    '''
+    pins = [Pin(-0.06, 0, _pad_1206), Pin(0.06, 0, _pad_1206)]
+    prefix = 'C'
+    vias = []
+
+_pad_0805 = s2d.rectangle(-.023,.023, -.027, .027)
+
+class R_0805(Component):
+    ''' 0805 Resistor
+    '''
+    pins = [Pin(-0.04, 0, _pad_0805), Pin(0.04, 0, _pad_0805)]
+    prefix = 'R'
+    vias = []
+
+
+class C_0805(Component):
+    ''' 0805 Capacitor
+    '''
+    pins = [Pin(-0.04, 0, _pad_0805), Pin(0.04, 0, _pad_0805)]
+    prefix = 'C'
+    vias = []
+
+
+_pad_SJ = s2d.rectangle(-0.02, 0.02, -0.03, 0.03)
+class SJ(Component):
+    ''' Solder jumper
+    '''
+    pins = [Pin(-0.029, 0, _pad_SJ), Pin(0.029, 0, _pad_SJ)]
+    prefix = 'SJ'
+    vias = []
+
+_pad_SOD_123 = s2d.rectangle(-0.02, 0.02, -0.024, 0.024)
+class D_SOD_123(Component):
+    ''' Diode
+    '''
+    pins = [Pin(-0.07, 0, _pad_SOD_123, 'A'),
+            Pin(0.07, 0, _pad_SOD_123, 'C')]
+    prefix = 'D'
+    vias = []
+
+
+################################################################################
+# Connectors
+################################################################################
+
+_pad_USB_trace = s2d.rectangle(-0.0075, 0.0075, -0.04, 0.04)
+_pad_USB_foot  = s2d.rectangle(-0.049, 0.049, -0.043, 0.043)
+class USB_mini_B(Component):
+    ''' USB mini B connector
+        Hirose UX60-MB-5ST
+    '''
+    pins = [
+        Pin(0.063,   0.24, _pad_USB_trace, 'G'),
+        Pin(0.0315,  0.24, _pad_USB_trace),
+        Pin(0,       0.24, _pad_USB_trace, '+'),
+        Pin(-0.0315, 0.24, _pad_USB_trace, '-'),
+        Pin(-0.063,  0.24, _pad_USB_trace, 'V'),
+
+        Pin( 0.165, 0.21, _pad_USB_foot),
+        Pin(-0.165, 0.21, _pad_USB_foot),
+        Pin( 0.165, 0.0, _pad_USB_foot),
+        Pin(-0.165, 0.0, _pad_USB_foot)
+    ]
+    prefix = 'J'
+    vias = []
+
+_pad_header  = s2d.rectangle(-0.06, 0.06, -0.025, 0.025)
+_pad_header_skinny  = s2d.rectangle(-0.06, 0.06, -0.020, 0.020)
+class Header_4(Component):
+    ''' 4-pin header
+        fci 95278-101a04lf bergstik 2x2x0.1
+    '''
+    pins = [
+        Pin(-0.107,  0.05, _pad_header),
+        Pin(-0.107, -0.05, _pad_header),
+        Pin( 0.107, -0.05, _pad_header),
+        Pin( 0.107,  0.05, _pad_header)
+    ]
+    prefix = 'J'
+    vias = []
+
+class Header_4_skinny(Component):
+    ''' 4-pin header
+        fci 95278-101a04lf bergstik 2x2x0.1
+    '''
+    pins = [
+        Pin(-0.107,  0.05, _pad_header_skinny),
+        Pin(-0.107, -0.05, _pad_header_skinny),
+        Pin( 0.107, -0.05, _pad_header_skinny),
+        Pin( 0.107,  0.05, _pad_header_skinny)
+    ]
+    prefix = 'J'
+    vias = []
+
+class Header_Power(Component):
+    ''' 4-pin header
+        fci 95278-101a04lf bergstik 2x2x0.1
+    '''
+    pins = [
+        Pin(-0.107,  0.05, _pad_header,"V"),
+        Pin(-0.107, -0.05, _pad_header,"GND"),
+        Pin( 0.107, -0.05, _pad_header),
+        Pin( 0.107,  0.05, _pad_header)
+    ]
+    prefix = 'J'
+    vias = []
+
+class Header_ISP(Component):
+    ''' ISP programming header
+        FCI 95278-101A06LF Bergstik 2x3x0.1
+    '''
+    pins = [
+        Pin(-0.107, 0.1,  _pad_header, 'GND'),
+        Pin(-0.107, 0,    _pad_header, 'MOSI'),
+        Pin(-0.107, -0.1, _pad_header, 'V'),
+        Pin( 0.107, -0.1, _pad_header, 'MISO'),
+        Pin( 0.107, 0,    _pad_header, 'SCK'),
+        Pin( 0.107, 0.1,  _pad_header, 'RST')
+    ]
+    prefix = 'J'
+    vias = []
+
+class Header_ISP_skinny(Component):
+    ''' ISP programming header
+        FCI 95278-101A06LF Bergstik 2x3x0.1
+    '''
+    pins = [
+        Pin(-0.107, 0.1,  _pad_header_skinny, 'GND'),
+        Pin(-0.107, 0,    _pad_header_skinny, 'MOSI'),
+        Pin(-0.107, -0.1, _pad_header_skinny, 'V'),
+        Pin( 0.107, -0.1, _pad_header_skinny, 'MISO'),
+        Pin( 0.107, 0,    _pad_header_skinny, 'SCK'),
+        Pin( 0.107, 0.1,  _pad_header_skinny, 'RST')
+    ]
+    prefix = 'J'
+    vias = []
+    #shadow = s2d.rectangle(-.06,8/25.4,-.325,.325)
+
+
+class Header_FTDI(Component):
+    ''' FTDI cable header
+    '''
+    pins = [
+        Pin(0,  0.25, _pad_header, 'GND'),
+        Pin(0,  0.15, _pad_header, 'CTS'),
+        Pin(0,  0.05, _pad_header, 'VCC'),
+        Pin(0, -0.05, _pad_header, 'TX'),
+        Pin(0, -0.15, _pad_header, 'RX'),
+        Pin(0, -0.25, _pad_header, 'RTS')
+    ]
+    prefix = 'J'
+    vias = []
+    shadow = s2d.rectangle(-.06,8/25.4,-.325,.325)
+
+class Header_FTDI_skinny(Component):
+    ''' FTDI cable header
+    '''
+    pins = [
+        Pin(0,  0.25, _pad_header_skinny, 'GND'),
+        Pin(0,  0.15, _pad_header_skinny, 'CTS'),
+        Pin(0,  0.05, _pad_header_skinny, 'VCC'),
+        Pin(0, -0.05, _pad_header_skinny, 'TX'),
+        Pin(0, -0.15, _pad_header_skinny, 'RX'),
+        Pin(0, -0.25, _pad_header_skinny, 'RTS')
+    ]
+    prefix = 'J'
+    vias = []
+    shadow = s2d.rectangle(-.06,8/25.4,-.325,.325)
+
+
+class ScrewTerminal(Component):
+    pitch = .131
+    _pad = s2d.rectangle(-0.04, 0.04, -0.04, 0.04)
+    _via = s2d.circle(0,0,.025)  
+    pins = [Pin(-.5*pitch,0,_pad),Pin(.5*pitch,0,_pad)]
+    vias = [Via(-.5*pitch,0,_via),Via(.5*pitch,0,_via)]
+    shadow = s2d.rectangle(-3.5/25.4,3.5/25.4,-3/25.4,3/25.4)
+
+class ScrewTerminal3(Component):
+    pitch = .131
+    _pad = s2d.rectangle(-0.04, 0.04, -0.04, 0.04)
+    _via = s2d.circle(0,0,.025)  
+    pins = [Pin(-pitch,0,_pad),Pin(0,0,_pad),Pin(pitch,0,_pad)]
+    vias = [Via(-pitch,0,_via),Via(0,0,_via),Via(pitch,0,_via)]
+    shadow = s2d.rectangle(-5.35/25.4,5.35/25.4,-3/25.4,3/25.4)
+
+class JST_2(Component):
+    pitch = 2./25.4
+    _pad = s2d.rectangle(-0.5/25.4,0.5/25.4, -1.75/25.4, 1.75/25.4)
+    _pad2 = s2d.rectangle(-.75/25.4,.75/25.4,-1.7/25.4,1.7/25.4)
+    y2 = -4.55/25.4
+    pins = [Pin(-.5*pitch,0,_pad,'VCC'),Pin(.5*pitch,0,_pad,'GND'),Pin(-.5*pitch-2.35/25.4,y2,_pad2),Pin(.5*pitch+2.35/25.4,y2,_pad2)]
+    vias = []
+    shadow = s2d.rectangle(-3.95/25.4,3.95/25.4,y2-1.7/25.4,1.75/25.4)
+
+################################################################################
+# SOT-23 components
+################################################################################
+
+_pad_SOT23 = s2d.rectangle(-.02,.02,-.012,.012)
+class NMOS_SOT23(Component):
+    ''' NMOS transistor in SOT23 package
+        Fairchild NDS355AN
+    '''
+    pins = [
+        Pin(0.045, -0.0375, _pad_SOT23,'G'),
+        Pin(0.045,  0.0375, _pad_SOT23,'S'),
+        Pin(-0.045, 0, _pad_SOT23,'D')
+    ]
+    prefix = 'Q'
+    vias = []
+
+class PMOS_SOT23(Component):
+    ''' PMOS transistor in SOT23 package
+        Fairchild NDS356AP
+    '''
+    pins = [
+        Pin(-0.045, -0.0375, _pad_SOT23,'G'),
+        Pin(-0.045,  0.0375, _pad_SOT23,'S'),
+        Pin(0.045, 0, _pad_SOT23,'D')
+    ]
+    prefix = 'Q'
+    vias = []
+
+class Regulator_SOT23(Component):
+    '''  SOT23 voltage regulator
+    '''
+    pins = [
+        Pin(-0.045, -0.0375, _pad_SOT23,'Out'),
+        Pin(-0.045,  0.0375, _pad_SOT23,'In'),
+        Pin(0.045, 0, _pad_SOT23,'GND')
+    ]
+    prefix = 'U'
+    vias = []
+
+class Regulator_LM3480(Component):
+    '''  SOT23 voltage regulator, LM3480
+    '''
+    pins = [
+        Pin(-0.045, -0.0375, _pad_SOT23,'In'),
+        Pin(-0.045,  0.0375, _pad_SOT23,'Out'),
+        Pin(0.045, 0, _pad_SOT23,'GND')
+    ]
+    prefix = 'U'
+    vias = []
+
+###########
+# H Bridge
+############
+_pad_SOIC = s2d.rectangle(-.041,.041,-.015,.015)
+class A4953_SOICN(Component):
+    pins = [
+        Pin(-.11, .075,_pad_SOIC+s2d.circle(-.041,0,.015),"GND"),
+        Pin(-.11, .025,_pad_SOIC,"IN2"),
+        Pin(-.11,-.025,_pad_SOIC,"IN1"),
+        Pin(-.11,-.075,_pad_SOIC,"VREF"),
+        Pin( .11,-.075,_pad_SOIC,"VBB"),
+        Pin( .11,-.025,_pad_SOIC,"OUT1"),
+        Pin( .11, .025,_pad_SOIC,"LSS"),
+        Pin( .11, .075,_pad_SOIC,"OUT2"),
+        Pin( 0,0,s2d.rectangle(-.04,.04,-.075,.075),"")
+    ]
+    prefix = 'U'
+    vias = []
+
+
+################################################################################
+#   Clock crystals
+################################################################################
+_pad_XTAL_NX5032GA = s2d.rectangle(-.039,.039,-.047,.047)
+
+class XTAL_NX5032GA(Component):
+    pins = [Pin(-0.079, 0, _pad_XTAL_NX5032GA),
+            Pin(0.079, 0, _pad_XTAL_NX5032GA)]
+    prefix = 'X'
+    vias = []
+
+################################################################################
+# Atmel microcontrollers
+################################################################################
+
+_pad_SOIC = s2d.rectangle(-0.041, 0.041, -0.015, 0.015)
+class ATtiny45_SOIC(Component):
+    pins = []
+    y = 0.075
+    for t in ['NC', 'PB3', 'PB4', 'GND']:
+        pins.append(Pin(-0.14, y, _pad_SOIC, t))
+        y -= 0.05
+    for p in ['PB0', 'PB1', 'PB2', 'VCC']:
+        y += 0.05
+        pins.append(Pin(0.14, y, _pad_SOIC, p))
+    del y
+    prefix = 'U'
+    vias = []
+
+class ATtiny44_SOIC(Component):
+    pins = []
+    y = 0.15
+    for t in ['VCC', 'PB0', 'PB1', 'PB3', 'PB2', 'PA7', 'PA6']:
+        pad = _pad_SOIC + s2d.circle(-0.041, 0, 0.015) if t == 'VCC' else _pad_SOIC
+        pins.append(Pin(-0.12, y, pad, t))
+        y -= 0.05
+    for t in ['PA5', 'PA4', 'PA3', 'PA2', 'PA1', 'PA0', 'GND']:
+        y += 0.05
+        pins.append(Pin(0.12, y, _pad_SOIC, t))
+    prefix = 'U'
+    vias = []
+
+_pad_TQFP_h = s2d.rectangle(-0.025, 0.025, -0.008, 0.008)
+_pad_TQFP_v = s2d.rectangle(-0.008, 0.008, -0.025, 0.025)
+
+class ATmega88_TQFP(Component):
+    pins = []
+    y = 0.1085
+    for t in ['PD3', 'PD4', 'GND', 'VCC', 'GND', 'VCC', 'PB6', 'PB7']:
+        pins.append(Pin(-0.18, y, _pad_TQFP_h, t))
+        y -= 0.031
+    x = -0.1085
+    for t in ['PD5', 'PD6', 'PD7', 'PB0', 'PB1', 'PB2', 'PB3', 'PB4']:
+        pins.append(Pin(x, -0.18, _pad_TQFP_v, t))
+        x += 0.031
+    y = -0.1085
+    for t in ['PB5', 'AVCC', 'ADC6', 'AREF', 'GND', 'ADC7', 'PC0', 'PC1']:
+        pins.append(Pin(0.18, y, _pad_TQFP_h, t))
+        y += 0.031
+    x = 0.1085
+    for t in ['PC2', 'PC3', 'PC4', 'PC5', 'PC6', 'PD0', 'PD1', 'PD2']:
+        pins.append(Pin(x, 0.18, _pad_TQFP_v, t))
+        x -= 0.031
+    del x, y
+    prefix = 'U'
+    vias = []
+
+
+################################################################################
+#   CBA logo
+################################################################################
+_pin_circle_CBA = s2d.circle(0, 0, 0.02)
+_pin_square_CBA = s2d.rectangle(-0.02, 0.02, -0.02, 0.02)
+class CBA(Component):
+    pins = []
+    for i in range(3):
+        for j in range(3):
+            pin = _pin_circle_CBA if i == 2-j and j >= 1 else _pin_square_CBA
+            pins.append(Pin(0.06*(i-1), 0.06*(j-1), pin))
+    vias = []
+
+
+
+class ESP8266_03(Component):
+    _pad = s2d.rectangle(-0.04, 0.04, -0.03, 0.03)
+    _via = s2d.circle(0,0,.019)
+    names = ['VCC','GPIO14','GPIO12','GPIO13','GPIO15','GPIO2','GPIO0',
+        'WIFI_ANT','CH-PD','GPIO18','URXD','UTXD','NC','GND']
+    w = 12.2/25.4
+    l = 17.4/25.4
+    wp = 12.2/25.4
+    lp = .5
+    dp = 2/25.4
+    ys = arange(.5*lp-dp    ,-.5*lp-.001-dp,-dp)
+    pts = vstack(( dstack((-.5*wp*ones_like(ys),ys))[0], dstack((.5*wp*ones_like(ys),ys))[0] ))
+    pins = [Pin(p[0],p[1],_pad,n) for n,p in zip(names,pts)]
+    vias = []#[Via(p[0],p[1],_via) for n,p in zip(names,pts)]
+    shadow = s2d.rectangle(-.5*w,.5*w,-.5*l,.5*l)
+    prefix = 'IC'  
+
+class ZLDO1117(Component):
+    '''3.3 V 1 A regulator, SOT223'''
+    _pad1 = s2d.rectangle(-.6/25.4,.6/25.4,-.8/25.4,.8/25.4)
+    _pad2 = s2d.rectangle(-1.65/25.4,1.65/25.4,-.6/25.4,.6/25.4)
+    pins = [
+        Pin(-2.3/25.4, -3.2/25.4, _pad1,'GND'),
+        Pin(0, -3.2/25.4, _pad1,'Vout'),
+        Pin(2.3/25.4, -3.2/25.4, _pad1,'Vin'),
+        Pin(0, 3.2/25.4, _pad2,'Vout2'),
+    ]
+    prefix = 'U'
+    vias = []
+
+class AstarMicro(Component):
+    ''' Polulo Astar micro
+    '''
+    _pad = s2d.rectangle(-0.04, 0.04, -0.025, 0.025)
+    _via = s2d.circle(0,0,.019)
+    #flip names since through hole
+    names = [
+        'VIN','GND','5V','3v3','RST','12/A11/PWM','11','10/A10/PWM','A1','A0',
+        '9/A9/PWM','8/A8','7','6/A7/PWM','5/PWM','4/A6','3/PWM','2','1','0']
+    w = .6
+    l = 1.
+    wp = .5
+    lp = .9
+    ys = arange(.5*lp,-.5*lp-.001,-.1)
+    os = 0*.13*(arange(shape(ys)[0])%2-.5)
+    pts = vstack(( dstack((-.5*wp*ones_like(ys)+os,ys[::-1]))[0], dstack((.5*wp*ones_like(ys)-os,ys))[0] ))
+    pins = [Pin(p[0],p[1],_pad,n) for n,p in zip(names,pts)]
+    vias = [Via(p[0],p[1],_via) for n,p in zip(names,pts)]
+    shadow = s2d.rectangle(-.5*w,.5*w,-.5*l,.5*l)
+    prefix = 'IC'
+
+class Header_bldc_skinny(Component):
+    ''' brushless motor logic
+    '''
+    _pad_header_skinny  = s2d.rectangle(-0.06, 0.06, -0.020, 0.020)
+    pins = [
+        Pin(0,  0.1, _pad_header_skinny, 'GND'),
+        Pin(0, -0.0, _pad_header_skinny, 'VCC'),
+        Pin(0, -0.1, _pad_header_skinny, 'RC')
+    ]
+    prefix = 'J'
+    shadow = s2d.rectangle(-.06,8/25.4,-.325,.325)
+    vias = []
+
+
+class A4988_Carrier(Component):
+    '''  Stepper driver carrier black from pololu
+    '''
+    _pad = s2d.rectangle(-0.04, 0.04, -0.028, 0.028)
+    _via = s2d.circle(0,0,.019)
+    names = ['VMOT','GMOT','2B','2A','1A','1B','VDD','GND','DIR','STEP','SLP','RST','MS3','MS2','MS1','EN']
+    ys = arange(.4,-.4+.001,-.1)-.05    
+    pts = vstack(( dstack((-.25*ones_like(ys),ys))[0], dstack((.25*ones_like(ys),ys[::-1]))[0] ))
+    pins = [Pin(p[0],p[1],_pad,n) for n,p in zip(names,pts)]
+    vias = [Via(p[0],p[1],_via) for n,p in zip(names,pts)]
+    prefix = 'IC'
+    shadow = s2d.rectangle(-.3,.3,-.45,.45)
+
+
+
+
+class CDRH2D18(Component):
+    '''Power Inductor'''
+    def chamfered_rectangle(x0,x1,y0,y1,c):
+        r = s2d.rectangle(x0,x1,y0,y1)
+        c1 = s2d.triangle(x0,y0,x0,y0+c,x0+c,y0)
+        c2 = s2d.triangle(x1,y1, x1, y1-c, x1-c, y1)
+        c3 = s2d.triangle(x0,y1, x0+c, y1, x0, y1-c)
+        c4 = s2d.triangle(x1,y0, x1-c, y0, x1, y0+c)
+        return r-c1-c2-c3-c4
+    _pad = s2d.rectangle(-.65/25.4,.65/25.4,-.65/25.4,.65/25.4)
+    pins = [Pin(-1.5/25.5,0,_pad), Pin(1.5/25.5,0,_pad)]
+    vias = []
+    shadow = s2d.rotate(chamfered_rectangle(-1.5/25.4,1.5/25.4,-1.5/25.4, 1.5/25.4,1/25.5),45)
+    prefix='I'
+
+class LTC35881(Component):
+    ''' Energy Scavenger '''
+    _pad  = s2d.rectangle(-.889/2/25.4, .889/2/25.4,-.25/2/25.4, .25/2/25.4)
+    p = .5/25.4
+    pins = [
+        Pin(0, 0, s2d.rectangle(-1.68/2/25.4,1.68/2/25.4,-1.88/2/25.4,1.88/2/25.4), 'GND'),
+        Pin(-2.1/25.4, 2*p,_pad,'PZ1',label_size=.015,label_rot=0),
+        Pin(-2.1/25.4, 1*p,_pad,'PZ2',label_size=.015,label_rot=0),
+        Pin(-2.1/25.4,   0,_pad,'CAP',label_size=.015,label_rot=0),
+        Pin(-2.1/25.4,-1*p,_pad,'VIN',label_size=.015,label_rot=0),
+        Pin(-2.1/25.4,-2*p,_pad,'SW',label_size=.015,label_rot=0),
+        Pin(2.1/25.4, -2*p,_pad,'VOUT',label_size=.015,label_rot=0),
+        Pin(2.1/25.4, -1*p,_pad,'VIN2',label_size=.015,label_rot=0),
+        Pin(2.1/25.4,    0,_pad,'D1',label_size=.015,label_rot=0),
+        Pin(2.1/25.4,  1*p,_pad,'D0',label_size=.015,label_rot=0),
+        Pin(2.1/25.4,  2*p,_pad,'PGOOD',label_size=.015,label_rot=0)
+    ]
+    prefix = 'J'
+    h = 2.9/25.4; w = 2.8/25.4;
+    shadow = s2d.rectangle(-.5*w,.5*w,-.5*h,.5*h)
+    vias = []    
+
+class DSK414(Component):
+    '''Dynacap, ELNA, 220mF'''
+    pins = [
+        Pin(0,5.15/25.4, s2d.rectangle(-2.4/25.4,2.4/25.4,-1./25.4,1/25.4),'+'),
+        Pin(0,-5/25.4, s2d.rectangle(-2/25.4,2/25.4,-.85/25.4,.81/25.4),'-')
+    ]
+    vias = []
+    shadow = s2d.rectangle(-2.5/25.4,2.5/25.4,-5.85/25.4, 6.15/25.4)
+    shadow += s2d.circle(0,0,3.4/25.4)
+    prefix='C'   
+
+class EECRG(Component):
+    '''Panasonic 1F, 3.6 V'''
+    _pad = s2d.rectangle(-.02,.02,-.035,.035)
+    pins = [
+        Pin(-10/25.4, 0, _pad),
+        Pin(10/25.4, 0, _pad)
+    ]
+    _via = s2d.rectangle(-.1/25.4,.1/25.4,-.5/25.4,.5/25.4)
+    vias = [Via(p.x,p.y,_via) for p in pins]
+    shadow = s2d.rectangle(0,0,0,0)
+    prefix='C'
+
+class EEE1EA101XP(Component):
+    '''Panasonic 100uF, 25V'''
+    _pad = s2d.rectangle(-.6/25.4,.6/25.4,-1.35/25.4,1.35/25.4)
+    pins = [
+        Pin(0, 2.2/25.4, _pad),
+        Pin(0, -2.2/25.4, _pad)
+    ]
+    #_via = s2d.rectangle(-.1/25.4,.1/25.4,-.5/25.4,.5/25.4)
+    vias = []
+    def half_chamfered_rectangle(x0,x1,y0,y1,c):
+        r = s2d.rectangle(x0,x1,y0,y1)
+        c1 = s2d.triangle(x0,y0,x0,y0+c,x0+c,y0)
+        c2 = s2d.triangle(x1,y1, x1, y1-c, x1-c, y1)
+        c3 = s2d.triangle(x0,y1, x0+c, y1, x0, y1-c)
+        c4 = s2d.triangle(x1,y0, x1-c, y0, x1, y0+c)
+        return r-c1-c4
+    shadow = half_chamfered_rectangle(-3.3/25.4,3.3/25.4,-3.3/25.4,3.3/25.4,1/25.4)
+    prefix='C'
+
+
+def chamfered_rectangle(x0,x1,y0,y1,c):
+    r = s2d.rectangle(x0,x1,y0,y1)
+    c1 = s2d.triangle(x0,y0,x0,y0+c,x0+c,y0)
+    c2 = s2d.triangle(x1,y1, x1, y1-c, x1-c, y1)
+    c3 = s2d.triangle(x0,y1, x0+c, y1, x0, y1-c)
+    c4 = s2d.triangle(x1,y0, x1-c, y0, x1, y0+c)
+    return r-c1-c2-c3-c4
+
-- 
GitLab


From 1c29a49359adf01c1e6b0d00e5b89de5485161a2 Mon Sep 17 00:00:00 2001
From: Sam Calisch <sam.calisch@cba.mit.edu>
Date: Wed, 4 Oct 2017 08:36:29 -0400
Subject: [PATCH 3/5] Add new file

---
 kokopelli/README.md | 10 ++++++++++
 1 file changed, 10 insertions(+)
 create mode 100644 kokopelli/README.md

diff --git a/kokopelli/README.md b/kokopelli/README.md
new file mode 100644
index 0000000..20dda27
--- /dev/null
+++ b/kokopelli/README.md
@@ -0,0 +1,10 @@
+<a href='https://www.mattkeeter.com/projects/kokopelli/'>Kokopelli</a> is an old (but great) project from <a href='https://www.mattkeeter.com/'>Matt Keeter</a>.  Its a full-blown CAD program, but it can be used for designing PCBs.  The programmatic interface makes it easy to set up relationships between components, traces, etc. and you can toolpath for the circuit mill right in kokopelli.
+
+To use it, clone it from github: https://github.com/mkeeter/kokopelli and install with the makefile.
+
+I've added a couple small utilities to Matt's original PCB design library.  If you'd like to use them, you can replace the existing koko/lib/pcb.py with <a href='pcb.py'>pcb.py</a> and reinstall.
+
+A fun example using several of the included features is a stepper driver board I designed: <a href='step.ko'>step.ko</a>.
+
+
+
-- 
GitLab


From 3684cdead5dd6ca1094fb8ebfd8dd4c80e27ca3d Mon Sep 17 00:00:00 2001
From: Sam Calisch <sam.calisch@cba.mit.edu>
Date: Wed, 4 Oct 2017 08:37:59 -0400
Subject: [PATCH 4/5] Upload New File

---
 kokopelli/servo-stepper-v1-layout.png | Bin 0 -> 90167 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 kokopelli/servo-stepper-v1-layout.png

diff --git a/kokopelli/servo-stepper-v1-layout.png b/kokopelli/servo-stepper-v1-layout.png
new file mode 100644
index 0000000000000000000000000000000000000000..3f137754d7cc072de17008228bd37f4aa9c34d89
GIT binary patch
literal 90167
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
B-ADic

literal 0
HcmV?d00001

-- 
GitLab


From fccc646fddba9d557abbf8d564736245723ca024 Mon Sep 17 00:00:00 2001
From: Sam Calisch <sam.calisch@cba.mit.edu>
Date: Wed, 4 Oct 2017 08:39:04 -0400
Subject: [PATCH 5/5] Update README.md

---
 kokopelli/README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kokopelli/README.md b/kokopelli/README.md
index 20dda27..2e9e9dd 100644
--- a/kokopelli/README.md
+++ b/kokopelli/README.md
@@ -4,7 +4,7 @@ To use it, clone it from github: https://github.com/mkeeter/kokopelli and instal
 
 I've added a couple small utilities to Matt's original PCB design library.  If you'd like to use them, you can replace the existing koko/lib/pcb.py with <a href='pcb.py'>pcb.py</a> and reinstall.
 
-A fun example using several of the included features is a stepper driver board I designed: <a href='step.ko'>step.ko</a>.
-
+A fun example using several of the included features is a stepper driver board I designed:
 
+<img src='servo-stepper-v1-layout.png' width=500px>
 
-- 
GitLab