BB3-CM4-EMC
At the start of 2023. NLnet decided to sponsor the development of BB3-CM4.
As we mostly designing HW and we need to comply with EMC standards and regulations we decided to run some in house
experiments to find or design affordable opensource equipment for pre-compliance measurements.
https://nlnet.nl/project/BB3-CM4
Why?
After I have posted one picture on X - I have noticed that lots of users are interested in EMC/EMI
We talked with NLnet and they extended our grant at the end of 2023.
So let's start!
Electromagnetic compatibility
From Wikipedia, the free encyclopedia
Electromagnetic compatibility (EMC) is the ability of electrical equipment and systems to function acceptably in their electromagnetic environment, by limiting the unintentional generation, propagation and reception of electromagnetic energy which may cause unwanted effects such as electromagnetic interference (EMI) or even physical damage to operational equipment.[1][2] The goal of EMC is the correct operation of different equipment in a common electromagnetic environment. It is also the name given to the associated branch of electrical engineering.
EMC pursues three main classes of issue. Emission is the generation of electromagnetic energy, whether deliberate or accidental, by some source and its release into the environment. EMC studies the unwanted emissions and the countermeasures which may be taken in order to reduce unwanted emissions. The second class, susceptibility, is the tendency of electrical equipment, referred to as the victim, to malfunction or break down in the presence of unwanted emissions, which are known as Radio frequency interference (RFI). Immunity is the opposite of susceptibility, being the ability of equipment to function correctly in the presence of RFI, with the discipline of "hardening" equipment being known equally as susceptibility or immunity. A third class studied is coupling, which is the mechanism by which emitted interference reaches the victim.
Interference mitigation and hence electromagnetic compatibility may be achieved by addressing any or all of these issues, i.e., quieting the sources of interference, inhibiting coupling paths and/or hardening the potential victims. In practice, many of the engineering techniques used, such as grounding and shielding, apply to all three issues.
https://en.wikipedia.org/wiki/Electromagnetic_compatibility
Equipement
For our experimens we will need some equipement so here is quick info about some that we will use.
TinySA
The tinySA are a small spectrum analyzers and signal generators with some nice capabilities:
LiteVNA 64
The LiteVNA is a portable 50 kHz - 6.3 GHz vector network analyzer which design is based on the NanoVNA and SAA2. This vna is designed to measure equipment reflection and transmission coefficients without the need for a large analyzer. The LiteVNA uses one mixer which enables S11 and S21 measurements through RF switching and TDR/DTF measurements through IFFT calculations.
The analyser has a 3.95" touch-screen display that can show the measurements in 10-1001 data points. Furthermore, the analyser has a built-in 2000 mAh battery and can be connected to an android phone or PC. Connecting to a phone or PC allows for controlling the analyser and displaying the measurements.
Digital Attenuator
It is really usefull to have attenuator - if the signal is to high it can dump it down. Maybe you will not use it that much on receiver, but when sometimes when you transmit you want weeker signal and attenuator may come handy. This one is also programable, so you can send it settings over serial port.
Adapters
On Ali you can find boxes filled with adapter connectors. It is usefull to even have two boxes as in this box all connectors will be different type. Aditionaly I have bought M-M and F-F SME adapters.
Probes
Picture taken from - https://eleshop.eu/emc-near-field-probe-set.html
Probes looks really profesional, they have couting, handle, great quality cable, and profesional looking box! They have price range is around 200€
Probes (from internet) - cheapest I could find with cheap PreAmplifier
Price for just probe set was around 10€ and with Preamplifier was around 30€
Probes (OpenSource)
I got design files for open source probe here:
https://github.com/dezanche/H-field_RF_probe
I have also found those options:
https://github.com/umcu7tcoillab/EMI-probes
https://github.com/ketszim97/NearField_PCB_Probes
https://github.com/GregPlusPlus/Near-Field_Probes
https://github.com/oh7bf/NfHprobe
DIY probes
I did not test those but there are a lot of articles around that will gude you how to make your own probe:
https://jestineyong.com/make-your-own-emi-measurement-probes/
https://www.uniteng.com/neildocs/references/ProbingtheMagneticFieldProbe.htm
https://www.uniteng.com/index.php/2013/05/30/measuring-emi-with-homemade-magnetic-field-probe/
Laser - you can also cut everything with any available hand cutting tool
To be faster In later experiments we also bought blue 22W laser cuter
It is a blue diode laser so it will not cut transparent acrylic, blue colors will also be problematic...
But for this project we will mostly cut/engrave paper/wood...
We already have Prusa Mini that is always usefull in prototyping
Now that we have everything we can start our experiments!
Once I got open source probes from JLCPCB order I noticed that they does not have any case design, and those bought one had just schrink tube so I decided to do simple one.
To do that I have just exported 3D model of probe from KiCad and imported it into FreeCad, and created simple stick in case.
And here is what we have now
With fancy probes you will get S11 ( reflection coeficient ) meassurement graph printed, but now that we have VNA we can also get those meassurements for the open source probe...
What is important when you do meassurements with LiteVNA is that if you change frequency range you will need to calibration for that range.
It is super easy, but important to remember as if you do not calibrate you will get wrong meassurements.
To get Menu just click on screen
STIMULUS
START - and select 3, 0, M
STOP - and select 6, G
That will give us range from 30MHz to 6GHz
Press BACK on screen menu
Go to CALIBRATE then select Reset all
Then click CALIBRATE
For our meassurements we will need do OPEN, SHORT, LOAD calibration.
Click on OPEN first without anything connected to port 1
Then put short addon connector that you got with your VNA and click on SHORT
After that put 50ohm addon and press LOAD
You are done so click on DONE
You can now SAVE your calibrated range to one of provided slots
Remove addon and now you can continue with meassurements!
Compare probes while checking same area
For imple probe compare we could just place each probe on same area of some board.
But as we do have 3D printer I decided to go bit around.
Creating holder
My idea was to create probe holder for 3D printer so I can repeat same scan with different probes.
So I have check what holders could be usefull and found this one that has OpenScad model
https://github.com/andimoto/prusa-mini-nozzle-cam
All it was needed was one cube that has bit bigger size then our Probe , so we can push it inside.
And now we need target, and for that I have selected ULX3S v316 board.
But to keep target at the same place I needed to create simple holder.
That was quite easy work in OpenScad - and to told it in place I have added placeholders for two magnets.
Complete setup looked like this.
But I also created one more cut so I can even rotate probe
Now I just need to create scanning code.
It took me some time to adjust Prusa slicer not to use filament and just move probe.
You can see on the right that I needed to edit each setting to get just movement and remember that you will also need to set Z offset as you will need to be above your board.
Let's scan!
Video showing probe moving in circles above ULX3S board.
And finally results
I did the same scanning with 3 probes with TinySA
On TinySA you will only need to set range - we have set it from 30MHz to 1GHz
First was bought one, second was opensource one, and last one was H20 from TekBox.
All probes are H-Field probes with similar loop hole.
Lets check how 10 minute scan for each board looks side by side on TinySA
You can already see that we got quite similar results, but it was quite hard to read results on screen.
Let's create app
I could probably use app that was available for TinySA ultra but you know that I love Envox EEZ Studio so I have asked Martin to help me with serial parsing, and after some work we have simple app that can get and export traces.
Get those traces!
Now I could easaly move mouse arund and check the difference between those probe scans.
GREEN is opensource probe, YELLOW is TekBox one and RED one is the bought one.
From those graphs I would say that open probe is good enough for our tests so I decided to continue my work with only open one.
Comparing two board versions
In this example I first did scan with board that is not powered ON - so that scan is NOISE (RED).
Then I did two target scan.
First target was ULX3S v316 - 4 layer board.
Second one was ULX3S v318 - 6 layer board.
Both boards are running same sample that is using SDRAM.
Then I substracted those scans from NOISE.
Each scan was all along the board and lasted for 10 minutes.
Here is close up of scan without noise.
I think you can easily guess version of the board from that scan.
What are differences between older boards and v318?
We have noticed that some lines on v3.1.7 does not have good GND plane so we have switched to 6 layer version instead of 4 layer.
That created sold ground plane bellow each signal trace. We also added more GND VIAs to stich GND planes together.
Conclusion
Probes can be used for finding target that is emiting out of the specs electro magnetic radiation.
For example if you notice high peek around some place on your PCB - you will need to check PCB design and thing about why you have some noise at that spot.
With the help of 3D printer probes can be used for detailed scan of the whole device.
As we have measured expensive probes are better, but we can mostly use open source ones and spot problems with EMI.
We have noticed that 6 layer ULX3S is much better then 4 layer board, but it is not about how much layers board has, it is about the design - you need to take care about each trace and provide good ground plane for each trace, and also have good understanding about return currents.
For more info about return currents you can check this video: https://www.youtube.com/watch?v=icRzEZF3eZo&t=2s from Robert Feranec.
Design guide
You can find complete design guide on NASA page
https://s3vi.ndc.nasa.gov/ssri-kb/static/resources/High-Speed%20PCB%20Design%20Guide.pdf
It has example pictures of good and bad practices so make sure you understand each example they show.
Extras
More about probes
https://www.youtube.com/watch?v=oWERNOmtdbk
Scanning using RTL-SDR
https://www.rtl-sdr.com/creating-an-emc-probe-using-an-rtl-sdr-and-semi-rigid-coax/
Detailed article about probe compare
https://www.edn.com/review-tekbox-near-field-probes/
Another in detail probe compare
https://www.youtube.com/watch?app=desktop&v=2xy3Hm1_ZqI
Here is a really good guide for the minimum you need to take care of:
https://www.protoexpress.com/blog/7-pcb-design-tips-solve-emi-emc-issues/
Project link
https://github.com/intergalaktik/EMC-experiments
Contact
Radiona/intergalaktik discord: https://discord.gg/qwMUk6W
Envox discord: https://discord.gg/btKVC5sedG
Many thanks to NLnet for sponsoring our work!
By: Goran Mahovlić
This project is funded by NLnet https://nlnet.nl/project/BB3-CM4/
This project was funded through the NGI0 Entrust Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101069594.