Hello, i get the gerbers of chipwhisperer-lite and removed the target board. I soldered everything by hand and i get sam comunicating with PC and the heartbeat led working. I believe that bitstream is loaded into FPGA but im not sure because when i switch the IO LP glitch pin it stays in 0V. Also i dont know if the SAM heating a little bit is normal. Ty.
Where are you measuring 0V? You won’t measure any changes unless you have a (proper) target board connected. You can measure the MOSFET gate voltage.
Warm is normal, but it should not be uncomfortably hot.
Im measuing 0V in the gate of MOSFET before 1R resistor. i basically execute this: import time
import chipwhisperer as cw
scope = cw.scope()
scope.io.glitch_lp = True # ativa o pino LP MOSFET (GPIO já configurado internamente)
scope.glitch.output = “enable_only”
scope.glitch.width = 10.0
scope.glitch.offset = 5.0
scope.glitch.repeat = 1
scope.glitch.trigger_src = “manual”
scope.glitch.arm_timing = “after_scope”
scope.arm()
scope.io.glitch_hp = False # garante HP desligado
scope.io.glitch_lp = True
time.sleep(0.001)
scope.io.glitch_lp = False
when i do this in notebook:
import chipwhisperer as cwscope = cw.scope()
print(type(scope))
print(scope.fw_version)print(scope.fpga_build_time)
i simply get:
<class 'chipwhisperer.capture.scopes.OpenADC.OpenADC'>
{'major': 0, 'minor': 65, 'debug': 0}
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
Cell In[26], line 7
5 # scope.program_fpga(cw.hardware._default_bitstream(scope))
6 print(scope.fw_version)
----> 7 print(scope.fpga_build_time)
AttributeError: 'OpenADC' object has no attribute 'fpga_build_time'
Consult the API:
scope.fpga_buildtimeis a Husky-only feature. (Also, you have a typo.)- scope.io.glitch_lp shorts the power-rail to ground when the glitch module’s output is active. Here you haven’t activated the glitch module. You need to call
scope.glitch.manual_trigger()for that.
Strongly recommend that you go through our Jupyter notebooks to learn how to use ChipWhisperer.
I actually went through the tutorials, but since im building the board from scratch, im doing step by step. It finds chipwhisperer and i also try that manual_trigger and nothing. Before im going through advanced tutorials i just want to toggle that fpga pin, because from what i see in the schematics, this pin should go high to activate the mosfet and short the power-rail to ground. However i try many different commands in order to toggle the pin and nothing. Theres some tutorial in order to proper understand this?
and read the API for all of the scope.glitch parameters.
If after doing this you have specific questions about scope.glitch parameters and usage, we’ll be happy to help you. I really don’t recommend the “trying many different commands” approach. Frustration is almost guaranteed!
The glitch is very narrow. You will not “see” it unless you’re triggering your oscilloscope on it. You will not see it with a voltmeter. Refer to the API to learn how to control the glitch shape.
I trigger it on oscillocope but it just dont toggle. I will carefully read it
Ok, its now working. After carefully read the Scope API and fixed some soldered joints, its now working. Ty for your help ![]()