]> git.gir.st - hardpass.git/blob - kicad/hardpass-pcb/kicad-ESP8266/ESP8266.3dshapes/ESP-07v2.scad
change sec1210 footprint to handsoldering
[hardpass.git] / kicad / hardpass-pcb / kicad-ESP8266 / ESP8266.3dshapes / ESP-07v2.scad
1 fragments=20;
2 module halfPad() {
3 color("Gold", a=1) {
4 difference() {
5 cube(size=[1,1,1], center=true);
6 cylinder(h=2,d=0.6,center = true, $fn=fragments);
7 };
8 };
9 };
10
11 module padHoles(x, y, zRot = 0) {
12 rotate([0, 0, zRot]) {
13 translate([x, y, 0]) {
14 cylinder(h=2,d=0.6,center=true,$fn=fragments);
15 translate([1,0,0]) {
16 cylinder(h=2,d=0.6,center=true,$fn=fragments);
17 };
18 };
19 };
20 };
21
22 module pad(x, y, zRot = 0) {
23 rotate([0, 0, zRot]) {
24 translate([x, y, 0]) {
25 halfPad();
26 difference() {
27 translate([1,0,0]) {
28 halfPad();
29 };
30 translate([1.25,0,0]) {
31 cube(size=[0.5,1.1,1.1], center=true);
32 };
33 };
34 };
35 };
36 };
37 module pads() {
38 pad(0,0);
39 pad(0,2);
40 pad(0,4);
41 pad(0,6);
42 pad(0,8);
43 pad(0,10);
44 pad(0,12);
45 pad(0,14);
46 pad(14,0,180);
47 pad(14,-2,180);
48 pad(14,-4,180);
49 pad(14,-6,180);
50 pad(14,-8,180);
51 pad(14,-10,180);
52 pad(14,-12,180);
53 pad(14,-14,180);
54 };
55
56 module holes() {
57 padHoles(0,0);
58 padHoles(0,2);
59 padHoles(0,4);
60 padHoles(0,6);
61 padHoles(0,8);
62 padHoles(0,10);
63 padHoles(0,12);
64 padHoles(0,14);
65 padHoles(14,0,180);
66 padHoles(14,-2,180);
67 padHoles(14,-4,180);
68 padHoles(14,-6,180);
69 padHoles(14,-8,180);
70 padHoles(14,-10,180);
71 padHoles(14,-12,180);
72 padHoles(14,-14,180);
73 };
74
75 // Translate so that pin 1 and the bottom of the board
76 // is the reference point (0,0,0)
77 translate([14,-14,0.50]) {
78 // pcb
79 difference() {
80 union() {
81 color("Blue", a=1) {
82 translate([-15, -1.6, -0.49]) {
83 cube(size=[16, 22, 0.98], center = false);
84 };
85 };
86 pads();
87 };
88 holes();
89 };
90
91 //shield
92 translate([-15 + 1.98, 0, 0.5]) {
93 color("Silver", a=1) {
94 cube(size=[12.1, 15.2, 2.3], center = false);
95 };
96 };
97
98 //antenna
99 translate([-9.63, 17, 0.5]) {
100 color("AntiqueWhite", a=1) {
101 cube(size=[9.63, 1.98, 1], center = false);
102 };
103 };
104
105 //antenna connector
106 translate([-14,16,0.5]) {
107 color("White", a=1) {
108 cube(size=[2.58, 2.58, 0.4], center = false);
109 };
110 translate([2.58/2, 2.58/2, 0.5]) {
111 color("Gold", a=1) {
112 difference() {
113 cylinder(h=1.3, d=1.98, center=true, $fn=fragments);
114 cylinder(h=1.5, d=1.70, center=true, $fn=fragments);
115 };
116
117 cylinder(h=0.5, d=0.5, $fn=fragments);
118 };
119 };
120 };
121
122 //leds
123 translate([-2.5,15.5,0.5]){
124 color("White", a=1) {
125 cube(size=[2,1,0.4], center=false);
126 };
127 };
128 translate([-8.5,15.5,0.5]){
129 color("White", a=1) {
130 cube(size=[2,1,0.4], center=false);
131 };
132 };
133 };
Imprint / Impressum