Artistic PCB Design and Fabrication
CC Attribution 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Hammes Hacks
When a electrical device needs to be a piece of art or used as a mechanical component, a printed circuit board is more than a piece of fiberglass with wires embedded in it. In chemical engineering applications internal holes which allow fluids to be transported through the PCB need to be placed in complex precise patterns. As art, holes can be used to create positive and negative space, allowing you to see a charlieplexed LED display as a snowflake. Creating complex shapes in PCB design software is difficult to impossible. However, it is easy in CAD software. In this talk I will present the project workflow I use to design and manufacture my PCBs. Additionally, I will discuss the problems I have run into during manufacturing and how these problems were resolved.
 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 PhD 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 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. So, yeah, 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 bio engineer. 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 PhD in manufacturing. I had no idea what I was doing. So I designed it completely in SOLIDWORKS, which is basically a mechanical engineering software where I built a 3D model and 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 of that particular PCB, let's see if I can get the mouse to work. Actually, I can just walk over here. But basically, in this column, this is a column used in 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 they're 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 dragonfly 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 all the different softwares. I'll mention the softwares 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 key CAD in 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 want it 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 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. This makes it cheaper for me because then I get four for the same price as I'd get one four 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 that they were like, we can't build this the way you want it. 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 removable, I needed to do something called adding mouse bites. There's a couple of their names that these go by, but at least in Switzerland everybody I know calls them mouse bites. So basically that's this small square and this is what it looks like when you zoom in. And there's 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. If you flip a pancake over, you turn a book over. So this is the back side 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 back side that would be on here, this is the back side 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 PhD 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 randomized as much as possible for clearance and manufacturability and stability. So in this case, this PCB was really, really stable once it was in the column. But a number of people were not careful or 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 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, you 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 some tolerance in your manufacturing site and err on a bigger hole that you fill in with solder, at least in the artistic side, than 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 dragonfly, 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 so a fillet in manufacturing or in 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 and 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 it on paper even though I'm really not a great artist than it is to try and draw it in CAD with exact dimensions and so on. Then I make a schematic in KeyCAD. Schematics are basically the electronics and saying I need a resistor, I need a capacitor and so on. Then I pick the components so that's 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 cut. So that's actually the end of where the milling tool will go during the manufacturing process. And then I place the components where I want them to be and then I connect all the wires, all the wires that I 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 is 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 centimeters tall and then each one of those small triangles is 5 centimeters. And then I started sort of sketching this, trying to keep it at about 3 millimeters because I've done so many Charlie Plexigy LED things at this point. I know that if it's less than 3 millimeters, 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 millimeters except the micro controller. So that means somewhere I'm going to have to make something bigger than that 3 centimeters or 3 millimeters. No, 3 centimeters. Sorry, that's wrong. It should be centimeters, not millimeters. No, it should... Yes, millimeters. Sorry. Sometimes I think in inches I'm American. 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 it going to have on it? And then is it going to be 2D or 3D? And I started thinking about if it's 3D, how am I going to get ground and 5 volts from one side to another, do I need to get a signal somewhere? Is there one microcontroller on this 3D object? And therefore the branches of the Christmas tree are all going to have to get all the signals from the microcontroller or I'm going to have separate microcontrollers on each branch? How's it going to 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 5 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 an 0603 capacitor, these are taken from Digi-Key. This is an AT-Tiny, 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 it'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 that 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 Fusion 360, you could use other software, I've used SOLIDWORKS before as well, and then I start drawing things. And these are all 3mm, and this is actually where the microcontroller goes because it has to be big enough for the microcontroller and so this was the logical place to put it. And the dragonfly, it's actually in the center where the wings come together, and the snowflake, it's in the center as well, and some other PCBs that might be on the stem of a shamrock because those are logical places to be bigger. So this is the snowflake that I was talking about. So sometimes I also, this is actually one of my earlier PCBs, I actually modeled the components to make sure that it would make sense and it would look okay. And I don't have the back shown, but I also modeled this component. And if you look, it's kind of a tight squeezer, 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 Fusion 360 as a DXF, but because there's multiple different formats that DXFs can have, so 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 Fusion 360 doesn't save it in a format that KeyCAD 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 KeyCAD. 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 in 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 Charlie Plexed heart, and so I did it by hand. The other option, and 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 basically buffer fluctuations in the amount of energy that the microcontroller is receiving from the main power source because maybe more LEDs are drawing more energy. But anyway, it will 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 KeyCAD can do and that most softwares 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 Topa router 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 one and I wanted to make four. 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 five centimeters. But in reality, because I'd cut off this corner, it wasn't five centimeters. So I took a 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 that it would be the right shape. So then I could rotate it and flip it and so on and have it turn 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 mouse bite, there's a line here, so 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 mouse bites 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 breakoffs 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, like trying to get back to people and make videos based on their comments. I have a tindy page and I have a web page. 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. Thank you very much for this most excellent talk. If you have, please run over pause. If you have any questions, there's microphones, six 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 sal? Come on guys, I know it's early. There is one. Walk up to the microphone there in the aisle. Center front microphone, please. Let's see if this works. Sounds good. So I'm also very fascinated of the idea of Charlie Plague circuits and I'm wondering, do you sell any of your PCB as kits or something? Yeah, I have all of them as kits with me. So go over to the hardware hacking area. Okay, that's cool. Thank you. Yeah. I'm a little bit of a tindi. So basically anything on my web page tried to get all of it here. Again, center front microphone, please. Yeah. Hi. Why didn't you use the PCB layout software to create the outline? Because Kikad 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 and straight lines. To define more complex shapes is significantly harder. Also with like standard manufacturing software or standard mechanical engineering software, they're designed so that you can parameterize things. So actually with like the snowflake or the Christmas tree in the Fusion 360 version, I have numbers that say, you know, three millimeters. This is three millimeters. And so if I decide later I need it to be four millimeters, I just go four and then export it again. It's much faster. It sounds harder, but it's much faster. Again center front microphone, please. I'm an absolute newbie. So I'm only wondering if you prefer Eagle as well. 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 don't have that kind of money. Second, my husband runs an embedded systems company and he uses Kikad. So I have a professional that lives with me that I can go, I don't understand. And he can be like, here's 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. Again center front microphone, please. Thanks for this interesting talk. So I knew about PCB design, but the artistic part was new. My question is, how do you deal with, so I like to use Git or some version control. And with Kikad it's easy. You have a diff, it's an XML file, but with the other tools, you have binary files. You have any way to deal with diffs of binary files? So with most mechanical software, there's version control as well. So you, like for example, in Fusion 360, every time I save, it'll save. The same file as version one or version two or version three or version four. So it's not really GitHub, but it does have a way to regress backward in what you want. So you save it as version one, version two, or does it automatically? 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 multiple people need to be working towards getting maybe a probe to be stable. So they also have to deal with version control. Because I'm trying to do the switch from Eagle to Kikad and then Eagle, I just have version one, version 200, 300, 400. Yeah, so with Kikad, I don't really do so much version control. Yeah, he would be the person to ask, because he's the professional. The guy in that shirt with the donut panic is really the person I end up asking all of my really tough electrical questions to. We have another question on the front right microphone. Yes, hi everybody. Thanks for the talk. Not really a question, but just a heads up. There's going to be, according to my knowledge, a Kikad beginner workshop on Friday at nine in the evening, just for those interested. Cool. Maybe you show up as well. Another question from the center front microphone. To the usual PCB interested person, how would you recommend to find and select the fab? For regular PCB, if you're just trying to make a square, I think any of them will probably work. For me, when I was trying to do the Christmas tree, I sent it to three different fabs, and one of them, I have a contact there because I actually visited that fab at one point. That worked out. But when I, actually the purple picture is from Osh Park, and they say somewhere that they don't deal with internal holes. Yeah. I would just contact people, just email people. If you have something weird, email people and see if they can do it. Most people who have a PCB fab want money and will work for money. Next question, again, center front microphone, please. Yeah. Very specific to your talk. You said that the DXF format that Fusion puts out is not directly readable without loss by Kikad. I missed the software you used to convert it. It's DraftSite. So, this. This slide. So that's how it's spelled. I see. Thanks. 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 SwissWatch industry, we would have to take all our files and save it in the right one from customers. Next question, center front microphone. Hi, everybody. If I wanted to find a lot of people who already know Kikad, where would be the best place to look? Probably the workshop. Yeah. Well, that's the beginning. I'm talking about people who already know Kikad. Is there like one main discussion group in Usenet or something like central point on the internet to find these people? Yeah. The audience says, go to IRC. There should be a Kikad channel. Again, like he mentioned, I was a broken person who couldn't leave my apartment 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, okay. So I'm not knowledgeable on that. Next question from our signal angel handling the watchers at home. Thanks. Next question, center from microphone. Hi. Thanks for your talk. I just have a question about the mouse bite. How do you convert them from the edge cut format to drilling actually? So I just leave them as edge cuts, honestly, and they magically work. Okay. Not the answer I expected, but thanks. Are there any more questions? Last call for questions. No, it doesn't look like it. Well, please give Emily Hammers a nice round of applause for her excellent talk. Yep. And if you're watching online, not during Congress, you can contact me that way.
 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 PhD 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 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.  So, yeah, 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 bio engineer.  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 PhD in manufacturing.  I had no idea what I was doing.  So I designed it completely in SOLIDWORKS, which is basically a mechanical engineering  software where I built a 3D model and 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 of that particular PCB, let's see if I can get the  mouse to work.  Actually, I can just walk over here.  But basically, in this column, this is a column used in 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 they're 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 dragonfly 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 all the different softwares.  I'll mention the softwares 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 key CAD in 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 want it 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 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.  This makes it cheaper for me because then I get four for the same price as I'd get one  four 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 that they were like, we can't build this the way  you want it.  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 removable, I needed to do something called  adding mouse bites.  There's a couple of their names that these go by, but at least in Switzerland everybody  I know calls them mouse bites.  So basically that's this small square and this is what it looks like when you zoom in.  And there's 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.  If you flip a pancake over, you turn a book over.  So this is the back side 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  back side that would be on here, this is the back side 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 PhD 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  randomized as much as possible for clearance and manufacturability and stability.  So in this case, this PCB was really, really stable once it was in the column.  But a number of people were not careful or 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 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, you 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 some tolerance in your manufacturing site and err on a bigger  hole that you fill in with solder, at least in the artistic side, than 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 dragonfly, 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  so a fillet in manufacturing or in 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 and 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 it on paper even though I'm really not a great artist than  it is to try and draw it in CAD with exact dimensions and so on.  Then I make a schematic in KeyCAD.  Schematics are basically the electronics and saying I need a resistor, I need a capacitor  and so on.  Then I pick the components so that's 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 cut.  So that's actually the end of where the milling tool will go during the manufacturing process.  And then I place the components where I want them to be and then I connect all the wires,  all the wires that I 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 is 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 centimeters tall and then each one of those small triangles is 5 centimeters.  And then I started sort of sketching this, trying to keep it at about 3 millimeters  because I've done so many Charlie Plexigy LED things at this point.  I know that if it's less than 3 millimeters, 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 millimeters except the micro  controller.  So that means somewhere I'm going to have to make something bigger than that 3 centimeters  or 3 millimeters.  No, 3 centimeters.  Sorry, that's wrong.  It should be centimeters, not millimeters.  No, it should...  Yes, millimeters.  Sorry.  Sometimes I think in inches I'm American.  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 it going to have on it?  And then is it going to be 2D or 3D?  And I started thinking about if it's 3D, how am I going to get ground and 5 volts from  one side to another, do I need to get a signal somewhere?  Is there one microcontroller on this 3D object?  And therefore the branches of the Christmas tree are all going to have to get all the  signals from the microcontroller or I'm going to have separate microcontrollers on each  branch?  How's it going to 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 5 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 an 0603 capacitor, these are taken from Digi-Key.  This is an AT-Tiny, 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 it'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 that 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 Fusion 360, you could use other software, I've used SOLIDWORKS before  as well, and then I start drawing things.  And these are all 3mm, and this is actually where the microcontroller goes because it  has to be big enough for the microcontroller and so this was the logical place to put it.  And the dragonfly, it's actually in the center where the wings come together, and the snowflake,  it's in the center as well, and some other PCBs that might be on the stem of a shamrock  because those are logical places to be bigger.  So this is the snowflake that I was talking about.  So sometimes I also, this is actually one of my earlier PCBs, I actually modeled the  components to make sure that it would make sense and it would look okay.  And I don't have the back shown, but I also modeled this component.  And if you look, it's kind of a tight squeezer, 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 Fusion 360 as a DXF, but because there's multiple different  formats that DXFs can have, so 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 Fusion 360 doesn't save it in a format  that KeyCAD 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 KeyCAD.  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  in 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 Charlie Plexed heart, and so I did it by hand.  The other option, and 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 basically buffer fluctuations in the amount of energy that the microcontroller  is receiving from the main power source because maybe more LEDs are drawing more energy.  But anyway, it will 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 KeyCAD can do and that most  softwares 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 Topa router 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 one and I wanted to make four.  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 five centimeters.  But in reality, because I'd cut off this corner, it wasn't five centimeters.  So I took a 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 that it would be the right  shape.  So then I could rotate it and flip it and so on and have it turn 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 mouse bite, there's a line here, so 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 mouse bites 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 breakoffs 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, like trying to get back to people and make videos based on their  comments.  I have a tindy page and I have a web page.  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.  Thank you very much for this most excellent talk.  If you have, please run over pause.  If you have any questions, there's microphones, six 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 sal?  Come on guys, I know it's early.  There is one.  Walk up to the microphone there in the aisle.  Center front microphone, please.  Let's see if this works.  Sounds good.  So I'm also very fascinated of the idea of Charlie Plague circuits and I'm wondering,  do you sell any of your PCB as kits or something?  Yeah, I have all of them as kits with me.  So go over to the hardware hacking area.  Okay, that's cool.  Thank you.  Yeah.  I'm a little bit of a tindi.  So basically anything on my web page tried to get all of it here.  Again, center front microphone, please.  Yeah.  Hi.  Why didn't you use the PCB layout software to create the outline?  Because Kikad 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 and straight lines.  To define more complex shapes is significantly harder.  Also with like standard manufacturing software or standard mechanical engineering software,  they're designed so that you can parameterize things.  So actually with like the snowflake or the Christmas tree in the Fusion 360 version, I  have numbers that say, you know, three millimeters.  This is three millimeters.  And so if I decide later I need it to be four millimeters, I just go four and then export  it again.  It's much faster.  It sounds harder, but it's much faster.  Again center front microphone, please.  I'm an absolute newbie.  So I'm only wondering if you prefer Eagle as well.  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 don't have that kind  of money.  Second, my husband runs an embedded systems company and he uses Kikad.  So I have a professional that lives with me that I can go, I don't understand.  And he can be like, here's 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.  Again center front microphone, please.  Thanks for this interesting talk.  So I knew about PCB design, but the artistic part was new.  My question is, how do you deal with, so I like to use Git or some version control.  And with Kikad it's easy.  You have a diff, it's an XML file, but with the other tools, you have binary files.  You have any way to deal with diffs of binary files?  So with most mechanical software, there's version control as well.  So you, like for example, in Fusion 360, every time I save, it'll save.  The same file as version one or version two or version three or version four.  So it's not really GitHub, but it does have a way to regress backward in what you want.  So you save it as version one, version two, or does it automatically?  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  multiple people need to be working towards getting maybe a probe to be stable.  So they also have to deal with version control.  Because I'm trying to do the switch from Eagle to Kikad and then Eagle, I just have  version one, version 200, 300, 400.  Yeah, so with Kikad, I don't really do so much version control.  Yeah, he would be the person to ask, because he's the professional.  The guy in that shirt with the donut panic is really the person I end up asking all of  my really tough electrical questions to.  We have another question on the front right microphone.  Yes, hi everybody.  Thanks for the talk.  Not really a question, but just a heads up.  There's going to be, according to my knowledge, a Kikad beginner workshop on Friday at nine  in the evening, just for those interested.  Cool.  Maybe you show up as well.  Another question from the center front microphone.  To the usual PCB interested person, how would you recommend to find and select the fab?  For regular PCB, if you're just trying to make a square, I think any of them will probably  work.  For me, when I was trying to do the Christmas tree, I sent it to three different fabs, and  one of them, I have a contact there because I actually visited that fab at one point.  That worked out.  But when I, actually the purple picture is from Osh Park, and they say somewhere that  they don't deal with internal holes.  Yeah.  I would just contact people, just email people.  If you have something weird, email people and see if they can do it.  Most people who have a PCB fab want money and will work for money.  Next question, again, center front microphone, please.  Yeah.  Very specific to your talk.  You said that the DXF format that Fusion puts out is not directly readable without loss  by Kikad.  I missed the software you used to convert it.  It's DraftSite.  So, this.  This slide.  So that's how it's spelled.  I see.  Thanks.  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 SwissWatch industry, we would have to take all our files and save  it in the right one from customers.  Next question, center front microphone.  Hi, everybody.  If I wanted to find a lot of people who already know Kikad, where would be the best place  to look?  Probably the workshop.  Yeah.  Well, that's the beginning.  I'm talking about people who already know Kikad.  Is there like one main discussion group in Usenet or something like central point on  the internet to find these people?  Yeah.  The audience says, go to IRC.  There should be a Kikad channel.  Again, like he mentioned, I was a broken person who couldn't leave my apartment 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, okay.  So I'm not knowledgeable on that.  Next question from our signal angel handling the watchers at home.  Thanks.  Next question, center from microphone.  Hi.  Thanks for your talk.  I just have a question about the mouse bite.  How do you convert them from the edge cut format to drilling actually?  So I just leave them as edge cuts, honestly, and they magically work.  Okay.  Not the answer I expected, but thanks.  Are there any more questions?  Last call for questions.  No, it doesn't look like it.  Well, please give Emily Hammers a nice round of applause for her excellent talk.  Yep.  And if you're watching online, not during Congress, you can contact me that way.
35c3-9529-artistic_pcb_design_and_fabrication_0_59.png 35c3-9529-artistic_pcb_design_and_fabrication_60_839.png 35c3-9529-artistic_pcb_design_and_fabrication_840_1715.png 35c3-9529-artistic_pcb_design_and_fabrication_1716_2351.png 35c3-9529-artistic_pcb_design_and_fabrication_2352_5267.png 35c3-9529-artistic_pcb_design_and_fabrication_5268_10343.png 35c3-9529-artistic_pcb_design_and_fabrication_10344_10439.png 35c3-9529-artistic_pcb_design_and_fabrication_10440_11147.png 35c3-9529-artistic_pcb_design_and_fabrication_11148_14075.png 35c3-9529-artistic_pcb_design_and_fabrication_14076_14231.png 35c3-9529-artistic_pcb_design_and_fabrication_14232_14303.png 35c3-9529-artistic_pcb_design_and_fabrication_14304_14483.png 35c3-9529-artistic_pcb_design_and_fabrication_14484_17075.png 35c3-9529-artistic_pcb_design_and_fabrication_17076_21875.png 35c3-9529-artistic_pcb_design_and_fabrication_21876_34223.png 35c3-9529-artistic_pcb_design_and_fabrication_34224_34391.png 35c3-9529-artistic_pcb_design_and_fabrication_34392_34595.png 35c3-9529-artistic_pcb_design_and_fabrication_34596_34775.png 35c3-9529-artistic_pcb_design_and_fabrication_34776_35159.png 35c3-9529-artistic_pcb_design_and_fabrication_35160_37055.png 35c3-9529-artistic_pcb_design_and_fabrication_37056_39371.png 35c3-9529-artistic_pcb_design_and_fabrication_39372_42947.png 35c3-9529-artistic_pcb_design_and_fabrication_42948_44747.png 35c3-9529-artistic_pcb_design_and_fabrication_44748_47507.png 35c3-9529-artistic_pcb_design_and_fabrication_47508_50495.png 35c3-9529-artistic_pcb_design_and_fabrication_50496_50591.png 35c3-9529-artistic_pcb_design_and_fabrication_50592_50639.png 35c3-9529-artistic_pcb_design_and_fabrication_50640_50687.png 35c3-9529-artistic_pcb_design_and_fabrication_50688_51251.png 35c3-9529-artistic_pcb_design_and_fabrication_51252_54035.png 35c3-9529-artistic_pcb_design_and_fabrication_54036_54395.png 35c3-9529-artistic_pcb_design_and_fabrication_54396_54647.png 35c3-9529-artistic_pcb_design_and_fabrication_54648_54767.png 35c3-9529-artistic_pcb_design_and_fabrication_54768_54945.png