0 00:00:00,000 --> 00:00:30,000 This subtitle is not finished yet. If you are able to, please support us and watch the talk in amara for the last changes: https://c3subtitles.de/talk/1341 Thanks! 1 00:00:00,000 --> 00:00:13,219 *36c3 intro music* [Filler, please remove ina mara] 2 00:00:13,219 --> 00:00:23,380 Herald: Welcome everybody to our next talk: Linux on open source hardware with 3 00:00:23,380 --> 00:00:28,450 open source chip design. Who here in the audience uses Linux? please short sign of 4 00:00:28,450 --> 00:00:34,960 hands, feels like almost 100 percent, I would say. OK. A hundred percent of people 5 00:00:34,960 --> 00:00:40,380 use Linux. So who have you use it on open hardware? We are pleased. Another show of 6 00:00:40,380 --> 00:00:46,530 hands. Yeah, that's not too many. Who have you would like to use it on open hardware? 7 00:00:46,530 --> 00:00:50,780 And I guess that's why you're here. So I'm glad that we have Drew Fustini here. Our 8 00:00:50,780 --> 00:00:55,869 new speaker. He's a open source hardware designer and embedded Linux developer and 9 00:00:55,869 --> 00:01:00,570 also the vice president of the Open Source Software Association. And who better to 10 00:01:00,570 --> 00:01:04,799 tell you how to run your Linux on open source hardware? Please welcome Drew with 11 00:01:04,799 --> 00:01:09,340 a big, warm round of applause and have fun with this talk. Thank you very much. 12 00:01:09,340 --> 00:01:10,899 *applause* Thank you. 13 00:01:10,899 --> 00:01:14,000 *Applause* 14 00:01:14,000 --> 00:01:18,780 Drew: I'll skip past my introduction. It's Congress, so probably most people are 15 00:01:18,780 --> 00:01:22,200 familiar with open source. So before I jump into what open source hardware is, 16 00:01:22,200 --> 00:01:25,840 just want to frame it in the context. If people aren't familiar with open source 17 00:01:25,840 --> 00:01:29,479 is. So, examples that are Linux apparently always running Linux in this room, which 18 00:01:29,479 --> 00:01:34,829 is great. Underneath Android, there's Linux as well. LibreOffice which I use to 19 00:01:34,829 --> 00:01:38,899 make this presentation is also open source. Firefox the web browsers open 20 00:01:38,899 --> 00:01:43,999 source. So we're probably all very familiar with open source software and 21 00:01:43,999 --> 00:01:49,070 open source refers to something that you can modify and share because the design is 22 00:01:49,070 --> 00:01:52,859 publicly accessible. So with software we're talking about that you can inspect 23 00:01:52,859 --> 00:01:59,850 and modify and enhance the source code. So in the terms of, When we talk about open 24 00:01:59,850 --> 00:02:02,999 source, there's a couple different terms that people use. They might use free or 25 00:02:02,999 --> 00:02:07,830 Libre or open source and those do have different philosophical backgrounds. For 26 00:02:07,830 --> 00:02:11,130 the purposes of this talk, I'm going to conflate those terms and I'm just going to 27 00:02:11,130 --> 00:02:15,320 refer to it as open source hardware. Though some people use the terms free 28 00:02:15,320 --> 00:02:19,130 hardware, libre hardware, open hardware. But I'm just going to using the term open 29 00:02:19,130 --> 00:02:25,130 source hardware for this talk. So open source hardware is hardware whose design 30 00:02:25,130 --> 00:02:30,280 is made publicly available so that anyone can study, modify, distribute, make and 31 00:02:30,280 --> 00:02:35,920 sell that the design or hardware based on the design. So this is a definition that 32 00:02:35,920 --> 00:02:40,690 we came up with about 10 years ago at an event called the Open Hardware Summit. 33 00:02:40,690 --> 00:02:44,080 People that were making hardware projects, we got together and tried to come up with 34 00:02:44,080 --> 00:02:49,170 a definition of what we wanted it to mean. So I mostly do electronics, though. Open 35 00:02:49,170 --> 00:02:52,720 hardware and open source hardware is more than just that. It can be mechanical 36 00:02:52,720 --> 00:02:57,540 design, basically any physical object where you have design files that you could 37 00:02:57,540 --> 00:03:02,220 share. But just to give you an example in the context of electronics what where 38 00:03:02,220 --> 00:03:07,480 we're talking about is this schematic, the board layout and then the building 39 00:03:07,480 --> 00:03:12,221 materials, the parts list. And we're not just talking about an output file like a 40 00:03:12,221 --> 00:03:17,871 PDF or our graphic file of the schematic or Gerber is for the board layout. We're 41 00:03:17,871 --> 00:03:22,820 talking about editable source file from the from the CAD software. So something 42 00:03:22,820 --> 00:03:28,330 like Eagle or a KiCAD. And then one of the things that's good to do with the bill 43 00:03:28,330 --> 00:03:32,711 materials is if you want to enable other people deal to build your project, it's 44 00:03:32,711 --> 00:03:37,590 good to make sure that the components are available in low quantity. This isn't a 45 00:03:37,590 --> 00:03:41,090 strict requirement of the definition of open source hardware, but if you want 46 00:03:41,090 --> 00:03:44,560 people to build a build your project and it's important to make sure that they can 47 00:03:44,560 --> 00:03:52,780 build it in in low quantities. So many people have heard of Arduino. OK, good. 48 00:03:52,780 --> 00:03:57,580 Good number of people in the room. So Arduino was a microcontroller board that 49 00:03:57,580 --> 00:04:03,410 was created at small school in Italy like over 10 years ago. And it became super 50 00:04:03,410 --> 00:04:07,560 popular because they, it was good enough at the time to do a lot of different 51 00:04:07,560 --> 00:04:12,360 interactive electronics projects and they shared the hardware design and the code on 52 00:04:12,360 --> 00:04:16,930 the Internet. And it just kind of achieved critical mass. A lot of people took it and 53 00:04:16,930 --> 00:04:21,620 modified it for different projects, different use cases. At the beginning, I 54 00:04:21,620 --> 00:04:25,860 had a link there to the slides. Also, if you pull up the talk page, there's a link 55 00:04:25,860 --> 00:04:30,370 to the slides as well. I have a lot of links in these slides. Something that is 56 00:04:30,370 --> 00:04:33,419 interesting as there was a documentary back when Arduino was starting about the 57 00:04:33,419 --> 00:04:37,150 team. Just went to check out to see what see what things were like when that was 58 00:04:37,150 --> 00:04:43,960 starting. So one of the most popular Arduino boards is the UNO, which you see a 59 00:04:43,960 --> 00:04:48,110 picture of there. So how do we know that the UNO is open source hardware? Well, if 60 00:04:48,110 --> 00:04:52,270 we go to the Arduino Web site, we can see that the design files from Eagle, which is 61 00:04:52,270 --> 00:04:56,340 the CAD software they use, is there and we can download that zip file and it has the 62 00:04:56,340 --> 00:05:02,580 schematic and the board layout. Now, when we're releasing our design files for a 63 00:05:02,580 --> 00:05:07,699 hardware project, we need to choose a license. And there is a lot of different 64 00:05:07,699 --> 00:05:13,150 options when it comes to licenses. One is the Creative Commons suite of licenses. So 65 00:05:13,150 --> 00:05:18,169 one common one, you might see people use that CC-BY means attribution and then 66 00:05:18,169 --> 00:05:23,029 share like essay say. One thing to note is if you had the noncommercial attribute, 67 00:05:23,029 --> 00:05:27,410 then that makes it not open source. In this slide there's a link to a good blog 68 00:05:27,410 --> 00:05:31,780 post that kind of explains why if he had noncommercial clause, it no longer 69 00:05:31,780 --> 00:05:37,610 conforms to the the definition of open source. Other people use things like copy 70 00:05:37,610 --> 00:05:42,889 left licenses or reciprocal licenses like GPL and also permissive licenses like 71 00:05:42,889 --> 00:05:47,300 Apache and BSD and MIT. And then there's licenses that were created specifically 72 00:05:47,300 --> 00:05:51,740 for hardware projects, one of which is the CERN Open Higher License, which I want to 73 00:05:51,740 --> 00:05:58,340 talk more about specifically. So CERN, the physics laboratory here in Europe, they 74 00:05:58,340 --> 00:06:01,970 have a open hardware repository. So they're developing these electronics. And 75 00:06:01,970 --> 00:06:06,190 actually there was two great talks here in Congress from a couple electronics 76 00:06:06,190 --> 00:06:10,449 engineers that work on the electronics there. So they're building electronics for 77 00:06:10,449 --> 00:06:14,009 their physics experiments and they want to share that with other labs around the 78 00:06:14,009 --> 00:06:17,580 world. So they have an open hardware repository. And as part of that, they 79 00:06:17,580 --> 00:06:22,699 created the open hardware license and kind of give some background on this. One of 80 00:06:22,699 --> 00:06:26,629 the people that runs the team there is Javier Serrano. He gave a cool interview 81 00:06:26,629 --> 00:06:31,040 that's linked in the slides where he talks about their motivation behind this and in 82 00:06:31,040 --> 00:06:36,759 why they have the open hardware repository and create the license. Though this can 83 00:06:36,759 --> 00:06:40,110 get kind of confusing, there's not just licenses, there's also copyright and 84 00:06:40,110 --> 00:06:45,400 patents. At the Open Hardware Summit a few years ago Ari Douglas gave a nice talk 85 00:06:45,400 --> 00:06:51,499 about this so you can find that talk in the link there in the slides. He goes over 86 00:06:51,499 --> 00:06:56,469 what might be good for your project, depending on what purposes you're trying 87 00:06:56,469 --> 00:07:03,060 to achieve with your own project and kind of goes over the different options there. 88 00:07:03,060 --> 00:07:07,949 But what's the whole point of all this? So the reason you might want to make your 89 00:07:07,949 --> 00:07:11,979 project open source hardware is that you want to enable collaborative development. 90 00:07:11,979 --> 00:07:14,460 So we're talking about the idea here is that you're going to share your design 91 00:07:14,460 --> 00:07:18,930 files in your hoping other people will help to contribute to your project, 92 00:07:18,930 --> 00:07:22,839 contribute to the design of your hardware. So I would say that's like the main reason 93 00:07:22,839 --> 00:07:27,809 to release the design files for your project is open source hardware. If you're 94 00:07:27,809 --> 00:07:32,139 not interested in other people collaborating on your project, then it 95 00:07:32,139 --> 00:07:36,020 might not be the right thing for your project. So it's good to consider whether 96 00:07:36,020 --> 00:07:42,180 or not you want to have other people contribute to your project. So I 97 00:07:42,180 --> 00:07:45,010 mentioned, well it was mentioned at the beginning: I'm part of the Open Source 98 00:07:45,010 --> 00:07:50,520 Hardware Association. So we're a nonprofit based in the US, even though we do have 99 00:07:50,520 --> 00:07:56,719 board members around the world. We have Mathias, who's one of our board members in 100 00:07:56,719 --> 00:08:02,150 Vienna. I'm actually based in Berlin now as well. So one of the things we do is we 101 00:08:02,150 --> 00:08:07,469 host the definition of what open source hardware is. We also have things like best 102 00:08:07,469 --> 00:08:11,870 practices guide, a checklist that you can go through to see if you're releasing all 103 00:08:11,870 --> 00:08:16,199 the things you need to for open source hardware project. But the main thing that 104 00:08:16,199 --> 00:08:20,749 we do is we helped organize this event called the Open Hardware Summit, and 105 00:08:20,749 --> 00:08:26,310 that's going to be coming up in March of 2020 in New York City. So hope to see some 106 00:08:26,310 --> 00:08:31,650 of you there if you can make it. This will be our tenth one. And so we started in 107 00:08:31,650 --> 00:08:35,470 2010. This year, though, we decided to do something a little bit different. So we 108 00:08:35,470 --> 00:08:40,510 had Open Hardware Month. So Idea with this is, we wanted to have people from around 109 00:08:40,510 --> 00:08:45,100 the world do locally organized meet ups and talks and workshops that kicked off 110 00:08:45,100 --> 00:08:49,990 with one in some in Vienna and Colorado in the US. And it was really cool. We had 40 111 00:08:49,990 --> 00:08:57,130 events in 14 different countries and we'll be doing it again in 2020. So hopefully 112 00:08:57,130 --> 00:09:02,380 some of you can get involved with events wherever you're located. And if you're 113 00:09:02,380 --> 00:09:05,250 wondering what happens with the Open Hardware Summit, you can check out the 114 00:09:05,250 --> 00:09:10,100 talks from our last one, which was in 2018. Give you an idea of what happens 115 00:09:10,100 --> 00:09:14,340 there. In kind of some insight into the different sorts of the projects people are 116 00:09:14,340 --> 00:09:17,251 doing. I do a lot electronics, but there's a lot more than that. There's people that 117 00:09:17,251 --> 00:09:23,770 are doing science and art and design, all sorts of different things. One of the 118 00:09:23,770 --> 00:09:28,380 other things we do with the Officers Heart Association is we have a certification 119 00:09:28,380 --> 00:09:31,890 program. So this is self certification program. You got a 120 00:09:31,890 --> 00:09:35,490 "certificate.oshwa.org". And you you fill out the name, your project, the license 121 00:09:35,490 --> 00:09:40,820 you're using linked to your design files, linked to your documentation, and then you 122 00:09:40,820 --> 00:09:47,000 get this logo that you can use. And kind of one of the value of this, if you're 123 00:09:47,000 --> 00:09:51,110 making a project, is you can put that on your packaging or I put it on like the 124 00:09:51,110 --> 00:09:56,180 silk screen of my board. So then people can really easily identify that it's open 125 00:09:56,180 --> 00:10:00,520 hardware and then they can go to that Web site and they can type an I.D. number and 126 00:10:00,520 --> 00:10:04,001 be able to pull up the page that links them to the documentation, the design 127 00:10:04,001 --> 00:10:09,740 files. And then for people that are looking for like I want a certain type of 128 00:10:09,740 --> 00:10:15,110 device and I want to find one that's open source hardware. If you see this logo, you 129 00:10:15,110 --> 00:10:20,449 can go and look that up in the database and find out more about it. So if you're 130 00:10:20,449 --> 00:10:24,850 interested and know more about the Open Source Hardware Association, you can go to 131 00:10:24,850 --> 00:10:30,630 "oshwa.org". You can join as a member of the association. We also have a mailing 132 00:10:30,630 --> 00:10:36,430 list and a forum. If you want to check us out on Twitter, the "@OHsummit" is the 133 00:10:36,430 --> 00:10:39,950 Open Hardware Summit account, where we have a lot of activity going on right now 134 00:10:39,950 --> 00:10:43,589 about that because it's coming up in March. Mean, our executive director, 135 00:10:43,589 --> 00:10:47,509 Alicia Gib, who's one of the people that started this summit, she wrote a book 136 00:10:47,509 --> 00:10:51,259 called Building Open Source Hardware, and it has essays from different people that 137 00:10:51,259 --> 00:10:55,720 have built open hardware projects. So it's a good thing to check out if you're 138 00:10:55,720 --> 00:11:01,509 wanting to see what different experiences people have had with that. So the point of 139 00:11:01,509 --> 00:11:06,149 all, the kind, the main theme of this talk was about Linux on open source hardware, 140 00:11:06,149 --> 00:11:12,019 which is my two favorite things. So one of my favorite projects was developed by 141 00:11:12,019 --> 00:11:17,500 Bunnie, who gave an awesome talk on the first day here at Congress. And Sean Cross 142 00:11:17,500 --> 00:11:22,279 (xobs) he was giving a workshop right now on the FOMU. So this was a completely open 143 00:11:22,279 --> 00:11:27,029 source laptop for everything, including the all the electronics were were open 144 00:11:27,029 --> 00:11:29,589 source. And at the time when this came out, like four or five years ago, it was 145 00:11:29,589 --> 00:11:34,760 it was a pretty decent system. I have one and I used it for for many years. So this 146 00:11:34,760 --> 00:11:38,140 is a really cool idea of having a laptop that I can use every day. That's open 147 00:11:38,140 --> 00:11:44,839 hardware. And it had some cool features like an FPGA and a software defined radio. 148 00:11:44,839 --> 00:11:51,350 And then if you're wondering what's kind of coming up next, if you go to the CDC, 149 00:11:51,350 --> 00:11:58,620 CDC area here at Congress, you can see the reform laptop. So Lucas from MNT is there. 150 00:11:58,620 --> 00:12:02,560 He has this is a completely open source hardware laptop. The electronics, the 151 00:12:02,560 --> 00:12:05,680 mechanical design, everything. So I recommend you go check that out. It's 152 00:12:05,680 --> 00:12:13,600 really cool. It's in the CDC area, which is the critical decentralized cluster. So 153 00:12:13,600 --> 00:12:17,899 one of the other things I'm involved with is a "beagleboard.org". So we're a 154 00:12:17,899 --> 00:12:23,070 nonprofit organization that helps design open hardware computers. That is 155 00:12:23,070 --> 00:12:27,940 everything for people from makers to students, even Professionals that are 156 00:12:27,940 --> 00:12:32,350 designing into their projects. And what we do is we work with different manufacturers 157 00:12:32,350 --> 00:12:38,540 and we also work with the community to come up with designs that are useful. So 158 00:12:38,540 --> 00:12:42,550 this started off with the Beagle Board back in 2008, so this was kind of the 159 00:12:42,550 --> 00:12:47,379 first low cost ARM development board. In back at that time a lot of people were 160 00:12:47,379 --> 00:12:53,480 needing ARM hardware to port their free software and open source software to ARM, 161 00:12:53,480 --> 00:12:58,140 and the board was pretty popular for that. We followed it up with littleler board 162 00:12:58,140 --> 00:13:02,220 called the BeagleBone, which fits into the old toys tin, if you've seen those mid 163 00:13:02,220 --> 00:13:07,130 tins, if you've probably used the BeagleBone your probably most really with 164 00:13:07,130 --> 00:13:12,230 the beagle bone black, which was, I would say still our most popular board. So kind 165 00:13:12,230 --> 00:13:15,490 of the theme here is because it's open source hardware, there's a whole bunch of 166 00:13:15,490 --> 00:13:20,000 different BeagleBones made by different manufacturers with different features and 167 00:13:20,000 --> 00:13:24,750 different price points like a SeedStudio decided probably most people don't care 168 00:13:24,750 --> 00:13:29,920 about HDMI, so they took the HDMI off to save some cost. Arrow wanted to make one 169 00:13:29,920 --> 00:13:34,120 that worked with industrial temps, so they it's a little bit more expensive, but it 170 00:13:34,120 --> 00:13:41,550 has industrial temp components on it. And then one of the things that's important 171 00:13:41,550 --> 00:13:45,260 with open source hardware is we want people to be able to take the design files 172 00:13:45,260 --> 00:13:49,430 and make derivatives. So we have this smaller one called the PocketBeagle. The 173 00:13:49,430 --> 00:13:53,209 cool thing about this is a pretty simple circuit board. It has something called the 174 00:13:53,209 --> 00:13:56,980 system in package that integrates a lot of the chips. So it makes the board layout 175 00:13:56,980 --> 00:14:01,129 really simple. So this is just a four layer circuit board and it's available in 176 00:14:01,129 --> 00:14:06,850 Eagle and also in Key CAD. And if you have some experience like if you go over to the 177 00:14:06,850 --> 00:14:10,930 hardware hacking area, you can learn to do surface mount assembly and with a little 178 00:14:10,930 --> 00:14:16,779 bit of experience, you could order the board, order the parts and build your own. 179 00:14:16,779 --> 00:14:22,589 Or as Kumar did, he wanted to make a logic analyzer board. So he took the design of 180 00:14:22,589 --> 00:14:26,610 the PocketBeagle and he added on the features he needed, like the inputs for 181 00:14:26,610 --> 00:14:31,529 the probes. And he also added a gigabit networking. So this is kind of cool to see 182 00:14:31,529 --> 00:14:35,600 people take the design in the PocketBeagle and then modify it for their project for 183 00:14:35,600 --> 00:14:41,490 their use case. And here's an example of the the logo. So the latest boy we had was 184 00:14:41,490 --> 00:14:46,620 the BeagleBone AI. So we registered that back in the summer. So it's US because it 185 00:14:46,620 --> 00:14:52,129 was registered in the US as a country code and then it's 169. So it's just like a 186 00:14:52,129 --> 00:14:57,810 sequential number. So it's easy for people to identify if they go to the git hub. OK. 187 00:14:57,810 --> 00:15:02,370 It's open source hardware certified and then it links off to the page with the 188 00:15:02,370 --> 00:15:09,300 database with information about it. So I wanted to mention, Olimex we're here in 189 00:15:09,300 --> 00:15:13,850 Europe. And, you know, in Bulgaria is one of the best open hardware companies, in my 190 00:15:13,850 --> 00:15:18,000 opinion. And they have a line of open source hardware, Linux computers called 191 00:15:18,000 --> 00:15:25,910 the OLinux. We know. And the person behind Olimex fed. has a great blog post about 192 00:15:25,910 --> 00:15:31,540 open source hardware and why it matters to them. So a few years ago, they wanted to 193 00:15:31,540 --> 00:15:37,889 create a ARM 64 bit ARM board that was completely open source and designed in 194 00:15:37,889 --> 00:15:43,660 KiCAD, which is a free software open source circuit design software. Tsvetan 195 00:15:43,660 --> 00:15:48,999 and gave a nice talk at FOSDEM a few years ago about the process of them switching 196 00:15:48,999 --> 00:15:53,601 from their proprietary CAD software over to KiCAD and designing this open source 197 00:15:53,601 --> 00:16:01,180 hardware board. So and then if you've not heard of KiCAD before or KiCAD doesn't 198 00:16:01,180 --> 00:16:05,200 really matter what you say. Some people say "Keycad" some people say "kaicad" but 199 00:16:05,200 --> 00:16:09,790 it's open source software for designing circuit boards. It's cross platform runs 200 00:16:09,790 --> 00:16:15,520 on Macs, Windows and Linux. And one of the cool things about it now is. There's 201 00:16:15,520 --> 00:16:19,680 developers at CERN that are working on it. And the project leader, Wayne, is now 202 00:16:19,680 --> 00:16:23,939 working on a full time is this job. So it's cool to see a lot of the developers 203 00:16:23,939 --> 00:16:28,420 now being able to do it as their day job. So it's kind of getting critical mass in 204 00:16:28,420 --> 00:16:34,350 that way. And if you want to try it out, I recommend if you search on YouTube for 205 00:16:34,350 --> 00:16:38,161 "Getting to Blinky", it's a nice tutorial about teaches you how to go through and 206 00:16:38,161 --> 00:16:46,839 make a little board that blinks an LED. So Olimex took that board that they designed 207 00:16:46,839 --> 00:16:52,660 in KiCAD, the OLinux we know, a 64, and they wanted to make a laptop with it. So 208 00:16:52,660 --> 00:16:58,600 that's called the terrorists One the design files are git hub for it. So the 209 00:16:58,600 --> 00:17:03,709 idea there is to make a modular laptop that people can put different boards in 210 00:17:03,709 --> 00:17:10,120 and things like that. Another interesting open hardware project was the "chip", 211 00:17:10,120 --> 00:17:12,919 which you might have heard of, it was built as a nine dollar computer. They had 212 00:17:12,919 --> 00:17:17,370 a really successful Kickstarter back in 2015. Unfortunate that company went on a 213 00:17:17,370 --> 00:17:23,600 business in 2018 three years later. But the cool thing about it was it was all 214 00:17:23,600 --> 00:17:29,260 open source hardware, the schematics, the PCB, the build materials. And if you see 215 00:17:29,260 --> 00:17:32,200 here, there is this really cool thing called the pocket ship, which was this 216 00:17:32,200 --> 00:17:36,980 nice like handheld little Linux computer. It was really cool. But the company went 217 00:17:36,980 --> 00:17:41,520 to business, which was unfortunate. But this one person, Christopher, he goes by 218 00:17:41,520 --> 00:17:47,260 "Groguard". He designed his own board that plugs into the pocket chip. And if you 219 00:17:47,260 --> 00:17:50,720 click on the link in the slides, you can see doom running on it, which is like, oh, 220 00:17:50,720 --> 00:17:57,159 it's the demo that you show with a Linux system. Then he went and designed this 221 00:17:57,159 --> 00:18:01,450 other board, which is pretty cool, so this fits into a popular form factor for 222 00:18:01,450 --> 00:18:06,730 microcontroller boards called the Adafruit Feather form Factor. And this is a full 223 00:18:06,730 --> 00:18:12,520 Linux system. And you can. It's fully open source and there is a crowdfunding 224 00:18:12,520 --> 00:18:18,679 campaign for it. That happened earlier this year. So one of the things I also 225 00:18:18,679 --> 00:18:26,820 want to talk about, especially here at Congress, is the idea of open source and 226 00:18:26,820 --> 00:18:32,340 FPGAs. Then Well, I'll tell you about how that plays into Linux. So being the really 227 00:18:32,340 --> 00:18:35,730 cool things that's happened over the last couple years and many some of the people 228 00:18:35,730 --> 00:18:40,380 here, Congress have been a part of that. Like Clifford Wolff and David Shaw, and 229 00:18:40,380 --> 00:18:45,809 other people have built free software tools that allows you to not have to use 230 00:18:45,809 --> 00:18:52,020 the proprietary tools from the FPGA vendors kind of wrote a Overview of this 231 00:18:52,020 --> 00:18:56,510 and recent issue with hacks based magazine. You can download the PDF for 232 00:18:56,510 --> 00:19:02,070 free if you want to check that out. And one of the talks at Congress a few years 233 00:19:02,070 --> 00:19:06,190 ago was from Clifford Wolf. So this kind of all started off with this one FPGA 234 00:19:06,190 --> 00:19:11,371 called the iCE40. And he wrote kind of over time wrote different pieces of 235 00:19:11,371 --> 00:19:17,260 software that you need to be able to take your design and put it onto an FPGA. So 236 00:19:17,260 --> 00:19:22,690 that was for a part called the iCE40. So that was Project Ice Storm. And then a few 237 00:19:22,690 --> 00:19:28,950 years later. David Shaw primarily helped develop open source software that lets you 238 00:19:28,950 --> 00:19:36,390 put onto a more capable part called the ECP5. And then most recently, there's a 239 00:19:36,390 --> 00:19:40,990 there's project x-ray and another project called Symbol Flow that's been working on 240 00:19:40,990 --> 00:19:47,730 bringing open source tools to higher end of FPGAs. These Xilinx Series 7 FPGA, 241 00:19:47,730 --> 00:19:52,750 they're going to add a lot more capabilities. So why is this important for 242 00:19:52,750 --> 00:19:58,520 Linux? Well, if we have an FPGA that's capable enough, we can put a soft core in 243 00:19:58,520 --> 00:20:03,480 there and then we can potentially run Linux on that soft core. So Greg is here 244 00:20:03,480 --> 00:20:07,630 at Congress and he designed this really cool board. This also an Adafruit form 245 00:20:07,630 --> 00:20:12,370 factor called the orange crab. And actually yesterday he got Linux to run on 246 00:20:12,370 --> 00:20:16,490 it, which was really fun. So this is a open source hardware board. You can 247 00:20:16,490 --> 00:20:25,040 download the designs of the board and it's using a soft core in a FPGA to run Linux. 248 00:20:25,040 --> 00:20:30,730 One of the other boards came out of a hackerspace in Croatia "radiona.org", and 249 00:20:30,730 --> 00:20:35,830 that's also using the ECP5 FPGA and that's capable of running Linux as well. And 250 00:20:35,830 --> 00:20:40,710 they're doing about to do a crowdfunding campaign now so you can check that out on 251 00:20:40,710 --> 00:20:46,029 "crowdsupply". And David Shaw was one of the open source developers. He created 252 00:20:46,029 --> 00:20:50,650 this "ultimate" board called the 'Trellis Board', which I think would be probably 253 00:20:50,650 --> 00:20:54,680 pretty attractive for running Linux. I think it has a gigabyte of DDR memories of 254 00:20:54,680 --> 00:20:59,890 its pretty substantial system for running Linux and its open source. You can 255 00:20:59,890 --> 00:21:06,170 download the plans and build it. And then recently, back in November, there was the 256 00:21:06,170 --> 00:21:11,190 Hackaday Super Conference and everyone at the conference got this badge, which was 257 00:21:11,190 --> 00:21:17,350 kind like this Gameboy form factor, but it has the ECP5 FPGA that allows us to have a 258 00:21:17,350 --> 00:21:22,850 soft core on there and run Linux. So kind of some different options of open hardware 259 00:21:22,850 --> 00:21:28,890 boards that are using soft cores in FPGA is to run Linux. And then one of the 260 00:21:28,890 --> 00:21:33,360 people over in the open FPGA assembly here at Congress is a pretty cool picture, as I 261 00:21:33,360 --> 00:21:37,460 was talking about, like a soft core. Well, what does that look like when it's an 262 00:21:37,460 --> 00:21:41,070 FPGA? So this is kind of a cool picture of what it looks like when all those 263 00:21:41,070 --> 00:21:46,970 different gates are laid out inside the FPGA to have a Linux capable processor 264 00:21:46,970 --> 00:21:53,591 core. So one of the ways that we do this is so we talk about a soft core, well, how 265 00:21:53,591 --> 00:21:57,830 do you make that? And one of the important pieces software that all these boards that 266 00:21:57,830 --> 00:22:02,950 was is showing you use is a project called "LiteX". So this is a pretty interesting 267 00:22:02,950 --> 00:22:10,110 way of creating a system on chip inside the FPGA. An extra uses a Python based 268 00:22:10,110 --> 00:22:15,100 language called Migen. And if you're interested in it, I'd recommend checking 269 00:22:15,100 --> 00:22:21,690 out this blog posts from Bunnie where he talks about the advantages of it. And it 270 00:22:21,690 --> 00:22:24,320 gives you things like it gives you like a DRAM controller, Ethernet controller, PCI 271 00:22:24,320 --> 00:22:30,429 controller SATA controller so you can take those pieces of IP and put them together 272 00:22:30,429 --> 00:22:38,131 for what you need for your project. And then in terms of the soft core we can, one 273 00:22:38,131 --> 00:22:44,511 of the things that LiteX gives you is the ability to run a RISC-V soft core. So that 274 00:22:44,511 --> 00:22:50,100 project's called LiteX on Linux or Linux on LiteX, and that's what the Orange Crab 275 00:22:50,100 --> 00:22:55,220 is using in the HackaDay badge and those other projects, the radio and a board. 276 00:22:55,220 --> 00:22:57,929 That's how it's running. There's a couple of projects that are doing similar things 277 00:22:57,929 --> 00:23:04,780 as well. But the Linux on LiteX is one of the ones that a lot of people are using 278 00:23:04,780 --> 00:23:10,170 and a screenshot of what it looks like when it boots up. So I was already kind of 279 00:23:10,170 --> 00:23:16,040 talking about RISC-V a bit and if you're not familiar with it. You probably heard 280 00:23:16,040 --> 00:23:22,340 of like x86 intelx86 or ARM. That's an instructions that it's the instructions 281 00:23:22,340 --> 00:23:25,960 that the processor executes. You write code, it gets compiled into instructions 282 00:23:25,960 --> 00:23:30,070 that run on the processor. So RISC-V is an instructions set that came out of 283 00:23:30,070 --> 00:23:36,740 university, California, Berkeley, in it's a free and open source instruction set. So 284 00:23:36,740 --> 00:23:42,159 anyone can take this instruction set and implemented in a in a chip like an FPGA or 285 00:23:42,159 --> 00:23:48,590 actually make a actual silicon chip. So one of these examples of this is there are 286 00:23:48,590 --> 00:23:52,890 there's a university in Columbia and they decided to make their own microcontroller 287 00:23:52,890 --> 00:23:58,920 based on RISC-V called the Open-V. So this is really cool. It was fully open sourced 288 00:23:58,920 --> 00:24:03,309 chip then design of the whole chip is open source and it can run the RISC-V 289 00:24:03,309 --> 00:24:09,210 instruction set. However, it's not quite good enough to, or it's not capable enough 290 00:24:09,210 --> 00:24:14,630 to run Linux and fortunately gets more meant for microcontroller applications. 291 00:24:14,630 --> 00:24:18,980 Another organization is called "lowRISC" and they were kind of founded with the 292 00:24:18,980 --> 00:24:22,980 idea of being able to create a RISC-V based system on chip tech could do 293 00:24:22,980 --> 00:24:28,320 something like be a basic smartphone. So they're still working on that. But I am 294 00:24:28,320 --> 00:24:32,519 pretty excited this will happen in the future there. One of the people that 295 00:24:32,519 --> 00:24:38,039 started lowRISC is Alex Bradbury, and he gave a interesting talk a few months ago 296 00:24:38,039 --> 00:24:41,899 about the future of operating systems on RISC-V. So I recommend checking that out 297 00:24:41,899 --> 00:24:46,120 if you're interested in like the ecosystem of the tool chains involved in things like 298 00:24:46,120 --> 00:24:52,529 that. So similar to Oshwa. There is a organization for chip design called 299 00:24:52,529 --> 00:24:56,771 "FOSSi", which is the free and open source Silicon Foundation, and they do a great 300 00:24:56,771 --> 00:25:00,560 job of putting together all these different projects into events. They have 301 00:25:00,560 --> 00:25:06,149 one called Orconf, which happens every year here in Europe. They also have a 302 00:25:06,149 --> 00:25:10,980 conference now in the US called Latch-Up. That's going to be coming up in April at 303 00:25:10,980 --> 00:25:16,330 M.I.T. They also host a web site, called "LibreCores". So people are designing this 304 00:25:16,330 --> 00:25:23,049 open source chip designs or IP blocks for things like Ethernet or memory 305 00:25:23,049 --> 00:25:27,580 controllers. And if you. They created LibreCores as a site that you can share 306 00:25:27,580 --> 00:25:30,970 those. And so if I'm going to build an open source chip, I can go in there and 307 00:25:30,970 --> 00:25:38,279 find different blocks or functionality I need. There was also an event earlier this 308 00:25:38,279 --> 00:25:42,480 year called the Week of Open Source Hardware. So this is all hosted by Fossi. 309 00:25:42,480 --> 00:25:47,059 They have all the talks online from these conferences if you want to check them out. 310 00:25:47,059 --> 00:25:50,309 So one of the companies that was founded by some of the people that created the 311 00:25:50,309 --> 00:25:54,760 RISC-V instruction set is called SiFive, and they've actually produced a few 312 00:25:54,760 --> 00:26:02,110 commercial chips, one of which is this microcontroller here. And one of the co- 313 00:26:02,110 --> 00:26:07,900 founders and CTOs has a interesting talk about their RISC-V ecosystem. And so like 314 00:26:07,900 --> 00:26:13,769 companies like Western Digital have decided to switch all the core in their 315 00:26:13,769 --> 00:26:17,861 drives over to RISC-V. And NVIDIA has decided to take out a little 316 00:26:17,861 --> 00:26:23,850 microcontrollers in their GPUs and turn those over to RISC-V as well. This is a 317 00:26:23,850 --> 00:26:28,059 microcontroller board based on that SiFive microcontroller, which is quite 318 00:26:28,059 --> 00:26:34,640 interesting, but unfortunately can't run Linux on it. So one of the surprises last 319 00:26:34,640 --> 00:26:41,799 year at Fossdem was Palmer from SiFive debut this board called the HiFive 320 00:26:41,799 --> 00:26:46,510 Unleashed. So this is a multi core 64 bit board that can run Linux. It runs it 321 00:26:46,510 --> 00:26:51,049 really well. The one downside to this is it was meant to be an evaluation board, so 322 00:26:51,049 --> 00:26:54,769 it's quite expensive if it's a thousand dollars. So in it, they're not going to 323 00:26:54,769 --> 00:27:02,299 ever make it in volume. So a little disappointing, but that. The other option 324 00:27:02,299 --> 00:27:05,830 there. So there's these high end boards like this one. It's kind of expensive 325 00:27:05,830 --> 00:27:12,279 because it's made in low volume. There's also some cheap microcontrollers. One is 326 00:27:12,279 --> 00:27:20,780 called the, from Kendait the KT10. It is basically a microcontroller with a lot of 327 00:27:20,780 --> 00:27:26,420 memory. And it, there is possibility to run Linux on it. So add Linux plumbers 328 00:27:26,420 --> 00:27:31,450 this year when the people from Western Digital gave a talk about running Linux on 329 00:27:31,450 --> 00:27:35,690 this kind of essentially a microcontroller. You can check out that 330 00:27:35,690 --> 00:27:39,769 link there. There's a talk about it and there's slides from the conference. 331 00:27:39,769 --> 00:27:43,880 They're also in the Lenny's kernel. They started adding support to be able to run 332 00:27:43,880 --> 00:27:50,600 Linux on these RISC-V, essentially microcontrollers. It's not great, but it's 333 00:27:50,600 --> 00:27:54,720 kind of like we're gonna have to work what we have with what. We have to work with, 334 00:27:54,720 --> 00:28:01,040 what we have right now. If you're interested more in more about how Linux 335 00:28:01,040 --> 00:28:08,139 runs on RISC-V, then you can check out this talk from hot chips a few months ago 336 00:28:08,139 --> 00:28:14,040 and it goes into like how the Linux kernel works on RISC-V. And the other cool thing 337 00:28:14,040 --> 00:28:21,940 is both Debian and Fedora have initial distributions now for RISC-V. And if you 338 00:28:21,940 --> 00:28:28,320 don't have hardware like that unleashed board, you can still try this out on your 339 00:28:28,320 --> 00:28:36,951 computer using an emulator called QEMU. So one of things is exciting is like two 340 00:28:36,951 --> 00:28:43,700 weeks ago at the RISC-V summit in California NXP announced that there's 341 00:28:43,700 --> 00:28:49,830 going to be a chip early next year that's going to be a Linux capable SoC. So this 342 00:28:49,830 --> 00:28:54,191 is quite exciting. This could allow us to make like a board that wouldn't be too 343 00:28:54,191 --> 00:28:59,419 expensive and be pretty high performance. So one of things I want to hopefully maybe 344 00:28:59,419 --> 00:29:04,080 be a part of or encourage people to do is make a board that's less than one hundred 345 00:29:04,080 --> 00:29:10,140 dollars that runs risk five. One route is we use FPGA as another route is maybe when 346 00:29:10,140 --> 00:29:15,830 this chip comes out, there'd be a possibility and then could we do it by the 347 00:29:15,830 --> 00:29:20,450 next CCC? I don't know if you're interested in this. Get in touch. I would 348 00:29:20,450 --> 00:29:26,610 like to try and get a community effort going around this idea of making a RISC-V 349 00:29:26,610 --> 00:29:33,870 board that can run Linux. So I don't know if I have any time left, but I'm happy to 350 00:29:33,870 --> 00:29:38,380 take questions. [filler please remove in amara] 351 00:29:38,380 --> 00:29:42,240 *applause* [filler please remove in amara] 352 00:29:42,240 --> 00:29:49,200 Herald: Thanks, Drew, yes. We actually do have some time left. Actually, about 10 353 00:29:49,200 --> 00:29:54,490 minutes. So if you do have questions, pile up at the microphones that you see here. 354 00:29:54,490 --> 00:30:04,810 And we start with a question from the Internet. Sure. Take your time. Just start 355 00:30:04,810 --> 00:30:11,950 talking into the microphone. Yeah. Why is the microphone off the signal angel not 356 00:30:11,950 --> 00:30:16,440 working? All right. We just started with a question from microphone number two then, 357 00:30:16,440 --> 00:30:20,299 while the signal angel is working out his microphone. There you go. 358 00:30:20,299 --> 00:30:24,289 Mic 2: Hi. Is this working? Yes. Herald: Move close to the microphone. 359 00:30:24,289 --> 00:30:28,880 *touches the microphone* Herald: It is on, It is on. 360 00:30:28,880 --> 00:30:32,350 Mic 2: Hi, Drew. Thank you very much. Thanks very much for the talk. I've been 361 00:30:32,350 --> 00:30:36,889 having a lot of fun using your pocket beguiling combination with the Bella 362 00:30:36,889 --> 00:30:38,130 system. Drew: Oh? 363 00:30:38,130 --> 00:30:43,850 Mic 2: Actually, I've been able to get it on stage on the Royal Albert Hall earlier 364 00:30:43,850 --> 00:30:49,970 this year. And one of the things I'm really enthused about in that project is 365 00:30:49,970 --> 00:30:56,059 that using the center of my realtime operating system. It really seems super. 366 00:30:56,059 --> 00:31:02,460 Yeah. The breach between the low latency performance of a microprocessor and the 367 00:31:02,460 --> 00:31:11,139 the Octopus connects to everything in low entry to development of Linux world. As 368 00:31:11,139 --> 00:31:15,340 you see more of these examples using ?????? or order. 369 00:31:15,340 --> 00:31:19,960 Drew: Yeah. So just to give people that are familiar with the terms a little bit 370 00:31:19,960 --> 00:31:25,639 of background, ??????????, essentially this co kernel, it runs alongside Linux 371 00:31:25,639 --> 00:31:32,889 and allows you to do like real time tasks like in this case audio like low latency 372 00:31:32,889 --> 00:31:37,490 audio for instruments or other things like doing motor control. The Linux kernel 373 00:31:37,490 --> 00:31:42,169 developers have been doing a lot of work of getting the Linux kernel to run great 374 00:31:42,169 --> 00:31:46,399 with real time tasks, but depends on what your deadlines are. So for things like 375 00:31:46,399 --> 00:31:49,640 building instruments, those are pretty latency sensitive and ?????????? running 376 00:31:49,640 --> 00:31:54,230 around of doing that. So if you're interested in other projects called 377 00:31:54,230 --> 00:32:00,289 Machine Kit, it's an open source CMC controller. They simply have deadlines 378 00:32:00,289 --> 00:32:07,790 like having to read a motoring coder or send out pulses to a stepper motor. So, 379 00:32:07,790 --> 00:32:11,309 you know, I think it really did. So with real time things is what you're talking 380 00:32:11,309 --> 00:32:15,100 about. It really depends on what your deadlines are like. So in the case of 381 00:32:15,100 --> 00:32:19,350 Bella, they're still using ????????? because they need to be, they need a 382 00:32:19,350 --> 00:32:24,590 certain minimum latency, that they can still only achieve with that. But I will 383 00:32:24,590 --> 00:32:28,010 say with the linux kernel, there's been a lot of work that's been going on. And the 384 00:32:28,010 --> 00:32:30,870 linux kernel was much better than it used to be in terms of handling real time 385 00:32:30,870 --> 00:32:32,919 tasks. Mic 2: OK, cool. 386 00:32:32,919 --> 00:32:35,919 Drew: And if you're interested in Bella, I think there's someone from the team here 387 00:32:35,919 --> 00:32:37,700 in the room, so.. Mic 2: Really? 388 00:32:37,700 --> 00:32:40,669 Drew: Yeah, you can have.. Herald: The person identifying is 389 00:32:40,669 --> 00:32:43,500 themselves here. All right. Mic 2: Thank you. 390 00:32:43,500 --> 00:32:46,909 Herald: Thanks for the question. Thanks for the answer. Let's have another try 391 00:32:46,909 --> 00:32:50,139 with the Internet? Signal Angel: Is using open source 392 00:32:50,139 --> 00:32:54,480 software hardware design required or enforced to get the open hardware 393 00:32:54,480 --> 00:32:56,830 certification? Drew: Yeah, that's a really good question, 394 00:32:56,830 --> 00:33:01,410 which I didn't clarify enough. So according to the open source hardware 395 00:33:01,410 --> 00:33:08,620 definition that we have from Oshawa, you can use whatever software you want. One of 396 00:33:08,620 --> 00:33:13,299 the reasons is for certain types of things, especially like mechanical design, 397 00:33:13,299 --> 00:33:17,309 proprietary software is still the norm. This is also the case with circuit design. 398 00:33:17,309 --> 00:33:21,299 Kicad has only really got in like really good and stable probably the last five 399 00:33:21,299 --> 00:33:26,340 years. So kind of as a matter of practicality, 10 years ago, like most 400 00:33:26,340 --> 00:33:30,720 people were still using proprietary software to design mechanical designs and 401 00:33:30,720 --> 00:33:34,279 software designs. Ideally, I think, you know, if the ideas you want enable 402 00:33:34,279 --> 00:33:38,889 collaboration, using free software, using open source software would enable as many 403 00:33:38,889 --> 00:33:43,110 people as possible to be able to contribute to your project. But it is not 404 00:33:43,110 --> 00:33:48,700 according to our definition that we have hosted on Oshawa, is not a requirement. So 405 00:33:48,700 --> 00:33:52,220 say best practice, use free software but it is not required. 406 00:33:52,220 --> 00:33:54,490 Herald: Thanks. Microphone number one, please. 407 00:33:54,490 --> 00:33:59,270 Mic 1: How far is the performance for everyday computing on RISC-V. Like can I 408 00:33:59,270 --> 00:34:03,750 run my everyday programing toolchain on a RISC-V processor? 409 00:34:03,750 --> 00:34:10,691 Drew: You could run it? The one downside to the soft core is on these FPGA is so 410 00:34:10,691 --> 00:34:15,859 like the ECP 5 which I mentioned, it's only running at maybe 50 megahertz, 100 411 00:34:15,859 --> 00:34:22,429 megahertz. One of the reasons I brought up cymbal flow and project x ray is that's 412 00:34:22,429 --> 00:34:27,690 going to enable us to use open source tools on these higher end Xilinx FPGAs 413 00:34:27,690 --> 00:34:34,210 which will unlock greater performance still with soft cores. It's going to be if 414 00:34:34,210 --> 00:34:37,560 you're looking to be competitive with like ARM and Intel, it's not going to be there. 415 00:34:37,560 --> 00:34:41,270 But one of the cool things that think about is an FPGA. So you have a lot of 416 00:34:41,270 --> 00:34:45,760 flexibility like in terms of the peripherals you can do, you know, so kind 417 00:34:45,760 --> 00:34:49,800 of getting creative in terms of, well, maybe the clock speeds aren't really fast, 418 00:34:49,800 --> 00:34:54,630 but it's enough PGA so you could add hardware accelerators to do things that 419 00:34:54,630 --> 00:34:58,940 you might otherwise be burning cycles on our processor to do. But that's also why 420 00:34:58,940 --> 00:35:02,980 I'm hoping people will start making chips. I'm excited about that. And XP 421 00:35:02,980 --> 00:35:09,410 announcement because yeah, like we need silicon to have like the performance that 422 00:35:09,410 --> 00:35:13,570 we're used to on like ARM and Intel. Herald: Thanks. We have yet another 423 00:35:13,570 --> 00:35:16,900 question from the Internet. Signal Angel: Do you think it's feasible 424 00:35:16,900 --> 00:35:21,420 to create a package manager for open hardware like paper or NPM? 425 00:35:21,420 --> 00:35:26,720 Drew: That is a good question and I think one of the things that I would say like 426 00:35:26,720 --> 00:35:30,420 open, open hardware is almost kind of like 20 years behind open source software. And 427 00:35:30,420 --> 00:35:34,270 I think one of the reasons is a lot of the tools that people use for designing 428 00:35:34,270 --> 00:35:40,480 hardware. It's difficult to collaborate on designs. You know, a lot of these CAD 429 00:35:40,480 --> 00:35:44,530 programs like it's not the same as like source code, like, you know, I store all 430 00:35:44,530 --> 00:35:48,339 my hardware designs in github. But if I look at like the diffs in git, like, you 431 00:35:48,339 --> 00:35:53,230 know, they're not very meaningful. So I think one of the issues we have is for 432 00:35:53,230 --> 00:35:57,420 people to collaborate and hardware like we need better tools that allowed us to track 433 00:35:57,420 --> 00:36:02,690 changes. And in Nick do puri question merges in a more meaningful way. So I'm 434 00:36:02,690 --> 00:36:06,359 sure everyone here that sees CAD tools and tried to work with other people. It can be 435 00:36:06,359 --> 00:36:11,099 it can be difficult. So I think that's an area that can be improved in terms of like 436 00:36:11,099 --> 00:36:19,310 hosting things. You know, I just talked to someone today that talked about the Open 437 00:36:19,310 --> 00:36:22,190 Source Hardware Observatory where they were trying to like collect lots of 438 00:36:22,190 --> 00:36:25,950 different projects. So I think we can definitely have Web sites that like show 439 00:36:25,950 --> 00:36:31,500 what projects are out there. But in terms of like being able to like collaborate on 440 00:36:31,500 --> 00:36:35,210 things like libre course, check out libre course, they're trying to do that as well 441 00:36:35,210 --> 00:36:39,210 for processor design, being able to go on there and like grab either net controller 442 00:36:39,210 --> 00:36:44,241 or a memory controller in a way, actually a chip design almost better because if you 443 00:36:44,241 --> 00:36:48,990 look at the hardware design languages, it's more like source code. But yeah. 444 00:36:48,990 --> 00:36:54,170 Kicad is difficult to collaborate on still, I think. 445 00:36:54,170 --> 00:36:56,869 Herald: All righty. Microphone number one, please. 446 00:36:56,869 --> 00:37:00,060 Mic 1: During the presentation, you mentioned that there are several great 447 00:37:00,060 --> 00:37:05,650 products trying to develop software for FPGA for commercial FPGA devices. I was 448 00:37:05,650 --> 00:37:10,089 wondering if you are aware of any products trying to develop open source FPGA 449 00:37:10,089 --> 00:37:14,480 architecture or something similar to RISC-V instruction set about for a FPG 450 00:37:14,480 --> 00:37:17,400 world? Drew: Right. So yeah. The other thing here 451 00:37:17,400 --> 00:37:22,110 is so we're talking about open source tools for getting things on to FPGAs, but 452 00:37:22,110 --> 00:37:27,520 there's also the idea of like the open source chip design. So I don't personally 453 00:37:27,520 --> 00:37:32,119 I'm not heard of any like projects where they're trying to do like an open source 454 00:37:32,119 --> 00:37:39,520 FPGA. But I think if you if you have time stopped by the open FPGA assembly and also 455 00:37:39,520 --> 00:37:45,630 over and in the hardware hacking area. Tim and Tim and Sloan's jobs are over there. 456 00:37:45,630 --> 00:37:50,610 And they they know a lot about things that are happening there as well. But I think 457 00:37:50,610 --> 00:37:54,640 it would be cool and Bunny's talk here at Congress on the first day was about the 458 00:37:54,640 --> 00:38:00,099 idea of like using FPGA is because they're more easier to inspect in if we can make 459 00:38:00,099 --> 00:38:04,200 like an open source FPGA chip. I think they'd be in better. 460 00:38:04,200 --> 00:38:06,619 Herald: Another question from the Internet, please? 461 00:38:06,619 --> 00:38:09,040 Signal Angel: What about performance per watt? 462 00:38:09,040 --> 00:38:12,000 Drew: I'm sorry? Signal Angel: What about performance per 463 00:38:12,000 --> 00:38:15,780 watt? Drew: With RISC-V or FPGA or.. 464 00:38:15,780 --> 00:38:22,070 Signal Angel: Both I think. Drew: Both, yeah. Probably FPGA is not 465 00:38:22,070 --> 00:38:26,761 great with that because, you know, as compared to an asic or silicon design they 466 00:38:26,761 --> 00:38:31,619 are not as power efficient. RISC-V, I don't know. I've not seen a whole lot of 467 00:38:31,619 --> 00:38:35,310 numbers around that. You know, I think it's still kind of early days when it 468 00:38:35,310 --> 00:38:39,500 comes to RISC-V. Also, like a lot of it's still soft cores and FPGAs, but you're not 469 00:38:39,500 --> 00:38:44,859 going to be as great in terms of power. But there is a project out of ETH Zürich 470 00:38:44,859 --> 00:38:53,220 of the university called Pulp P U L P and it stands for parallel ultra low power. So 471 00:38:53,220 --> 00:38:58,441 that's a family of RISC-V cores. So check out pulp from ETH Zürich. I think they're 472 00:38:58,441 --> 00:39:02,811 trying to do low power things. Herald: Good question, though. Microphone 473 00:39:02,811 --> 00:39:06,089 number one. Mic 1: Thanks for the great talk. So as 474 00:39:06,089 --> 00:39:11,990 you mentioned, there's a lot of NDAing and copyrighting going on in the hardware 475 00:39:11,990 --> 00:39:19,150 world. So one of the slides you showed showed the risk 5 quad with an ?? 476 00:39:19,150 --> 00:39:24,740 interface next to it. So my question is, do we have all the components, the 477 00:39:24,740 --> 00:39:28,359 peripheral components to make a full processor, on open source? So it there 478 00:39:28,359 --> 00:39:31,319 still gaps in there? Drew: I think there's still a lot of work 479 00:39:31,319 --> 00:39:36,270 to be done there. And that's something that Light X is trying to do like to pull 480 00:39:36,270 --> 00:39:41,069 together these different IP blocks you need to build the system on CHIP. Same 481 00:39:41,069 --> 00:39:46,000 thing with libre of cause. But if you take a look at ??? 5, like not everything. So 482 00:39:46,000 --> 00:39:50,810 the core is open source, but in order to tape out a chip that had certain 483 00:39:50,810 --> 00:39:55,330 functionality like not all of the IP on there is open source. So I think that is 484 00:39:55,330 --> 00:40:00,631 something that hopefully in the future as more people start doing open source IP for 485 00:40:00,631 --> 00:40:04,070 chip design, we can hopefully have all the different blocks that we need to make a 486 00:40:04,070 --> 00:40:08,730 chip like one of the things CY 5 is missing on their chips is, is USB, you 487 00:40:08,730 --> 00:40:14,420 know, traditionally people like it will get like USB controller from mentor 488 00:40:14,420 --> 00:40:20,050 synopsis or something like that. So having good, you know, verified, proven IP for 489 00:40:20,050 --> 00:40:24,920 these common peripherals is important. So yeah, it might be an open core, but then 490 00:40:24,920 --> 00:40:28,900 it might have proprietary blocks around it. So there's a lot of room there for 491 00:40:28,900 --> 00:40:32,319 improvement, I think. Herald: And with that, we're wrapping up. 492 00:40:32,319 --> 00:40:34,950 Thank you very much for all of your interesting questions. Also, thank you 493 00:40:34,950 --> 00:40:38,390 very much for all the angels working here. Thank you very much. To all the people 494 00:40:38,390 --> 00:40:42,329 from Messe Leipzig, the Audio Video people who work. And of course, the biggest thank 495 00:40:42,329 --> 00:40:44,980 you again to Drew. Thank you very much for the awesome talk. Another big, warm round 496 00:40:44,980 --> 00:40:48,110 of applause, please. Thank you. [filler please remove in amara] 497 00:40:48,110 --> 00:40:50,970 *applause* [filler please remove in amara] 498 00:40:50,970 --> 00:40:53,710 *36c3 postrol music* 499 00:40:53,710 --> 00:41:17,000 Subtitles created by c3subtitles.de in the year 2021. Join, and help us!