Return to Video

36C3 - Linux on Open Source Hardware with Open Source chip design

  • 0:00 - 0:13
    36c3 intro music
    [Filler, please remove ina mara]
  • 0:13 - 0:23
    Herald: Welcome everybody to our next
    talk: Linux on open source hardware with
  • 0:23 - 0:28
    open source chip design. Who here in the
    audience uses Linux? please short sign of
  • 0:28 - 0:35
    hands, feels like almost 100 percent, I
    would say. OK. A hundred percent of people
  • 0:35 - 0:40
    use Linux. So who have you use it on open
    hardware? We are pleased. Another show of
  • 0:40 - 0:47
    hands. Yeah, that's not too many. Who have
    you would like to use it on open hardware?
  • 0:47 - 0:51
    And I guess that's why you're here. So I'm
    glad that we have Drew Fustini here. Our
  • 0:51 - 0:56
    new speaker. He's a open source hardware
    designer and embedded Linux developer and
  • 0:56 - 1:01
    also the vice president of the Open Source
    Software Association. And who better to
  • 1:01 - 1:05
    tell you how to run your Linux on open
    source hardware? Please welcome Drew with
  • 1:05 - 1:09
    a big, warm round of applause and have fun
    with this talk. Thank you very much.
  • 1:09 - 1:11
    applause
    Thank you.
  • 1:11 - 1:14
    Applause
  • 1:14 - 1:19
    Drew: I'll skip past my introduction. It's
    Congress, so probably most people are
  • 1:19 - 1:22
    familiar with open source. So before I
    jump into what open source hardware is,
  • 1:22 - 1:26
    just want to frame it in the context. If
    people aren't familiar with open source
  • 1:26 - 1:29
    is. So, examples that are Linux apparently
    always running Linux in this room, which
  • 1:29 - 1:35
    is great. Underneath Android, there's
    Linux as well. LibreOffice which I use to
  • 1:35 - 1:39
    make this presentation is also open
    source. Firefox the web browsers open
  • 1:39 - 1:44
    source. So we're probably all very
    familiar with open source software and
  • 1:44 - 1:49
    open source refers to something that you
    can modify and share because the design is
  • 1:49 - 1:53
    publicly accessible. So with software
    we're talking about that you can inspect
  • 1:53 - 2:00
    and modify and enhance the source code. So
    in the terms of, When we talk about open
  • 2:00 - 2:03
    source, there's a couple different terms
    that people use. They might use free or
  • 2:03 - 2:08
    Libre or open source and those do have
    different philosophical backgrounds. For
  • 2:08 - 2:11
    the purposes of this talk, I'm going to
    conflate those terms and I'm just going to
  • 2:11 - 2:15
    refer to it as open source hardware.
    Though some people use the terms free
  • 2:15 - 2:19
    hardware, libre hardware, open hardware.
    But I'm just going to using the term open
  • 2:19 - 2:25
    source hardware for this talk. So open
    source hardware is hardware whose design
  • 2:25 - 2:30
    is made publicly available so that anyone
    can study, modify, distribute, make and
  • 2:30 - 2:36
    sell that the design or hardware based on
    the design. So this is a definition that
  • 2:36 - 2:41
    we came up with about 10 years ago at an
    event called the Open Hardware Summit.
  • 2:41 - 2:44
    People that were making hardware projects,
    we got together and tried to come up with
  • 2:44 - 2:49
    a definition of what we wanted it to mean.
    So I mostly do electronics, though. Open
  • 2:49 - 2:53
    hardware and open source hardware is more
    than just that. It can be mechanical
  • 2:53 - 2:58
    design, basically any physical object
    where you have design files that you could
  • 2:58 - 3:02
    share. But just to give you an example in
    the context of electronics what where
  • 3:02 - 3:07
    we're talking about is this schematic, the
    board layout and then the building
  • 3:07 - 3:12
    materials, the parts list. And we're not
    just talking about an output file like a
  • 3:12 - 3:18
    PDF or our graphic file of the schematic
    or Gerber is for the board layout. We're
  • 3:18 - 3:23
    talking about editable source file from
    the from the CAD software. So something
  • 3:23 - 3:28
    like Eagle or a KiCAD. And then one of the
    things that's good to do with the bill
  • 3:28 - 3:33
    materials is if you want to enable other
    people deal to build your project, it's
  • 3:33 - 3:38
    good to make sure that the components are
    available in low quantity. This isn't a
  • 3:38 - 3:41
    strict requirement of the definition of
    open source hardware, but if you want
  • 3:41 - 3:45
    people to build a build your project and
    it's important to make sure that they can
  • 3:45 - 3:53
    build it in in low quantities. So many
    people have heard of Arduino. OK, good.
  • 3:53 - 3:58
    Good number of people in the room. So
    Arduino was a microcontroller board that
  • 3:58 - 4:03
    was created at small school in Italy like
    over 10 years ago. And it became super
  • 4:03 - 4:08
    popular because they, it was good enough
    at the time to do a lot of different
  • 4:08 - 4:12
    interactive electronics projects and they
    shared the hardware design and the code on
  • 4:12 - 4:17
    the Internet. And it just kind of achieved
    critical mass. A lot of people took it and
  • 4:17 - 4:22
    modified it for different projects,
    different use cases. At the beginning, I
  • 4:22 - 4:26
    had a link there to the slides. Also, if
    you pull up the talk page, there's a link
  • 4:26 - 4:30
    to the slides as well. I have a lot of
    links in these slides. Something that is
  • 4:30 - 4:33
    interesting as there was a documentary
    back when Arduino was starting about the
  • 4:33 - 4:37
    team. Just went to check out to see what
    see what things were like when that was
  • 4:37 - 4:44
    starting. So one of the most popular
    Arduino boards is the UNO, which you see a
  • 4:44 - 4:48
    picture of there. So how do we know that
    the UNO is open source hardware? Well, if
  • 4:48 - 4:52
    we go to the Arduino Web site, we can see
    that the design files from Eagle, which is
  • 4:52 - 4:56
    the CAD software they use, is there and we
    can download that zip file and it has the
  • 4:56 - 5:03
    schematic and the board layout. Now, when
    we're releasing our design files for a
  • 5:03 - 5:08
    hardware project, we need to choose a
    license. And there is a lot of different
  • 5:08 - 5:13
    options when it comes to licenses. One is
    the Creative Commons suite of licenses. So
  • 5:13 - 5:18
    one common one, you might see people use
    that CC-BY means attribution and then
  • 5:18 - 5:23
    share like essay say. One thing to note is
    if you had the noncommercial attribute,
  • 5:23 - 5:27
    then that makes it not open source. In
    this slide there's a link to a good blog
  • 5:27 - 5:32
    post that kind of explains why if he had
    noncommercial clause, it no longer
  • 5:32 - 5:38
    conforms to the the definition of open
    source. Other people use things like copy
  • 5:38 - 5:43
    left licenses or reciprocal licenses like
    GPL and also permissive licenses like
  • 5:43 - 5:47
    Apache and BSD and MIT. And then there's
    licenses that were created specifically
  • 5:47 - 5:52
    for hardware projects, one of which is the
    CERN Open Higher License, which I want to
  • 5:52 - 5:58
    talk more about specifically. So CERN, the
    physics laboratory here in Europe, they
  • 5:58 - 6:02
    have a open hardware repository. So
    they're developing these electronics. And
  • 6:02 - 6:06
    actually there was two great talks here in
    Congress from a couple electronics
  • 6:06 - 6:10
    engineers that work on the electronics
    there. So they're building electronics for
  • 6:10 - 6:14
    their physics experiments and they want to
    share that with other labs around the
  • 6:14 - 6:18
    world. So they have an open hardware
    repository. And as part of that, they
  • 6:18 - 6:23
    created the open hardware license and kind
    of give some background on this. One of
  • 6:23 - 6:27
    the people that runs the team there is
    Javier Serrano. He gave a cool interview
  • 6:27 - 6:31
    that's linked in the slides where he talks
    about their motivation behind this and in
  • 6:31 - 6:37
    why they have the open hardware repository
    and create the license. Though this can
  • 6:37 - 6:40
    get kind of confusing, there's not just
    licenses, there's also copyright and
  • 6:40 - 6:45
    patents. At the Open Hardware Summit a few
    years ago Ari Douglas gave a nice talk
  • 6:45 - 6:51
    about this so you can find that talk in
    the link there in the slides. He goes over
  • 6:51 - 6:56
    what might be good for your project,
    depending on what purposes you're trying
  • 6:56 - 7:03
    to achieve with your own project and kind
    of goes over the different options there.
  • 7:03 - 7:08
    But what's the whole point of all this? So
    the reason you might want to make your
  • 7:08 - 7:12
    project open source hardware is that you
    want to enable collaborative development.
  • 7:12 - 7:14
    So we're talking about the idea here is
    that you're going to share your design
  • 7:14 - 7:19
    files in your hoping other people will
    help to contribute to your project,
  • 7:19 - 7:23
    contribute to the design of your hardware.
    So I would say that's like the main reason
  • 7:23 - 7:28
    to release the design files for your
    project is open source hardware. If you're
  • 7:28 - 7:32
    not interested in other people
    collaborating on your project, then it
  • 7:32 - 7:36
    might not be the right thing for your
    project. So it's good to consider whether
  • 7:36 - 7:42
    or not you want to have other people
    contribute to your project. So I
  • 7:42 - 7:45
    mentioned, well it was mentioned at the
    beginning: I'm part of the Open Source
  • 7:45 - 7:51
    Hardware Association. So we're a nonprofit
    based in the US, even though we do have
  • 7:51 - 7:57
    board members around the world. We have
    Mathias, who's one of our board members in
  • 7:57 - 8:02
    Vienna. I'm actually based in Berlin now
    as well. So one of the things we do is we
  • 8:02 - 8:07
    host the definition of what open source
    hardware is. We also have things like best
  • 8:07 - 8:12
    practices guide, a checklist that you can
    go through to see if you're releasing all
  • 8:12 - 8:16
    the things you need to for open source
    hardware project. But the main thing that
  • 8:16 - 8:21
    we do is we helped organize this event
    called the Open Hardware Summit, and
  • 8:21 - 8:26
    that's going to be coming up in March of
    2020 in New York City. So hope to see some
  • 8:26 - 8:32
    of you there if you can make it. This will
    be our tenth one. And so we started in
  • 8:32 - 8:35
    2010. This year, though, we decided to do
    something a little bit different. So we
  • 8:35 - 8:41
    had Open Hardware Month. So Idea with this
    is, we wanted to have people from around
  • 8:41 - 8:45
    the world do locally organized meet ups
    and talks and workshops that kicked off
  • 8:45 - 8:50
    with one in some in Vienna and Colorado in
    the US. And it was really cool. We had 40
  • 8:50 - 8:57
    events in 14 different countries and we'll
    be doing it again in 2020. So hopefully
  • 8:57 - 9:02
    some of you can get involved with events
    wherever you're located. And if you're
  • 9:02 - 9:05
    wondering what happens with the Open
    Hardware Summit, you can check out the
  • 9:05 - 9:10
    talks from our last one, which was in
    2018. Give you an idea of what happens
  • 9:10 - 9:14
    there. In kind of some insight into the
    different sorts of the projects people are
  • 9:14 - 9:17
    doing. I do a lot electronics, but there's
    a lot more than that. There's people that
  • 9:17 - 9:24
    are doing science and art and design, all
    sorts of different things. One of the
  • 9:24 - 9:28
    other things we do with the Officers Heart
    Association is we have a certification
  • 9:28 - 9:32
    program. So this is self certification
    program. You got a
  • 9:32 - 9:35
    "certificate.oshwa.org". And you you fill
    out the name, your project, the license
  • 9:35 - 9:41
    you're using linked to your design files,
    linked to your documentation, and then you
  • 9:41 - 9:47
    get this logo that you can use. And kind
    of one of the value of this, if you're
  • 9:47 - 9:51
    making a project, is you can put that on
    your packaging or I put it on like the
  • 9:51 - 9:56
    silk screen of my board. So then people
    can really easily identify that it's open
  • 9:56 - 10:01
    hardware and then they can go to that Web
    site and they can type an I.D. number and
  • 10:01 - 10:04
    be able to pull up the page that links
    them to the documentation, the design
  • 10:04 - 10:10
    files. And then for people that are
    looking for like I want a certain type of
  • 10:10 - 10:15
    device and I want to find one that's open
    source hardware. If you see this logo, you
  • 10:15 - 10:20
    can go and look that up in the database
    and find out more about it. So if you're
  • 10:20 - 10:25
    interested and know more about the Open
    Source Hardware Association, you can go to
  • 10:25 - 10:31
    "oshwa.org". You can join as a member of
    the association. We also have a mailing
  • 10:31 - 10:36
    list and a forum. If you want to check us
    out on Twitter, the "@OHsummit" is the
  • 10:36 - 10:40
    Open Hardware Summit account, where we
    have a lot of activity going on right now
  • 10:40 - 10:44
    about that because it's coming up in
    March. Mean, our executive director,
  • 10:44 - 10:48
    Alicia Gib, who's one of the people that
    started this summit, she wrote a book
  • 10:48 - 10:51
    called Building Open Source Hardware, and
    it has essays from different people that
  • 10:51 - 10:56
    have built open hardware projects. So it's
    a good thing to check out if you're
  • 10:56 - 11:02
    wanting to see what different experiences
    people have had with that. So the point of
  • 11:02 - 11:06
    all, the kind, the main theme of this talk
    was about Linux on open source hardware,
  • 11:06 - 11:12
    which is my two favorite things. So one of
    my favorite projects was developed by
  • 11:12 - 11:18
    Bunnie, who gave an awesome talk on the
    first day here at Congress. And Sean Cross
  • 11:18 - 11:22
    (xobs) he was giving a workshop right now
    on the FOMU. So this was a completely open
  • 11:22 - 11:27
    source laptop for everything, including
    the all the electronics were were open
  • 11:27 - 11:30
    source. And at the time when this came
    out, like four or five years ago, it was
  • 11:30 - 11:35
    it was a pretty decent system. I have one
    and I used it for for many years. So this
  • 11:35 - 11:38
    is a really cool idea of having a laptop
    that I can use every day. That's open
  • 11:38 - 11:45
    hardware. And it had some cool features
    like an FPGA and a software defined radio.
  • 11:45 - 11:51
    And then if you're wondering what's kind
    of coming up next, if you go to the CDC,
  • 11:51 - 11:59
    CDC area here at Congress, you can see the
    reform laptop. So Lucas from MNT is there.
  • 11:59 - 12:03
    He has this is a completely open source
    hardware laptop. The electronics, the
  • 12:03 - 12:06
    mechanical design, everything. So I
    recommend you go check that out. It's
  • 12:06 - 12:14
    really cool. It's in the CDC area, which
    is the critical decentralized cluster. So
  • 12:14 - 12:18
    one of the other things I'm involved with
    is a "beagleboard.org". So we're a
  • 12:18 - 12:23
    nonprofit organization that helps design
    open hardware computers. That is
  • 12:23 - 12:28
    everything for people from makers to
    students, even Professionals that are
  • 12:28 - 12:32
    designing into their projects. And what we
    do is we work with different manufacturers
  • 12:32 - 12:39
    and we also work with the community to
    come up with designs that are useful. So
  • 12:39 - 12:43
    this started off with the Beagle Board
    back in 2008, so this was kind of the
  • 12:43 - 12:47
    first low cost ARM development board. In
    back at that time a lot of people were
  • 12:47 - 12:53
    needing ARM hardware to port their free
    software and open source software to ARM,
  • 12:53 - 12:58
    and the board was pretty popular for that.
    We followed it up with littleler board
  • 12:58 - 13:02
    called the BeagleBone, which fits into the
    old toys tin, if you've seen those mid
  • 13:02 - 13:07
    tins, if you've probably used the
    BeagleBone your probably most really with
  • 13:07 - 13:12
    the beagle bone black, which was, I would
    say still our most popular board. So kind
  • 13:12 - 13:15
    of the theme here is because it's open
    source hardware, there's a whole bunch of
  • 13:15 - 13:20
    different BeagleBones made by different
    manufacturers with different features and
  • 13:20 - 13:25
    different price points like a SeedStudio
    decided probably most people don't care
  • 13:25 - 13:30
    about HDMI, so they took the HDMI off to
    save some cost. Arrow wanted to make one
  • 13:30 - 13:34
    that worked with industrial temps, so they
    it's a little bit more expensive, but it
  • 13:34 - 13:42
    has industrial temp components on it. And
    then one of the things that's important
  • 13:42 - 13:45
    with open source hardware is we want
    people to be able to take the design files
  • 13:45 - 13:49
    and make derivatives. So we have this
    smaller one called the PocketBeagle. The
  • 13:49 - 13:53
    cool thing about this is a pretty simple
    circuit board. It has something called the
  • 13:53 - 13:57
    system in package that integrates a lot of
    the chips. So it makes the board layout
  • 13:57 - 14:01
    really simple. So this is just a four
    layer circuit board and it's available in
  • 14:01 - 14:07
    Eagle and also in Key CAD. And if you have
    some experience like if you go over to the
  • 14:07 - 14:11
    hardware hacking area, you can learn to do
    surface mount assembly and with a little
  • 14:11 - 14:17
    bit of experience, you could order the
    board, order the parts and build your own.
  • 14:17 - 14:23
    Or as Kumar did, he wanted to make a logic
    analyzer board. So he took the design of
  • 14:23 - 14:27
    the PocketBeagle and he added on the
    features he needed, like the inputs for
  • 14:27 - 14:32
    the probes. And he also added a gigabit
    networking. So this is kind of cool to see
  • 14:32 - 14:36
    people take the design in the PocketBeagle
    and then modify it for their project for
  • 14:36 - 14:41
    their use case. And here's an example of
    the the logo. So the latest boy we had was
  • 14:41 - 14:47
    the BeagleBone AI. So we registered that
    back in the summer. So it's US because it
  • 14:47 - 14:52
    was registered in the US as a country code
    and then it's 169. So it's just like a
  • 14:52 - 14:58
    sequential number. So it's easy for people
    to identify if they go to the git hub. OK.
  • 14:58 - 15:02
    It's open source hardware certified and
    then it links off to the page with the
  • 15:02 - 15:09
    database with information about it. So I
    wanted to mention, Olimex we're here in
  • 15:09 - 15:14
    Europe. And, you know, in Bulgaria is one
    of the best open hardware companies, in my
  • 15:14 - 15:18
    opinion. And they have a line of open
    source hardware, Linux computers called
  • 15:18 - 15:26
    the OLinux. We know. And the person behind
    Olimex fed. has a great blog post about
  • 15:26 - 15:32
    open source hardware and why it matters to
    them. So a few years ago, they wanted to
  • 15:32 - 15:38
    create a ARM 64 bit ARM board that was
    completely open source and designed in
  • 15:38 - 15:44
    KiCAD, which is a free software open
    source circuit design software. Tsvetan
  • 15:44 - 15:49
    and gave a nice talk at FOSDEM a few years
    ago about the process of them switching
  • 15:49 - 15:54
    from their proprietary CAD software over
    to KiCAD and designing this open source
  • 15:54 - 16:01
    hardware board. So and then if you've not
    heard of KiCAD before or KiCAD doesn't
  • 16:01 - 16:05
    really matter what you say. Some people
    say "Keycad" some people say "kaicad" but
  • 16:05 - 16:10
    it's open source software for designing
    circuit boards. It's cross platform runs
  • 16:10 - 16:16
    on Macs, Windows and Linux. And one of the
    cool things about it now is. There's
  • 16:16 - 16:20
    developers at CERN that are working on it.
    And the project leader, Wayne, is now
  • 16:20 - 16:24
    working on a full time is this job. So
    it's cool to see a lot of the developers
  • 16:24 - 16:28
    now being able to do it as their day job.
    So it's kind of getting critical mass in
  • 16:28 - 16:34
    that way. And if you want to try it out, I
    recommend if you search on YouTube for
  • 16:34 - 16:38
    "Getting to Blinky", it's a nice tutorial
    about teaches you how to go through and
  • 16:38 - 16:47
    make a little board that blinks an LED. So
    Olimex took that board that they designed
  • 16:47 - 16:53
    in KiCAD, the OLinux we know, a 64, and
    they wanted to make a laptop with it. So
  • 16:53 - 16:59
    that's called the terrorists One the
    design files are git hub for it. So the
  • 16:59 - 17:04
    idea there is to make a modular laptop
    that people can put different boards in
  • 17:04 - 17:10
    and things like that. Another interesting
    open hardware project was the "chip",
  • 17:10 - 17:13
    which you might have heard of, it was
    built as a nine dollar computer. They had
  • 17:13 - 17:17
    a really successful Kickstarter back in
    2015. Unfortunate that company went on a
  • 17:17 - 17:24
    business in 2018 three years later. But
    the cool thing about it was it was all
  • 17:24 - 17:29
    open source hardware, the schematics, the
    PCB, the build materials. And if you see
  • 17:29 - 17:32
    here, there is this really cool thing
    called the pocket ship, which was this
  • 17:32 - 17:37
    nice like handheld little Linux computer.
    It was really cool. But the company went
  • 17:37 - 17:42
    to business, which was unfortunate. But
    this one person, Christopher, he goes by
  • 17:42 - 17:47
    "Groguard". He designed his own board that
    plugs into the pocket chip. And if you
  • 17:47 - 17:51
    click on the link in the slides, you can
    see doom running on it, which is like, oh,
  • 17:51 - 17:57
    it's the demo that you show with a Linux
    system. Then he went and designed this
  • 17:57 - 18:01
    other board, which is pretty cool, so this
    fits into a popular form factor for
  • 18:01 - 18:07
    microcontroller boards called the Adafruit
    Feather form Factor. And this is a full
  • 18:07 - 18:13
    Linux system. And you can. It's fully open
    source and there is a crowdfunding
  • 18:13 - 18:19
    campaign for it. That happened earlier
    this year. So one of the things I also
  • 18:19 - 18:27
    want to talk about, especially here at
    Congress, is the idea of open source and
  • 18:27 - 18:32
    FPGAs. Then Well, I'll tell you about how
    that plays into Linux. So being the really
  • 18:32 - 18:36
    cool things that's happened over the last
    couple years and many some of the people
  • 18:36 - 18:40
    here, Congress have been a part of that.
    Like Clifford Wolff and David Shaw, and
  • 18:40 - 18:46
    other people have built free software
    tools that allows you to not have to use
  • 18:46 - 18:52
    the proprietary tools from the FPGA
    vendors kind of wrote a Overview of this
  • 18:52 - 18:57
    and recent issue with hacks based
    magazine. You can download the PDF for
  • 18:57 - 19:02
    free if you want to check that out. And
    one of the talks at Congress a few years
  • 19:02 - 19:06
    ago was from Clifford Wolf. So this kind
    of all started off with this one FPGA
  • 19:06 - 19:11
    called the iCE40. And he wrote kind of
    over time wrote different pieces of
  • 19:11 - 19:17
    software that you need to be able to take
    your design and put it onto an FPGA. So
  • 19:17 - 19:23
    that was for a part called the iCE40. So
    that was Project Ice Storm. And then a few
  • 19:23 - 19:29
    years later. David Shaw primarily helped
    develop open source software that lets you
  • 19:29 - 19:36
    put onto a more capable part called the
    ECP5. And then most recently, there's a
  • 19:36 - 19:41
    there's project x-ray and another project
    called Symbol Flow that's been working on
  • 19:41 - 19:48
    bringing open source tools to higher end
    of FPGAs. These Xilinx Series 7 FPGA,
  • 19:48 - 19:53
    they're going to add a lot more
    capabilities. So why is this important for
  • 19:53 - 19:59
    Linux? Well, if we have an FPGA that's
    capable enough, we can put a soft core in
  • 19:59 - 20:03
    there and then we can potentially run
    Linux on that soft core. So Greg is here
  • 20:03 - 20:08
    at Congress and he designed this really
    cool board. This also an Adafruit form
  • 20:08 - 20:12
    factor called the orange crab. And
    actually yesterday he got Linux to run on
  • 20:12 - 20:16
    it, which was really fun. So this is a
    open source hardware board. You can
  • 20:16 - 20:25
    download the designs of the board and it's
    using a soft core in a FPGA to run Linux.
  • 20:25 - 20:31
    One of the other boards came out of a
    hackerspace in Croatia "radiona.org", and
  • 20:31 - 20:36
    that's also using the ECP5 FPGA and that's
    capable of running Linux as well. And
  • 20:36 - 20:41
    they're doing about to do a crowdfunding
    campaign now so you can check that out on
  • 20:41 - 20:46
    "crowdsupply". And David Shaw was one of
    the open source developers. He created
  • 20:46 - 20:51
    this "ultimate" board called the 'Trellis
    Board', which I think would be probably
  • 20:51 - 20:55
    pretty attractive for running Linux. I
    think it has a gigabyte of DDR memories of
  • 20:55 - 21:00
    its pretty substantial system for running
    Linux and its open source. You can
  • 21:00 - 21:06
    download the plans and build it. And then
    recently, back in November, there was the
  • 21:06 - 21:11
    Hackaday Super Conference and everyone at
    the conference got this badge, which was
  • 21:11 - 21:17
    kind like this Gameboy form factor, but it
    has the ECP5 FPGA that allows us to have a
  • 21:17 - 21:23
    soft core on there and run Linux. So kind
    of some different options of open hardware
  • 21:23 - 21:29
    boards that are using soft cores in FPGA
    is to run Linux. And then one of the
  • 21:29 - 21:33
    people over in the open FPGA assembly here
    at Congress is a pretty cool picture, as I
  • 21:33 - 21:37
    was talking about, like a soft core. Well,
    what does that look like when it's an
  • 21:37 - 21:41
    FPGA? So this is kind of a cool picture of
    what it looks like when all those
  • 21:41 - 21:47
    different gates are laid out inside the
    FPGA to have a Linux capable processor
  • 21:47 - 21:54
    core. So one of the ways that we do this
    is so we talk about a soft core, well, how
  • 21:54 - 21:58
    do you make that? And one of the important
    pieces software that all these boards that
  • 21:58 - 22:03
    was is showing you use is a project called
    "LiteX". So this is a pretty interesting
  • 22:03 - 22:10
    way of creating a system on chip inside
    the FPGA. An extra uses a Python based
  • 22:10 - 22:15
    language called Migen. And if you're
    interested in it, I'd recommend checking
  • 22:15 - 22:22
    out this blog posts from Bunnie where he
    talks about the advantages of it. And it
  • 22:22 - 22:24
    gives you things like it gives you like a
    DRAM controller, Ethernet controller, PCI
  • 22:24 - 22:30
    controller SATA controller so you can take
    those pieces of IP and put them together
  • 22:30 - 22:38
    for what you need for your project. And
    then in terms of the soft core we can, one
  • 22:38 - 22:45
    of the things that LiteX gives you is the
    ability to run a RISC-V soft core. So that
  • 22:45 - 22:50
    project's called LiteX on Linux or Linux
    on LiteX, and that's what the Orange Crab
  • 22:50 - 22:55
    is using in the HackaDay badge and those
    other projects, the radio and a board.
  • 22:55 - 22:58
    That's how it's running. There's a couple
    of projects that are doing similar things
  • 22:58 - 23:05
    as well. But the Linux on LiteX is one of
    the ones that a lot of people are using
  • 23:05 - 23:10
    and a screenshot of what it looks like
    when it boots up. So I was already kind of
  • 23:10 - 23:16
    talking about RISC-V a bit and if you're
    not familiar with it. You probably heard
  • 23:16 - 23:22
    of like x86 intelx86 or ARM. That's an
    instructions that it's the instructions
  • 23:22 - 23:26
    that the processor executes. You write
    code, it gets compiled into instructions
  • 23:26 - 23:30
    that run on the processor. So RISC-V is an
    instructions set that came out of
  • 23:30 - 23:37
    university, California, Berkeley, in it's
    a free and open source instruction set. So
  • 23:37 - 23:42
    anyone can take this instruction set and
    implemented in a in a chip like an FPGA or
  • 23:42 - 23:49
    actually make a actual silicon chip. So
    one of these examples of this is there are
  • 23:49 - 23:53
    there's a university in Columbia and they
    decided to make their own microcontroller
  • 23:53 - 23:59
    based on RISC-V called the Open-V. So this
    is really cool. It was fully open sourced
  • 23:59 - 24:03
    chip then design of the whole chip is open
    source and it can run the RISC-V
  • 24:03 - 24:09
    instruction set. However, it's not quite
    good enough to, or it's not capable enough
  • 24:09 - 24:15
    to run Linux and fortunately gets more
    meant for microcontroller applications.
  • 24:15 - 24:19
    Another organization is called "lowRISC"
    and they were kind of founded with the
  • 24:19 - 24:23
    idea of being able to create a RISC-V
    based system on chip tech could do
  • 24:23 - 24:28
    something like be a basic smartphone. So
    they're still working on that. But I am
  • 24:28 - 24:33
    pretty excited this will happen in the
    future there. One of the people that
  • 24:33 - 24:38
    started lowRISC is Alex Bradbury, and he
    gave a interesting talk a few months ago
  • 24:38 - 24:42
    about the future of operating systems on
    RISC-V. So I recommend checking that out
  • 24:42 - 24:46
    if you're interested in like the ecosystem
    of the tool chains involved in things like
  • 24:46 - 24:53
    that. So similar to Oshwa. There is a
    organization for chip design called
  • 24:53 - 24:57
    "FOSSi", which is the free and open source
    Silicon Foundation, and they do a great
  • 24:57 - 25:01
    job of putting together all these
    different projects into events. They have
  • 25:01 - 25:06
    one called Orconf, which happens every
    year here in Europe. They also have a
  • 25:06 - 25:11
    conference now in the US called Latch-Up.
    That's going to be coming up in April at
  • 25:11 - 25:16
    M.I.T. They also host a web site, called
    "LibreCores". So people are designing this
  • 25:16 - 25:23
    open source chip designs or IP blocks for
    things like Ethernet or memory
  • 25:23 - 25:28
    controllers. And if you. They created
    LibreCores as a site that you can share
  • 25:28 - 25:31
    those. And so if I'm going to build an
    open source chip, I can go in there and
  • 25:31 - 25:38
    find different blocks or functionality I
    need. There was also an event earlier this
  • 25:38 - 25:42
    year called the Week of Open Source
    Hardware. So this is all hosted by Fossi.
  • 25:42 - 25:47
    They have all the talks online from these
    conferences if you want to check them out.
  • 25:47 - 25:50
    So one of the companies that was founded
    by some of the people that created the
  • 25:50 - 25:55
    RISC-V instruction set is called SiFive,
    and they've actually produced a few
  • 25:55 - 26:02
    commercial chips, one of which is this
    microcontroller here. And one of the co-
  • 26:02 - 26:08
    founders and CTOs has a interesting talk
    about their RISC-V ecosystem. And so like
  • 26:08 - 26:14
    companies like Western Digital have
    decided to switch all the core in their
  • 26:14 - 26:18
    drives over to RISC-V. And NVIDIA has
    decided to take out a little
  • 26:18 - 26:24
    microcontrollers in their GPUs and turn
    those over to RISC-V as well. This is a
  • 26:24 - 26:28
    microcontroller board based on that SiFive
    microcontroller, which is quite
  • 26:28 - 26:35
    interesting, but unfortunately can't run
    Linux on it. So one of the surprises last
  • 26:35 - 26:42
    year at Fossdem was Palmer from SiFive
    debut this board called the HiFive
  • 26:42 - 26:47
    Unleashed. So this is a multi core 64 bit
    board that can run Linux. It runs it
  • 26:47 - 26:51
    really well. The one downside to this is
    it was meant to be an evaluation board, so
  • 26:51 - 26:55
    it's quite expensive if it's a thousand
    dollars. So in it, they're not going to
  • 26:55 - 27:02
    ever make it in volume. So a little
    disappointing, but that. The other option
  • 27:02 - 27:06
    there. So there's these high end boards
    like this one. It's kind of expensive
  • 27:06 - 27:12
    because it's made in low volume. There's
    also some cheap microcontrollers. One is
  • 27:12 - 27:21
    called the, from Kendait the KT10. It is
    basically a microcontroller with a lot of
  • 27:21 - 27:26
    memory. And it, there is possibility to
    run Linux on it. So add Linux plumbers
  • 27:26 - 27:31
    this year when the people from Western
    Digital gave a talk about running Linux on
  • 27:31 - 27:36
    this kind of essentially a
    microcontroller. You can check out that
  • 27:36 - 27:40
    link there. There's a talk about it and
    there's slides from the conference.
  • 27:40 - 27:44
    They're also in the Lenny's kernel. They
    started adding support to be able to run
  • 27:44 - 27:51
    Linux on these RISC-V, essentially
    microcontrollers. It's not great, but it's
  • 27:51 - 27:55
    kind of like we're gonna have to work what
    we have with what. We have to work with,
  • 27:55 - 28:01
    what we have right now. If you're
    interested more in more about how Linux
  • 28:01 - 28:08
    runs on RISC-V, then you can check out
    this talk from hot chips a few months ago
  • 28:08 - 28:14
    and it goes into like how the Linux kernel
    works on RISC-V. And the other cool thing
  • 28:14 - 28:22
    is both Debian and Fedora have initial
    distributions now for RISC-V. And if you
  • 28:22 - 28:28
    don't have hardware like that unleashed
    board, you can still try this out on your
  • 28:28 - 28:37
    computer using an emulator called QEMU. So
    one of things is exciting is like two
  • 28:37 - 28:44
    weeks ago at the RISC-V summit in
    California NXP announced that there's
  • 28:44 - 28:50
    going to be a chip early next year that's
    going to be a Linux capable SoC. So this
  • 28:50 - 28:54
    is quite exciting. This could allow us to
    make like a board that wouldn't be too
  • 28:54 - 28:59
    expensive and be pretty high performance.
    So one of things I want to hopefully maybe
  • 28:59 - 29:04
    be a part of or encourage people to do is
    make a board that's less than one hundred
  • 29:04 - 29:10
    dollars that runs risk five. One route is
    we use FPGA as another route is maybe when
  • 29:10 - 29:16
    this chip comes out, there'd be a
    possibility and then could we do it by the
  • 29:16 - 29:20
    next CCC? I don't know if you're
    interested in this. Get in touch. I would
  • 29:20 - 29:27
    like to try and get a community effort
    going around this idea of making a RISC-V
  • 29:27 - 29:34
    board that can run Linux. So I don't know
    if I have any time left, but I'm happy to
  • 29:34 - 29:38
    take questions.
    [filler please remove in amara]
  • 29:38 - 29:42
    applause
    [filler please remove in amara]
  • 29:42 - 29:49
    Herald: Thanks, Drew, yes. We actually do
    have some time left. Actually, about 10
  • 29:49 - 29:54
    minutes. So if you do have questions, pile
    up at the microphones that you see here.
  • 29:54 - 30:05
    And we start with a question from the
    Internet. Sure. Take your time. Just start
  • 30:05 - 30:12
    talking into the microphone. Yeah. Why is
    the microphone off the signal angel not
  • 30:12 - 30:16
    working? All right. We just started with a
    question from microphone number two then,
  • 30:16 - 30:20
    while the signal angel is working out his
    microphone. There you go.
  • 30:20 - 30:24
    Mic 2: Hi. Is this working? Yes.
    Herald: Move close to the microphone.
  • 30:24 - 30:29
    touches the microphone
    Herald: It is on, It is on.
  • 30:29 - 30:32
    Mic 2: Hi, Drew. Thank you very much.
    Thanks very much for the talk. I've been
  • 30:32 - 30:37
    having a lot of fun using your pocket
    beguiling combination with the Bella
  • 30:37 - 30:38
    system.
    Drew: Oh?
  • 30:38 - 30:44
    Mic 2: Actually, I've been able to get it
    on stage on the Royal Albert Hall earlier
  • 30:44 - 30:50
    this year. And one of the things I'm
    really enthused about in that project is
  • 30:50 - 30:56
    that using the center of my realtime
    operating system. It really seems super.
  • 30:56 - 31:02
    Yeah. The breach between the low latency
    performance of a microprocessor and the
  • 31:02 - 31:11
    the Octopus connects to everything in low
    entry to development of Linux world. As
  • 31:11 - 31:15
    you see more of these examples using
    ?????? or order.
  • 31:15 - 31:20
    Drew: Yeah. So just to give people that
    are familiar with the terms a little bit
  • 31:20 - 31:26
    of background, ??????????, essentially
    this co kernel, it runs alongside Linux
  • 31:26 - 31:33
    and allows you to do like real time tasks
    like in this case audio like low latency
  • 31:33 - 31:37
    audio for instruments or other things like
    doing motor control. The Linux kernel
  • 31:37 - 31:42
    developers have been doing a lot of work
    of getting the Linux kernel to run great
  • 31:42 - 31:46
    with real time tasks, but depends on what
    your deadlines are. So for things like
  • 31:46 - 31:50
    building instruments, those are pretty
    latency sensitive and ?????????? running
  • 31:50 - 31:54
    around of doing that. So if you're
    interested in other projects called
  • 31:54 - 32:00
    Machine Kit, it's an open source CMC
    controller. They simply have deadlines
  • 32:00 - 32:08
    like having to read a motoring coder or
    send out pulses to a stepper motor. So,
  • 32:08 - 32:11
    you know, I think it really did. So with
    real time things is what you're talking
  • 32:11 - 32:15
    about. It really depends on what your
    deadlines are like. So in the case of
  • 32:15 - 32:19
    Bella, they're still using ?????????
    because they need to be, they need a
  • 32:19 - 32:25
    certain minimum latency, that they can
    still only achieve with that. But I will
  • 32:25 - 32:28
    say with the linux kernel, there's been a
    lot of work that's been going on. And the
  • 32:28 - 32:31
    linux kernel was much better than it used
    to be in terms of handling real time
  • 32:31 - 32:33
    tasks.
    Mic 2: OK, cool.
  • 32:33 - 32:36
    Drew: And if you're interested in Bella, I
    think there's someone from the team here
  • 32:36 - 32:38
    in the room, so..
    Mic 2: Really?
  • 32:38 - 32:41
    Drew: Yeah, you can have..
    Herald: The person identifying is
  • 32:41 - 32:44
    themselves here. All right.
    Mic 2: Thank you.
  • 32:44 - 32:47
    Herald: Thanks for the question. Thanks
    for the answer. Let's have another try
  • 32:47 - 32:50
    with the Internet?
    Signal Angel: Is using open source
  • 32:50 - 32:54
    software hardware design required or
    enforced to get the open hardware
  • 32:54 - 32:57
    certification?
    Drew: Yeah, that's a really good question,
  • 32:57 - 33:01
    which I didn't clarify enough. So
    according to the open source hardware
  • 33:01 - 33:09
    definition that we have from Oshawa, you
    can use whatever software you want. One of
  • 33:09 - 33:13
    the reasons is for certain types of
    things, especially like mechanical design,
  • 33:13 - 33:17
    proprietary software is still the norm.
    This is also the case with circuit design.
  • 33:17 - 33:21
    Kicad has only really got in like really
    good and stable probably the last five
  • 33:21 - 33:26
    years. So kind of as a matter of
    practicality, 10 years ago, like most
  • 33:26 - 33:31
    people were still using proprietary
    software to design mechanical designs and
  • 33:31 - 33:34
    software designs. Ideally, I think, you
    know, if the ideas you want enable
  • 33:34 - 33:39
    collaboration, using free software, using
    open source software would enable as many
  • 33:39 - 33:43
    people as possible to be able to
    contribute to your project. But it is not
  • 33:43 - 33:49
    according to our definition that we have
    hosted on Oshawa, is not a requirement. So
  • 33:49 - 33:52
    say best practice, use free software but
    it is not required.
  • 33:52 - 33:54
    Herald: Thanks. Microphone number one,
    please.
  • 33:54 - 33:59
    Mic 1: How far is the performance for
    everyday computing on RISC-V. Like can I
  • 33:59 - 34:04
    run my everyday programing toolchain on a
    RISC-V processor?
  • 34:04 - 34:11
    Drew: You could run it? The one downside
    to the soft core is on these FPGA is so
  • 34:11 - 34:16
    like the ECP 5 which I mentioned, it's
    only running at maybe 50 megahertz, 100
  • 34:16 - 34:22
    megahertz. One of the reasons I brought up
    cymbal flow and project x ray is that's
  • 34:22 - 34:28
    going to enable us to use open source
    tools on these higher end Xilinx FPGAs
  • 34:28 - 34:34
    which will unlock greater performance
    still with soft cores. It's going to be if
  • 34:34 - 34:38
    you're looking to be competitive with like
    ARM and Intel, it's not going to be there.
  • 34:38 - 34:41
    But one of the cool things that think
    about is an FPGA. So you have a lot of
  • 34:41 - 34:46
    flexibility like in terms of the
    peripherals you can do, you know, so kind
  • 34:46 - 34:50
    of getting creative in terms of, well,
    maybe the clock speeds aren't really fast,
  • 34:50 - 34:55
    but it's enough PGA so you could add
    hardware accelerators to do things that
  • 34:55 - 34:59
    you might otherwise be burning cycles on
    our processor to do. But that's also why
  • 34:59 - 35:03
    I'm hoping people will start making chips.
    I'm excited about that. And XP
  • 35:03 - 35:09
    announcement because yeah, like we need
    silicon to have like the performance that
  • 35:09 - 35:14
    we're used to on like ARM and Intel.
    Herald: Thanks. We have yet another
  • 35:14 - 35:17
    question from the Internet.
    Signal Angel: Do you think it's feasible
  • 35:17 - 35:21
    to create a package manager for open
    hardware like paper or NPM?
  • 35:21 - 35:27
    Drew: That is a good question and I think
    one of the things that I would say like
  • 35:27 - 35:30
    open, open hardware is almost kind of like
    20 years behind open source software. And
  • 35:30 - 35:34
    I think one of the reasons is a lot of the
    tools that people use for designing
  • 35:34 - 35:40
    hardware. It's difficult to collaborate on
    designs. You know, a lot of these CAD
  • 35:40 - 35:45
    programs like it's not the same as like
    source code, like, you know, I store all
  • 35:45 - 35:48
    my hardware designs in github. But if I
    look at like the diffs in git, like, you
  • 35:48 - 35:53
    know, they're not very meaningful. So I
    think one of the issues we have is for
  • 35:53 - 35:57
    people to collaborate and hardware like we
    need better tools that allowed us to track
  • 35:57 - 36:03
    changes. And in Nick do puri question
    merges in a more meaningful way. So I'm
  • 36:03 - 36:06
    sure everyone here that sees CAD tools and
    tried to work with other people. It can be
  • 36:06 - 36:11
    it can be difficult. So I think that's an
    area that can be improved in terms of like
  • 36:11 - 36:19
    hosting things. You know, I just talked to
    someone today that talked about the Open
  • 36:19 - 36:22
    Source Hardware Observatory where they
    were trying to like collect lots of
  • 36:22 - 36:26
    different projects. So I think we can
    definitely have Web sites that like show
  • 36:26 - 36:32
    what projects are out there. But in terms
    of like being able to like collaborate on
  • 36:32 - 36:35
    things like libre course, check out libre
    course, they're trying to do that as well
  • 36:35 - 36:39
    for processor design, being able to go on
    there and like grab either net controller
  • 36:39 - 36:44
    or a memory controller in a way, actually
    a chip design almost better because if you
  • 36:44 - 36:49
    look at the hardware design languages,
    it's more like source code. But yeah.
  • 36:49 - 36:54
    Kicad is difficult to collaborate on
    still, I think.
  • 36:54 - 36:57
    Herald: All righty. Microphone number one,
    please.
  • 36:57 - 37:00
    Mic 1: During the presentation, you
    mentioned that there are several great
  • 37:00 - 37:06
    products trying to develop software for
    FPGA for commercial FPGA devices. I was
  • 37:06 - 37:10
    wondering if you are aware of any products
    trying to develop open source FPGA
  • 37:10 - 37:14
    architecture or something similar to
    RISC-V instruction set about for a FPG
  • 37:14 - 37:17
    world?
    Drew: Right. So yeah. The other thing here
  • 37:17 - 37:22
    is so we're talking about open source
    tools for getting things on to FPGAs, but
  • 37:22 - 37:28
    there's also the idea of like the open
    source chip design. So I don't personally
  • 37:28 - 37:32
    I'm not heard of any like projects where
    they're trying to do like an open source
  • 37:32 - 37:40
    FPGA. But I think if you if you have time
    stopped by the open FPGA assembly and also
  • 37:40 - 37:46
    over and in the hardware hacking area. Tim
    and Tim and Sloan's jobs are over there.
  • 37:46 - 37:51
    And they they know a lot about things that
    are happening there as well. But I think
  • 37:51 - 37:55
    it would be cool and Bunny's talk here at
    Congress on the first day was about the
  • 37:55 - 38:00
    idea of like using FPGA is because they're
    more easier to inspect in if we can make
  • 38:00 - 38:04
    like an open source FPGA chip. I think
    they'd be in better.
  • 38:04 - 38:07
    Herald: Another question from the
    Internet, please?
  • 38:07 - 38:09
    Signal Angel: What about performance per
    watt?
  • 38:09 - 38:12
    Drew: I'm sorry?
    Signal Angel: What about performance per
  • 38:12 - 38:16
    watt?
    Drew: With RISC-V or FPGA or..
  • 38:16 - 38:22
    Signal Angel: Both I think.
    Drew: Both, yeah. Probably FPGA is not
  • 38:22 - 38:27
    great with that because, you know, as
    compared to an asic or silicon design they
  • 38:27 - 38:32
    are not as power efficient. RISC-V, I
    don't know. I've not seen a whole lot of
  • 38:32 - 38:35
    numbers around that. You know, I think
    it's still kind of early days when it
  • 38:35 - 38:40
    comes to RISC-V. Also, like a lot of it's
    still soft cores and FPGAs, but you're not
  • 38:40 - 38:45
    going to be as great in terms of power.
    But there is a project out of ETH Zürich
  • 38:45 - 38:53
    of the university called Pulp P U L P and
    it stands for parallel ultra low power. So
  • 38:53 - 38:58
    that's a family of RISC-V cores. So check
    out pulp from ETH Zürich. I think they're
  • 38:58 - 39:03
    trying to do low power things.
    Herald: Good question, though. Microphone
  • 39:03 - 39:06
    number one.
    Mic 1: Thanks for the great talk. So as
  • 39:06 - 39:12
    you mentioned, there's a lot of NDAing and
    copyrighting going on in the hardware
  • 39:12 - 39:19
    world. So one of the slides you showed
    showed the risk 5 quad with an ??
  • 39:19 - 39:25
    interface next to it. So my question is,
    do we have all the components, the
  • 39:25 - 39:28
    peripheral components to make a full
    processor, on open source? So it there
  • 39:28 - 39:31
    still gaps in there?
    Drew: I think there's still a lot of work
  • 39:31 - 39:36
    to be done there. And that's something
    that Light X is trying to do like to pull
  • 39:36 - 39:41
    together these different IP blocks you
    need to build the system on CHIP. Same
  • 39:41 - 39:46
    thing with libre of cause. But if you take
    a look at ??? 5, like not everything. So
  • 39:46 - 39:51
    the core is open source, but in order to
    tape out a chip that had certain
  • 39:51 - 39:55
    functionality like not all of the IP on
    there is open source. So I think that is
  • 39:55 - 40:01
    something that hopefully in the future as
    more people start doing open source IP for
  • 40:01 - 40:04
    chip design, we can hopefully have all the
    different blocks that we need to make a
  • 40:04 - 40:09
    chip like one of the things CY 5 is
    missing on their chips is, is USB, you
  • 40:09 - 40:14
    know, traditionally people like it will
    get like USB controller from mentor
  • 40:14 - 40:20
    synopsis or something like that. So having
    good, you know, verified, proven IP for
  • 40:20 - 40:25
    these common peripherals is important. So
    yeah, it might be an open core, but then
  • 40:25 - 40:29
    it might have proprietary blocks around
    it. So there's a lot of room there for
  • 40:29 - 40:32
    improvement, I think.
    Herald: And with that, we're wrapping up.
  • 40:32 - 40:35
    Thank you very much for all of your
    interesting questions. Also, thank you
  • 40:35 - 40:38
    very much for all the angels working here.
    Thank you very much. To all the people
  • 40:38 - 40:42
    from Messe Leipzig, the Audio Video people
    who work. And of course, the biggest thank
  • 40:42 - 40:45
    you again to Drew. Thank you very much for
    the awesome talk. Another big, warm round
  • 40:45 - 40:48
    of applause, please. Thank you.
    [filler please remove in amara]
  • 40:48 - 40:51
    applause
    [filler please remove in amara]
  • 40:51 - 40:54
    36c3 postrol music
  • 40:54 - 41:17
    Subtitles created by c3subtitles.de
    in the year 2021. Join, and help us!
Title:
36C3 - Linux on Open Source Hardware with Open Source chip design
Description:

more » « less
Video Language:
English
Duration:
41:17

English subtitles

Incomplete

Revisions