I also discovered that the model 2205A's board seems to be right the same, I guess the only differentiation between two models could be CY7C68013A E2PROM content.
Have a look here, I was able to upgrade my picoscope by modifying the eprom contents:
https://www.eevblog.com/forum/testgear/picoscope-hack/
And yes, pico does sometimes impose some software limits to differentiate between products.
BTW: Trigger hold-off is not available on higher end models also (like for example my 5000-series)
-snip
BTW: Trigger hold-off is not available on higher end models also (like for example my 5000-series)
Hello,
Maybe there is no fine resolution clock in the Picoscope and therefore the time stamp is missing in segmented memory and there is no hold off.
Best regards
egonotto
Anyhow, regardless of how it's implemented, this lack would be understandable for low cost line like 2204A/2205A but NOT for all the rest of the catalog, considering how much you pay for, i.e., a 100MHz 2 channels 1GS/s DSO with some sampling buffer onboard.
thank you very much for your reply, I just took a fast glimpse reading first post of your linked 3ad (i'll read all the rest later), I understand that you desoldered from the PCB the E2PROM attached to USB bridge (CY7C68013A ?) and after some data content analysis you have understood where and how the instrument model is specified.
While a trigger hold-off function is sometimes useful, the fact that it is lacking on the picoscope never really has bothered me, as typically I can find a triggering solution without it.
I have been a longtime user of Picoscope (since the ADC212), and still quite like my 5442B. But I do which their software (especially the FFT part) would become more feature rich (peak analysis functions, decent overlay functionality, normalisation…).
I also own an Analog Discovery, and their “Waveforms” software is much better in many aspects, but not their hardware. Still, maybe when they are finally finished porting their software to Picosoft, new features will again be implemented.
I'm assessing the (small) capabilities of Picoscope 2204A and I have some doubts :
1) really there is no Trigger Holdoff mechanism ?
2) really streaming mode is limited to 1MS/s ?
3) why it's impossible to use streaming mode below 100ms/div time base ?
About the point 2 it seems to me more due to a marketing decision than technical limitation, the instruments mount an old but good CY7C68013A that is capable to do much more and i do not believe that the FPGA cannot keep up to higher data transfer rate.
I've been playing for a few hours with both Picoscope 6 & 7 and now I wonder if there are other programs that address some of the point that i reported.
I'm assessing the (small) capabilities of Picoscope 2204A and I have some doubts :
1) really there is no Trigger Holdoff mechanism ?
2) really streaming mode is limited to 1MS/s ?
3) why it's impossible to use streaming mode below 100ms/div time base ?
About the point 2 it seems to me more due to a marketing decision than technical limitation, the instruments mount an old but good CY7C68013A that is capable to do much more and i do not believe that the FPGA cannot keep up to higher data transfer rate.
I've been playing for a few hours with both Picoscope 6 & 7 and now I wonder if there are other programs that address some of the point that i reported.Yes, within Picoscope 6 these are the limitations. I haven't been using picoscope7 as it doesn't have all the features yet and I am not very fond of it.
With the API you can eliminate 3 completely as you pick the streaming sample rate and the total number of samples. You can also stream 2 MS/s sample rate. I have only used the python wrappers that picotech provides for the API, and the streaming_mode_gathering.py script is already setup for 2 MS/s. It throws an error when I try to push it higher. Below is a figure where I have captured a 200 kHz sinusoid and we clearly see 10 samples / period.
But of course this does not help the fact that within the Picoscope software you cannot get around these streaming limitations.

The trigger hold-off is another matter completely. It hasn't bothered me personally, but I don't do very complicated stuff.
jason
Please let me know if there is a "trick" to obtain a similar functionality.
Which port are you referring to ?
Please let me know if there is a "trick" to obtain a similar functionality.
I would expect you probably can use interval triggering for this (if I understood your requirement correctly). This will trigger on the second falling edge if a large time (time longer than your packet length) has been between the first and the second edge, so you always trigger on the first falling edge of the "new" package. I am however not sure if it will also "see" again the first edge in this new package and retrigger on the next package or you will always mis a package in between. I indeed use this the pico more for analog work instead of protocol analysis.
Which port are you referring to ?
Picosoft 7 is a complete new verion of Picosoft they are building from the ground up. Currently not all features from Picosoft 6 are migrated to 7.
Please let me know if there is a "trick" to obtain a similar functionality.
I would expect you probably can use interval triggering for this (if I understood your requirement correctly). This will trigger on the second falling edge if a large time (time longer than your packet length) has been between the first and the second edge, so you always trigger on the first falling edge of the "new" package. I am however not sure if it will also "see" again the first edge in this new package and retrigger on the next package or you will always mis a package in between. I indeed use this the pico more for analog work instead of protocol analysis.
-snip
Please let me know if there is a "trick" to obtain a similar functionality.
I would expect you probably can use interval triggering for this (if I understood your requirement correctly). This will trigger on the second falling edge if a large time (time longer than your packet length) has been between the first and the second edge, so you always trigger on the first falling edge of the "new" package. I am however not sure if it will also "see" again the first edge in this new package and retrigger on the next package or you will always mis a package in between. I indeed use this the pico more for analog work instead of protocol analysis.
-snip
Finally i had the time to extensively try Interval trigger as you suggested: it works for the purpose but essentially only with certain ratio between horizontal time scale & Trigger "time" parameter, luckily in a way that is compatible with my needs, so problem solved![]()
Now i have another question that could be silly for Picoscope's users :
why if i set (i.e.) horizontal scale to 10ms/div and number of samples to 10Ks the resulting sample interval is 10.24us ?
Please let me know if there is a "trick" to obtain a similar functionality.
I would expect you probably can use interval triggering for this (if I understood your requirement correctly). This will trigger on the second falling edge if a large time (time longer than your packet length) has been between the first and the second edge, so you always trigger on the first falling edge of the "new" package. I am however not sure if it will also "see" again the first edge in this new package and retrigger on the next package or you will always mis a package in between. I indeed use this the pico more for analog work instead of protocol analysis.
-snip
Finally i had the time to extensively try Interval trigger as you suggested: it works for the purpose but essentially only with certain ratio between horizontal time scale & Trigger "time" parameter, luckily in a way that is compatible with my needs, so problem solved![]()
Now i have another question that could be silly for Picoscope's users :
why if i set (i.e.) horizontal scale to 10ms/div and number of samples to 10Ks the resulting sample interval is 10.24us ?The fastest sample rate is 10ns.Each time you increase the time base this goes up by a factor of 2. So you must have done this 10 times since 2^(10) = 1024 and 10ns * 1024 = 10.24 us.


Please let me know if there is a "trick" to obtain a similar functionality.
I would expect you probably can use interval triggering for this (if I understood your requirement correctly). This will trigger on the second falling edge if a large time (time longer than your packet length) has been between the first and the second edge, so you always trigger on the first falling edge of the "new" package. I am however not sure if it will also "see" again the first edge in this new package and retrigger on the next package or you will always mis a package in between. I indeed use this the pico more for analog work instead of protocol analysis.
-snip
Finally i had the time to extensively try Interval trigger as you suggested: it works for the purpose but essentially only with certain ratio between horizontal time scale & Trigger "time" parameter, luckily in a way that is compatible with my needs, so problem solved![]()
Now i have another question that could be silly for Picoscope's users :
why if i set (i.e.) horizontal scale to 10ms/div and number of samples to 10Ks the resulting sample interval is 10.24us ?The fastest sample rate is 10ns.Each time you increase the time base this goes up by a factor of 2. So you must have done this 10 times since 2^(10) = 1024 and 10ns * 1024 = 10.24 us.
Mmmh, i'm not able to follow your explanation, horizontal time division changes with 1-2-5 sequence like all desktop scope, not in power of 2, the weird thing here is that sample interval is often fractional resulting in "odd" total number of samples.
Let's take the following actual scope setting : 10ms/div -> 100ms full horizontal scale , Sample interval : 10.24us, No Samples : 9766
Why it's not like this : sample interval : 10us, number of sample 10000 ?
I fear that in 2204A/2205A sample clock generator is not capable to generate integer sample interval for all time base settings amnd / or there are other trade-off that prevent that
If positive, i'm not happy.
-snip
One thing about your example that I don't understand: are you getting more than 8k samples with your 2204a? With your settings I get 4.88 kS at 48.8 kS/s. Or are you using a 2205a (or a hacked 2204a)?
Jason