Urgent help: Using picoscope with Capture software


Hi Everyone

I’m using Sakura g with picoscope but the capture software can’t detect the picoscope. I’m using picoscope 3000 series. Is there anything I need to install? I installed pico python master from git and now when I open capture hardware i get this error. please help

C:\Users\chipwhisperer-0.12RC1\software\chipwhisperer\capture>python ChipWhispererCapture.py
Traceback (most recent call last):
  File "ChipWhispererCapture.py", line 1026, in <module>
  File "ChipWhispererCapture.py", line 1011, in main
    window = ChipWhispererCapture(scriptDir)
  File "ChipWhispererCapture.py", line 345, in __init__
    valid_aux["Frequency Counter"] = aux_FrequencyMeasure.FrequencyMeasure(conso
le=self.console, showScriptParameter=self.showScriptParameter)
  File "c:\chipwhisperer-0.12rc1\software\chipwhisperer\capture\auxiliary\Auxili
aryTemplate.py", line 48, in __init__
  File "c:\chipwhisperer-0.12rc1\software\chipwhisperer\capture\auxiliary\Freque
ncyMeasure.py", line 113, in setupParameters
    scopes["PicoScope 5000A"] = ps5000a.PS5000a(connect=False)
  File "C:\WinPython-32bit-\python-2.7.6\lib\site-packages\picoscope-0.1-
py2.7.egg\picoscope\ps5000a.py", line 141, in __init__
    self.lib = windll.LoadLibrary(self.LIBNAME + ".dll")
  File "C:\WinPython-32bit-\python-2.7.6\lib\ctypes\__init__.py", line 44
3, in LoadLibrary
    return self._dlltype(name)
  File "C:\WinPython-32bit-\python-2.7.6\lib\ctypes\__init__.py", line 36
5, in __init__
    self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] The specified module could not be found


Hi Kea,

It looks like it’s having trouble finding the DLL.

You need to install the PicoScope SDK from picotech.com/downloads - select your specific scope, and select the “PicoSDK (32-bit)”. Once you install that it should pick the DLL up I think, although it’s possible it needs to be copied into directory of picoscope .py files (“C:\WinPython-32bit-\python-2.7.6\lib\site-packages\picoscope-0.1-py2.7.egg\picoscope” it looked like on your system).

Let me know what happens!



Hi Colin

After installing the PicoSDK it picked up the scope…Thanks for your time and effort, Much appreciated!! :smiley: :slight_smile: :smiley:


Awesome - glad it worked! Will add that to the documentation too so it’s more clear.




Hi Colin

I have encountered another problem. After connecting the target I wanted to text in but no text goes through. Instead everything just freezes. On the debug logging I get this

Traceback (most recent call last):
File “C:\chipwhisperer-0.12RC1\software\chipwhisperer\capture\ChipWhispererCapture.py”, line 788, in capture1
File “C:\chipwhisperer-0.12RC1\software\chipwhisperer\capture\AcquisitionController.py”, line 126, in doSingleReading
File “C:\chipwhisperer-0.12RC1\software\chipwhisperer\capture\targets\SAKURAG.py”, line 349, in loadEncryptionKey
while self.isDone() == False:
File “C:\chipwhisperer-0.12RC1\software\chipwhisperer\capture\targets\SAKURAG.py”, line 365, in isDone
if result[0] == 0x00 and result[1] == 0x00:
IndexError: bytearray index out of range
How do I fix this?



I’ll have to double-check - it sounds like maybe the LX9 wasn’t programmed with the correct bitstream the ChipWhisperer was expecting. I don’t have a SAKURA-G in front of me right now, but will check when I’m back in a lab with it.

All I can recommend is there is the video at youtube.com/watch?v=LRYqiLdya7g in case it had any information you had missed.

Was the LX9 programmed with anything, or were you using all defaults (ie., as shipped).





I checked the video and there is nothing that I missed. I programmed LX9 with a .mcs file found from satoh.cs.uec.ac.jp/SAKURA/doc/SA … nglish.pdf



Hmm… there was actually a change in the LX9 .mcs file. Instead can you program the LX9 with the file from here: viewtopic.php?f=6&t=28&p=156&hilit=sakura+mcs#p162

And the LX75 with the .mcs from the ChipWhisperer build at assembla.com/spaces/chipwhi … ura-g_main .

You can use the .bit files if you want to temporarily check first!





I have actually tried that and still got the same error



I too have a picoscope 3000 but it is the 3203D. Do you have a picoscope 3000A? I can not get CW to see my picoscope.


Hi Kea,

Still not sure - will do some more tests tomorrow and hopefully sort it out, just wanted to follow up that I hadn’t totally given up. I’m going to start with a fresh install of both the ChipWhisperer software & the FPGA board itself (i.e., reload all the FPGAs).




Yes its Picoscope 3206A


Thanks Colin


Hi Kea,

I performed the following steps:

  1. Programmed the LX9 Control FPGA (i.e., not the larger LX75 one) with the .bit file from attachment at viewtopic.php?f=6&t=28&p=156&hilit=sakura+mcs#p162 (this is an older version, I think it’s not the same as the current LX9 the SAKURA-G quickstart).
  2. Connected the ChipWhisperer Target as the “Original Bitstream”.
  3. Hit “Capture 1” a few times.

That seemed to work OK for me (i.e., wasn’t able to replicate that error). Are you still getting that same error, can you confirm the LX9 was programmed with the correct bistream (i.e., from forum post attachment)? I just tried and when I programmed with the .mcs downloaded from the SAKURA-G website received that same error.

I’ll look into what changed & if I can make the new version work, but in the mean-time it’s faster to use the posted LX9 .bit/.mcs file.



Hi Colin

I followed your steps and still got the same error. I programmed LX9 with .bit file and also added the SPI which is the .mcs file(I also tried with the .bit file only and vice versa). For LX75,i programmed it with the .mcs from the forum post attachment :frowning: :confused:

Traceback (most recent call last):
  File "C:\chipwhisperer-0.12RC1\software\chipwhisperer\capture\ChipWhispererCapture.py", line 788, in capture1
  File "C:\chipwhisperer-0.12RC1\software\chipwhisperer\capture\AcquisitionController.py", line 126, in doSingleReading
  File "C:\chipwhisperer-0.12RC1\software\chipwhisperer\capture\targets\SAKURAG.py", line 381, in loadEncryptionKey
    while self.isDone() == False:
  File "C:\chipwhisperer-0.12RC1\software\chipwhisperer\capture\targets\SAKURAG.py", line 397, in isDone
    if result[0] == 0x00: # and result[1] == 0x00:


Hmm… ok I’m not as sure then what happened.

Did the original “checker” work for the SAKURA-G? i.e. if you follow the quickstart does that all work? Trying to figure out how to narrow it down here…



Hi Colin,

Thanks for the reply, Yes it worked


Kea and Colin

How do you / did you get CW capture to display the PS3000A in the “Scope Type” Pull down? I cloned the master Chip Whisperer GIT repository and followed the instructions. I can see PS2000, PS5000a, and PS6000 but no PS300a.

I tried to go thru the python script and a I can find where I think they are being defined in PicoScope.py.

I tried to add
from picoscope import ps3000a on line 54

and on line 199ish
scope_cons[“PS3000a”] = ps3000a.PS3000a(connect=False)

but I get an error when I add the scope_cons line so I guess it should not be there.

Traceback (most recent call last):
File “CWCapture.pyw”, line 2, in
from chipwhisperer.capture.ChipWhispererCapture import main
File "C:\chip whisperer\software\chipwhisperer\capture\ChipWhispererCapture.py
", line 84, in
from chipwhisperer.capture.scopes.PicoScope import PicoScopeInterface as Pi
File “C:\chip whisperer\software\chipwhisperer\capture\scopes\PicoScope.py”, l
ine 200
scope_cons[“PS3000a”] = ps3000a.PS3000a(connect=False)
IndentationError: unexpected indent

I have cloned the pico-python master and did a python setup.py develop on it.

The Test_PS3000a.py script does see my picoscope once I put the right serial number in it however it ends up crashing. Im not sure if it is that test script or just a delta to my scope.
I did download and install Pico SDK 32 bit and the projects for the picoscope 3000a in there do seem to work for my scope. The only dll I can see which may apply to my scope is in the PS3000A CWrapper folder ps3000aWrap.dll.

Sorry for the noobie questions. :confused:


I am trying to connect an oscilloscope to the program.I’m in the presence of pikoskop 3205b.
I added code to import ps3000a library. However, when you try to start the removal of oscillograms throws out a bunch of types of errors:Error 7629.39452135 shaft going beyond the Sample rateand nothing further occurs.
How can you help me?