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