Running Multiple ChipWhisperers
The ChipWhisperer hardware/software supports running as many capture boards as you have USB ports. This page documents how to connect to multiple devices, which differs from the usual way of connecting to a ChipWhisperer (both inside and outside of the GUI).
Multiple Devices in CW5
import chipwhisperer as cw
scope1 = cw.scope(sn="<sn_of_device1>") #ie sn="44203120394d36433230312033323037"
scope2 = cw.scope(sn="<sn_of_device2>")
Note that calling cw.scope()
without specifying a serial number with multiple ChipWhisperers connected will print the serial numbers of each connected ChipWhisperer.
Multiple Devices in the GUI
Note that using Capture requires one instance per device connected.
- Under Generic Settings, select "ChipWhisperer/OpenADC" as Scope Module and "Simple Serial" as Target Module:
- Hit the "Master: DIS" button. A warning window should pop up. Close this popup.
- Under the Scope Settings>NewAE USB (CWLite/CW1200)>Serial Number drop down menu, select the serial number of the device you want to use.
- Hit the "Master: DIS" button again.
- Continue as usual
Multiple Devices via Python
import chipwhisperer as cw
from chipwhisperer.capture.scopes.OpenADC import OpenADC
# Will fail and print serial numbers of connected devices
scope = cw.scope()
scope = OpenADC()
# Will report out of limits error, but still works
# Replace <Serial Number> with the s/n of the device you want to connect
scope.scopetype.getParams().getChild('Serial Number').setValue('<Serial Number>')
# Should succeed
scope.con()
# Continue as usual...