Rendering a KiCad PCB in Blender

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ธ.ค. 2024

ความคิดเห็น •

  • @ThereOughtaBe
    @ThereOughtaBe  3 ปีที่แล้ว +28

    A little update:
    I have just started working on another PCB render and KiCad exports a much better starting point now (or Blender's import has become better - no idea which it is). Use wrl format and you get materials already assigned as well as a solder screen, contacts and silk layer. You still should do the following: join all components, merge vertices by distance (like in the video) and then hit "P" and select "separate by loose parts" to get individual components. Also, adding textures like in the video goes a long way for more realistic looks.

    • @plazmax
      @plazmax 3 ปีที่แล้ว +1

      Can u make new video with kicad 6 and blender

    • @ThereOughtaBe
      @ThereOughtaBe  3 ปีที่แล้ว +9

      I am considering this. I did the other 4 hour video because it was requested and it was an easy way to show how I do it, but there has been more interest than I expected and some things are easier now.

    • @plazmax
      @plazmax 3 ปีที่แล้ว

      @@ThereOughtaBe thank you

  • @paulushdk
    @paulushdk 9 หลายเดือนก่อน +2

    ok. thats awesome. somebody give him a raise.

  • @andreagiudici926
    @andreagiudici926 3 ปีที่แล้ว +3

    for automatically smooth a group of selected object, you have to press ALT + click auto smooth check box. in this way you apply the auto smooth to all the selected obbject.
    thanks a lot for this amazing video tutorial. i found it super useful

  • @InformaticFreakTutorials
    @InformaticFreakTutorials 3 ปีที่แล้ว +2

    1:8:20 if you haven't a numpad, you can activate "emulate a numpad" in the settings and then using the normal number keys
    or you can press and hold the ALT key and move the mouse while holding the mouse wheel in one direction to switch the view

    • @ThereOughtaBe
      @ThereOughtaBe  3 ปีที่แล้ว

      Reminds me that I still need to figure out how to disable the system wide meaning of ALT (dragging a window) only for Blender... Really annoying that I cannot properly use ALT here, but I would muss it in other applications.

  • @perli216
    @perli216 3 ปีที่แล้ว +3

    I wrote a long ass comment before, but youtube seems to have """"forgotten"""" it , so ill go here again in short form: You can import kicad-exported wrl files in meshlab, export them again (as wrl or x3d), then import those exported files in blender. Then you can assign a single shader to the whole model, add a "Vertex Color" node, select the Color attribute ("Col") and use that as input for base color. That means you can skip the steps of selecting vertices -> assigning material color. Going through Meshlab also causes you to have just 1 File on import, instead of 100s of FaceSets. Kicad vrml export is broken, blender doesnt detect that it has vertex colors, Meshlab fixes that. There are probably other programs for that, but thats what works for me.

    • @ThereOughtaBe
      @ThereOughtaBe  3 ปีที่แล้ว +1

      Thanks! Sounds like something I definitely have to try next time I do something like this.

    • @SamirPatnaik
      @SamirPatnaik 2 ปีที่แล้ว

      pin this comment, bro.

  • @poptartmcjelly7054
    @poptartmcjelly7054 3 ปีที่แล้ว +4

    3:20 a little bit of advice in terms of your board routing:
    1) See how the green trace from the second pin on J17 snakes around? Start it at the top copper layer (red) go directly towards the relay and right before the red trace that blocks it use a via to jump to bottom copper (green) and connect it to your relay.
    Why do i point this out? Often times i see people design two layer boards as if they're two single sided boards stuck back-to-back. Double sided boards bring so many advantages with them that it feels feels like i need to point them out.
    Vias are used to jump between layers and they're absolutely free so use them to their fullest.
    Edit: Also note that components that have through pins can be connected to from any layer because they go all the way through your board so you can use those pins to jump between layers.
    2) Don't use the default 0.25mm trace width in KiCAD as 0.3mm is the lowest you should go really. Some PCB manufacturers even charge extra for traces below 0.3mm in width just because they're more difficult to manufacture reliably.

  • @SuperMakeSomething
    @SuperMakeSomething 2 ปีที่แล้ว +2

    This is a really useful tutorial, thank you for posting it! I have been wanting to create rendered animations for my PCBs and learn Blender, but did not know where to start -- this is exactly what I was looking for. Subscribed! Geiles Video!

  • @kpowerbg
    @kpowerbg ปีที่แล้ว +1

    Vielen dank Sebastian!

  • @petermuller608
    @petermuller608 ปีที่แล้ว +1

    Ok did not expect a four hour video. Thank you very much, I was looking very much for this

    • @ThereOughtaBe
      @ThereOughtaBe  ปีที่แล้ว +2

      Glad it is still useful. Just watch out for a few changes in Blender and KiCad. The video is almost two years old and a few things can be done a bit easier or work slightly differently. Most ideas still apply, though.

  • @InformaticFreakTutorials
    @InformaticFreakTutorials 3 ปีที่แล้ว +2

    51:12 instead of using huge sample values, simply activate denoising
    this saves a lot of rendering time and in Full HD 128 samples or 256 samples in 4k resolution will be enough, even for textures like glass

  • @andreagiudici926
    @andreagiudici926 3 ปีที่แล้ว

    @ 3:35:58, over the top copper layer there is the solder mask layer, that is a protective non conducting layer that protect the copper layer from oxidation

    • @ThereOughtaBe
      @ThereOughtaBe  3 ปีที่แล้ว +1

      Ah, thanks. Seems like I need to design a few more PCBs to really recognize the layers by their shape :)

  • @sto2779
    @sto2779 3 ปีที่แล้ว +1

    I wanted to know this too, your 3D renders of your projects looks professional commercial demo advertisements.

  • @falkenaugeklage5998
    @falkenaugeklage5998 3 ปีที่แล้ว +2

    Thank you for sharing! Fabulous work.

  • @WaveIO
    @WaveIO ปีที่แล้ว +2

    can I give more than a thumbs up?

  • @Lolatronn
    @Lolatronn 3 ปีที่แล้ว +2

    1:34:00 There is better ways to add bevels to objects in blender for rendering . First is to use the bevel modifier and limit it by weight and just mark all the edges in edit mode. The second is to use the bevel node, it only works in cycles but is able to add a fake bevel using the normal.

    • @Lolatronn
      @Lolatronn 3 ปีที่แล้ว

      My rule of thumb is to try to avoid making permanent changes to mesh if possible in case i want to change something later.

    • @ThereOughtaBe
      @ThereOughtaBe  3 ปีที่แล้ว +3

      Jepp, used the modifier later in the video when I remembered how tedious it is to do it manually.
      Did not know about the bevel node. Have to look into it, but it seems very logical to do this on a material level. Thanks!

    • @quinnfoster4671
      @quinnfoster4671 3 ปีที่แล้ว

      I love the internet

    • @loop5720
      @loop5720 2 ปีที่แล้ว

      @@quinnfoster4671 You love the internet

  •  3 ปีที่แล้ว +2

    Thank you for sharing.

  • @gold-junge91
    @gold-junge91 2 ปีที่แล้ว +1

    Hey hab dich grade gefunden. Und starte das Video grade und freue mich jetzt schon auf die 4 std Video!!🎉

    • @ThereOughtaBe
      @ThereOughtaBe  2 ปีที่แล้ว

      Oha, hoffentlich stimmt das auch nach vier Stunden noch :)

  • @widget_wizard
    @widget_wizard 3 ปีที่แล้ว +1

    You're awesome! Thanks for sharing this!

  • @padmalayarawal3091
    @padmalayarawal3091 3 ปีที่แล้ว +2

    Got it. Thanks for sharing 😉

  • @ckuhtz
    @ckuhtz 3 ปีที่แล้ว +2

    Thank you for doing this. I had been wondering how the whole workflow works and being new to blender this was super helpful and helped me get started. Now, my board has a metric crap ton more components and I’ll be busy for a while. 😆

    • @ThereOughtaBe
      @ThereOughtaBe  3 ปีที่แล้ว

      Yeah, the work really adds up. Check out the hints in the other comments about using "Separate" -> "By Loose Parts" and alternative beveling methods to save a few minutes.

  • @muhammadmudasar1866
    @muhammadmudasar1866 ปีที่แล้ว +1

    can you share the blender file?

  • @DiegoColl44
    @DiegoColl44 3 ปีที่แล้ว +2

    Thanks very much!! I'm just now doing a render with blender for a project. The only difference is that i imported the 3d object from altium. 😁

    • @DiegoColl44
      @DiegoColl44 3 ปีที่แล้ว

      It is very helpful to me...!! Muchas gracias!!

  • @TheNei
    @TheNei 3 ปีที่แล้ว +2

    Thanks!!
    +1 subscribed!

  • @OCPyrit
    @OCPyrit 2 ปีที่แล้ว +2

    >I'm not gonna explain the basics

  • @imboredcantusee1394
    @imboredcantusee1394 3 ปีที่แล้ว +2

    What pc components do you have that it rendered at Godspeed? Thank you in advance, very nice.

    • @ThereOughtaBe
      @ThereOughtaBe  3 ปีที่แล้ว

      They are not too extreme: It's just a Geforce GTX 1070Ti. The important part is to tell Blender to use the grafic card's CUDA cores.

    • @imboredcantusee1394
      @imboredcantusee1394 3 ปีที่แล้ว

      @@ThereOughtaBe ahhhhhhhhhh was it in eevee or cycles? Looks like cycles but I can’t tell.

    • @ThereOughtaBe
      @ThereOughtaBe  3 ปีที่แล้ว

      @@imboredcantusee1394 Cycles (unless you are looking at the beginning before 0:40:00). At about 0:45:00 you can see the difference between CPU and GPU rendering. (Although this scene of course also benefits from the large empty area around the PCB.)

  • @CallousCoder
    @CallousCoder 3 ปีที่แล้ว +1

    You only need to care about scale when you want physically accurate physics and depth of field from the camera. But you are a physicist, so you knew that already.
    Cool workflow a bit labour intensive but it is what it is for now. Time to get an OBJ export that also exports textures. But I doubt the KiCad community would go that far, as it’s really tertiary functionality.

  • @andreagiudici926
    @andreagiudici926 3 ปีที่แล้ว

    @ 3:50:46 i need some help :/
    i exported my pcb from altium, and from what i see altium exporter does a bettr job than kicad's one. I don't have to create the texture from the image: i already have in blender all my traces as objects. I would like to reach the same results as the one you show at 3:50:46 but i am not good enough with blender. I tried to apply some transparancy to the soldermask, but then i see the inner layer everywhere (i would prefer to see just the a glimpse of the traces.) I think i can work on the difference distances that exist between the soldermask and the inner layer, but i don't know how to apply a modifier based on that. (technically there is the soldermask layer, that is the top layer, then there is the top copper layer, where the traces and exist, and beneath this layer there is the PrePreg. Since there is a 6mil gap between the traces and other copper elements laying on the same plane, in these spots below the soldermask i can see the Prepreg layer.) i am thinking of using this techincal detail to someone highlight the traces on the surface on the pcb.
    Any idea on how to do it? Thanks
    (i hope i explained my self)

  • @WagnerDeQueiroz
    @WagnerDeQueiroz 3 ปีที่แล้ว +3

    Realmente é um trabalho magnifico! Nunca pensei que seria possivel importar do Kicad no Blender.

  • @affandev3098
    @affandev3098 2 ปีที่แล้ว +1

    what you os?

  • @Marwatt
    @Marwatt 3 ปีที่แล้ว

    Hi... if you use (in edit mode) separate -> by loosing part you can separate all objects at once

    • @ThereOughtaBe
      @ThereOughtaBe  3 ปีที่แล้ว +1

      Edit: Absolutely correct, this would have saved me a few minutes of hitting Ctrl+L and P.
      (Original answer when I forgot that I linked the meshes by merging vertices by distance:
      Thanks, but unfortunately the parts are "too loose". At 19:00 you can see what I mean. The components are not exported as individual parts but consist of individual sides. I actually joined everything into a single object as I find it easier to select the parts that belong to a single component when they belong to the same object. With separate by loose parts I would only get back to the situation at 19:00 as each component gets separated into multiple objects because KiCad exports the sides of the component as unconnected meshes.)

    • @Marwatt
      @Marwatt 3 ปีที่แล้ว

      ​@@ThereOughtaBe yes you are right but after you are joined all the meshes and merge all the double points you can perform a separate by loosing part command... I think it work... or not?

    • @Marwatt
      @Marwatt 3 ปีที่แล้ว

      @@ThereOughtaBe anyway it's a good work! :-)

    • @ThereOughtaBe
      @ThereOughtaBe  3 ปีที่แล้ว +1

      @@Marwatt Sorry, you are absolutely right. I forgot that this was the next step and otherwise my "select connected" method would not have worked either. So, thanks - next time this will save me a few minutes of hitting Ctrl+L and P :)

  • @ayodelepelumi7686
    @ayodelepelumi7686 3 ปีที่แล้ว

    Can I use Adobe Photoshop for rendering?

  • @Gegsite
    @Gegsite 3 ปีที่แล้ว +3

    Plus point for Linux ;)

  • @beam664
    @beam664 6 หลายเดือนก่อน

    Very useful that your face is exactly in front of the material settings

  • @Commander1024
    @Commander1024 3 ปีที่แล้ว

    I denounce the optocupler diode :D

    • @ThereOughtaBe
      @ThereOughtaBe  3 ปีที่แล้ว

      If you mean what I think you mean: It's a Z-diode and the Optocoupler is supposed to switch only above a specific voltage.
      This part is already working perfectly. The circuit in this video still had a big stupid mistake: no pull-ups / pull-downs to define the ESP's boot mode. *facepalm*