35C3 preroll music
Herald: Our next speaker got hit by a car
really really bad and she wasn't able to
do anything for around half a year. And
what do you do if you're running out of
books to read and games to play. Well, if
you're already a Ph.D. in manufacturing,
you probably turn around and think what
can I do in my home and what you can do in
your home without many tools is actually
getting into electronics and well
electronics can be functional but
electronics can also be very very
beautiful. So we 're going to look at the
beautiful side of electronics today with
our most excellent speaker Emily Hammes.
applause
Emily: So yeah. So I'm going to talk to
you guys about artistic PCB design and
fabrication. And like you said I'm a
manufacturing engineer and a bioengineer.
I'm really not an electrical engineer nor
am I a programmer. I literally had one
programming class in my 16 years at a
university and I had two electronics
classes so really not much more than
gymnasium for everybody. My first PCB that
I ever designed was actually during my
Ph.D. in manufacturing. I had no idea what
I was doing so I designed it completely in
solidworks which is a basically a
mechanical engineering software where I
built a 3-D model and it included layers
that were going to be the copper. And then
I went to an electrical engineer and I was
like so how do I turn this into a file
that an electrical engineer can use and he
just laughed at me. So the purpose of that
was actually that particular PCB. See if I
can get the mouse to work. Actually I can
just walk over here. But basically in this
column, this column used chemical
chromatography or liquid chromatography to
separate chemicals by different
properties. And what I needed to do was
buffer humidity that was reaching poison
gas sensors without losing the poison gas
measurements because the sensors that my
colleagues were designing were cross
sensitive to humidity and to the poison
gas we were measuring. So it was my job to
build a zero energy system that could
remove the humidity or at least buffer it.
So the signals wouldn't reach those
sensors at the same time. So what I did is
I sort of inspired by a bathtub drain as I
built this PCB with the humidity and
temperature sensor in the middle and then
slits in it so that the air could go
through. And that's sort of how me
building holes in PCBs got started and
building holes in PCBs is not really
normal for fabrication companies. So when
I took that PCB to EPFL and asked their
fab to build it they were not happy with
me. So then after the accident that he
mentioned I decided I wanted to, so
basically I was living with my now husband
and he runs a embedded systems engineering
company. And so our apartment is a stack
of oscilloscopes and multiple soldering
irons and I knew very little about how to
work with these things but I was like you
know what. What you're doing is way cooler
than reading books. So I'm going to figure
this out. So I started with simple things
and basically then got into more complex
things. And on the far side is a image of
a PCB that's taped to the window that I've
embedded plastic in I have a video online
of how I did that for those, actually
those are the examples and that's the end-
slide of that video. And then this is what
it looks like in the dark. So you can see
that it blinks and it also has this
stained glass window property. So there
just 2D art. So then this is my most
recent PCB and it's a Christmas tree and
it's three dimensional. They basically the
dragon fly and the Christmas tree have the
same schematic so electrically they're
identical it's just there's four of them
on the Christmas tree. But mechanically
they're very different. So that's a little
bit of my background and the type of PCBs
that I actually end up building. So this
talk is going to be about my workflow.
It's not going to be about like all the
different softwares I'll mention the
software is that I use that are free.
I've used non free softwares. But those aren't
as interesting because you have to do
those for a company if you want to do it
on your own. You need the free software.
So I'll mention which ones I use but it's
not an introduction on how to use those.
It's an introduction on how to fuse them
together. Because that's the really
complicated part that I had to figure out
on my own. There's tons of youtube videos
on everything else. So basically it's
mechanical design that's coupled with the
electrical design. So the first thing I'm
going to talk about. It's actually an
interplay between the CAD software, which
is what architects and mechanical
engineers use and PCB software which is
what electrical engineers use.
So basically it's not about how to use any
given software. So the first thing that I
need to think about when I start designing
a PCB is what are the rules that the fab
needs me to follow in order to actually
have my final electrical design called the
Gerber file work in the fab or actually be
buildable and the green PCB is how it
looks on KiCAD and three dimensions. The
purple PCB is how a lot of fabs would
actually end up building it because a lot
of fabs do not deal with internal holes.
Many of them will do it but you might have
to actually contact them and talk to a
real person in order to make sure that
they will actually build it the way you
wanted because their software doesn't
necessarily automatically identify the
routing for that when they actually go to
the milling process. The other thing that
I have to think about is what are the
design rules on V-CUTS. So a V-CUT,
basically if you look at this heart that I
have an example of it's a very small
heart. So I can panelize it which means
putting more than one heart on a board so
that I can break them apart later. It's
makes it cheaper for me because then I get
four for the same price as I'd get one for
from the fab. But I have to incorporate a
way to break them apart. And those are
called V-CUTS and a V-CUT is just they
basically take a blade and they run the
PCB through it and it causes a small cut
to be made in the board and it's often on
both sides of the board. But in order to
do that they need a flat surface so it's
difficult to see in. I'll use the pointer
although I don't think it shows up online.
So basically on this red PCB where there's
the four hearts, they don't have a way of
making this yellow line because, or
without these small edges, because there's
no flat surface for them to use as a
guide. So then I got an email back from my
fab. They are like we can't build this the
way you wanted. So you have to add some
part that's flat so that we can actually
manufacture this for you which is why I
ended up having to add this. So it's a
really important design rule. In this case
it wasn't a problem because I had this
space to make it flat. But if you don't
design it with that in mind it might not
end up working. So then in order for that
extra part to be removeable I needed to do
something called adding mouse bites.
There's a couple of other names that these
go by but at least in Switzerland
everybody I know calls the mouse bites. So
basically that's this small square. And
this is what it looks like when you zoom
in and there's these small, or these three
small holes that make it very weak in that
part so you can just snap it apart and
break it. And this is what they look like
on the Christmas tree to break the
separate branches apart. So the other
thing you need to think about. You can't
just make things infinitely thin. You're
going to have to put the wires in
somewhere and you're going to have to put
the components in somewhere. And so you
need to think about how big those wires
need to be, how close to the edge can they
be and design with that in mind. So this
is the Christmas tree that I did. And this
side is actually, it's not the mirror
image. It's like the rotated image like if
you flip a pancake over a turn a book
over. So this is the backside and this is
the front side of each other. So when I go
and I zoom in on the center what you're
seeing is actually this is the backside
that would be on here. This is the
backside that would be over here. And what
you can see is that up here it's really
really tight and so you have to think
about how many wires do I kind of expect.
How big are these components and design so
that it really will eventually fit. And
sometimes you have to redesign things
because you need more wires than you
originally thought about. And then there's
also mechanical properties. So PCBs come
in different thicknesses in the case of my
Ph.D. when I built this I needed a very
very thin PCB because I had a very tight
restriction on this component and actually
all of these measurements are minimized as
much as possible for clearance and
manufacturability incivility. So in this
case the PCB was really really stable once
it was in the column.
But a number of people were not careful
and my collaborators...
Because this was delivered all over the
European Union.
A number of my collaborators were not
very careful with this PCB
and they would bend it or break it, which
made my fab even more happy with me
because basically they kept having
to rebuild them. So, you just need to
think about the manufacturability and like
once you start removing the inside how
strong will it be and will I be able to
bend it like paper. Because if you can do
that, it's not going to last very long. So
then you also just need to think about the
tolerances. And a lot of these are online.
So for example holes in pin headers. I
recently had a PCB that I designed and the
pin headers were a really good tight fit.
They basically stuck them in and they were
pretty much a right angle in the first
round. And then I ordered more and the
holes didn't fit anymore. So you need to
always allow for, you know, some tolerance
in your manufacturing site an error on a
bigger hole that you fill in with solder
at least in the artistic side then a small
hole that you have a perfect fit with.
Also wires near the edges can sometimes
cause problems. And that happens because
the tool might not be perfectly aligned.
So if you put your wires further away from
the edge you're going to have a more
likely chance of having a lot of really
good PCBs rather than difficulty with your
fab. And if you're already asking your fab
to do special stuff for you, you probably
don't want to make their life even harder.
And then tool radius. So in this first
version of the dragon fly I sometimes had
problems with this particular joint and
you can kind of see a blown up sort of out
of focus image here where you can see that
they had trouble with the tool because
they were using one milling tool for this
outside part. And then they had to go in
with a smaller tool to sort of get this
part out. And it was difficult for them.
So that's why in the Christmas tree I made
the fillet, so that's the curves on the
inner fillet, in manufacturing or and
mechanical engineering is when you have a
tight joint and you make a small radius
that's the size of the tool bit or larger.
So I made bigger ones in later designs,
for that reason. So now that you kind of
have a background in all the different
things you have to keep in the back of
your mind when you're actually going to
try and have this fabricated. Now, I'm
going to get to my workflow, which is what
I actually go through when I'm trying to
design something new. So the first thing I
do is I actually get a piece of paper and
a pen and I just start sketching what I
think it's going to look like. It's so
much faster to draw in on paper, even
though I'm really not a great artist, than
it is to try and draw in CAD with exact
dimensions and so on. Then I make a
schematic in KiCad. Schematics are
basically the the electronics, and saying
you know I need a resistor, I need a
capacitor and so on. Then I pick the
components, so that's like not just I need
a capacitor, but I need this type of
capacitor, that's this big, and this wide,
and this tall. And then, once I have that,
I now have the maximum size that all my
parts need to be, that need to fit on the
board to actually do something. So then I
can go in to a CAD model, which is what
the mechanical engineers, and the
manufacturing engineers, and the civil
engineers, and the architects use, to
start building the PCB outline, so that
electrical circuit board outline. Then I
import that model and I use the outlines
that I drew as the edge cuts. So that's
actually the end of where the milling tool
will go during the manufacturing process.
And then I placed the components where I
want them to be. And then I connect all
the wires how they need to be. And then I
optionally will panelize them, depending
on how big that PCB is going to be. So
that means putting more than one of the
same thing on the same board. And then ,if
I need to in order to have it be
manufacturable just like the heart, then I
have to add breakoffs, which is all those
parts that I'll eventually throw away just
so that they can do v-cuts and so on. So
this is me sketching what I think my
Christmas tree will look like. So what I
did as I started and I literally got a
piece of paper and I started drawing
triangles, that are the size I wanted it
to be. So this is 10 centimetres tall and
then each one of those small triangles is
5 centimetres. And then I started sort of
sketching this, trying to keep it at about
3 millimetres, because I've done so many
charlieplexing LED things at this point, I
know that if it's less than 3 millimetres,
it's going to be hard to route a lot of
wires. So it's a good starting point from
my side. All my components I also know
will be able to fit on that 3 millimetres,
except the microcontroller. So that means
somewhere I'm going to have to make
something bigger than that 3 centimetres
or 3 millimetre, 3 centimetres, sorry
that's wrong. It should be centimetres,
not millimetres. No, it should, yes
millimetres, sorry. Sometimes I think in
inches, I'm American. Laughs I haven't
quite converted. So basically I also think
about what it should do electrically. So
is this blinky lights, is there a motor is
there, what's that going to have on it?
And is it going to be 2D or 3D? And I
start thinking about if it's 3D, how am I
going to get ground and five volts from
one side to another. Do I need to get a
signal somewhere? Like is there one
microcontroller on this 3D object, and
therefore the branches are of the
Christmas tree are all going to have to
get the all the signals from the
microcontroller or I'm going to have
separate microcontrollers on each branch?
How's that gonna work? Then this is the
schematic, actually, and it's the same
schematic I've used for the dragon fly,
the heart, and the Christmas tree, where I
basically go in and I say "Okay, I have
that sketch that I drew by hand and I'm
going to need a capacitor that goes
between five volts and ground. I'm going
to need the microcontroller that's going
to tell all these LEDs what to do. And
because these are LEDs, I'm going to need
resistors." So I connect them all the way
that I want them to be and the way they
need to be to work. And then the next
thing I do is I actually go through and I
get on like a distributor for electronics
and I actually pick components. So this is
in 0603 capacitor. These are taken from
DigiKey. This is an ATtiny, these are
resistors, this is the LED and so on. And
that way, I have a physical idea of how
big these things need to be. And then
again footprints, so the pads that those
components are going to be soldered on are
actually bigger than the components
itself, logical. So I need to figure out
exactly how big those need to be. Because
if it's a perfect fit for the resistor
somewhere, that means that's not going to
be a perfect fit for the, resistor, it's
not going to be a perfect fit for the
pads. So I need to really think about the
pads. And at this point sometimes I design
new footprints. So maybe I want, instead
of the resistor to look like this, maybe I
want it to be a Christmas tree. So the
ball needs to be actually a ball, like I
want these to be the ornaments. So then I
just would make some silkscreen marks
around it to make it look like a ball, for
example. So then, I have to go ahead and
actually build the CAD model. So that
means I go into Fusion360, you could use
other software, I've used SolidWorks
before, as well. And then I start drawing
things. And these are all 3 millimeters.
And this is actually where the micro
controller goes, because it has to be big
enough for the microcontroller. And so
this was the logical place to put it. In
the dragonfly it's actually in the center
where the wings come together. In the
snowflake it's in the center as well. In
some other PCBs that might be on the stem
of a shamrock, because those are logical
places to be bigger. So this is a
snowflake that I was talking about. So
sometimes I also, and this is like
actually the one of my earlier PCBs, I
actually modeled the components to make
sure that it would make sense and it would
look OK. And I don't have the back shown.
But I also modeled this component. And if
you look, it's kind of a tight squeeze
there and I needed to make sure it would
fit. So then, once you have a CAD model
that you're happy with, then this is sort
of a weird step that it took me a while to
figure out. But I already had a lot of
experience dealing with the quirkiness of
machining tools and 3D software.
So, basically I export it from Fusion360
as a DXF, but because there's multiple
different formats that DXF can have, DXF
is just a two dimensional drawing format -
there's multiple forms that it can have -
I actually have to open it in another
software, because Fusion360 doesn't save
it in a format that KiCad can read. I open
it in a different free software and then
just save it as an R12 ASCII file, that's
a form of DXF, and then I can open it in
KiCad. If I don't do that what ends up
happening is only the straight lines show
up and some of the circles might. But none
of these complicated curves will show up
as edge cuts. So then I just go through,
once I have the edge cuts put on my board.
Because this is when I'm starting to
actually design the board. I import all of
the LEDs and so on that I did and the
schematic, and then I start placing them
where I want them to go. In some cases, I
might have, if I'm really going to be very
specific about where an LED needs to be, I
wasn't so much on the Christmas tree, I'll
also have exported the LEDs as part of the
edge cuts and I'll just delete them later.
And that way I know exactly where I want
that LED to be. And then I need to route
them. So all electrical softwares have
routing, as far as I know, that you can do
and it usually comes out in like a 45
degree angle or maybe 30. So often, I will
do it by hand. This is a different kit
that I built and I wanted the routing to
sort of make a heart shape in the
charlieplexed heart. And so I did it by
hand. The other option, it also if you do
it by hand, you are less likely to make
really dumb mistakes. So for example when
you use an auto router, auto routers know
where the components are, but they really
don't care about anything you would learn
in like a physics class. So they have no
problem with making an insanely long line
from a capacitor to a microcontroller and
you want that line to be really really
short because it's supposed to buffer
voltage changes and provide, like,
basically buffer fluctuations in the
amount of energy that microcontroller is
receiving from the main power source.
Because maybe more LEDs are drawing more
energy. But anyway, it'll make those lines
not the way they should be. So doing it by
hand is often better, but with some of my
designs like the Christmas tree it's just
not possible. Because this isn't an angle
that KiCad can do and that most software
can do, I actually export the file that
has all of the components on it, placed in
the correct location and the edge cuts,
and TopoR will go through it and it will
make curvy lines, by making lots of tiny
straight line segments. And one problem
with that is that, a lot of these auto
routing softwares have no ability to work
with a giant hole in the middle of the
PCB, so they'll just connect like this to
that, just through the hole. So that
doesn't work either. So there's a script
on my GitHub page. It's actually not on
there right now. I will put it up there by
the end of Congress. But I just didn't
have time over the holidays. And then once
I do that, I also need to check for stupid
electrical errors. Not because they won't
be connected but because sometimes you
have components that are close to another
component and the lines need to be very,
very short. So you might have to fix that
on your own. So then at that point you're
basically done, except if you want to
panelize. So in the case of the Christmas
tree I had 1 and I wanted to make 4. So in
order to make it panelize well, because
this is basically just a triangle, and I
needed to know how long it was and how
tall it was. And in my mind it was the
full 5 centimeters, but in reality,
because I had cut off this corner, it
wasn't five centimeters. So I took a like
marking edge, so something that the
manufacturing process doesn't use for
anything, and it doesn't end up in the
Gerber files, and I extended this line out
to where it should have ended. So it would
be the right shape. So then I could rotate
it and flip it and so on and have it
turned into this pattern. The other thing
is that I had to remove extra and
duplicate lines. So in the process of
making one, I needed to close all of the
lines. So on this mousebite there's a line
here, that actually, the arrows will show
it. So the blue lines or the blue arrows
show where these mouse bites are closed
and they're actually going to flip and
connect to each other. So I had to remove
them in the final panelized version over
here. So you can see it four times with
this edge removed. And then there were a
couple of mousebites that were close to
that edge so they weren't completely
closed. And it also had problems with
that, so I had to just replace them with
circles or close them manually. And then
the next step when you're panelizing is
also to add brake offs for the
manufacturing process. So in this case
that was these small edges because the
v-cuts needed the flat surface. So that is
the end of my talk. And if you have
questions, I'm open to questions. You can
also, if you're online and you're watching
this later, you can leave a comment on my
YouTube channel. I try and get back to
people and make videos based on their
comments. I have a Tindie page and I have
a webpage. And then, if you want to learn
how to solder but you don't know how, come
over to the hardware hacking area because
I'm going to be teaching a workshop on
that.
Herald: Thank you very much for this most
excellent talk. If you have, please a
round of applause.
Applause
If you have any questions, thers
microphones, 6, distributed through the
room. Please just walk up to them and I'll
point you out. Are there any questions
from the internet? No questions from the
internet. Are there any questions from the
audience in the Saal? Come on guys, I know
it's early. There is one. Please walk up
to the microphone there in the aisle.
Center front microphone please.
Front center microphone: Let's see if this
works. Sounds good. So I'm also very
fascinated of the idea of charlieplexed
circuits, and I'm wondering: Do you sell
any of your PCBs as kits or something?
Emily: Yeah, I have all of them as kits
with me. So go over to the hardware
hacking area.
Mic: OK, thats cool, thank you.
Emily: Yeah, even the ones that aren't on
Tindie. So basically anyting on my
webpage, tried to get all of it here.
Herald: Again, center front microphone
please.
Question: Yeah, hi. Why didn't you use the
PCB layout software to create the outline.
Emily: Because KiCad doesn't like
splines. And so, if i did the, so
basically PCB software is often designed
for straight lines or arcs. So just
circles und straight lines. To define more
complex shapes is significantly harder.
Also, with like standard manufacturing
software or standard mechanic engeineering
software. they are designed so that you
can parameterize things. So actually with
the snowflake or the Christmas tree in the
Fusion360 version, I have numbers that
say, you know, 3 milimeters. This is three
milimeters. So if I decide later I need it
to be 4 milimeters, I just go 4 and then
export it again. It's much faster. It
sounds harder, but is much faster.
Herald: Again front center microphone
please.
Question: Absolutely newbie. So I'm only
wondering if you prefer EAGLE as well?
Emily: So I've never used EAGLE.
And the reason, that I haven't is...
Well, there's two reasons.
First, right now it's only free
for smaller PCBs than the Christmas tree.
So I don't want to spend money because I'm
currently unemployed and I don't have that
kind of money. Second, my husband runs an
embedded systems company and he uses
KiCad. So I have a professional that lives
with me and that I can go "I don't
understand." and he can be like "Here is
how it works." So on that side it was
easier for me to use the software that was
already in my house. When I was working
professionally, we used a professional
software. So it's just basically I started
learning when EAGLE went from open source
and free to being bought by Autodesk.
Applause
Herald: Again center front microphone
please.
Question: Thanks for this interesting
talk. So I knew about PCB design, but the
artistic part is new. My question is, how
do you deal with, so I like to use Git or
some version control and with KiCad it's
easy. You have it if it's a XML file. But
with outer tools you have binary files. Do
you have any way to deal with diffs of
binary files?
Emily: So with most mechanical software
there is version control as well. So you,
like, for example in Fusion360 every time
I save it'll save the same file as version
1 or version 2 or version 3 or version 4.
So it't not really GitHub, but it does have
a way to regress backward in what you
want.
Mic: So you save it as version 1, version
2 or does it automatically
Emily: It automatically actually does it.
Every time you save it, it sort of appends
a new version to it. Because this is also
a problem industrially with mechanical
engineering designs, where mutlipe people
need to be working towards getting maybe a
probe to be stable. So they also have to
deal with version control.
Mic: Because I'm trying to do the switch
from EAGLE to KiCad, and in EAGLE I just
have version 1, version 200, 300, 400
Emily: Yeah, with KiCad I don't really do
so much version control. Yeah. I, he would
be the person to ask, because he's the
professional. The guy in that shirt with
the "do not panic" is really the person I end
up asking all of my really tough
electrical questions, too.
Herald: We have another question on the
front right microphone.
Mic: Yes, hi everybody. Thanks for the
talk. Not really a question, but just a
heads up. There is going to be, according
to my knowledge, a KiCad beginner
workshop on friday at 9 in the evening.
Just for those interested.
Emily: Cool.
Mic: Maybe you show up as well.
Laughter Emily: Maybe
Herald: Another question form the cernter
front microphone.
Question: To the usual PCB interested
person, how would you recommend
to find and select a fab?
Emily: For regular PCB, like if you are
just trying to make a square, I think any
of them will probably work. For me, like
when I was trying to do the Christmas
tree, I sent it to 3 different fabs. And
one of them I have a contact there,
because I actually visited that fab at one
point. And so that worked out. But when I,
acually the purple picture is from
OSH Park, and they say somewhere, that
they don't deal with internal holes.
Yeah, so I would just contact people. Just
email people if you have something weird.
Email people and see if they can do it.
Because most people who have a PCB fab
want money and will work for money.
Laughter
Herald: Next question again center front
microphone, please.
Question: Yeah. Very, very specific to
your talk.
You said that the DXF format
that Fusion puts out is not directly
readable, without loss, by KiCad. I missed
the software you use to convert it.
Emily: Ah, it's DraftSight. So...
... this ...
this slide. So thats how it's spelled.
Q: I see, thanks.
A: Yeah, and in that software they have,
I don't know,
maybe 20 different types of DXF and
other formats you can save things in.
So when I worked for the Swiss watch
industry
we would have to take all our files and
save it in the right one from customers.
Herald: Next question, center front
microphone
Question: Hey everybody.
If I wanted to find a lot of people
who already know KiCad,
where would be the best place to look?
Emily: An electrical
Herald: Probably the workshop.
Emily: Yeah.
Question: Well it's for beginners.
I'm talking about people who already
know KiCad. It's like,
is there like one main discussion
group in Usenet or something like
central point on the internet to
find those people?
Emily: Yeah.
Herald: The audience says: "Go to IRC.
There should be a KiCad channel."
Emily: Again, I
Herald: Probably on freenode.
Emily: Again, like he mentioned, I was a
broken person, who couldn't leave my
appartment for actually it was a very,
very long time. But, he was my answer for
everything. I was just like "I don't
understand after an hour. Can you fix
it?", he's like "OK". So I'm not
knowledgeable on that.
Herald: Next question from our signal
angel handling the watchers at home.
microphone issues
Emily: Thanks.
Herald: Next question center front
microphone.
Question: Hi, thanks for your talk. I just
have question about the mousebites.
How do you convert them from the
edgecut format to drilling, actually?
Answer: So, I just leave them as edgecuts,
honestly, and they magically work.
Mic: OK, not the answer I expected.
Thanks.
Herald: Are there any more questions?
Last call for questions.
No, doesn't look like it.
Well please give Emily Hammes
a nice round of applause
for her excellent talk.
Applause
Emily: Yep, and if you are watching
online, not during congress
you can contact me that way.
postroll music
subtitles created by c3subtitles.de
in the year 2019. Join, and help us!