Running Multiple ChipWhisperers

Revision as of 13:06, 6 November 2018 by Adewar (Talk | contribs) (Created page with "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 t...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Revision as of 13:06, 6 November 2018 by Adewar (Talk | contribs) (Created page with "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 t...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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).

NOTE: Connecting to multiple devices is not yet supported on CW5. Either CW3 or CW4 must be used instead.

Multiple Devices in the GUI

Note that using Capture requires one instance per device connected.

  1. Under Generic Settings, select "ChipWhisperer/OpenADC" as Scope Module and "Simple Serial" as Target Module: Mult Dev 1.png
  2. Hit the "Master: DIS" button. A warning window should pop up. Close this popup.
  3. Under the Scope Settings>NewAE USB (CWLite/CW1200)>Serial Number drop down menu, select the serial number of the device you want to use. Mult Dev 2.png
  4. Hit the "Master: DIS" button again.
  5. 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...