PicoEMP – A low-cost Electromagnetic Fault Injection (EMFI) tool

34 transpute 15 6/25/2025, 3:05:56 AM github.com ↗

Comments (15)

dlcarrier · 9h ago
ESD protection is often overlooked in hobbyist designs. Proper shielding and routing, as well as cheap ESD protection diodes, can make a world of difference, in a products lifetime, especially in applications with inductive loads.
tinix · 8h ago
you might be surprised how much you can do with a simple spark gap.

a grill lighter or modified milty zerostat can easily inject faults, albeit more manually and less precision than one of these timed devices. but it's also an order of magnitude or two cheaper...

mycatisblack · 3h ago
You know those cigarette lighters with an electric spark? Start a download over wifi, press the lighter a number of times in quick succession. Wifi disconnects.
Onavo · 2h ago
The first radios were spark gap transmitters (see Hertz's famous experiment). Though to be clear, Hertz's experiment was rather unconventional as the spark gap served as both the transmitting antenna (albeit a fairly noisy one) and also as a switch. Subsequent designs utilize the spark gap only as a high voltage switch. In modern tank circuits, this "switch" is replaced with a solid state transistor (or similar type of devices).

Modern plasma antennas are much more advanced than the traditional spark gaps.

https://en.m.wikipedia.org/wiki/Plasma_antenna

colechristensen · 6h ago
You can also damage parts with those things just from the EMI they radiate.
fxtentacle · 7h ago
Are there any affordable open source projects in the opposite direction?

I’ve built a rather complex robot with Nema steppers. Now something is messing with the control board and causing the CPU to glitch. Physically apart from the robot, the CPU board works fine for weeks. It also has a completely separate power circuit with optocouplers. So my guess is that it might be the power supply or one of the motors emitting electromagnetic interference. But how would I measure that?

colechristensen · 7h ago
First step is an oscilloscope so you can actually look at what's happening on data lines.
fxtentacle · 6h ago
I have one and the power supply lines (to the glitching CPU) seem stable with minimal noise. The CPU-integrated USB2 PHY also retains its connection even during the CPU glitch. A connected Linux workstation will not log any USB connection or disconnection events. And a CDC serial connection will remain open. The power levels to the stepper driver chips also remain stable during the glitch.

So to me, it looks like the glitching happens exclusively inside the CPU. It appears that I’m randomly experiencing the exact same issue that the PicoEMP in the original article can induce.

colechristensen · 18m ago
Next steps: EMI (near field) probes for your scope.

https://www.rohde-schwarz.com/us/products/test-and-measureme...

ddeck · 3h ago
Just a reminder to ensure that you have brownout detection enabled on the CPU/MCU (assuming it's available) and are checking for it in your firmware. Supply drops can be very brief.
nicman23 · 5h ago
are you sure it is not just the nemas causing a under voltage situation?
fxtentacle · 3h ago
Yes.

1. Stepper and CPU use separate power supplies and are optically decoupled.

2. I’ve monitored min max voltage on the CPU caps and they are fine the entire time, even during glitches.

amelius · 7h ago
Would this pass EMC certification?
ranger_danger · 9h ago
Let's hope someone doesn't put on a bigger "antenna" on one of these and start frying electronics from a distance.
semi-extrinsic · 6h ago
Inverse square law to the rescue!

Jokes aside, I've always been curious how much you could accomplish in this direction by driving a microwave magnetron into a horn antenna using an old pulse forming network off ebay... Hell, even travelling wave tubes are getting affordable these days.