Skip to content
Snippets Groups Projects
Commit c7628813 authored by Neil Gershenfeld's avatar Neil Gershenfeld
Browse files

wip

parent 98546e0a
Branches
No related tags found
No related merge requests found
Pipeline #34379 passed
......@@ -6651,6 +6651,216 @@ class PicoW(part):
self.pad.append(point(board_width/2+pad_offset,(0.5+i)*pad_pitch))
self.labels.append(self.text(self.pad[-1].x-label_offset,self.pad[-1].y,self.pad[-1].z,str(31+i)))
class XIAO_ESP32C3(part):
#
# XIAO ESP32C3
#
def __init__(self,value=''):
self.value = value
self.pad = [point(0,0,0)]
self.labels = []
padl = cube(-0.03,0.081,-0.070/2,0.070/2,0,0)
padr = cube(-0.081,0.03,-0.070/2,0.070/2,0,0)
pitch = 0.1
dx = 0.035
width = 0.685
length = 0.798
d = 0.015
#
# pin 1
#
self.shape = translate(padl,-width/2,3*pitch,0)
self.pad.append(point(-width/2,3*pitch,0))
self.labels.append(self.text(self.pad[-1].x+dx,self.pad[-1].y,self.pad[-1].z,'D0'))
#
# pin 2
#
self.shape = add(self.shape,translate(padl,-width/2,2*pitch,0))
self.pad.append(point(-width/2,2*pitch,0))
self.labels.append(self.text(self.pad[-1].x+dx,self.pad[-1].y,self.pad[-1].z,'D1'))
#
# pin 3
#
self.shape = add(self.shape,translate(padl,-width/2,1*pitch,0))
self.pad.append(point(-width/2,1*pitch,0))
self.labels.append(self.text(self.pad[-1].x+dx,self.pad[-1].y,self.pad[-1].z,'D2'))
#
# pin 4
#
self.shape = add(self.shape,translate(padl,-width/2,0*pitch,0))
self.pad.append(point(-width/2,0*pitch,0))
self.labels.append(self.text(self.pad[-1].x+dx,self.pad[-1].y,self.pad[-1].z,'D3'))
#
# pin 5
#
self.shape = add(self.shape,translate(padl,-width/2,-1*pitch,0))
self.pad.append(point(-width/2,-1*pitch,0))
self.labels.append(self.text(self.pad[-1].x+dx,self.pad[-1].y,self.pad[-1].z,'SDA'))
#
# pin 6
#
self.shape = add(self.shape,translate(padl,-width/2,-2*pitch,0))
self.pad.append(point(-width/2,-2*pitch,0))
self.labels.append(self.text(self.pad[-1].x+dx,self.pad[-1].y,self.pad[-1].z,'SCL'))
#
# pin 7
#
self.shape = add(self.shape,translate(padl,-width/2,-3*pitch,0))
self.pad.append(point(-width/2,-3*pitch,0))
self.labels.append(self.text(self.pad[-1].x+dx,self.pad[-1].y,self.pad[-1].z,'TX'))
#
# pin 8
#
self.shape = add(self.shape,translate(padr,width/2,-3*pitch,0))
self.pad.append(point(width/2,-3*pitch,0))
self.labels.append(self.text(self.pad[-1].x-dx,self.pad[-1].y,self.pad[-1].z,'RX'))
#
# pin 9
#
self.shape = add(self.shape,translate(padr,width/2,-2*pitch,0))
self.pad.append(point(width/2,-2*pitch,0))
self.labels.append(self.text(self.pad[-1].x-dx,self.pad[-1].y,self.pad[-1].z,'SCK'))
#
# pin 10
#
self.shape = add(self.shape,translate(padr,width/2,-1*pitch,0))
self.pad.append(point(width/2,-1*pitch,0))
self.labels.append(self.text(self.pad[-1].x-dx,self.pad[-1].y,self.pad[-1].z,'SDI'))
#
# pin 11
#
self.shape = add(self.shape,translate(padr,width/2,0*pitch,0))
self.pad.append(point(width/2,0*pitch,0))
self.labels.append(self.text(self.pad[-1].x-dx,self.pad[-1].y,self.pad[-1].z,'SDO'))
#
# pin 12
#
self.shape = add(self.shape,translate(padr,width/2,1*pitch,0))
self.pad.append(point(width/2,1*pitch,0))
self.labels.append(self.text(self.pad[-1].x-dx,self.pad[-1].y,self.pad[-1].z,'3V3'))
#
# pin 13
#
self.shape = add(self.shape,translate(padr,width/2,2*pitch,0))
self.pad.append(point(width/2,2*pitch,0))
self.labels.append(self.text(self.pad[-1].x-dx,self.pad[-1].y,self.pad[-1].z,'G'))
#
# pin 14
#
self.shape = add(self.shape,translate(padr,width/2,3*pitch,0))
self.pad.append(point(width/2,3*pitch,0))
self.labels.append(self.text(self.pad[-1].x-dx,self.pad[-1].y,self.pad[-1].z,'5V'))
#
# thermal
#
self.shape = add(self.shape,cube(
width/2-.304-d,
width/2-.197+d,
length/2-.475-d,
length/2-.369+d,
0,0))
self.pad.append(point(
width/2-.197-(.304-.197)/2,
length/2-.369-(.475-.369)/2,
0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'thermal'))
#
# +
#
self.shape = add(self.shape,cube(
width/2-.555-d,
width/2-.477+d,
length/2-.402-d,
length/2-.362,
0,0))
self.pad.append(point(
width/2-.477-(.555-.477)/2,
length/2-.362-(.402-.362)/2,
0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'+'))
#
# -
#
self.shape = add(self.shape,cube(
width/2-.555-d,
width/2-.477+d,
length/2-.331,
length/2-.291+d,
0,0))
self.pad.append(point(
width/2-.477-(.555-.477)/2,
length/2-.291-(.331-.291)/2,
0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'-'))
#
# prog
#
self.shape = add(self.shape,cube(
width/2-.312-d,
width/2-.271+d,
length/2-.086,
length/2-.043+d,
0,0))
self.pad.append(point(
width/2-.271-(.312-.271)/2,
length/2-.043-(.086-.043)/2,
0))
#
self.shape = add(self.shape,cube(
width/2-.413-d,
width/2-.368+d,
length/2-.086,
length/2-.043+d,
0,0))
self.pad.append(point(
width/2-.368-(.413-.368)/2,
length/2-.043-(.086-.043)/2,
0))
#
self.shape = add(self.shape,cube(
width/2-.312-d,
width/2-.271+d,
length/2-.186,
length/2-.143+d,
0,0))
self.pad.append(point(
width/2-.271-(.312-.271)/2,
length/2-.143-(.186-.143)/2,
0))
#
self.shape = add(self.shape,cube(
width/2-.413-d,
width/2-.368+d,
length/2-.186,
length/2-.143+d,
0,0))
self.pad.append(point(
width/2-.368-(.413-.368)/2,
length/2-.143-(.186-.143)/2,
0))
#
self.shape = add(self.shape,cube(
width/2-.312-d,
width/2-.271+d,
length/2-.286,
length/2-.243+d,
0,0))
self.pad.append(point(
width/2-.271-(.312-.271)/2,
length/2-.243-(.286-.243)/2,
0))
#
self.shape = add(self.shape,cube(
width/2-.413-d,
width/2-.368+d,
length/2-.286,
length/2-.243+d,
0,0))
self.pad.append(point(
width/2-.368-(.413-.368)/2,
length/2-.243-(.286-.243)/2,
0))
class XIAO_RP2040(part):
#
# XIAO RP2040
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment