1
00:00:00,000 --> 00:00:17,140
35C3 preroll music
2
00:00:17,140 --> 00:00:24,590
Herald: Our next speaker got hit by a car
really really bad and she wasn't able to
3
00:00:24,590 --> 00:00:32,580
do anything for around half a year. And
what do you do if you're running out of
4
00:00:32,580 --> 00:00:39,860
books to read and games to play. Well, if
you're already a Ph.D. in manufacturing,
5
00:00:39,860 --> 00:00:45,390
you probably turn around and think what
can I do in my home and what you can do in
6
00:00:45,390 --> 00:00:51,550
your home without many tools is actually
getting into electronics and well
7
00:00:51,550 --> 00:00:54,730
electronics can be functional but
electronics can also be very very
8
00:00:54,730 --> 00:01:00,120
beautiful. So we 're going to look at the
beautiful side of electronics today with
9
00:01:00,120 --> 00:01:06,575
our most excellent speaker Emily Hammes.
applause
10
00:01:10,595 --> 00:01:13,030
Emily: So yeah. So I'm going to talk to
11
00:01:13,030 --> 00:01:17,330
you guys about artistic PCB design and
fabrication. And like you said I'm a
12
00:01:17,330 --> 00:01:23,820
manufacturing engineer and a bioengineer.
I'm really not an electrical engineer nor
13
00:01:23,820 --> 00:01:30,000
am I a programmer. I literally had one
programming class in my 16 years at a
14
00:01:30,000 --> 00:01:35,000
university and I had two electronics
classes so really not much more than
15
00:01:35,000 --> 00:01:42,240
gymnasium for everybody. My first PCB that
I ever designed was actually during my
16
00:01:42,240 --> 00:01:47,619
Ph.D. in manufacturing. I had no idea what
I was doing so I designed it completely in
17
00:01:47,619 --> 00:01:53,600
solidworks which is a basically a
mechanical engineering software where I
18
00:01:53,600 --> 00:01:58,530
built a 3-D model and it included layers
that were going to be the copper. And then
19
00:01:58,530 --> 00:02:01,780
I went to an electrical engineer and I was
like so how do I turn this into a file
20
00:02:01,780 --> 00:02:08,060
that an electrical engineer can use and he
just laughed at me. So the purpose of that
21
00:02:08,060 --> 00:02:15,670
was actually that particular PCB. See if I
can get the mouse to work. Actually I can
22
00:02:15,670 --> 00:02:20,760
just walk over here. But basically in this
column, this column used chemical
23
00:02:20,760 --> 00:02:25,480
chromatography or liquid chromatography to
separate chemicals by different
24
00:02:25,480 --> 00:02:31,629
properties. And what I needed to do was
buffer humidity that was reaching poison
25
00:02:31,629 --> 00:02:39,069
gas sensors without losing the poison gas
measurements because the sensors that my
26
00:02:39,069 --> 00:02:43,969
colleagues were designing were cross
sensitive to humidity and to the poison
27
00:02:43,969 --> 00:02:48,890
gas we were measuring. So it was my job to
build a zero energy system that could
28
00:02:48,890 --> 00:02:52,269
remove the humidity or at least buffer it.
So the signals wouldn't reach those
29
00:02:52,269 --> 00:02:58,990
sensors at the same time. So what I did is
I sort of inspired by a bathtub drain as I
30
00:02:58,990 --> 00:03:04,590
built this PCB with the humidity and
temperature sensor in the middle and then
31
00:03:04,590 --> 00:03:11,469
slits in it so that the air could go
through. And that's sort of how me
32
00:03:11,469 --> 00:03:18,519
building holes in PCBs got started and
building holes in PCBs is not really
33
00:03:18,519 --> 00:03:25,680
normal for fabrication companies. So when
I took that PCB to EPFL and asked their
34
00:03:25,680 --> 00:03:33,120
fab to build it they were not happy with
me. So then after the accident that he
35
00:03:33,120 --> 00:03:40,150
mentioned I decided I wanted to, so
basically I was living with my now husband
36
00:03:40,150 --> 00:03:47,069
and he runs a embedded systems engineering
company. And so our apartment is a stack
37
00:03:47,069 --> 00:03:51,469
of oscilloscopes and multiple soldering
irons and I knew very little about how to
38
00:03:51,469 --> 00:03:55,379
work with these things but I was like you
know what. What you're doing is way cooler
39
00:03:55,379 --> 00:04:03,219
than reading books. So I'm going to figure
this out. So I started with simple things
40
00:04:03,219 --> 00:04:12,299
and basically then got into more complex
things. And on the far side is a image of
41
00:04:12,299 --> 00:04:17,168
a PCB that's taped to the window that I've
embedded plastic in I have a video online
42
00:04:17,168 --> 00:04:20,750
of how I did that for those, actually
those are the examples and that's the end-
43
00:04:20,750 --> 00:04:27,490
slide of that video. And then this is what
it looks like in the dark. So you can see
44
00:04:27,490 --> 00:04:32,590
that it blinks and it also has this
stained glass window property. So there
45
00:04:32,590 --> 00:04:41,000
just 2D art. So then this is my most
recent PCB and it's a Christmas tree and
46
00:04:41,000 --> 00:04:46,280
it's three dimensional. They basically the
dragon fly and the Christmas tree have the
47
00:04:46,280 --> 00:04:50,560
same schematic so electrically they're
identical it's just there's four of them
48
00:04:50,560 --> 00:04:58,150
on the Christmas tree. But mechanically
they're very different. So that's a little
49
00:04:58,150 --> 00:05:04,890
bit of my background and the type of PCBs
that I actually end up building. So this
50
00:05:04,890 --> 00:05:08,830
talk is going to be about my workflow.
It's not going to be about like all the
51
00:05:08,830 --> 00:05:12,700
different softwares I'll mention the
software is that I use that are free.
52
00:05:12,710 --> 00:05:17,610
I've used non free softwares. But those aren't
as interesting because you have to do
53
00:05:17,610 --> 00:05:21,500
those for a company if you want to do it
on your own. You need the free software.
54
00:05:21,500 --> 00:05:26,570
So I'll mention which ones I use but it's
not an introduction on how to use those.
55
00:05:26,570 --> 00:05:31,900
It's an introduction on how to fuse them
together. Because that's the really
56
00:05:31,900 --> 00:05:35,430
complicated part that I had to figure out
on my own. There's tons of youtube videos
57
00:05:35,430 --> 00:05:42,061
on everything else. So basically it's
mechanical design that's coupled with the
58
00:05:42,061 --> 00:05:46,060
electrical design. So the first thing I'm
going to talk about. It's actually an
59
00:05:46,060 --> 00:05:50,270
interplay between the CAD software, which
is what architects and mechanical
60
00:05:50,270 --> 00:05:56,810
engineers use and PCB software which is
what electrical engineers use.
61
00:05:56,810 --> 00:06:02,280
So basically it's not about how to use any
given software. So the first thing that I
62
00:06:02,280 --> 00:06:08,970
need to think about when I start designing
a PCB is what are the rules that the fab
63
00:06:08,970 --> 00:06:15,660
needs me to follow in order to actually
have my final electrical design called the
64
00:06:15,660 --> 00:06:23,490
Gerber file work in the fab or actually be
buildable and the green PCB is how it
65
00:06:23,490 --> 00:06:29,070
looks on KiCAD and three dimensions. The
purple PCB is how a lot of fabs would
66
00:06:29,070 --> 00:06:34,460
actually end up building it because a lot
of fabs do not deal with internal holes.
67
00:06:34,460 --> 00:06:39,810
Many of them will do it but you might have
to actually contact them and talk to a
68
00:06:39,810 --> 00:06:45,010
real person in order to make sure that
they will actually build it the way you
69
00:06:45,010 --> 00:06:51,080
wanted because their software doesn't
necessarily automatically identify the
70
00:06:51,080 --> 00:06:58,490
routing for that when they actually go to
the milling process. The other thing that
71
00:06:58,490 --> 00:07:04,030
I have to think about is what are the
design rules on V-CUTS. So a V-CUT,
72
00:07:04,030 --> 00:07:07,680
basically if you look at this heart that I
have an example of it's a very small
73
00:07:07,680 --> 00:07:13,120
heart. So I can panelize it which means
putting more than one heart on a board so
74
00:07:13,120 --> 00:07:17,450
that I can break them apart later. It's
makes it cheaper for me because then I get
75
00:07:17,450 --> 00:07:23,730
four for the same price as I'd get one for
from the fab. But I have to incorporate a
76
00:07:23,730 --> 00:07:28,380
way to break them apart. And those are
called V-CUTS and a V-CUT is just they
77
00:07:28,380 --> 00:07:36,170
basically take a blade and they run the
PCB through it and it causes a small cut
78
00:07:36,170 --> 00:07:41,900
to be made in the board and it's often on
both sides of the board. But in order to
79
00:07:41,900 --> 00:07:47,650
do that they need a flat surface so it's
difficult to see in. I'll use the pointer
80
00:07:47,650 --> 00:07:53,240
although I don't think it shows up online.
So basically on this red PCB where there's
81
00:07:53,240 --> 00:07:59,821
the four hearts, they don't have a way of
making this yellow line because, or
82
00:07:59,821 --> 00:08:04,580
without these small edges, because there's
no flat surface for them to use as a
83
00:08:04,580 --> 00:08:10,790
guide. So then I got an email back from my
fab. They are like we can't build this the
84
00:08:10,790 --> 00:08:15,230
way you wanted. So you have to add some
part that's flat so that we can actually
85
00:08:15,230 --> 00:08:20,240
manufacture this for you which is why I
ended up having to add this. So it's a
86
00:08:20,240 --> 00:08:22,950
really important design rule. In this case
it wasn't a problem because I had this
87
00:08:22,950 --> 00:08:28,620
space to make it flat. But if you don't
design it with that in mind it might not
88
00:08:28,620 --> 00:08:41,828
end up working. So then in order for that
extra part to be removeable I needed to do
89
00:08:41,828 --> 00:08:44,589
something called adding mouse bites.
There's a couple of other names that these
90
00:08:44,589 --> 00:08:49,949
go by but at least in Switzerland
everybody I know calls the mouse bites. So
91
00:08:49,949 --> 00:08:52,980
basically that's this small square. And
this is what it looks like when you zoom
92
00:08:52,980 --> 00:08:58,339
in and there's these small, or these three
small holes that make it very weak in that
93
00:08:58,339 --> 00:09:03,470
part so you can just snap it apart and
break it. And this is what they look like
94
00:09:03,470 --> 00:09:12,220
on the Christmas tree to break the
separate branches apart. So the other
95
00:09:12,220 --> 00:09:16,790
thing you need to think about. You can't
just make things infinitely thin. You're
96
00:09:16,790 --> 00:09:19,000
going to have to put the wires in
somewhere and you're going to have to put
97
00:09:19,000 --> 00:09:24,200
the components in somewhere. And so you
need to think about how big those wires
98
00:09:24,200 --> 00:09:32,009
need to be, how close to the edge can they
be and design with that in mind. So this
99
00:09:32,009 --> 00:09:36,019
is the Christmas tree that I did. And this
side is actually, it's not the mirror
100
00:09:36,019 --> 00:09:41,350
image. It's like the rotated image like if
you flip a pancake over a turn a book
101
00:09:41,350 --> 00:09:51,199
over. So this is the backside and this is
the front side of each other. So when I go
102
00:09:51,199 --> 00:09:55,600
and I zoom in on the center what you're
seeing is actually this is the backside
103
00:09:55,600 --> 00:10:00,269
that would be on here. This is the
backside that would be over here. And what
104
00:10:00,269 --> 00:10:05,180
you can see is that up here it's really
really tight and so you have to think
105
00:10:05,180 --> 00:10:12,470
about how many wires do I kind of expect.
How big are these components and design so
106
00:10:12,470 --> 00:10:17,480
that it really will eventually fit. And
sometimes you have to redesign things
107
00:10:17,480 --> 00:10:24,820
because you need more wires than you
originally thought about. And then there's
108
00:10:24,820 --> 00:10:29,529
also mechanical properties. So PCBs come
in different thicknesses in the case of my
109
00:10:29,529 --> 00:10:34,980
Ph.D. when I built this I needed a very
very thin PCB because I had a very tight
110
00:10:34,980 --> 00:10:41,500
restriction on this component and actually
all of these measurements are minimized as
111
00:10:41,500 --> 00:10:48,400
much as possible for clearance and
manufacturability incivility. So in this
112
00:10:48,400 --> 00:10:52,750
case the PCB was really really stable once
it was in the column.
113
00:10:52,750 --> 00:10:55,695
But a number of people were not careful
and my collaborators...
114
00:10:55,695 --> 00:10:57,820
Because this was delivered all over the
European Union.
115
00:10:57,820 --> 00:11:01,430
A number of my collaborators were not
very careful with this PCB
116
00:11:01,430 --> 00:11:05,960
and they would bend it or break it, which
made my fab even more happy with me
117
00:11:05,960 --> 00:11:13,579
because basically they kept having
to rebuild them. So, you just need to
118
00:11:13,579 --> 00:11:17,790
think about the manufacturability and like
once you start removing the inside how
119
00:11:17,790 --> 00:11:22,089
strong will it be and will I be able to
bend it like paper. Because if you can do
120
00:11:22,089 --> 00:11:30,529
that, it's not going to last very long. So
then you also just need to think about the
121
00:11:30,529 --> 00:11:37,779
tolerances. And a lot of these are online.
So for example holes in pin headers. I
122
00:11:37,779 --> 00:11:43,610
recently had a PCB that I designed and the
pin headers were a really good tight fit.
123
00:11:43,610 --> 00:11:48,029
They basically stuck them in and they were
pretty much a right angle in the first
124
00:11:48,029 --> 00:11:55,689
round. And then I ordered more and the
holes didn't fit anymore. So you need to
125
00:11:55,689 --> 00:12:03,869
always allow for, you know, some tolerance
in your manufacturing site an error on a
126
00:12:03,869 --> 00:12:09,920
bigger hole that you fill in with solder
at least in the artistic side then a small
127
00:12:09,920 --> 00:12:16,829
hole that you have a perfect fit with.
Also wires near the edges can sometimes
128
00:12:16,829 --> 00:12:23,939
cause problems. And that happens because
the tool might not be perfectly aligned.
129
00:12:23,939 --> 00:12:28,139
So if you put your wires further away from
the edge you're going to have a more
130
00:12:28,139 --> 00:12:32,999
likely chance of having a lot of really
good PCBs rather than difficulty with your
131
00:12:32,999 --> 00:12:38,269
fab. And if you're already asking your fab
to do special stuff for you, you probably
132
00:12:38,269 --> 00:12:47,220
don't want to make their life even harder.
And then tool radius. So in this first
133
00:12:47,220 --> 00:12:53,879
version of the dragon fly I sometimes had
problems with this particular joint and
134
00:12:53,879 --> 00:12:58,339
you can kind of see a blown up sort of out
of focus image here where you can see that
135
00:12:58,339 --> 00:13:02,249
they had trouble with the tool because
they were using one milling tool for this
136
00:13:02,249 --> 00:13:06,850
outside part. And then they had to go in
with a smaller tool to sort of get this
137
00:13:06,850 --> 00:13:12,329
part out. And it was difficult for them.
So that's why in the Christmas tree I made
138
00:13:12,329 --> 00:13:18,399
the fillet, so that's the curves on the
inner fillet, in manufacturing or and
139
00:13:18,399 --> 00:13:23,580
mechanical engineering is when you have a
tight joint and you make a small radius
140
00:13:23,580 --> 00:13:29,839
that's the size of the tool bit or larger.
So I made bigger ones in later designs,
141
00:13:29,839 --> 00:13:37,129
for that reason. So now that you kind of
have a background in all the different
142
00:13:37,129 --> 00:13:40,800
things you have to keep in the back of
your mind when you're actually going to
143
00:13:40,800 --> 00:13:47,050
try and have this fabricated. Now, I'm
going to get to my workflow, which is what
144
00:13:47,050 --> 00:13:51,949
I actually go through when I'm trying to
design something new. So the first thing I
145
00:13:51,949 --> 00:13:55,860
do is I actually get a piece of paper and
a pen and I just start sketching what I
146
00:13:55,860 --> 00:13:59,929
think it's going to look like. It's so
much faster to draw in on paper, even
147
00:13:59,929 --> 00:14:05,439
though I'm really not a great artist, than
it is to try and draw in CAD with exact
148
00:14:05,439 --> 00:14:12,009
dimensions and so on. Then I make a
schematic in KiCad. Schematics are
149
00:14:12,009 --> 00:14:16,190
basically the the electronics, and saying
you know I need a resistor, I need a
150
00:14:16,190 --> 00:14:22,060
capacitor and so on. Then I pick the
components, so that's like not just I need
151
00:14:22,060 --> 00:14:26,360
a capacitor, but I need this type of
capacitor, that's this big, and this wide,
152
00:14:26,360 --> 00:14:33,759
and this tall. And then, once I have that,
I now have the maximum size that all my
153
00:14:33,759 --> 00:14:38,519
parts need to be, that need to fit on the
board to actually do something. So then I
154
00:14:38,519 --> 00:14:43,839
can go in to a CAD model, which is what
the mechanical engineers, and the
155
00:14:43,839 --> 00:14:48,559
manufacturing engineers, and the civil
engineers, and the architects use, to
156
00:14:48,559 --> 00:14:56,709
start building the PCB outline, so that
electrical circuit board outline. Then I
157
00:14:56,709 --> 00:15:03,939
import that model and I use the outlines
that I drew as the edge cuts. So that's
158
00:15:03,939 --> 00:15:11,610
actually the end of where the milling tool
will go during the manufacturing process.
159
00:15:11,610 --> 00:15:19,399
And then I placed the components where I
want them to be. And then I connect all
160
00:15:19,399 --> 00:15:26,100
the wires how they need to be. And then I
optionally will panelize them, depending
161
00:15:26,100 --> 00:15:29,250
on how big that PCB is going to be. So
that means putting more than one of the
162
00:15:29,250 --> 00:15:34,300
same thing on the same board. And then ,if
I need to in order to have it be
163
00:15:34,300 --> 00:15:39,410
manufacturable just like the heart, then I
have to add breakoffs, which is all those
164
00:15:39,410 --> 00:15:46,269
parts that I'll eventually throw away just
so that they can do v-cuts and so on. So
165
00:15:46,269 --> 00:15:54,100
this is me sketching what I think my
Christmas tree will look like. So what I
166
00:15:54,100 --> 00:15:57,310
did as I started and I literally got a
piece of paper and I started drawing
167
00:15:57,310 --> 00:16:04,389
triangles, that are the size I wanted it
to be. So this is 10 centimetres tall and
168
00:16:04,389 --> 00:16:11,459
then each one of those small triangles is
5 centimetres. And then I started sort of
169
00:16:11,459 --> 00:16:15,799
sketching this, trying to keep it at about
3 millimetres, because I've done so many
170
00:16:15,799 --> 00:16:23,079
charlieplexing LED things at this point, I
know that if it's less than 3 millimetres,
171
00:16:23,079 --> 00:16:27,839
it's going to be hard to route a lot of
wires. So it's a good starting point from
172
00:16:27,839 --> 00:16:33,290
my side. All my components I also know
will be able to fit on that 3 millimetres,
173
00:16:33,290 --> 00:16:36,410
except the microcontroller. So that means
somewhere I'm going to have to make
174
00:16:36,410 --> 00:16:42,069
something bigger than that 3 centimetres
or 3 millimetre, 3 centimetres, sorry
175
00:16:42,069 --> 00:16:47,829
that's wrong. It should be centimetres,
not millimetres. No, it should, yes
176
00:16:47,829 --> 00:16:54,619
millimetres, sorry. Sometimes I think in
inches, I'm American. Laughs I haven't
177
00:16:54,619 --> 00:17:00,999
quite converted. So basically I also think
about what it should do electrically. So
178
00:17:00,999 --> 00:17:04,929
is this blinky lights, is there a motor is
there, what's that going to have on it?
179
00:17:04,929 --> 00:17:09,280
And is it going to be 2D or 3D? And I
start thinking about if it's 3D, how am I
180
00:17:09,280 --> 00:17:13,829
going to get ground and five volts from
one side to another. Do I need to get a
181
00:17:13,829 --> 00:17:17,589
signal somewhere? Like is there one
microcontroller on this 3D object, and
182
00:17:17,589 --> 00:17:23,040
therefore the branches are of the
Christmas tree are all going to have to
183
00:17:23,040 --> 00:17:26,550
get the all the signals from the
microcontroller or I'm going to have
184
00:17:26,550 --> 00:17:33,920
separate microcontrollers on each branch?
How's that gonna work? Then this is the
185
00:17:33,920 --> 00:17:37,740
schematic, actually, and it's the same
schematic I've used for the dragon fly,
186
00:17:37,740 --> 00:17:45,120
the heart, and the Christmas tree, where I
basically go in and I say "Okay, I have
187
00:17:45,120 --> 00:17:49,180
that sketch that I drew by hand and I'm
going to need a capacitor that goes
188
00:17:49,180 --> 00:17:52,110
between five volts and ground. I'm going
to need the microcontroller that's going
189
00:17:52,110 --> 00:17:56,271
to tell all these LEDs what to do. And
because these are LEDs, I'm going to need
190
00:17:56,271 --> 00:18:01,840
resistors." So I connect them all the way
that I want them to be and the way they
191
00:18:01,840 --> 00:18:08,130
need to be to work. And then the next
thing I do is I actually go through and I
192
00:18:08,130 --> 00:18:14,110
get on like a distributor for electronics
and I actually pick components. So this is
193
00:18:14,110 --> 00:18:21,550
in 0603 capacitor. These are taken from
DigiKey. This is an ATtiny, these are
194
00:18:21,550 --> 00:18:26,550
resistors, this is the LED and so on. And
that way, I have a physical idea of how
195
00:18:26,550 --> 00:18:33,200
big these things need to be. And then
again footprints, so the pads that those
196
00:18:33,200 --> 00:18:36,540
components are going to be soldered on are
actually bigger than the components
197
00:18:36,540 --> 00:18:42,940
itself, logical. So I need to figure out
exactly how big those need to be. Because
198
00:18:42,940 --> 00:18:45,610
if it's a perfect fit for the resistor
somewhere, that means that's not going to
199
00:18:45,610 --> 00:18:49,760
be a perfect fit for the, resistor, it's
not going to be a perfect fit for the
200
00:18:49,760 --> 00:18:55,390
pads. So I need to really think about the
pads. And at this point sometimes I design
201
00:18:55,390 --> 00:19:02,630
new footprints. So maybe I want, instead
of the resistor to look like this, maybe I
202
00:19:02,630 --> 00:19:08,610
want it to be a Christmas tree. So the
ball needs to be actually a ball, like I
203
00:19:08,610 --> 00:19:12,930
want these to be the ornaments. So then I
just would make some silkscreen marks
204
00:19:12,930 --> 00:19:21,050
around it to make it look like a ball, for
example. So then, I have to go ahead and
205
00:19:21,050 --> 00:19:28,640
actually build the CAD model. So that
means I go into Fusion360, you could use
206
00:19:28,640 --> 00:19:32,840
other software, I've used SolidWorks
before, as well. And then I start drawing
207
00:19:32,840 --> 00:19:39,630
things. And these are all 3 millimeters.
And this is actually where the micro
208
00:19:39,630 --> 00:19:43,760
controller goes, because it has to be big
enough for the microcontroller. And so
209
00:19:43,760 --> 00:19:48,370
this was the logical place to put it. In
the dragonfly it's actually in the center
210
00:19:48,370 --> 00:19:54,190
where the wings come together. In the
snowflake it's in the center as well. In
211
00:19:54,190 --> 00:19:57,800
some other PCBs that might be on the stem
of a shamrock, because those are logical
212
00:19:57,800 --> 00:20:04,800
places to be bigger. So this is a
snowflake that I was talking about. So
213
00:20:04,800 --> 00:20:08,871
sometimes I also, and this is like
actually the one of my earlier PCBs, I
214
00:20:08,871 --> 00:20:12,440
actually modeled the components to make
sure that it would make sense and it would
215
00:20:12,440 --> 00:20:19,350
look OK. And I don't have the back shown.
But I also modeled this component. And if
216
00:20:19,350 --> 00:20:23,740
you look, it's kind of a tight squeeze
there and I needed to make sure it would
217
00:20:23,740 --> 00:20:31,920
fit. So then, once you have a CAD model
that you're happy with, then this is sort
218
00:20:31,920 --> 00:20:36,230
of a weird step that it took me a while to
figure out. But I already had a lot of
219
00:20:36,230 --> 00:20:44,229
experience dealing with the quirkiness of
machining tools and 3D software.
220
00:20:44,229 --> 00:20:50,370
So, basically I export it from Fusion360
as a DXF, but because there's multiple
221
00:20:50,370 --> 00:20:57,370
different formats that DXF can have, DXF
is just a two dimensional drawing format -
222
00:20:57,370 --> 00:21:01,350
there's multiple forms that it can have -
I actually have to open it in another
223
00:21:01,350 --> 00:21:06,000
software, because Fusion360 doesn't save
it in a format that KiCad can read. I open
224
00:21:06,000 --> 00:21:09,850
it in a different free software and then
just save it as an R12 ASCII file, that's
225
00:21:09,850 --> 00:21:15,440
a form of DXF, and then I can open it in
KiCad. If I don't do that what ends up
226
00:21:15,440 --> 00:21:20,800
happening is only the straight lines show
up and some of the circles might. But none
227
00:21:20,800 --> 00:21:28,050
of these complicated curves will show up
as edge cuts. So then I just go through,
228
00:21:28,050 --> 00:21:33,261
once I have the edge cuts put on my board.
Because this is when I'm starting to
229
00:21:33,261 --> 00:21:40,140
actually design the board. I import all of
the LEDs and so on that I did and the
230
00:21:40,140 --> 00:21:44,550
schematic, and then I start placing them
where I want them to go. In some cases, I
231
00:21:44,550 --> 00:21:48,940
might have, if I'm really going to be very
specific about where an LED needs to be, I
232
00:21:48,940 --> 00:21:56,190
wasn't so much on the Christmas tree, I'll
also have exported the LEDs as part of the
233
00:21:56,190 --> 00:22:01,260
edge cuts and I'll just delete them later.
And that way I know exactly where I want
234
00:22:01,260 --> 00:22:08,650
that LED to be. And then I need to route
them. So all electrical softwares have
235
00:22:08,650 --> 00:22:13,430
routing, as far as I know, that you can do
and it usually comes out in like a 45
236
00:22:13,430 --> 00:22:23,150
degree angle or maybe 30. So often, I will
do it by hand. This is a different kit
237
00:22:23,150 --> 00:22:27,760
that I built and I wanted the routing to
sort of make a heart shape in the
238
00:22:27,760 --> 00:22:36,600
charlieplexed heart. And so I did it by
hand. The other option, it also if you do
239
00:22:36,600 --> 00:22:41,410
it by hand, you are less likely to make
really dumb mistakes. So for example when
240
00:22:41,410 --> 00:22:45,780
you use an auto router, auto routers know
where the components are, but they really
241
00:22:45,780 --> 00:22:52,250
don't care about anything you would learn
in like a physics class. So they have no
242
00:22:52,250 --> 00:22:57,290
problem with making an insanely long line
from a capacitor to a microcontroller and
243
00:22:57,290 --> 00:23:04,100
you want that line to be really really
short because it's supposed to buffer
244
00:23:04,100 --> 00:23:09,350
voltage changes and provide, like,
basically buffer fluctuations in the
245
00:23:09,350 --> 00:23:15,270
amount of energy that microcontroller is
receiving from the main power source.
246
00:23:15,270 --> 00:23:22,480
Because maybe more LEDs are drawing more
energy. But anyway, it'll make those lines
247
00:23:22,480 --> 00:23:28,530
not the way they should be. So doing it by
hand is often better, but with some of my
248
00:23:28,530 --> 00:23:34,260
designs like the Christmas tree it's just
not possible. Because this isn't an angle
249
00:23:34,260 --> 00:23:40,490
that KiCad can do and that most software
can do, I actually export the file that
250
00:23:40,490 --> 00:23:49,830
has all of the components on it, placed in
the correct location and the edge cuts,
251
00:23:49,830 --> 00:23:55,240
and TopoR will go through it and it will
make curvy lines, by making lots of tiny
252
00:23:55,240 --> 00:24:02,020
straight line segments. And one problem
with that is that, a lot of these auto
253
00:24:02,020 --> 00:24:06,400
routing softwares have no ability to work
with a giant hole in the middle of the
254
00:24:06,400 --> 00:24:12,520
PCB, so they'll just connect like this to
that, just through the hole. So that
255
00:24:12,520 --> 00:24:17,090
doesn't work either. So there's a script
on my GitHub page. It's actually not on
256
00:24:17,090 --> 00:24:21,560
there right now. I will put it up there by
the end of Congress. But I just didn't
257
00:24:21,560 --> 00:24:27,750
have time over the holidays. And then once
I do that, I also need to check for stupid
258
00:24:27,750 --> 00:24:32,490
electrical errors. Not because they won't
be connected but because sometimes you
259
00:24:32,490 --> 00:24:35,930
have components that are close to another
component and the lines need to be very,
260
00:24:35,930 --> 00:24:43,110
very short. So you might have to fix that
on your own. So then at that point you're
261
00:24:43,110 --> 00:24:47,210
basically done, except if you want to
panelize. So in the case of the Christmas
262
00:24:47,210 --> 00:24:56,120
tree I had 1 and I wanted to make 4. So in
order to make it panelize well, because
263
00:24:56,120 --> 00:25:01,120
this is basically just a triangle, and I
needed to know how long it was and how
264
00:25:01,120 --> 00:25:06,750
tall it was. And in my mind it was the
full 5 centimeters, but in reality,
265
00:25:06,750 --> 00:25:11,890
because I had cut off this corner, it
wasn't five centimeters. So I took a like
266
00:25:11,890 --> 00:25:15,200
marking edge, so something that the
manufacturing process doesn't use for
267
00:25:15,200 --> 00:25:20,530
anything, and it doesn't end up in the
Gerber files, and I extended this line out
268
00:25:20,530 --> 00:25:25,910
to where it should have ended. So it would
be the right shape. So then I could rotate
269
00:25:25,910 --> 00:25:34,940
it and flip it and so on and have it
turned into this pattern. The other thing
270
00:25:34,940 --> 00:25:39,190
is that I had to remove extra and
duplicate lines. So in the process of
271
00:25:39,190 --> 00:25:44,560
making one, I needed to close all of the
lines. So on this mousebite there's a line
272
00:25:44,560 --> 00:25:49,750
here, that actually, the arrows will show
it. So the blue lines or the blue arrows
273
00:25:49,750 --> 00:25:54,520
show where these mouse bites are closed
and they're actually going to flip and
274
00:25:54,520 --> 00:25:59,960
connect to each other. So I had to remove
them in the final panelized version over
275
00:25:59,960 --> 00:26:05,362
here. So you can see it four times with
this edge removed. And then there were a
276
00:26:05,362 --> 00:26:08,730
couple of mousebites that were close to
that edge so they weren't completely
277
00:26:08,730 --> 00:26:11,620
closed. And it also had problems with
that, so I had to just replace them with
278
00:26:11,620 --> 00:26:18,580
circles or close them manually. And then
the next step when you're panelizing is
279
00:26:18,580 --> 00:26:23,800
also to add brake offs for the
manufacturing process. So in this case
280
00:26:23,800 --> 00:26:31,730
that was these small edges because the
v-cuts needed the flat surface. So that is
281
00:26:31,730 --> 00:26:37,160
the end of my talk. And if you have
questions, I'm open to questions. You can
282
00:26:37,160 --> 00:26:39,660
also, if you're online and you're watching
this later, you can leave a comment on my
283
00:26:39,660 --> 00:26:43,280
YouTube channel. I try and get back to
people and make videos based on their
284
00:26:43,280 --> 00:26:48,160
comments. I have a Tindie page and I have
a webpage. And then, if you want to learn
285
00:26:48,160 --> 00:26:52,300
how to solder but you don't know how, come
over to the hardware hacking area because
286
00:26:52,300 --> 00:26:54,680
I'm going to be teaching a workshop on
that.
287
00:26:54,680 --> 00:27:03,600
Herald: Thank you very much for this most
excellent talk. If you have, please a
288
00:27:03,600 --> 00:27:10,030
round of applause.
Applause
289
00:27:10,030 --> 00:27:14,290
If you have any questions, thers
microphones, 6, distributed through the
290
00:27:14,290 --> 00:27:19,330
room. Please just walk up to them and I'll
point you out. Are there any questions
291
00:27:19,330 --> 00:27:24,650
from the internet? No questions from the
internet. Are there any questions from the
292
00:27:24,650 --> 00:27:32,730
audience in the Saal? Come on guys, I know
it's early. There is one. Please walk up
293
00:27:32,730 --> 00:27:39,690
to the microphone there in the aisle.
Center front microphone please.
294
00:27:39,690 --> 00:27:45,630
Front center microphone: Let's see if this
works. Sounds good. So I'm also very
295
00:27:45,630 --> 00:27:49,690
fascinated of the idea of charlieplexed
circuits, and I'm wondering: Do you sell
296
00:27:49,690 --> 00:27:53,810
any of your PCBs as kits or something?
Emily: Yeah, I have all of them as kits
297
00:27:53,810 --> 00:27:56,200
with me. So go over to the hardware
hacking area.
298
00:27:56,200 --> 00:28:00,430
Mic: OK, thats cool, thank you.
Emily: Yeah, even the ones that aren't on
299
00:28:00,430 --> 00:28:05,000
Tindie. So basically anyting on my
webpage, tried to get all of it here.
300
00:28:05,000 --> 00:28:08,610
Herald: Again, center front microphone
please.
301
00:28:08,610 --> 00:28:14,870
Question: Yeah, hi. Why didn't you use the
PCB layout software to create the outline.
302
00:28:14,870 --> 00:28:23,261
Emily: Because KiCad doesn't like
splines. And so, if i did the, so
303
00:28:23,261 --> 00:28:29,280
basically PCB software is often designed
for straight lines or arcs. So just
304
00:28:29,280 --> 00:28:35,660
circles und straight lines. To define more
complex shapes is significantly harder.
305
00:28:35,660 --> 00:28:41,040
Also, with like standard manufacturing
software or standard mechanic engeineering
306
00:28:41,040 --> 00:28:45,900
software. they are designed so that you
can parameterize things. So actually with
307
00:28:45,900 --> 00:28:52,590
the snowflake or the Christmas tree in the
Fusion360 version, I have numbers that
308
00:28:52,590 --> 00:28:58,520
say, you know, 3 milimeters. This is three
milimeters. So if I decide later I need it
309
00:28:58,520 --> 00:29:05,820
to be 4 milimeters, I just go 4 and then
export it again. It's much faster. It
310
00:29:05,820 --> 00:29:08,145
sounds harder, but is much faster.
311
00:29:08,145 --> 00:29:10,370
Herald: Again front center microphone
please.
312
00:29:10,370 --> 00:29:21,060
Question: Absolutely newbie. So I'm only
wondering if you prefer EAGLE as well?
313
00:29:21,060 --> 00:29:25,570
Emily: So I've never used EAGLE.
And the reason, that I haven't is...
314
00:29:25,570 --> 00:29:30,680
Well, there's two reasons.
First, right now it's only free
315
00:29:30,680 --> 00:29:35,190
for smaller PCBs than the Christmas tree.
So I don't want to spend money because I'm
316
00:29:35,190 --> 00:29:40,860
currently unemployed and I don't have that
kind of money. Second, my husband runs an
317
00:29:40,860 --> 00:29:45,050
embedded systems company and he uses
KiCad. So I have a professional that lives
318
00:29:45,050 --> 00:29:48,960
with me and that I can go "I don't
understand." and he can be like "Here is
319
00:29:48,960 --> 00:29:53,310
how it works." So on that side it was
easier for me to use the software that was
320
00:29:53,310 --> 00:29:57,650
already in my house. When I was working
professionally, we used a professional
321
00:29:57,650 --> 00:30:02,550
software. So it's just basically I started
learning when EAGLE went from open source
322
00:30:02,550 --> 00:30:08,970
and free to being bought by Autodesk.
Applause
323
00:30:08,970 --> 00:30:12,960
Herald: Again center front microphone
please.
324
00:30:12,960 --> 00:30:16,620
Question: Thanks for this interesting
talk. So I knew about PCB design, but the
325
00:30:16,620 --> 00:30:23,050
artistic part is new. My question is, how
do you deal with, so I like to use Git or
326
00:30:23,050 --> 00:30:28,460
some version control and with KiCad it's
easy. You have it if it's a XML file. But
327
00:30:28,460 --> 00:30:33,690
with outer tools you have binary files. Do
you have any way to deal with diffs of
328
00:30:33,690 --> 00:30:40,750
binary files?
Emily: So with most mechanical software
329
00:30:40,750 --> 00:30:46,720
there is version control as well. So you,
like, for example in Fusion360 every time
330
00:30:46,720 --> 00:30:52,800
I save it'll save the same file as version
1 or version 2 or version 3 or version 4.
331
00:30:52,800 --> 00:30:58,560
So it't not really GitHub, but it does have
a way to regress backward in what you
332
00:30:58,560 --> 00:31:00,560
want.
Mic: So you save it as version 1, version
333
00:31:00,560 --> 00:31:03,280
2 or does it automatically
Emily: It automatically actually does it.
334
00:31:03,280 --> 00:31:09,680
Every time you save it, it sort of appends
a new version to it. Because this is also
335
00:31:09,680 --> 00:31:15,150
a problem industrially with mechanical
engineering designs, where mutlipe people
336
00:31:15,150 --> 00:31:21,250
need to be working towards getting maybe a
probe to be stable. So they also have to
337
00:31:21,250 --> 00:31:24,780
deal with version control.
Mic: Because I'm trying to do the switch
338
00:31:24,780 --> 00:31:30,400
from EAGLE to KiCad, and in EAGLE I just
have version 1, version 200, 300, 400
339
00:31:30,400 --> 00:31:40,760
Emily: Yeah, with KiCad I don't really do
so much version control. Yeah. I, he would
340
00:31:40,760 --> 00:31:45,160
be the person to ask, because he's the
professional. The guy in that shirt with
341
00:31:45,160 --> 00:31:50,140
the "do not panic" is really the person I end
up asking all of my really tough
342
00:31:50,140 --> 00:31:54,500
electrical questions, too.
Herald: We have another question on the
343
00:31:54,500 --> 00:31:58,650
front right microphone.
Mic: Yes, hi everybody. Thanks for the
344
00:31:58,650 --> 00:32:03,460
talk. Not really a question, but just a
heads up. There is going to be, according
345
00:32:03,460 --> 00:32:11,320
to my knowledge, a KiCad beginner
workshop on friday at 9 in the evening.
346
00:32:11,320 --> 00:32:14,450
Just for those interested.
Emily: Cool.
347
00:32:14,450 --> 00:32:17,430
Mic: Maybe you show up as well.
Laughter Emily: Maybe
348
00:32:17,430 --> 00:32:20,461
Herald: Another question form the cernter
front microphone.
349
00:32:20,461 --> 00:32:25,770
Question: To the usual PCB interested
person, how would you recommend
350
00:32:25,770 --> 00:32:33,300
to find and select a fab?
Emily: For regular PCB, like if you are
351
00:32:33,300 --> 00:32:39,880
just trying to make a square, I think any
of them will probably work. For me, like
352
00:32:39,880 --> 00:32:44,840
when I was trying to do the Christmas
tree, I sent it to 3 different fabs. And
353
00:32:44,840 --> 00:32:49,500
one of them I have a contact there,
because I actually visited that fab at one
354
00:32:49,500 --> 00:32:57,630
point. And so that worked out. But when I,
acually the purple picture is from
355
00:32:57,630 --> 00:33:03,900
OSH Park, and they say somewhere, that
they don't deal with internal holes.
356
00:33:03,900 --> 00:33:12,120
Yeah, so I would just contact people. Just
email people if you have something weird.
357
00:33:12,120 --> 00:33:16,160
Email people and see if they can do it.
Because most people who have a PCB fab
358
00:33:16,160 --> 00:33:20,750
want money and will work for money.
Laughter
359
00:33:20,750 --> 00:33:24,135
Herald: Next question again center front
microphone, please.
360
00:33:24,135 --> 00:33:27,573
Question: Yeah. Very, very specific to
your talk.
361
00:33:27,573 --> 00:33:34,050
You said that the DXF format
that Fusion puts out is not directly
362
00:33:34,050 --> 00:33:40,390
readable, without loss, by KiCad. I missed
the software you use to convert it.
363
00:33:40,390 --> 00:33:45,490
Emily: Ah, it's DraftSight. So...
364
00:33:45,490 --> 00:33:47,420
... this ...
365
00:33:47,420 --> 00:33:50,410
this slide. So thats how it's spelled.
366
00:33:50,410 --> 00:33:51,650
Q: I see, thanks.
367
00:33:51,650 --> 00:33:54,430
A: Yeah, and in that software they have,
I don't know,
368
00:33:54,430 --> 00:33:59,650
maybe 20 different types of DXF and
other formats you can save things in.
369
00:33:59,650 --> 00:34:02,100
So when I worked for the Swiss watch
industry
370
00:34:02,100 --> 00:34:07,020
we would have to take all our files and
save it in the right one from customers.
371
00:34:07,020 --> 00:34:09,178
Herald: Next question, center front
microphone
372
00:34:09,178 --> 00:34:12,008
Question: Hey everybody.
If I wanted to find a lot of people
373
00:34:12,008 --> 00:34:15,118
who already know KiCad,
where would be the best place to look?
374
00:34:15,118 --> 00:34:17,300
Emily: An electrical
375
00:34:17,300 --> 00:34:19,790
Herald: Probably the workshop.
Emily: Yeah.
376
00:34:19,790 --> 00:34:21,125
Question: Well it's for beginners.
377
00:34:21,125 --> 00:34:23,510
I'm talking about people who already
know KiCad. It's like,
378
00:34:23,510 --> 00:34:26,820
is there like one main discussion
group in Usenet or something like
379
00:34:26,820 --> 00:34:30,079
central point on the internet to
find those people?
380
00:34:30,079 --> 00:34:33,770
Emily: Yeah.
Herald: The audience says: "Go to IRC.
381
00:34:33,770 --> 00:34:36,239
There should be a KiCad channel."
Emily: Again, I
382
00:34:36,239 --> 00:34:38,379
Herald: Probably on freenode.
Emily: Again, like he mentioned, I was a
383
00:34:38,379 --> 00:34:41,630
broken person, who couldn't leave my
appartment for actually it was a very,
384
00:34:41,630 --> 00:34:47,919
very long time. But, he was my answer for
everything. I was just like "I don't
385
00:34:47,919 --> 00:34:54,050
understand after an hour. Can you fix
it?", he's like "OK". So I'm not
386
00:34:54,050 --> 00:34:57,180
knowledgeable on that.
Herald: Next question from our signal
387
00:34:57,180 --> 00:35:00,585
angel handling the watchers at home.
388
00:35:00,585 --> 00:35:06,960
microphone issues
389
00:35:06,960 --> 00:35:19,935
Emily: Thanks.
390
00:35:19,935 --> 00:35:22,560
Herald: Next question center front
microphone.
391
00:35:22,560 --> 00:35:28,570
Question: Hi, thanks for your talk. I just
have question about the mousebites.
392
00:35:28,570 --> 00:35:34,040
How do you convert them from the
edgecut format to drilling, actually?
393
00:35:34,040 --> 00:35:39,700
Answer: So, I just leave them as edgecuts,
honestly, and they magically work.
394
00:35:39,700 --> 00:35:46,200
Mic: OK, not the answer I expected.
Thanks.
395
00:35:46,200 --> 00:35:51,700
Herald: Are there any more questions?
Last call for questions.
396
00:35:51,700 --> 00:35:54,880
No, doesn't look like it.
Well please give Emily Hammes
397
00:35:54,880 --> 00:35:57,375
a nice round of applause
for her excellent talk.
398
00:35:57,375 --> 00:36:06,770
Applause
399
00:36:06,770 --> 00:36:11,430
Emily: Yep, and if you are watching
online, not during congress
400
00:36:11,430 --> 00:36:13,335
you can contact me that way.
401
00:36:13,335 --> 00:36:18,252
postroll music
402
00:36:18,252 --> 00:36:38,000
subtitles created by c3subtitles.de
in the year 2019. Join, and help us!