Join Clem as he builds an automated CNC‑style EMI heatmapping scanner to remove guesswork from near‑field probing during pre‑compliance testing. Using an Arduino Uno with GRBL, professional near‑field probes, and a low‑cost RTL‑SDR, the system scans a PCB in a controlled grid and turns raw measurements into clear EMI heatmaps. Along the way, Clem highlights real engineering challenges, including firmware choices, SDR software limitations, and the critical importance of lowering the noise floor through proper shielding, showing how automation and good measurement practice work together.
Watch the Build
Automating Near‑Field Probing
In this element14 presents project, Clem tackles one of the most frustrating and experience‑dependent problems in electronics design: locating EMI emission sources before they turn into expensive compliance failures. Anyone who has been through pre‑compliance testing will recognize the situation immediately. A specific frequency spike, or a narrow band, appears uncomfortably close to the regulatory limit. The test setup shows it clearly, but physically locating where that emission originates on the PCB is a very different challenge.
Traditionally, this process involves manually sweeping a near‑field probe across a powered board while watching a spectrum analyzer. It is slow, requires significant experience, and is highly sensitive to probe orientation and positioning. Small changes in angle or height can produce noticeably different results, making repeatability difficult.
Clem’s goal was to remove as much subjectivity from this process as possible. Rather than relying on careful hand movements and interpretation, he wanted a system that could probe a PCB in a controlled, repeatable way and generate structured data automatically.
“I want to make this process a lot more controllable, repeatable and less dependent on actual expert usage to find the culprit.”
The result is a dedicated EMC heatmapping scanner that behaves more like a CNC machine than a traditional test setup. Using Multicomp Pro near‑field probes and a precisely controlled motion system, the machine scans a PCB in a defined grid pattern, producing consistent measurements that can be directly compared across frequencies and design revisions.


Standing on Shoulders Then Starting Fresh
Clem is clear that the core idea behind the project is not new. Several years ago, other engineers demonstrated that an RTL‑SDR could be used as a low‑cost EMI receiver for comparative near‑field measurements. Inspired by this earlier work, Clem initially attempted to reproduce one of those implementations.
In practice, this proved difficult. Software libraries had evolved, dependencies had changed, and the original code no longer worked reliably. Even more importantly, the older project did not align with Clem’s vision for automation, flexibility, and structured scanning.
“I tried to get this to run. It’s dependent on some software that since had updates, so it doesn’t work as expected anymore, at least not in my setup.”
Rather than patching an aging codebase, Clem made the decision to start over completely. This allowed him to redesign both the hardware control and the software architecture around his own requirements, rather than being constrained by assumptions baked into someone else’s workflow.
The result is a system built cleanly and modularly from the ground up. Each part of the workflow, motion control, scan definition, data acquisition, and visualisation, is implemented as a distinct software component, making the overall system easier to understand, debug, and extend.


Smart Recycling, Smart Engineering
Mechanically, the scanner reflects a pragmatic engineering mindset. Clem reused components from previous projects wherever possible. The frame of an old 3D printer forms the mechanical base, with salvaged stepper motors and drivers handling motion. This approach keeps costs low and reinforces that the project is a functional tool rather than a polished commercial product.
The probe itself only moves in X and Y. The Z height is set manually once and remains fixed for the duration of a scan. This simplification reduces mechanical complexity and removes another variable that could affect measurement repeatability.
Once the user interactively defines the scan area by jogging the probe to the lower‑left and upper‑right corners of the region of interest, GRBL dynamically generates the zig‑zag toolpath. Clem deliberately chose GRBL 1.1 running on an Arduino Uno because it provides CNC‑style control without imposing the assumptions typical of modern 3D printer firmware.
“What I need is not homing and then executing a job. What I need is total control during the process, like a CNC where it can start and stop and resume.”
This design choice is reflected in the software as well. The system does not rely on homing at all. If position is lost, the user simply redefines the scan area. For EMI debugging, where scans often focus on specific subsections of a board, this flexibility is more valuable than absolute positioning.
A small camera is mounted above the device under test, but it is not used for alignment or vision‑based scanning. Instead, it serves a documentation role, capturing an image of the DUT after a scan so that measurement data can be visually associated with the physical board.


SDR Instead of Spectrum Analyzer
One of the most notable aspects of the project is Clem’s decision to use a low‑cost RTL‑SDR instead of a traditional spectrum analyzer. This is not positioned as a replacement for lab‑grade equipment, but as a practical alternative for comparative analysis and source localisation.
Clem explicitly warns against poor‑quality SDR clones, noting that unstable hardware can introduce measurement artifacts and waste debugging time. When paired with professional near‑field probes, however, a reliable RTL‑SDR proves more than capable of revealing relative emission hotspots across a PCB.
The software is designed to scan multiple frequencies in a single run. At each X‑Y coordinate, the system measures all selected frequencies before moving on to the next point. This approach is reflected in the scanner module, which parses the generated G‑code and interleaves motion with data acquisition.
Each scan produces a plain text file per frequency containing X and Y coordinates along with received power in dBm. A secondary script converts this data into heatmap images. This separation allows raw data to be preserved for further analysis while still producing visuals that are easy for humans to interpret.
Clem designed the Python code as a collection of reusable modules rather than a single monolithic script. While AI assistance helped with some of the repetitive coding, SDR‑specific functionality required significant manual correction, particularly where libraries had changed since earlier projects.


Lowering the Noise Floor
In the final section of the video, Clem turns his attention to a topic that is often misunderstood: noise floor reduction. He emphasises that meaningful EMI localisation is only possible if the measurement environment itself is properly controlled.
“If the noise doesn’t get any lower, you basically will always measure just a guess.”
Simply enclosing the system in a metal box is not sufficient. Effective shielding requires continuous conductive paths, low‑impedance connections between panels, and careful treatment of seams, gaps, and cable pass‑throughs. Clem demonstrates how improper bonding can allow high‑frequency energy to leak through even seemingly solid enclosures.
Using conductive tape, proper grounding techniques, and purpose‑built EMI gaskets, Clem shows how reducing the noise floor dramatically improves scan clarity. Once background noise is sufficiently suppressed, subtle emission sources become visible in the heatmaps, allowing engineers to draw much more confident conclusions.
This focus on shielding and attenuation reinforces one of the project’s key themes: automation alone is not enough. Reliable results depend on understanding EMI fundamentals and applying good measurement practice alongside clever tooling.
Taken as a whole, the automated EMI heatmapping scanner demonstrates a practical, fitness‑for‑purpose approach to a complex engineering problem. It does not claim to replace formal compliance testing, but it provides engineers with a powerful tool for understanding where emissions originate, how they change under different operating conditions, and whether design changes are having the desired effect before committing to expensive laboratory testing.
By combining controlled motion, repeatable measurements, and careful attention to the measurement environment itself, Clem shows that EMI debugging does not have to remain an opaque or purely experience‑driven exercise. Instead, it can be approached systematically, with data that supports informed design decisions earlier in the development process, and with some hardware that you have available.
Supporting Links and Files
- Episode 714 Resources - software license
- RTL SDR
Parts and Products Used
| Product Name | Manufacturer | Quantity | Buy Kit |
|---|---|---|---|
| Ardunio Uno R3 | ARDUINO | 1 | Buy Now |
| Test Equipment Kit, 4x Near Field Probe, 1m Cable, N-SMA Adaptor, Case | Multicomp pro | 1 | Buy Now |
Top Comments