Electromagnetic Simulations & Renders with openEMS & Blender

I would like to share my recent work about experimenting with electromagnetic simulations of PCBs in openEMS and then visualising and rendering the results in Blender. This is mainly for educational purposes; to learn and understand how RF and high frequency circuits and antennas work and hopefully inspire people to study these topics.

My workflow is as follows:

  • Using KiCAD to create RF circuits or to import projects from other PCB design software such as Altium
  • Export design from KiCAD as VRML file into Blender
  • Modify, adjust and fix geometries and areas of interest in Blender, also add port location and field dump planes
  • Export geometries as STL files into openEMS and setup simulation
  • Save simulated field data as VTK files
  • Open VTK files in Paraview and perform any necessary filter operations such as clipping and warp
  • Export Paraview scene as X3D files back into Blender
  • Use Blender’s Geometry Nodes to visualise and animate

This may seem like a long work flow of exports and imports, however once you get going it becomes manageable. KiCAD can export the hyperlynx files which can be used in openEMS with a tool called hyp2mat, but unfortunately this tool has been retired.

Below are some of recent simulations and animations

  1. 60GHz mmWave radar:
    I used to openEMS and Blender simulate and render the how the electromagnetic waves are launched and radiated from a patch antenna array setup! The design is based on Texas Instruments mmWave evaluation board, specifically TIDEP-01001 which features the AWR6843 60GHz single-chip mmWave sensor. The design was done in Altium and I simply imported it in KiCAD.
    There are four channels feeding the array, you can see how the e-field component is generated and then propagates in the transmission lines towards the array. Since all the channels are in-phase with each other, the radiated electric field shows one main lobe at 0 degrees, and smaller side lobes.
  1. 2.4GHz Wi-Fi PCB meandered inverted F & PCB layout
    Here I used the antenna design reference from TI’s app note AN043 along with a PCB. I simulated the antenna’s radiated fields and also the surface currents in the PCB. All designed in KiCAD

Find me on Twitter @samerps to see more simulations and renders


This is on my “find some spare time” list

Will it be possible to do point-to-point ‘parasitics extraction’ on the PCB for interconnect simulation, to check for signal integrity?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.