0:00:00.000,0:00:17.140
35C3 preroll music
0:00:17.140,0:00:24.590
Herald: Our next speaker got hit by a car[br]really really bad and she wasn't able to
0:00:24.590,0:00:32.580
do anything for around half a year. And[br]what do you do if you're running out of
0:00:32.580,0:00:39.860
books to read and games to play. Well, if[br]you're already a Ph.D. in manufacturing,
0:00:39.860,0:00:45.390
you probably turn around and think what[br]can I do in my home and what you can do in
0:00:45.390,0:00:51.550
your home without many tools is actually[br]getting into electronics and well
0:00:51.550,0:00:54.730
electronics can be functional but[br]electronics can also be very very
0:00:54.730,0:01:00.120
beautiful. So we 're going to look at the[br]beautiful side of electronics today with
0:01:00.120,0:01:06.575
our most excellent speaker Emily Hammes.[br]applause
0:01:10.595,0:01:13.030
Emily: So yeah. So I'm going to talk to
0:01:13.030,0:01:17.330
you guys about artistic PCB design and[br]fabrication. And like you said I'm a
0:01:17.330,0:01:23.820
manufacturing engineer and a bioengineer.[br]I'm really not an electrical engineer nor
0:01:23.820,0:01:30.000
am I a programmer. I literally had one[br]programming class in my 16 years at a
0:01:30.000,0:01:35.000
university and I had two electronics[br]classes so really not much more than
0:01:35.000,0:01:42.240
gymnasium for everybody. My first PCB that[br]I ever designed was actually during my
0:01:42.240,0:01:47.619
Ph.D. in manufacturing. I had no idea what[br]I was doing so I designed it completely in
0:01:47.619,0:01:53.600
solidworks which is a basically a[br]mechanical engineering software where I
0:01:53.600,0:01:58.530
built a 3-D model and it included layers[br]that were going to be the copper. And then
0:01:58.530,0:02:01.780
I went to an electrical engineer and I was[br]like so how do I turn this into a file
0:02:01.780,0:02:08.060
that an electrical engineer can use and he[br]just laughed at me. So the purpose of that
0:02:08.060,0:02:15.670
was actually that particular PCB. See if I[br]can get the mouse to work. Actually I can
0:02:15.670,0:02:20.760
just walk over here. But basically in this[br]column, this column used chemical
0:02:20.760,0:02:25.480
chromatography or liquid chromatography to[br]separate chemicals by different
0:02:25.480,0:02:31.629
properties. And what I needed to do was[br]buffer humidity that was reaching poison
0:02:31.629,0:02:39.069
gas sensors without losing the poison gas[br]measurements because the sensors that my
0:02:39.069,0:02:43.969
colleagues were designing were cross[br]sensitive to humidity and to the poison
0:02:43.969,0:02:48.890
gas we were measuring. So it was my job to[br]build a zero energy system that could
0:02:48.890,0:02:52.269
remove the humidity or at least buffer it.[br]So the signals wouldn't reach those
0:02:52.269,0:02:58.990
sensors at the same time. So what I did is[br]I sort of inspired by a bathtub drain as I
0:02:58.990,0:03:04.590
built this PCB with the humidity and[br]temperature sensor in the middle and then
0:03:04.590,0:03:11.469
slits in it so that the air could go[br]through. And that's sort of how me
0:03:11.469,0:03:18.519
building holes in PCBs got started and[br]building holes in PCBs is not really
0:03:18.519,0:03:25.680
normal for fabrication companies. So when[br]I took that PCB to EPFL and asked their
0:03:25.680,0:03:33.120
fab to build it they were not happy with[br]me. So then after the accident that he
0:03:33.120,0:03:40.150
mentioned I decided I wanted to, so[br]basically I was living with my now husband
0:03:40.150,0:03:47.069
and he runs a embedded systems engineering[br]company. And so our apartment is a stack
0:03:47.069,0:03:51.469
of oscilloscopes and multiple soldering[br]irons and I knew very little about how to
0:03:51.469,0:03:55.379
work with these things but I was like you[br]know what. What you're doing is way cooler
0:03:55.379,0:04:03.219
than reading books. So I'm going to figure[br]this out. So I started with simple things
0:04:03.219,0:04:12.299
and basically then got into more complex[br]things. And on the far side is a image of
0:04:12.299,0:04:17.168
a PCB that's taped to the window that I've[br]embedded plastic in I have a video online
0:04:17.168,0:04:20.750
of how I did that for those, actually[br]those are the examples and that's the end-
0:04:20.750,0:04:27.490
slide of that video. And then this is what[br]it looks like in the dark. So you can see
0:04:27.490,0:04:32.590
that it blinks and it also has this[br]stained glass window property. So there
0:04:32.590,0:04:41.000
just 2D art. So then this is my most[br]recent PCB and it's a Christmas tree and
0:04:41.000,0:04:46.280
it's three dimensional. They basically the[br]dragon fly and the Christmas tree have the
0:04:46.280,0:04:50.560
same schematic so electrically they're[br]identical it's just there's four of them
0:04:50.560,0:04:58.150
on the Christmas tree. But mechanically[br]they're very different. So that's a little
0:04:58.150,0:05:04.890
bit of my background and the type of PCBs[br]that I actually end up building. So this
0:05:04.890,0:05:08.830
talk is going to be about my workflow.[br]It's not going to be about like all the
0:05:08.830,0:05:12.700
different softwares I'll mention the[br]software is that I use that are free.
0:05:12.710,0:05:17.610
I've used non free softwares. But those aren't[br]as interesting because you have to do
0:05:17.610,0:05:21.500
those for a company if you want to do it[br]on your own. You need the free software.
0:05:21.500,0:05:26.570
So I'll mention which ones I use but it's[br]not an introduction on how to use those.
0:05:26.570,0:05:31.900
It's an introduction on how to fuse them[br]together. Because that's the really
0:05:31.900,0:05:35.430
complicated part that I had to figure out[br]on my own. There's tons of youtube videos
0:05:35.430,0:05:42.061
on everything else. So basically it's[br]mechanical design that's coupled with the
0:05:42.061,0:05:46.060
electrical design. So the first thing I'm[br]going to talk about. It's actually an
0:05:46.060,0:05:50.270
interplay between the CAD software, which[br]is what architects and mechanical
0:05:50.270,0:05:56.810
engineers use and PCB software which is[br]what electrical engineers use.
0:05:56.810,0:06:02.280
So basically it's not about how to use any[br]given software. So the first thing that I
0:06:02.280,0:06:08.970
need to think about when I start designing[br]a PCB is what are the rules that the fab
0:06:08.970,0:06:15.660
needs me to follow in order to actually[br]have my final electrical design called the
0:06:15.660,0:06:23.490
Gerber file work in the fab or actually be[br]buildable and the green PCB is how it
0:06:23.490,0:06:29.070
looks on KiCAD and three dimensions. The[br]purple PCB is how a lot of fabs would
0:06:29.070,0:06:34.460
actually end up building it because a lot[br]of fabs do not deal with internal holes.
0:06:34.460,0:06:39.810
Many of them will do it but you might have[br]to actually contact them and talk to a
0:06:39.810,0:06:45.010
real person in order to make sure that[br]they will actually build it the way you
0:06:45.010,0:06:51.080
wanted because their software doesn't[br]necessarily automatically identify the
0:06:51.080,0:06:58.490
routing for that when they actually go to[br]the milling process. The other thing that
0:06:58.490,0:07:04.030
I have to think about is what are the[br]design rules on V-CUTS. So a V-CUT,
0:07:04.030,0:07:07.680
basically if you look at this heart that I[br]have an example of it's a very small
0:07:07.680,0:07:13.120
heart. So I can panelize it which means[br]putting more than one heart on a board so
0:07:13.120,0:07:17.450
that I can break them apart later. It's[br]makes it cheaper for me because then I get
0:07:17.450,0:07:23.730
four for the same price as I'd get one for[br]from the fab. But I have to incorporate a
0:07:23.730,0:07:28.380
way to break them apart. And those are[br]called V-CUTS and a V-CUT is just they
0:07:28.380,0:07:36.170
basically take a blade and they run the[br]PCB through it and it causes a small cut
0:07:36.170,0:07:41.900
to be made in the board and it's often on[br]both sides of the board. But in order to
0:07:41.900,0:07:47.650
do that they need a flat surface so it's[br]difficult to see in. I'll use the pointer
0:07:47.650,0:07:53.240
although I don't think it shows up online.[br]So basically on this red PCB where there's
0:07:53.240,0:07:59.821
the four hearts, they don't have a way of[br]making this yellow line because, or
0:07:59.821,0:08:04.580
without these small edges, because there's[br]no flat surface for them to use as a
0:08:04.580,0:08:10.790
guide. So then I got an email back from my[br]fab. They are like we can't build this the
0:08:10.790,0:08:15.230
way you wanted. So you have to add some[br]part that's flat so that we can actually
0:08:15.230,0:08:20.240
manufacture this for you which is why I[br]ended up having to add this. So it's a
0:08:20.240,0:08:22.950
really important design rule. In this case[br]it wasn't a problem because I had this
0:08:22.950,0:08:28.620
space to make it flat. But if you don't[br]design it with that in mind it might not
0:08:28.620,0:08:41.828
end up working. So then in order for that[br]extra part to be removeable I needed to do
0:08:41.828,0:08:44.589
something called adding mouse bites.[br]There's a couple of other names that these
0:08:44.589,0:08:49.949
go by but at least in Switzerland[br]everybody I know calls the mouse bites. So
0:08:49.949,0:08:52.980
basically that's this small square. And[br]this is what it looks like when you zoom
0:08:52.980,0:08:58.339
in and there's these small, or these three[br]small holes that make it very weak in that
0:08:58.339,0:09:03.470
part so you can just snap it apart and[br]break it. And this is what they look like
0:09:03.470,0:09:12.220
on the Christmas tree to break the[br]separate branches apart. So the other
0:09:12.220,0:09:16.790
thing you need to think about. You can't[br]just make things infinitely thin. You're
0:09:16.790,0:09:19.000
going to have to put the wires in[br]somewhere and you're going to have to put
0:09:19.000,0:09:24.200
the components in somewhere. And so you[br]need to think about how big those wires
0:09:24.200,0:09:32.009
need to be, how close to the edge can they[br]be and design with that in mind. So this
0:09:32.009,0:09:36.019
is the Christmas tree that I did. And this[br]side is actually, it's not the mirror
0:09:36.019,0:09:41.350
image. It's like the rotated image like if[br]you flip a pancake over a turn a book
0:09:41.350,0:09:51.199
over. So this is the backside and this is[br]the front side of each other. So when I go
0:09:51.199,0:09:55.600
and I zoom in on the center what you're[br]seeing is actually this is the backside
0:09:55.600,0:10:00.269
that would be on here. This is the[br]backside that would be over here. And what
0:10:00.269,0:10:05.180
you can see is that up here it's really[br]really tight and so you have to think
0:10:05.180,0:10:12.470
about how many wires do I kind of expect.[br]How big are these components and design so
0:10:12.470,0:10:17.480
that it really will eventually fit. And[br]sometimes you have to redesign things
0:10:17.480,0:10:24.820
because you need more wires than you[br]originally thought about. And then there's
0:10:24.820,0:10:29.529
also mechanical properties. So PCBs come[br]in different thicknesses in the case of my
0:10:29.529,0:10:34.980
Ph.D. when I built this I needed a very[br]very thin PCB because I had a very tight
0:10:34.980,0:10:41.500
restriction on this component and actually[br]all of these measurements are minimized as
0:10:41.500,0:10:48.400
much as possible for clearance and[br]manufacturability incivility. So in this
0:10:48.400,0:10:52.750
case the PCB was really really stable once[br]it was in the column.
0:10:52.750,0:10:55.695
But a number of people were not careful[br]and my collaborators...
0:10:55.695,0:10:57.820
Because this was delivered all over the[br]European Union.
0:10:57.820,0:11:01.430
A number of my collaborators were not[br]very careful with this PCB
0:11:01.430,0:11:05.960
and they would bend it or break it, which[br]made my fab even more happy with me
0:11:05.960,0:11:13.579
because basically they kept having[br]to rebuild them. So, you just need to
0:11:13.579,0:11:17.790
think about the manufacturability and like[br]once you start removing the inside how
0:11:17.790,0:11:22.089
strong will it be and will I be able to[br]bend it like paper. Because if you can do
0:11:22.089,0:11:30.529
that, it's not going to last very long. So[br]then you also just need to think about the
0:11:30.529,0:11:37.779
tolerances. And a lot of these are online.[br]So for example holes in pin headers. I
0:11:37.779,0:11:43.610
recently had a PCB that I designed and the[br]pin headers were a really good tight fit.
0:11:43.610,0:11:48.029
They basically stuck them in and they were[br]pretty much a right angle in the first
0:11:48.029,0:11:55.689
round. And then I ordered more and the[br]holes didn't fit anymore. So you need to
0:11:55.689,0:12:03.869
always allow for, you know, some tolerance[br]in your manufacturing site an error on a
0:12:03.869,0:12:09.920
bigger hole that you fill in with solder[br]at least in the artistic side then a small
0:12:09.920,0:12:16.829
hole that you have a perfect fit with.[br]Also wires near the edges can sometimes
0:12:16.829,0:12:23.939
cause problems. And that happens because[br]the tool might not be perfectly aligned.
0:12:23.939,0:12:28.139
So if you put your wires further away from[br]the edge you're going to have a more
0:12:28.139,0:12:32.999
likely chance of having a lot of really[br]good PCBs rather than difficulty with your
0:12:32.999,0:12:38.269
fab. And if you're already asking your fab[br]to do special stuff for you, you probably
0:12:38.269,0:12:47.220
don't want to make their life even harder.[br]And then tool radius. So in this first
0:12:47.220,0:12:53.879
version of the dragon fly I sometimes had[br]problems with this particular joint and
0:12:53.879,0:12:58.339
you can kind of see a blown up sort of out[br]of focus image here where you can see that
0:12:58.339,0:13:02.249
they had trouble with the tool because[br]they were using one milling tool for this
0:13:02.249,0:13:06.850
outside part. And then they had to go in[br]with a smaller tool to sort of get this
0:13:06.850,0:13:12.329
part out. And it was difficult for them.[br]So that's why in the Christmas tree I made
0:13:12.329,0:13:18.399
the fillet, so that's the curves on the[br]inner fillet, in manufacturing or and
0:13:18.399,0:13:23.580
mechanical engineering is when you have a[br]tight joint and you make a small radius
0:13:23.580,0:13:29.839
that's the size of the tool bit or larger.[br]So I made bigger ones in later designs,
0:13:29.839,0:13:37.129
for that reason. So now that you kind of[br]have a background in all the different
0:13:37.129,0:13:40.800
things you have to keep in the back of[br]your mind when you're actually going to
0:13:40.800,0:13:47.050
try and have this fabricated. Now, I'm[br]going to get to my workflow, which is what
0:13:47.050,0:13:51.949
I actually go through when I'm trying to[br]design something new. So the first thing I
0:13:51.949,0:13:55.860
do is I actually get a piece of paper and[br]a pen and I just start sketching what I
0:13:55.860,0:13:59.929
think it's going to look like. It's so[br]much faster to draw in on paper, even
0:13:59.929,0:14:05.439
though I'm really not a great artist, than[br]it is to try and draw in CAD with exact
0:14:05.439,0:14:12.009
dimensions and so on. Then I make a[br]schematic in KiCad. Schematics are
0:14:12.009,0:14:16.190
basically the the electronics, and saying[br]you know I need a resistor, I need a
0:14:16.190,0:14:22.060
capacitor and so on. Then I pick the[br]components, so that's like not just I need
0:14:22.060,0:14:26.360
a capacitor, but I need this type of[br]capacitor, that's this big, and this wide,
0:14:26.360,0:14:33.759
and this tall. And then, once I have that,[br]I now have the maximum size that all my
0:14:33.759,0:14:38.519
parts need to be, that need to fit on the[br]board to actually do something. So then I
0:14:38.519,0:14:43.839
can go in to a CAD model, which is what[br]the mechanical engineers, and the
0:14:43.839,0:14:48.559
manufacturing engineers, and the civil[br]engineers, and the architects use, to
0:14:48.559,0:14:56.709
start building the PCB outline, so that[br]electrical circuit board outline. Then I
0:14:56.709,0:15:03.939
import that model and I use the outlines[br]that I drew as the edge cuts. So that's
0:15:03.939,0:15:11.610
actually the end of where the milling tool[br]will go during the manufacturing process.
0:15:11.610,0:15:19.399
And then I placed the components where I[br]want them to be. And then I connect all
0:15:19.399,0:15:26.100
the wires how they need to be. And then I[br]optionally will panelize them, depending
0:15:26.100,0:15:29.250
on how big that PCB is going to be. So[br]that means putting more than one of the
0:15:29.250,0:15:34.300
same thing on the same board. And then ,if[br]I need to in order to have it be
0:15:34.300,0:15:39.410
manufacturable just like the heart, then I[br]have to add breakoffs, which is all those
0:15:39.410,0:15:46.269
parts that I'll eventually throw away just[br]so that they can do v-cuts and so on. So
0:15:46.269,0:15:54.100
this is me sketching what I think my[br]Christmas tree will look like. So what I
0:15:54.100,0:15:57.310
did as I started and I literally got a[br]piece of paper and I started drawing
0:15:57.310,0:16:04.389
triangles, that are the size I wanted it[br]to be. So this is 10 centimetres tall and
0:16:04.389,0:16:11.459
then each one of those small triangles is[br]5 centimetres. And then I started sort of
0:16:11.459,0:16:15.799
sketching this, trying to keep it at about[br]3 millimetres, because I've done so many
0:16:15.799,0:16:23.079
charlieplexing LED things at this point, I[br]know that if it's less than 3 millimetres,
0:16:23.079,0:16:27.839
it's going to be hard to route a lot of[br]wires. So it's a good starting point from
0:16:27.839,0:16:33.290
my side. All my components I also know[br]will be able to fit on that 3 millimetres,
0:16:33.290,0:16:36.410
except the microcontroller. So that means[br]somewhere I'm going to have to make
0:16:36.410,0:16:42.069
something bigger than that 3 centimetres[br]or 3 millimetre, 3 centimetres, sorry
0:16:42.069,0:16:47.829
that's wrong. It should be centimetres,[br]not millimetres. No, it should, yes
0:16:47.829,0:16:54.619
millimetres, sorry. Sometimes I think in[br]inches, I'm American. Laughs I haven't
0:16:54.619,0:17:00.999
quite converted. So basically I also think[br]about what it should do electrically. So
0:17:00.999,0:17:04.929
is this blinky lights, is there a motor is[br]there, what's that going to have on it?
0:17:04.929,0:17:09.280
And is it going to be 2D or 3D? And I[br]start thinking about if it's 3D, how am I
0:17:09.280,0:17:13.829
going to get ground and five volts from[br]one side to another. Do I need to get a
0:17:13.829,0:17:17.589
signal somewhere? Like is there one[br]microcontroller on this 3D object, and
0:17:17.589,0:17:23.040
therefore the branches are of the[br]Christmas tree are all going to have to
0:17:23.040,0:17:26.550
get the all the signals from the[br]microcontroller or I'm going to have
0:17:26.550,0:17:33.920
separate microcontrollers on each branch?[br]How's that gonna work? Then this is the
0:17:33.920,0:17:37.740
schematic, actually, and it's the same[br]schematic I've used for the dragon fly,
0:17:37.740,0:17:45.120
the heart, and the Christmas tree, where I[br]basically go in and I say "Okay, I have
0:17:45.120,0:17:49.180
that sketch that I drew by hand and I'm[br]going to need a capacitor that goes
0:17:49.180,0:17:52.110
between five volts and ground. I'm going[br]to need the microcontroller that's going
0:17:52.110,0:17:56.271
to tell all these LEDs what to do. And[br]because these are LEDs, I'm going to need
0:17:56.271,0:18:01.840
resistors." So I connect them all the way[br]that I want them to be and the way they
0:18:01.840,0:18:08.130
need to be to work. And then the next[br]thing I do is I actually go through and I
0:18:08.130,0:18:14.110
get on like a distributor for electronics[br]and I actually pick components. So this is
0:18:14.110,0:18:21.550
in 0603 capacitor. These are taken from[br]DigiKey. This is an ATtiny, these are
0:18:21.550,0:18:26.550
resistors, this is the LED and so on. And[br]that way, I have a physical idea of how
0:18:26.550,0:18:33.200
big these things need to be. And then[br]again footprints, so the pads that those
0:18:33.200,0:18:36.540
components are going to be soldered on are[br]actually bigger than the components
0:18:36.540,0:18:42.940
itself, logical. So I need to figure out[br]exactly how big those need to be. Because
0:18:42.940,0:18:45.610
if it's a perfect fit for the resistor[br]somewhere, that means that's not going to
0:18:45.610,0:18:49.760
be a perfect fit for the, resistor, it's[br]not going to be a perfect fit for the
0:18:49.760,0:18:55.390
pads. So I need to really think about the[br]pads. And at this point sometimes I design
0:18:55.390,0:19:02.630
new footprints. So maybe I want, instead[br]of the resistor to look like this, maybe I
0:19:02.630,0:19:08.610
want it to be a Christmas tree. So the[br]ball needs to be actually a ball, like I
0:19:08.610,0:19:12.930
want these to be the ornaments. So then I[br]just would make some silkscreen marks
0:19:12.930,0:19:21.050
around it to make it look like a ball, for[br]example. So then, I have to go ahead and
0:19:21.050,0:19:28.640
actually build the CAD model. So that[br]means I go into Fusion360, you could use
0:19:28.640,0:19:32.840
other software, I've used SolidWorks[br]before, as well. And then I start drawing
0:19:32.840,0:19:39.630
things. And these are all 3 millimeters.[br]And this is actually where the micro
0:19:39.630,0:19:43.760
controller goes, because it has to be big[br]enough for the microcontroller. And so
0:19:43.760,0:19:48.370
this was the logical place to put it. In[br]the dragonfly it's actually in the center
0:19:48.370,0:19:54.190
where the wings come together. In the[br]snowflake it's in the center as well. In
0:19:54.190,0:19:57.800
some other PCBs that might be on the stem[br]of a shamrock, because those are logical
0:19:57.800,0:20:04.800
places to be bigger. So this is a[br]snowflake that I was talking about. So
0:20:04.800,0:20:08.871
sometimes I also, and this is like[br]actually the one of my earlier PCBs, I
0:20:08.871,0:20:12.440
actually modeled the components to make[br]sure that it would make sense and it would
0:20:12.440,0:20:19.350
look OK. And I don't have the back shown.[br]But I also modeled this component. And if
0:20:19.350,0:20:23.740
you look, it's kind of a tight squeeze[br]there and I needed to make sure it would
0:20:23.740,0:20:31.920
fit. So then, once you have a CAD model[br]that you're happy with, then this is sort
0:20:31.920,0:20:36.230
of a weird step that it took me a while to[br]figure out. But I already had a lot of
0:20:36.230,0:20:44.229
experience dealing with the quirkiness of[br]machining tools and 3D software.
0:20:44.229,0:20:50.370
So, basically I export it from Fusion360[br]as a DXF, but because there's multiple
0:20:50.370,0:20:57.370
different formats that DXF can have, DXF[br]is just a two dimensional drawing format -
0:20:57.370,0:21:01.350
there's multiple forms that it can have -[br]I actually have to open it in another
0:21:01.350,0:21:06.000
software, because Fusion360 doesn't save[br]it in a format that KiCad can read. I open
0:21:06.000,0:21:09.850
it in a different free software and then[br]just save it as an R12 ASCII file, that's
0:21:09.850,0:21:15.440
a form of DXF, and then I can open it in[br]KiCad. If I don't do that what ends up
0:21:15.440,0:21:20.800
happening is only the straight lines show[br]up and some of the circles might. But none
0:21:20.800,0:21:28.050
of these complicated curves will show up[br]as edge cuts. So then I just go through,
0:21:28.050,0:21:33.261
once I have the edge cuts put on my board.[br]Because this is when I'm starting to
0:21:33.261,0:21:40.140
actually design the board. I import all of[br]the LEDs and so on that I did and the
0:21:40.140,0:21:44.550
schematic, and then I start placing them[br]where I want them to go. In some cases, I
0:21:44.550,0:21:48.940
might have, if I'm really going to be very[br]specific about where an LED needs to be, I
0:21:48.940,0:21:56.190
wasn't so much on the Christmas tree, I'll[br]also have exported the LEDs as part of the
0:21:56.190,0:22:01.260
edge cuts and I'll just delete them later.[br]And that way I know exactly where I want
0:22:01.260,0:22:08.650
that LED to be. And then I need to route[br]them. So all electrical softwares have
0:22:08.650,0:22:13.430
routing, as far as I know, that you can do[br]and it usually comes out in like a 45
0:22:13.430,0:22:23.150
degree angle or maybe 30. So often, I will[br]do it by hand. This is a different kit
0:22:23.150,0:22:27.760
that I built and I wanted the routing to[br]sort of make a heart shape in the
0:22:27.760,0:22:36.600
charlieplexed heart. And so I did it by[br]hand. The other option, it also if you do
0:22:36.600,0:22:41.410
it by hand, you are less likely to make[br]really dumb mistakes. So for example when
0:22:41.410,0:22:45.780
you use an auto router, auto routers know[br]where the components are, but they really
0:22:45.780,0:22:52.250
don't care about anything you would learn[br]in like a physics class. So they have no
0:22:52.250,0:22:57.290
problem with making an insanely long line[br]from a capacitor to a microcontroller and
0:22:57.290,0:23:04.100
you want that line to be really really[br]short because it's supposed to buffer
0:23:04.100,0:23:09.350
voltage changes and provide, like,[br]basically buffer fluctuations in the
0:23:09.350,0:23:15.270
amount of energy that microcontroller is[br]receiving from the main power source.
0:23:15.270,0:23:22.480
Because maybe more LEDs are drawing more[br]energy. But anyway, it'll make those lines
0:23:22.480,0:23:28.530
not the way they should be. So doing it by[br]hand is often better, but with some of my
0:23:28.530,0:23:34.260
designs like the Christmas tree it's just[br]not possible. Because this isn't an angle
0:23:34.260,0:23:40.490
that KiCad can do and that most software[br]can do, I actually export the file that
0:23:40.490,0:23:49.830
has all of the components on it, placed in[br]the correct location and the edge cuts,
0:23:49.830,0:23:55.240
and TopoR will go through it and it will[br]make curvy lines, by making lots of tiny
0:23:55.240,0:24:02.020
straight line segments. And one problem[br]with that is that, a lot of these auto
0:24:02.020,0:24:06.400
routing softwares have no ability to work[br]with a giant hole in the middle of the
0:24:06.400,0:24:12.520
PCB, so they'll just connect like this to[br]that, just through the hole. So that
0:24:12.520,0:24:17.090
doesn't work either. So there's a script[br]on my GitHub page. It's actually not on
0:24:17.090,0:24:21.560
there right now. I will put it up there by[br]the end of Congress. But I just didn't
0:24:21.560,0:24:27.750
have time over the holidays. And then once[br]I do that, I also need to check for stupid
0:24:27.750,0:24:32.490
electrical errors. Not because they won't[br]be connected but because sometimes you
0:24:32.490,0:24:35.930
have components that are close to another[br]component and the lines need to be very,
0:24:35.930,0:24:43.110
very short. So you might have to fix that[br]on your own. So then at that point you're
0:24:43.110,0:24:47.210
basically done, except if you want to[br]panelize. So in the case of the Christmas
0:24:47.210,0:24:56.120
tree I had 1 and I wanted to make 4. So in[br]order to make it panelize well, because
0:24:56.120,0:25:01.120
this is basically just a triangle, and I[br]needed to know how long it was and how
0:25:01.120,0:25:06.750
tall it was. And in my mind it was the[br]full 5 centimeters, but in reality,
0:25:06.750,0:25:11.890
because I had cut off this corner, it[br]wasn't five centimeters. So I took a like
0:25:11.890,0:25:15.200
marking edge, so something that the[br]manufacturing process doesn't use for
0:25:15.200,0:25:20.530
anything, and it doesn't end up in the[br]Gerber files, and I extended this line out
0:25:20.530,0:25:25.910
to where it should have ended. So it would[br]be the right shape. So then I could rotate
0:25:25.910,0:25:34.940
it and flip it and so on and have it[br]turned into this pattern. The other thing
0:25:34.940,0:25:39.190
is that I had to remove extra and[br]duplicate lines. So in the process of
0:25:39.190,0:25:44.560
making one, I needed to close all of the[br]lines. So on this mousebite there's a line
0:25:44.560,0:25:49.750
here, that actually, the arrows will show[br]it. So the blue lines or the blue arrows
0:25:49.750,0:25:54.520
show where these mouse bites are closed[br]and they're actually going to flip and
0:25:54.520,0:25:59.960
connect to each other. So I had to remove[br]them in the final panelized version over
0:25:59.960,0:26:05.362
here. So you can see it four times with[br]this edge removed. And then there were a
0:26:05.362,0:26:08.730
couple of mousebites that were close to[br]that edge so they weren't completely
0:26:08.730,0:26:11.620
closed. And it also had problems with[br]that, so I had to just replace them with
0:26:11.620,0:26:18.580
circles or close them manually. And then[br]the next step when you're panelizing is
0:26:18.580,0:26:23.800
also to add brake offs for the[br]manufacturing process. So in this case
0:26:23.800,0:26:31.730
that was these small edges because the[br]v-cuts needed the flat surface. So that is
0:26:31.730,0:26:37.160
the end of my talk. And if you have[br]questions, I'm open to questions. You can
0:26:37.160,0:26:39.660
also, if you're online and you're watching[br]this later, you can leave a comment on my
0:26:39.660,0:26:43.280
YouTube channel. I try and get back to[br]people and make videos based on their
0:26:43.280,0:26:48.160
comments. I have a Tindie page and I have[br]a webpage. And then, if you want to learn
0:26:48.160,0:26:52.300
how to solder but you don't know how, come[br]over to the hardware hacking area because
0:26:52.300,0:26:54.680
I'm going to be teaching a workshop on[br]that.
0:26:54.680,0:27:03.600
Herald: Thank you very much for this most[br]excellent talk. If you have, please a
0:27:03.600,0:27:10.030
round of applause.[br]Applause
0:27:10.030,0:27:14.290
If you have any questions, thers[br]microphones, 6, distributed through the
0:27:14.290,0:27:19.330
room. Please just walk up to them and I'll[br]point you out. Are there any questions
0:27:19.330,0:27:24.650
from the internet? No questions from the[br]internet. Are there any questions from the
0:27:24.650,0:27:32.730
audience in the Saal? Come on guys, I know[br]it's early. There is one. Please walk up
0:27:32.730,0:27:39.690
to the microphone there in the aisle.[br]Center front microphone please.
0:27:39.690,0:27:45.630
Front center microphone: Let's see if this[br]works. Sounds good. So I'm also very
0:27:45.630,0:27:49.690
fascinated of the idea of charlieplexed[br]circuits, and I'm wondering: Do you sell
0:27:49.690,0:27:53.810
any of your PCBs as kits or something?[br]Emily: Yeah, I have all of them as kits
0:27:53.810,0:27:56.200
with me. So go over to the hardware[br]hacking area.
0:27:56.200,0:28:00.430
Mic: OK, thats cool, thank you.[br]Emily: Yeah, even the ones that aren't on
0:28:00.430,0:28:05.000
Tindie. So basically anyting on my[br]webpage, tried to get all of it here.
0:28:05.000,0:28:08.610
Herald: Again, center front microphone[br]please.
0:28:08.610,0:28:14.870
Question: Yeah, hi. Why didn't you use the[br]PCB layout software to create the outline.
0:28:14.870,0:28:23.261
Emily: Because KiCad doesn't like[br]splines. And so, if i did the, so
0:28:23.261,0:28:29.280
basically PCB software is often designed[br]for straight lines or arcs. So just
0:28:29.280,0:28:35.660
circles und straight lines. To define more[br]complex shapes is significantly harder.
0:28:35.660,0:28:41.040
Also, with like standard manufacturing[br]software or standard mechanic engeineering
0:28:41.040,0:28:45.900
software. they are designed so that you[br]can parameterize things. So actually with
0:28:45.900,0:28:52.590
the snowflake or the Christmas tree in the[br]Fusion360 version, I have numbers that
0:28:52.590,0:28:58.520
say, you know, 3 milimeters. This is three[br]milimeters. So if I decide later I need it
0:28:58.520,0:29:05.820
to be 4 milimeters, I just go 4 and then[br]export it again. It's much faster. It
0:29:05.820,0:29:08.145
sounds harder, but is much faster.
0:29:08.145,0:29:10.370
Herald: Again front center microphone[br]please.
0:29:10.370,0:29:21.060
Question: Absolutely newbie. So I'm only[br]wondering if you prefer EAGLE as well?
0:29:21.060,0:29:25.570
Emily: So I've never used EAGLE.[br]And the reason, that I haven't is...
0:29:25.570,0:29:30.680
Well, there's two reasons.[br]First, right now it's only free
0:29:30.680,0:29:35.190
for smaller PCBs than the Christmas tree.[br]So I don't want to spend money because I'm
0:29:35.190,0:29:40.860
currently unemployed and I don't have that[br]kind of money. Second, my husband runs an
0:29:40.860,0:29:45.050
embedded systems company and he uses[br]KiCad. So I have a professional that lives
0:29:45.050,0:29:48.960
with me and that I can go "I don't[br]understand." and he can be like "Here is
0:29:48.960,0:29:53.310
how it works." So on that side it was[br]easier for me to use the software that was
0:29:53.310,0:29:57.650
already in my house. When I was working[br]professionally, we used a professional
0:29:57.650,0:30:02.550
software. So it's just basically I started[br]learning when EAGLE went from open source
0:30:02.550,0:30:08.970
and free to being bought by Autodesk.[br]Applause
0:30:08.970,0:30:12.960
Herald: Again center front microphone[br]please.
0:30:12.960,0:30:16.620
Question: Thanks for this interesting[br]talk. So I knew about PCB design, but the
0:30:16.620,0:30:23.050
artistic part is new. My question is, how[br]do you deal with, so I like to use Git or
0:30:23.050,0:30:28.460
some version control and with KiCad it's[br]easy. You have it if it's a XML file. But
0:30:28.460,0:30:33.690
with outer tools you have binary files. Do[br]you have any way to deal with diffs of
0:30:33.690,0:30:40.750
binary files?[br]Emily: So with most mechanical software
0:30:40.750,0:30:46.720
there is version control as well. So you,[br]like, for example in Fusion360 every time
0:30:46.720,0:30:52.800
I save it'll save the same file as version[br]1 or version 2 or version 3 or version 4.
0:30:52.800,0:30:58.560
So it't not really GitHub, but it does have[br]a way to regress backward in what you
0:30:58.560,0:31:00.560
want.[br]Mic: So you save it as version 1, version
0:31:00.560,0:31:03.280
2 or does it automatically[br]Emily: It automatically actually does it.
0:31:03.280,0:31:09.680
Every time you save it, it sort of appends[br]a new version to it. Because this is also
0:31:09.680,0:31:15.150
a problem industrially with mechanical[br]engineering designs, where mutlipe people
0:31:15.150,0:31:21.250
need to be working towards getting maybe a[br]probe to be stable. So they also have to
0:31:21.250,0:31:24.780
deal with version control.[br]Mic: Because I'm trying to do the switch
0:31:24.780,0:31:30.400
from EAGLE to KiCad, and in EAGLE I just[br]have version 1, version 200, 300, 400
0:31:30.400,0:31:40.760
Emily: Yeah, with KiCad I don't really do[br]so much version control. Yeah. I, he would
0:31:40.760,0:31:45.160
be the person to ask, because he's the[br]professional. The guy in that shirt with
0:31:45.160,0:31:50.140
the "do not panic" is really the person I end[br]up asking all of my really tough
0:31:50.140,0:31:54.500
electrical questions, too.[br]Herald: We have another question on the
0:31:54.500,0:31:58.650
front right microphone.[br]Mic: Yes, hi everybody. Thanks for the
0:31:58.650,0:32:03.460
talk. Not really a question, but just a[br]heads up. There is going to be, according
0:32:03.460,0:32:11.320
to my knowledge, a KiCad beginner[br]workshop on friday at 9 in the evening.
0:32:11.320,0:32:14.450
Just for those interested.[br]Emily: Cool.
0:32:14.450,0:32:17.430
Mic: Maybe you show up as well.[br]Laughter Emily: Maybe
0:32:17.430,0:32:20.461
Herald: Another question form the cernter[br]front microphone.
0:32:20.461,0:32:25.770
Question: To the usual PCB interested[br]person, how would you recommend
0:32:25.770,0:32:33.300
to find and select a fab?[br]Emily: For regular PCB, like if you are
0:32:33.300,0:32:39.880
just trying to make a square, I think any[br]of them will probably work. For me, like
0:32:39.880,0:32:44.840
when I was trying to do the Christmas[br]tree, I sent it to 3 different fabs. And
0:32:44.840,0:32:49.500
one of them I have a contact there,[br]because I actually visited that fab at one
0:32:49.500,0:32:57.630
point. And so that worked out. But when I,[br]acually the purple picture is from
0:32:57.630,0:33:03.900
OSH Park, and they say somewhere, that[br]they don't deal with internal holes.
0:33:03.900,0:33:12.120
Yeah, so I would just contact people. Just[br]email people if you have something weird.
0:33:12.120,0:33:16.160
Email people and see if they can do it.[br]Because most people who have a PCB fab
0:33:16.160,0:33:20.750
want money and will work for money.[br]Laughter
0:33:20.750,0:33:24.135
Herald: Next question again center front[br]microphone, please.
0:33:24.135,0:33:27.573
Question: Yeah. Very, very specific to[br]your talk.
0:33:27.573,0:33:34.050
You said that the DXF format[br]that Fusion puts out is not directly
0:33:34.050,0:33:40.390
readable, without loss, by KiCad. I missed[br]the software you use to convert it.
0:33:40.390,0:33:45.490
Emily: Ah, it's DraftSight. So...
0:33:45.490,0:33:47.420
... this ...
0:33:47.420,0:33:50.410
this slide. So thats how it's spelled.
0:33:50.410,0:33:51.650
Q: I see, thanks.
0:33:51.650,0:33:54.430
A: Yeah, and in that software they have,[br]I don't know,
0:33:54.430,0:33:59.650
maybe 20 different types of DXF and[br]other formats you can save things in.
0:33:59.650,0:34:02.100
So when I worked for the Swiss watch[br]industry
0:34:02.100,0:34:07.020
we would have to take all our files and[br]save it in the right one from customers.
0:34:07.020,0:34:09.178
Herald: Next question, center front[br]microphone
0:34:09.178,0:34:12.008
Question: Hey everybody.[br]If I wanted to find a lot of people
0:34:12.008,0:34:15.118
who already know KiCad,[br]where would be the best place to look?
0:34:15.118,0:34:17.300
[br]Emily: An electrical
0:34:17.300,0:34:19.790
Herald: Probably the workshop.[br]Emily: Yeah.
0:34:19.790,0:34:21.125
Question: Well it's for beginners.
0:34:21.125,0:34:23.510
I'm talking about people who already[br]know KiCad. It's like,
0:34:23.510,0:34:26.820
is there like one main discussion[br]group in Usenet or something like
0:34:26.820,0:34:30.079
central point on the internet to[br]find those people?
0:34:30.079,0:34:33.770
Emily: Yeah.[br]Herald: The audience says: "Go to IRC.
0:34:33.770,0:34:36.239
There should be a KiCad channel."[br]Emily: Again, I
0:34:36.239,0:34:38.379
Herald: Probably on freenode.[br]Emily: Again, like he mentioned, I was a
0:34:38.379,0:34:41.630
broken person, who couldn't leave my[br]appartment for actually it was a very,
0:34:41.630,0:34:47.919
very long time. But, he was my answer for[br]everything. I was just like "I don't
0:34:47.919,0:34:54.050
understand after an hour. Can you fix[br]it?", he's like "OK". So I'm not
0:34:54.050,0:34:57.180
knowledgeable on that.[br]Herald: Next question from our signal
0:34:57.180,0:35:00.585
angel handling the watchers at home.
0:35:00.585,0:35:06.960
microphone issues
0:35:06.960,0:35:19.935
Emily: Thanks.
0:35:19.935,0:35:22.560
Herald: Next question center front[br]microphone.
0:35:22.560,0:35:28.570
Question: Hi, thanks for your talk. I just[br]have question about the mousebites.
0:35:28.570,0:35:34.040
How do you convert them from the[br]edgecut format to drilling, actually?
0:35:34.040,0:35:39.700
Answer: So, I just leave them as edgecuts,[br]honestly, and they magically work.
0:35:39.700,0:35:46.200
Mic: OK, not the answer I expected.[br]Thanks.
0:35:46.200,0:35:51.700
Herald: Are there any more questions?[br]Last call for questions.
0:35:51.700,0:35:54.880
No, doesn't look like it.[br]Well please give Emily Hammes
0:35:54.880,0:35:57.375
a nice round of applause[br]for her excellent talk.
0:35:57.375,0:36:06.770
Applause
0:36:06.770,0:36:11.430
Emily: Yep, and if you are watching[br]online, not during congress
0:36:11.430,0:36:13.335
you can contact me that way.
0:36:13.335,0:36:18.252
postroll music
0:36:18.252,0:36:38.000
subtitles created by c3subtitles.de[br]in the year 2019. Join, and help us!