For the RHme2 Fiesta challenge (
https://github.com/Riscure/Rhme-2016/tree/master/challenges/binaries/fiesta) I'm trying to perform a fault injection by dropping the voltage of an Arduino Nano for a very short amount of time. When this happens exactly at the right moment with the right duration, the Arduino will probably skip some instructions and will jump out of its for loop.
To perform this very short voltage dip, I've programmed an FPGA to create a short negative pulse when I click a button. This is working great, however the FPGA operates at 3.3V and does not supply a lot of current. To power the Arduino nano I need to have something around 5 volts, with probably 30mA max (i guess). I have tried different logic level conversion techniques, but it still doesn't work.
At first I tried using a general bidirectional logic level converter from AliExpress, this is working great, even with higher speeds, however it can not supply enough current to run the Arduino.
The second try was to create a logic level converter with 2N2222 transistor, as in the following schematic (
). This did not get up to the high pulse speed produced by the FPGA, and also couldn't supply the Arduino with enough current. I tried various resistor values to get a better current throughput, at some point I got the Arduino running, but the circuit didn't even respond to the negative pulse.
The last try was with an opamp I have laying around, The LM324AN to be precise. This also didn't respond quick enough to the negative pulse.
Is there any other way or any improvements to the methods i've tried, to power the Arduino nano, and have a really quick negative pulse, to perform a fault injection attack?