*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!