WEBVTT 00:00:00.000 --> 00:00:17.140 35C3 preroll music 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 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 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, 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 00:00:45.390 --> 00:00:51.550 your home without many tools is actually getting into electronics and well 00:00:51.550 --> 00:00:54.730 electronics can be functional but electronics can also be very very 00:00:54.730 --> 00:01:00.120 beautiful. So we 're going to look at the beautiful side of electronics today with 00:01:00.120 --> 00:01:06.575 our most excellent speaker Emily Hammes. applause 00:01:10.595 --> 00:01:13.030 Emily: So yeah. So I'm going to talk to 00:01:13.030 --> 00:01:17.330 you guys about artistic PCB design and fabrication. And like you said I'm a 00:01:17.330 --> 00:01:23.820 manufacturing engineer and a bioengineer. I'm really not an electrical engineer nor 00:01:23.820 --> 00:01:30.000 am I a programmer. I literally had one programming class in my 16 years at a 00:01:30.000 --> 00:01:35.000 university and I had two electronics classes so really not much more than 00:01:35.000 --> 00:01:42.240 gymnasium for everybody. My first PCB that I ever designed was actually during my 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 00:01:47.619 --> 00:01:53.600 solidworks which is a basically a mechanical engineering software where I 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 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 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 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 00:02:15.670 --> 00:02:20.760 just walk over here. But basically in this column, this column used chemical 00:02:20.760 --> 00:02:25.480 chromatography or liquid chromatography to separate chemicals by different 00:02:25.480 --> 00:02:31.629 properties. And what I needed to do was buffer humidity that was reaching poison 00:02:31.629 --> 00:02:39.069 gas sensors without losing the poison gas measurements because the sensors that my 00:02:39.069 --> 00:02:43.969 colleagues were designing were cross sensitive to humidity and to the poison 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 00:02:48.890 --> 00:02:52.269 remove the humidity or at least buffer it. So the signals wouldn't reach those 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 00:02:58.990 --> 00:03:04.590 built this PCB with the humidity and temperature sensor in the middle and then 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 00:03:11.469 --> 00:03:18.519 building holes in PCBs got started and building holes in PCBs is not really 00:03:18.519 --> 00:03:25.680 normal for fabrication companies. So when I took that PCB to EPFL and asked their 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 00:03:33.120 --> 00:03:40.150 mentioned I decided I wanted to, so basically I was living with my now husband 00:03:40.150 --> 00:03:47.069 and he runs a embedded systems engineering company. And so our apartment is a stack 00:03:47.069 --> 00:03:51.469 of oscilloscopes and multiple soldering irons and I knew very little about how to 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 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 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 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 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- 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 00:04:27.490 --> 00:04:32.590 that it blinks and it also has this stained glass window property. So there 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 00:04:41.000 --> 00:04:46.280 it's three dimensional. They basically the dragon fly and the Christmas tree have the 00:04:46.280 --> 00:04:50.560 same schematic so electrically they're identical it's just there's four of them 00:04:50.560 --> 00:04:58.150 on the Christmas tree. But mechanically they're very different. So that's a little 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 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 00:05:08.830 --> 00:05:12.700 different softwares I'll mention the software is that I use that are free. 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 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. 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. 00:05:26.570 --> 00:05:31.900 It's an introduction on how to fuse them together. Because that's the really 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 00:05:35.430 --> 00:05:42.061 on everything else. So basically it's mechanical design that's coupled with the 00:05:42.061 --> 00:05:46.060 electrical design. So the first thing I'm going to talk about. It's actually an 00:05:46.060 --> 00:05:50.270 interplay between the CAD software, which is what architects and mechanical 00:05:50.270 --> 00:05:56.810 engineers use and PCB software which is what electrical engineers use. 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 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 00:06:08.970 --> 00:06:15.660 needs me to follow in order to actually have my final electrical design called the 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 00:06:23.490 --> 00:06:29.070 looks on KiCAD and three dimensions. The purple PCB is how a lot of fabs would 00:06:29.070 --> 00:06:34.460 actually end up building it because a lot of fabs do not deal with internal holes. 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 00:06:39.810 --> 00:06:45.010 real person in order to make sure that they will actually build it the way you 00:06:45.010 --> 00:06:51.080 wanted because their software doesn't necessarily automatically identify the 00:06:51.080 --> 00:06:58.490 routing for that when they actually go to the milling process. The other thing that 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, 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 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 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 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 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 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 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 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 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 00:07:53.240 --> 00:07:59.821 the four hearts, they don't have a way of making this yellow line because, or 00:07:59.821 --> 00:08:04.580 without these small edges, because there's no flat surface for them to use as a 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 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 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 00:08:20.240 --> 00:08:22.950 really important design rule. In this case it wasn't a problem because I had this 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 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 00:08:41.828 --> 00:08:44.589 something called adding mouse bites. There's a couple of other names that these 00:08:44.589 --> 00:08:49.949 go by but at least in Switzerland everybody I know calls the mouse bites. So 00:08:49.949 --> 00:08:52.980 basically that's this small square. And this is what it looks like when you zoom 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 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 00:09:03.470 --> 00:09:12.220 on the Christmas tree to break the separate branches apart. So the other 00:09:12.220 --> 00:09:16.790 thing you need to think about. You can't just make things infinitely thin. You're 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 00:09:19.000 --> 00:09:24.200 the components in somewhere. And so you need to think about how big those wires 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 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 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 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 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 00:09:55.600 --> 00:10:00.269 that would be on here. This is the backside that would be over here. And what 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 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 00:10:12.470 --> 00:10:17.480 that it really will eventually fit. And sometimes you have to redesign things 00:10:17.480 --> 00:10:24.820 because you need more wires than you originally thought about. And then there's 00:10:24.820 --> 00:10:29.529 also mechanical properties. So PCBs come in different thicknesses in the case of my 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 00:10:34.980 --> 00:10:41.500 restriction on this component and actually all of these measurements are minimized as 00:10:41.500 --> 00:10:48.400 much as possible for clearance and manufacturability incivility. So in this 00:10:48.400 --> 00:10:52.750 case the PCB was really really stable once it was in the column. 00:10:52.750 --> 00:10:55.695 But a number of people were not careful and my collaborators... 00:10:55.695 --> 00:10:57.820 Because this was delivered all over the European Union. 00:10:57.820 --> 00:11:01.430 A number of my collaborators were not very careful with this PCB 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 00:11:05.960 --> 00:11:13.579 because basically they kept having to rebuild them. So, you just need to 00:11:13.579 --> 00:11:17.790 think about the manufacturability and like once you start removing the inside how 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 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 00:11:30.529 --> 00:11:37.779 tolerances. And a lot of these are online. So for example holes in pin headers. I 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. 00:11:43.610 --> 00:11:48.029 They basically stuck them in and they were pretty much a right angle in the first 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 00:11:55.689 --> 00:12:03.869 always allow for, you know, some tolerance in your manufacturing site an error on a 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 00:12:09.920 --> 00:12:16.829 hole that you have a perfect fit with. Also wires near the edges can sometimes 00:12:16.829 --> 00:12:23.939 cause problems. And that happens because the tool might not be perfectly aligned. 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 00:12:28.139 --> 00:12:32.999 likely chance of having a lot of really good PCBs rather than difficulty with your 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 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 00:12:47.220 --> 00:12:53.879 version of the dragon fly I sometimes had problems with this particular joint and 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 00:12:58.339 --> 00:13:02.249 they had trouble with the tool because they were using one milling tool for this 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 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 00:13:12.329 --> 00:13:18.399 the fillet, so that's the curves on the inner fillet, in manufacturing or and 00:13:18.399 --> 00:13:23.580 mechanical engineering is when you have a tight joint and you make a small radius 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, 00:13:29.839 --> 00:13:37.129 for that reason. So now that you kind of have a background in all the different 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 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 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 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 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 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 00:14:05.439 --> 00:14:12.009 dimensions and so on. Then I make a schematic in KiCad. Schematics are 00:14:12.009 --> 00:14:16.190 basically the the electronics, and saying you know I need a resistor, I need a 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 00:14:22.060 --> 00:14:26.360 a capacitor, but I need this type of capacitor, that's this big, and this wide, 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 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 00:14:38.519 --> 00:14:43.839 can go in to a CAD model, which is what the mechanical engineers, and the 00:14:43.839 --> 00:14:48.559 manufacturing engineers, and the civil engineers, and the architects use, to 00:14:48.559 --> 00:14:56.709 start building the PCB outline, so that electrical circuit board outline. Then I 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 00:15:03.939 --> 00:15:11.610 actually the end of where the milling tool will go during the manufacturing process. 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 00:15:19.399 --> 00:15:26.100 the wires how they need to be. And then I optionally will panelize them, depending 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 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 00:15:34.300 --> 00:15:39.410 manufacturable just like the heart, then I have to add breakoffs, which is all those 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 00:15:46.269 --> 00:15:54.100 this is me sketching what I think my Christmas tree will look like. So what I 00:15:54.100 --> 00:15:57.310 did as I started and I literally got a piece of paper and I started drawing 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 00:16:04.389 --> 00:16:11.459 then each one of those small triangles is 5 centimetres. And then I started sort of 00:16:11.459 --> 00:16:15.799 sketching this, trying to keep it at about 3 millimetres, because I've done so many 00:16:15.799 --> 00:16:23.079 charlieplexing LED things at this point, I know that if it's less than 3 millimetres, 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 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, 00:16:33.290 --> 00:16:36.410 except the microcontroller. So that means somewhere I'm going to have to make 00:16:36.410 --> 00:16:42.069 something bigger than that 3 centimetres or 3 millimetre, 3 centimetres, sorry 00:16:42.069 --> 00:16:47.829 that's wrong. It should be centimetres, not millimetres. No, it should, yes 00:16:47.829 --> 00:16:54.619 millimetres, sorry. Sometimes I think in inches, I'm American. Laughs I haven't 00:16:54.619 --> 00:17:00.999 quite converted. So basically I also think about what it should do electrically. So 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? 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 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 00:17:13.829 --> 00:17:17.589 signal somewhere? Like is there one microcontroller on this 3D object, and 00:17:17.589 --> 00:17:23.040 therefore the branches are of the Christmas tree are all going to have to 00:17:23.040 --> 00:17:26.550 get the all the signals from the microcontroller or I'm going to have 00:17:26.550 --> 00:17:33.920 separate microcontrollers on each branch? How's that gonna work? Then this is the 00:17:33.920 --> 00:17:37.740 schematic, actually, and it's the same schematic I've used for the dragon fly, 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 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 00:17:49.180 --> 00:17:52.110 between five volts and ground. I'm going to need the microcontroller that's going 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 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 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 00:18:08.130 --> 00:18:14.110 get on like a distributor for electronics and I actually pick components. So this is 00:18:14.110 --> 00:18:21.550 in 0603 capacitor. These are taken from DigiKey. This is an ATtiny, these are 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 00:18:26.550 --> 00:18:33.200 big these things need to be. And then again footprints, so the pads that those 00:18:33.200 --> 00:18:36.540 components are going to be soldered on are actually bigger than the components 00:18:36.540 --> 00:18:42.940 itself, logical. So I need to figure out exactly how big those need to be. Because 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 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 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 00:18:55.390 --> 00:19:02.630 new footprints. So maybe I want, instead of the resistor to look like this, maybe I 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 00:19:08.610 --> 00:19:12.930 want these to be the ornaments. So then I just would make some silkscreen marks 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 00:19:21.050 --> 00:19:28.640 actually build the CAD model. So that means I go into Fusion360, you could use 00:19:28.640 --> 00:19:32.840 other software, I've used SolidWorks before, as well. And then I start drawing 00:19:32.840 --> 00:19:39.630 things. And these are all 3 millimeters. And this is actually where the micro 00:19:39.630 --> 00:19:43.760 controller goes, because it has to be big enough for the microcontroller. And so 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 00:19:48.370 --> 00:19:54.190 where the wings come together. In the snowflake it's in the center as well. In 00:19:54.190 --> 00:19:57.800 some other PCBs that might be on the stem of a shamrock, because those are logical 00:19:57.800 --> 00:20:04.800 places to be bigger. So this is a snowflake that I was talking about. So 00:20:04.800 --> 00:20:08.871 sometimes I also, and this is like actually the one of my earlier PCBs, I 00:20:08.871 --> 00:20:12.440 actually modeled the components to make sure that it would make sense and it would 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 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 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 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 00:20:36.230 --> 00:20:44.229 experience dealing with the quirkiness of machining tools and 3D software. 00:20:44.229 --> 00:20:50.370 So, basically I export it from Fusion360 as a DXF, but because there's multiple 00:20:50.370 --> 00:20:57.370 different formats that DXF can have, DXF is just a two dimensional drawing format - 00:20:57.370 --> 00:21:01.350 there's multiple forms that it can have - I actually have to open it in another 00:21:01.350 --> 00:21:06.000 software, because Fusion360 doesn't save it in a format that KiCad can read. I open 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 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 00:21:15.440 --> 00:21:20.800 happening is only the straight lines show up and some of the circles might. But none 00:21:20.800 --> 00:21:28.050 of these complicated curves will show up as edge cuts. So then I just go through, 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 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 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 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 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 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 00:22:01.260 --> 00:22:08.650 that LED to be. And then I need to route them. So all electrical softwares have 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 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 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 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 00:22:36.600 --> 00:22:41.410 it by hand, you are less likely to make really dumb mistakes. So for example when 00:22:41.410 --> 00:22:45.780 you use an auto router, auto routers know where the components are, but they really 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 00:22:52.250 --> 00:22:57.290 problem with making an insanely long line from a capacitor to a microcontroller and 00:22:57.290 --> 00:23:04.100 you want that line to be really really short because it's supposed to buffer 00:23:04.100 --> 00:23:09.350 voltage changes and provide, like, basically buffer fluctuations in the 00:23:09.350 --> 00:23:15.270 amount of energy that microcontroller is receiving from the main power source. 00:23:15.270 --> 00:23:22.480 Because maybe more LEDs are drawing more energy. But anyway, it'll make those lines 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 00:23:28.530 --> 00:23:34.260 designs like the Christmas tree it's just not possible. Because this isn't an angle 00:23:34.260 --> 00:23:40.490 that KiCad can do and that most software can do, I actually export the file that 00:23:40.490 --> 00:23:49.830 has all of the components on it, placed in the correct location and the edge cuts, 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 00:23:55.240 --> 00:24:02.020 straight line segments. And one problem with that is that, a lot of these auto 00:24:02.020 --> 00:24:06.400 routing softwares have no ability to work with a giant hole in the middle of the 00:24:06.400 --> 00:24:12.520 PCB, so they'll just connect like this to that, just through the hole. So that 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 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 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 00:24:27.750 --> 00:24:32.490 electrical errors. Not because they won't be connected but because sometimes you 00:24:32.490 --> 00:24:35.930 have components that are close to another component and the lines need to be very, 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 00:24:43.110 --> 00:24:47.210 basically done, except if you want to panelize. So in the case of the Christmas 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 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 00:25:01.120 --> 00:25:06.750 tall it was. And in my mind it was the full 5 centimeters, but in reality, 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 00:25:11.890 --> 00:25:15.200 marking edge, so something that the manufacturing process doesn't use for 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 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 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 00:25:34.940 --> 00:25:39.190 is that I had to remove extra and duplicate lines. So in the process of 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 00:25:44.560 --> 00:25:49.750 here, that actually, the arrows will show it. So the blue lines or the blue arrows 00:25:49.750 --> 00:25:54.520 show where these mouse bites are closed and they're actually going to flip and 00:25:54.520 --> 00:25:59.960 connect to each other. So I had to remove them in the final panelized version over 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 00:26:05.362 --> 00:26:08.730 couple of mousebites that were close to that edge so they weren't completely 00:26:08.730 --> 00:26:11.620 closed. And it also had problems with that, so I had to just replace them with 00:26:11.620 --> 00:26:18.580 circles or close them manually. And then the next step when you're panelizing is 00:26:18.580 --> 00:26:23.800 also to add brake offs for the manufacturing process. So in this case 00:26:23.800 --> 00:26:31.730 that was these small edges because the v-cuts needed the flat surface. So that is 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 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 00:26:39.660 --> 00:26:43.280 YouTube channel. I try and get back to people and make videos based on their 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 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 00:26:52.300 --> 00:26:54.680 I'm going to be teaching a workshop on that. 00:26:54.680 --> 00:27:03.600 Herald: Thank you very much for this most excellent talk. If you have, please a 00:27:03.600 --> 00:27:10.030 round of applause. Applause 00:27:10.030 --> 00:27:14.290 If you have any questions, thers microphones, 6, distributed through the 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 00:27:19.330 --> 00:27:24.650 from the internet? No questions from the internet. Are there any questions from the 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 00:27:32.730 --> 00:27:39.690 to the microphone there in the aisle. Center front microphone please. 00:27:39.690 --> 00:27:45.630 Front center microphone: Let's see if this works. Sounds good. So I'm also very 00:27:45.630 --> 00:27:49.690 fascinated of the idea of charlieplexed circuits, and I'm wondering: Do you sell 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 00:27:53.810 --> 00:27:56.200 with me. So go over to the hardware hacking area. 00:27:56.200 --> 00:28:00.430 Mic: OK, thats cool, thank you. Emily: Yeah, even the ones that aren't on 00:28:00.430 --> 00:28:05.000 Tindie. So basically anyting on my webpage, tried to get all of it here. 00:28:05.000 --> 00:28:08.610 Herald: Again, center front microphone please. 00:28:08.610 --> 00:28:14.870 Question: Yeah, hi. Why didn't you use the PCB layout software to create the outline. 00:28:14.870 --> 00:28:23.261 Emily: Because KiCad doesn't like splines. And so, if i did the, so 00:28:23.261 --> 00:28:29.280 basically PCB software is often designed for straight lines or arcs. So just 00:28:29.280 --> 00:28:35.660 circles und straight lines. To define more complex shapes is significantly harder. 00:28:35.660 --> 00:28:41.040 Also, with like standard manufacturing software or standard mechanic engeineering 00:28:41.040 --> 00:28:45.900 software. they are designed so that you can parameterize things. So actually with 00:28:45.900 --> 00:28:52.590 the snowflake or the Christmas tree in the Fusion360 version, I have numbers that 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 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 00:29:05.820 --> 00:29:08.145 sounds harder, but is much faster. 00:29:08.145 --> 00:29:10.370 Herald: Again front center microphone please. 00:29:10.370 --> 00:29:21.060 Question: Absolutely newbie. So I'm only wondering if you prefer EAGLE as well? 00:29:21.060 --> 00:29:25.570 Emily: So I've never used EAGLE. And the reason, that I haven't is... 00:29:25.570 --> 00:29:30.680 Well, there's two reasons. First, right now it's only free 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 00:29:35.190 --> 00:29:40.860 currently unemployed and I don't have that kind of money. Second, my husband runs an 00:29:40.860 --> 00:29:45.050 embedded systems company and he uses KiCad. So I have a professional that lives 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 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 00:29:53.310 --> 00:29:57.650 already in my house. When I was working professionally, we used a professional 00:29:57.650 --> 00:30:02.550 software. So it's just basically I started learning when EAGLE went from open source 00:30:02.550 --> 00:30:08.970 and free to being bought by Autodesk. Applause 00:30:08.970 --> 00:30:12.960 Herald: Again center front microphone please. 00:30:12.960 --> 00:30:16.620 Question: Thanks for this interesting talk. So I knew about PCB design, but the 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 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 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 00:30:33.690 --> 00:30:40.750 binary files? Emily: So with most mechanical software 00:30:40.750 --> 00:30:46.720 there is version control as well. So you, like, for example in Fusion360 every time 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. 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 00:30:58.560 --> 00:31:00.560 want. Mic: So you save it as version 1, version 00:31:00.560 --> 00:31:03.280 2 or does it automatically Emily: It automatically actually does it. 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 00:31:09.680 --> 00:31:15.150 a problem industrially with mechanical engineering designs, where mutlipe people 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 00:31:21.250 --> 00:31:24.780 deal with version control. Mic: Because I'm trying to do the switch 00:31:24.780 --> 00:31:30.400 from EAGLE to KiCad, and in EAGLE I just have version 1, version 200, 300, 400 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 00:31:40.760 --> 00:31:45.160 be the person to ask, because he's the professional. The guy in that shirt with 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 00:31:50.140 --> 00:31:54.500 electrical questions, too. Herald: We have another question on the 00:31:54.500 --> 00:31:58.650 front right microphone. Mic: Yes, hi everybody. Thanks for the 00:31:58.650 --> 00:32:03.460 talk. Not really a question, but just a heads up. There is going to be, according 00:32:03.460 --> 00:32:11.320 to my knowledge, a KiCad beginner workshop on friday at 9 in the evening. 00:32:11.320 --> 00:32:14.450 Just for those interested. Emily: Cool. 00:32:14.450 --> 00:32:17.430 Mic: Maybe you show up as well. Laughter Emily: Maybe 00:32:17.430 --> 00:32:20.461 Herald: Another question form the cernter front microphone. 00:32:20.461 --> 00:32:25.770 Question: To the usual PCB interested person, how would you recommend 00:32:25.770 --> 00:32:33.300 to find and select a fab? Emily: For regular PCB, like if you are 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 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 00:32:44.840 --> 00:32:49.500 one of them I have a contact there, because I actually visited that fab at one 00:32:49.500 --> 00:32:57.630 point. And so that worked out. But when I, acually the purple picture is from 00:32:57.630 --> 00:33:03.900 OSH Park, and they say somewhere, that they don't deal with internal holes. 00:33:03.900 --> 00:33:12.120 Yeah, so I would just contact people. Just email people if you have something weird. 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 00:33:16.160 --> 00:33:20.750 want money and will work for money. Laughter 00:33:20.750 --> 00:33:24.135 Herald: Next question again center front microphone, please. NOTE Paragraph 00:33:24.135 --> 00:33:27.573 Question: Yeah. Very, very specific to your talk. 00:33:27.573 --> 00:33:34.050 You said that the DXF format that Fusion puts out is not directly 00:33:34.050 --> 00:33:40.390 readable, without loss, by KiCad. I missed the software you use to convert it. 00:33:40.390 --> 00:33:45.490 Emily: Ah, it's DraftSight. So... 00:33:45.490 --> 00:33:47.420 ... this ... 00:33:47.420 --> 00:33:50.410 this slide. So thats how it's spelled. 00:33:50.410 --> 00:33:51.650 Q: I see, thanks. 00:33:51.650 --> 00:33:54.430 A: Yeah, and in that software they have, I don't know, 00:33:54.430 --> 00:33:59.650 maybe 20 different types of DXF and other formats you can save things in. 00:33:59.650 --> 00:34:02.100 So when I worked for the Swiss watch industry 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. 00:34:07.020 --> 00:34:09.178 Herald: Next question, center front microphone 00:34:09.178 --> 00:34:12.008 Question: Hey everybody. If I wanted to find a lot of people 00:34:12.008 --> 00:34:15.118 who already know KiCad, where would be the best place to look? 00:34:15.118 --> 00:34:17.300 Emily: An electrical 00:34:17.300 --> 00:34:19.790 Herald: Probably the workshop. Emily: Yeah. 00:34:19.790 --> 00:34:21.125 Question: Well it's for beginners. 00:34:21.125 --> 00:34:23.510 I'm talking about people who already know KiCad. It's like, 00:34:23.510 --> 00:34:26.820 is there like one main discussion group in Usenet or something like 00:34:26.820 --> 00:34:30.079 central point on the internet to find those people? 00:34:30.079 --> 00:34:33.770 Emily: Yeah. Herald: The audience says: "Go to IRC. 00:34:33.770 --> 00:34:36.239 There should be a KiCad channel." Emily: Again, I 00:34:36.239 --> 00:34:38.379 Herald: Probably on freenode. Emily: Again, like he mentioned, I was a 00:34:38.379 --> 00:34:41.630 broken person, who couldn't leave my appartment for actually it was a very, 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 00:34:47.919 --> 00:34:54.050 understand after an hour. Can you fix it?", he's like "OK". So I'm not 00:34:54.050 --> 00:34:57.180 knowledgeable on that. Herald: Next question from our signal 00:34:57.180 --> 00:35:00.585 angel handling the watchers at home. 00:35:00.585 --> 00:35:06.960 microphone issues 00:35:06.960 --> 00:35:19.935 Emily: Thanks. 00:35:19.935 --> 00:35:22.560 Herald: Next question center front microphone. 00:35:22.560 --> 00:35:28.570 Question: Hi, thanks for your talk. I just have question about the mousebites. 00:35:28.570 --> 00:35:34.040 How do you convert them from the edgecut format to drilling, actually? 00:35:34.040 --> 00:35:39.700 Answer: So, I just leave them as edgecuts, honestly, and they magically work. 00:35:39.700 --> 00:35:46.200 Mic: OK, not the answer I expected. Thanks. 00:35:46.200 --> 00:35:51.700 Herald: Are there any more questions? Last call for questions. 00:35:51.700 --> 00:35:54.880 No, doesn't look like it. Well please give Emily Hammes 00:35:54.880 --> 00:35:57.375 a nice round of applause for her excellent talk. 00:35:57.375 --> 00:36:06.770 Applause 00:36:06.770 --> 00:36:11.430 Emily: Yep, and if you are watching online, not during congress 00:36:11.430 --> 00:36:13.335 you can contact me that way. 00:36:13.335 --> 00:36:18.252 postroll music 00:36:18.252 --> 00:36:38.000 subtitles created by c3subtitles.de in the year 2019. Join, and help us!