PicoScope 2000 - Page 1
Forum section: electronics / testgear

author: MrW0lf
author_rank: Frequent Contributor
timestamp: March 01, 2017, 01:38:35 pm
content: PicoScope 2408B (100MHz, 4CH, 1GSa/s RTS, 20GSa/s ETS, 128MB memory, AWG)USB oscilloscope rolling review + general 2000 series threadEven as a long time PicoScope owner (2205 (2010my), 2205 MSO (2013my)), was quite surprised by my new 2408B on several fronts. So decided to do "rolling review" on it and learn how to properly max out it's capabilities in progress. Currently planned: bandwidth & sampling rate limits; vertical / horizontal / automated measurements accuracy; advanced mask testing; FFT; decoding; bode plot (incl. phase), some math trickery.If any additional interests, please ask..First task/test was to actually find out specs. Included here are those I see as most important and ones missing / different inofficial specs(emphasized in green). Scope performance relies heavily on PC software - so guess they forgot to update specs, while software got better. PC itself also plays large part, mine is Lenovo W520 laptop, Intel i7-2720QM, 8GB RAM, 64-bit Windows 7. So reasonably fast, but probably not enough to totally max out scope.Disclaimer: review/test is done in non-controlled environment by non-professional. Use this info at own risk & responsibility2408B SPECIFICATIONSOscilloscope - verticalAnalog bandwidth: 100MHzRise time (calculated): 3.5nsVertical resolution: 8bit (up to 12bit averaging)Input coupling: AC/DCInput ranges: +-20mV...+-20V (4mV/div...4V/div)Vertical DC offset range: ±250mV (±20mV to ±200mV ranges); ±2.5V (±500mV to ±2V ranges); ±25V (±5V to ±20V ranges)DC zero level calibration:on-the-flyDC accuracy: ±3% of full scale ±200uVOffset control accuracy: ±1% of offset setting, additional to basic DC accuracyOvervoltage protection: ±100V (DC + AC peak)Oscilloscope - horizontalReal time sampling rate (RTS):any 1 ch 1GSa/s; any 2 ch 500MSa/s; any 3-4 ch 250MSa/sEquivalent time sampling rate (ETS):any 1-4 ch 20GSa/sTimebases (RTS): 1ns/div...5000s/divTimebases (ETS):50ps/div...200s/divMax timebase at max sampling rate (RTS, Single trigger, fast sampling):10ms/divMax timebase at max sampling rate (RTS, None|Auto|Repeat triggers, fast sampling):5ms/divMax timebase at max sampling rate (RTS, Rapid trigger, fast sampling):1ms/divMax timebase at max sampling rate (ETS):50ns/divMax memory (RTS, Single trigger, fast sampling):any 1ch 1x120MB; any 2ch 2x60MB; any 3ch 3x30MB; 4ch 4x30MBMax memory (RTS, None|Auto|Repeat triggers, fast sampling):any 1ch 1x60MB; any 2ch 2x30MB; any 3ch 3x15MB; 4ch 4x15MBMax memory (RTS, Rapid trigger, fast sampling):any 1ch 1x13x9.5MB; any 2ch 2x13x4.75MB; any 3ch 3x13x2.375MB; 4ch 4x13x2.375MBMax memory (RTS, None|Auto|Repeat|Single triggers, slow sampling):any 1ch 1x95MB; any 2ch 2x48MB; any 3ch 3x32MB; 4ch 4x24MBMax memory (ETS):any 1-4ch 1-4x16,380kBWaveform buffers: 10,000Maximum waveforms per second (RTS, persistence mode): 80,000Maximum waveforms per second (RTS, Rapid trigger): >1,000,000Initial timebase accuracy: ±50ppmTimebase drift: ±5ppm / yearSample jitter: 3ps RMS typicalADC sampling: SimultaneousDynamic performanceCrosstalk (full bandwidth, equal ranges): Better than 300:1Harmonic distortion: <–50dB at 100kHz, full-scale input, typicalSFDR (100 kHz, full-scale input, typical): ±20mV range: >44 dB; ±50mV range and higher: >52 dBNoise: <30uV RMS (±20mV range)Bandwidth flatness: (+0.3dB, –3dB) from DC to full bandwidthTriggeringTrigger rearm time in rapid trigger mode: <1us on fastest timebaseMax. waveforms in rapid trigger mode: 10,000Function generatorStandard signal frequency: 1MHzAWG update rate: 20MHzAWG buffer: 32kBAWG Resolution: 12bitAWG bandwidth: >1MHzAWG rise time (10%...90%): <120nsSpectrum analyzerFrequency: 0...100MHzFFT points: 1MFFT channels:all physical channels * viewports (same physical channel may be in different viewports, zoomed in different way) * math channels = manyMask testingModes:YT, XY, FFTMask channels:estimated (12 viewports * 4 ch) = 48 masks simultaneousAutomatic measurementsAccuracy:4-digit rounded at UI level, internally high precision floating point (can be accessed using "hacking")DisplayInterpolation: Linear or sin(x)/xPersistence modes: Digital color, analog intensity, custom, fast or noneZoom:100Mx horizontal, 50x vertical in any timebase + offset + custom zoomConnections4xCH BNC; AWG; USB 2.0Serial decoding(1-Wire, ARINC 429, CAN,CAN FD, DCC, DMX512, Ethernet 10Base-T, FlexRay, I²C, I²S, LIN, PS/2, SENT Fast, SENT Slow, SPI, UART/RS-232/RS-422/RS-485, USB (1.0/1.1))Other featuresmath channels; event actions; supplied probes: 4xTA132 (1x/10x, 150MHz)incl. BNC adaptorsANALOG BANDWIDTH TESTVERTICAL SYSTEM INTEGRITY TESTDC ACCURACYFREQUENCY COUNTING ACCURACYMICROPHONICSCUSTOM PROBESDIGITIZING ANALOG SIGNALS USING TRIGONOMETRYDADC / VIRTUAL MSO USING EXTERNAL DACFREQUENCY RESPONSE ANALYSIS TOOLS

author: JPortici
author_rank: Super Contributor
timestamp: March 01, 2017, 02:00:59 pm
content: It's dependent on usb load and on cpu/software load! notice that if you enable one or more decoders / math channels the waveform update rate drops down. ******** this, on the older pico with 48ks of memory. Probably on the new one it's using the additional memory for buffering and more wfms are transferred during CPU dead time?i don't know. thinking loud.+1 for math trickery

author: MrW0lf
author_rank: Frequent Contributor
timestamp: March 06, 2017, 10:27:26 pm
content: PicoScope 2408B ANALOG BANDWIDTHOfficially it is 100MHz, 3.5ns rise. Bandwidth flatness (+0.3 dB, –3 dB) from DC to full bandwidth.To test did set scope to 20ns/div, +-500mV (100mV/div), 1GSa/s RTS. Used good RF cables with 50ohm pass-thru (supplied probes were not tested).First tried with sine wave from Siglent SDG2000X. Generator seems to drop ~-0.5dB@100MHz. Arrived at conclusion that scope drops <2dB@100MHz.After that tried square from RF Explorer RFE6GEN. Gen is good to 6GHz. Outputs square wave. There should be no amplitude drop in 30...350MHz range. Could not choose ideal amplitude for scope vertical range due to fixed amplitude steps of generator. It is 592mVpp, so 59.2% of scope full range.Compiled chart from both tests:Since sine vs square results where quite different decided to go for classic BW(GHz)=0.35/RT formula, set scope to 20GSa/s ETS:0.35/2.521~=0.139 => Scope analog bandwidth is ~140MHz....but triggering system and auto-measurements work to at least 350Mhz.

author: MrW0lf
author_rank: Frequent Contributor
timestamp: March 07, 2017, 03:30:44 pm
content: PicoScope 2408B VERTICAL INTEGRITYSignal generator: Siglent SDG2000XSignal: sine wave, 100MHzScope horiz. setting: 50ns/div50 ohm system.Generator amplitude drop at 100MHz is ~-0.5dB + drop due to scope analog bw limits.1000x stats averaging applied.Tested:+-20mV...+-200mV ranges (4mV/div...40mV/div);ETS 20GSa/s, RTS 1GSa/s & 500MSa/s & 250MSa/s;Sin(x)/x ON|OFF for RTS (ETS does not support/need Sin(x)/x)Most boring test I've ever done. Amplitude error with sine seems to stay below ~5% across all modes. At 250MSa/s it's of course quite wobbly visually, but this does not bother stats reading. Over time sample points pile up and give correct reading.

author: Fungus
author_rank: Super Contributor
timestamp: March 07, 2017, 04:04:15 pm
content: Prices?

author: lukier
author_rank: Unknown
timestamp: March 07, 2017, 04:13:06 pm
content: Mini-teardown?

author: MrW0lf
author_rank: Frequent Contributor
timestamp: March 07, 2017, 04:46:02 pm
content: About prices... Mine is most expensive 2000 - 949€ in EU Farnell. Looking at a bit excessive analog bw - cheaper 70MHz maybe more suitable if budget is concern, especially 2+16 MSO version. Just today discovered in "fine print" that MSO digital part is up to 500MSa/s! Was thinking it's only 200MSa/s like my old 2205.Teardown... not a single screw in sight. Will not risk the warranty anyway. That's not my cup of tea. As mostly "software guy" I like to mess with their brains, while Dave dissects the bodies

author: rstofer
author_rank: Super Contributor
timestamp: March 07, 2017, 05:21:19 pm
content: Quote from: Fungus on March 07, 2017, 04:04:15 pmAbout $1000http://www.saelig.com/product/picoscope-2408b.htm

author: JPortici
author_rank: Super Contributor
timestamp: March 07, 2017, 06:00:33 pm
content: freaking brexit! (i suppose)prices went up 20% since some months ago

author: cv007
author_rank: Frequent Contributor
timestamp: March 07, 2017, 07:14:22 pm
content: Has anyone used the usb1.1 decode feature, or how far up the Picoscope line does one have to go to have a usable usb decode (for full speed usb).

author: MrW0lf
author_rank: Frequent Contributor
timestamp: March 07, 2017, 07:56:42 pm
content: Quote from: cv007 on March 07, 2017, 07:14:22 pmIt's 12Mbit/s? Their modern stuff (large memory) start with 2206B. Maybe ask/search in their support forum to be sure?https://www.picotech.com/support/This here is just my hobby thing and I'm much more into analog stuff, so can only guess.However I planned to try decoding sometime, so I might try if find suitable gadget to sniff on. Arduino Due might be full speed USB?

author: tautech
author_rank: Super Contributor
timestamp: March 07, 2017, 08:18:52 pm
content: Exact model SDG2**2X ?3 to choose from, state yours please.

author: MrW0lf
author_rank: Frequent Contributor
timestamp: March 07, 2017, 09:07:54 pm
content: Quote from: tautech on March 07, 2017, 08:18:52 pmMight find subtle clues on the pic

author: tautech
author_rank: Super Contributor
timestamp: March 07, 2017, 09:34:48 pm
content: Quote from: MrW0lf on March 07, 2017, 09:07:54 pmSubtle ?SDG2042X hacked to SDS2122XPlease carry on.

author: Messtechniker
author_rank: Frequent Contributor
timestamp: March 07, 2017, 09:51:24 pm
content: Naughty boy....

author: irakandjii
author_rank: Regular Contributor
timestamp: March 09, 2017, 05:03:19 pm
content: I am very grateful for this review, It will help me with my final selection of a diagnostic tool. I am looking at the 3405D Mso or the 5442B or the 2208B if it can do the job.I have been investigating these scopes for a few weeks. My needs are heavily biased towards protocol investigations and analysis.This puts serial decoding at the top of my list of priorities. But closely followed by bandwidth and frequency analysis.It turns out that ALL of the standard bench scopes I looked at below $2000.00 US have significant short falls for this purpose, leaving Picoscope as a sole contender. I did find Keysight scopes >6k $ US that would work but that is a whole other universe for me.Problem: I have long path lengths for multiple serial busses, some upwards of 4 meters. To make things worse these busses are vulnerable to flexing, stretching, vibration and significant thermal variations. Think sensors or remote devices on the ends of a robot arm working outdoors in the Canadian sub-arctic (+45 degC to -50 degC) in high winds.p.s. Its why I want a robot. A human standing in that is subject to pain.Standard scopes typically save no more than 500 mSec or so of signal and in many cases far less. Allowing for very short exchanges to be diagnosed. The math follows:Total Time of Acquired sample = (Time scale per division X Number of divisions per screen X the number of Screens in memory) / Sample RateI need very long diagnostic samples (ideally 10-20 sec.) that can be reviewed and analyzed for faults back in the lab. I require the samples to include protocol decode info plus the analog signals (for fault isolation). To handle "the very long" worst case diagnostic scenarios I came to the conclusion that streaming the data to an external PC would be optimum. The picoscopes can stream approx. 12 MS/sec for USB 2.0 models and 125 MS/sec for USB 3 models. ( I would write my own application using the SDK). I am now trying to figure out if there are dead spots in the stream analogous to the screen refresh dead spots on regular scopes. Regular scopes just don't stream.For best case, 128-256 MS memory would be sufficient and cover a lot of use cases. This scale of memory is generally missing in regular scopes.I am very interested in the impact of the PC hardware, my plan is to use an original Surface Pro as the PC interface. It is unclear to me if this will be sufficient.I look forward to seeing this post progress

author: MrW0lf
author_rank: Frequent Contributor
timestamp: March 09, 2017, 06:03:57 pm
content: PicoScope 2408B DC ACCURACYWhile checking my AD584kH, AD588 voltage standards against stuff I got, developed technique to substantially exceed specified DC accuracy of this scope (±3% of full scale ±200uV), making use of math channels.General idea: High sampling rate will generate noise, which will induce "artificial accuracy" when averaged.Setup with some example values:Scope horizontal setting: max RTS sampling rate, large amount of points (1GSa/s, 1M)Vertical setting: good enough for measured (DC) voltage, make use of DC offset if single polarity (+-10V, -5V for ~12V stuff)Make math channel formula that irons out DC error ((A+4.984)*1.0056)Apply DC averaging auto-measurement to math channel.Configure stats reading count that will give stable reading (64 in test, but much less ok for regular use).Calibrate using high accuracy DMM for 0 and max volts.Watch out for ground loops!After initial effort all this can be saved as settings file and reloaded any time.Do not use "Zero offset", because this does not get saved ("DC offset" does).Just as "sanity check" included pretty ok 4-digit DMM for comparison - UNI-T UT210E.There is some (temperature related) drift with scope, but for hours it seems to hover in the couple mV vicinity for +-10V range. Looking at test results,this technique results in DC error mostly far <1%, without even utilizing full scale of 8bit ADC. Could be used to monitor battery voltage etc on dedicated channel no worse than average DMM.

author: MrW0lf
author_rank: Frequent Contributor
timestamp: March 09, 2017, 07:47:53 pm
content: Quote from: irakandjii on March 09, 2017, 05:03:19 pmThink 3405D MSO is everything mine is + some on top of that + MSO. 5000 series is interesting with flexible bit resolution up to 16bit... but according to my findings even 8bit one do not exactly suffer from inaccuracy... 100MHz analog seems just about right, balances with MSO part which is max 500MSa/s = 100MHz/200Mbit also.Edit: So much going on already forgot. You do not get cut out of 16bit game with MSO! Just pick any external ADC, feed into digitals and if your ADC voodoo is good its up to 16bit extra channel. For simple analog sensor listening youre already in with Arduino Uno/Due:https://www.eevblog.com/forum/testgear/what-you-do-with-math-channels-on-oscilloscope/msg1106353/#msg1106353Heres final version with faster scripts etc:https://www.eevblog.com/forum/testgear/what-you-do-with-math-channels-on-oscilloscope/msg1130997/#msg1130997Managed 59kSa/s@8bit with Uno, 687kSa/s@12bit with Due.This works in standard software using math channels. Developed on my old 2205 MSO.So with 3405D you get 4x8bit analog channels + 1x12bit sensor channel + 4x1bit digitals to spare. Or any other combination with digitals... Of course if you fire itallup at once it bogs down sampling rates making 50MHz max scope (Nyquist limit for 125MSa/s).So you could calibrate formulas in standard GUI and then insert into your custom app. If you ever do this would be excellent to get some feedback about how it worked in real life.Quote from: irakandjii on March 09, 2017, 05:03:19 pmWe here in Estonia know all about thatRobot building is quite popularQuote from: irakandjii on March 09, 2017, 05:03:19 pmThink no spots. Stream is stream, it goes into similar mode on ultra slow timebases. Going for USB 3 good idea also. I can look into that a bit on coming days. Doing this review-thing is very interesting because I learn new stuff every day.Quote from: irakandjii on March 09, 2017, 05:03:19 pmMy second PC is similar - Lenovo Yoga 14 - folds into (a bit heavy) tablet. Runs good there. Unless you go completely crazy with math channels processing load is very little.Quote from: irakandjii on March 09, 2017, 05:03:19 pmThink next part will be something for timing nuts (femtoseconds). After that will look into streaming and processing load then. Thanks for good feedback!

author: MrW0lf
author_rank: Frequent Contributor
timestamp: March 10, 2017, 04:01:23 pm
content: Quote from: MrW0lf on March 09, 2017, 06:03:57 pmDid fire up same settings today. After "cold startup" zero point was drifted about -25mV vs U1282A. Waited for ~0.5h. Results with 64x averaging (values in volts,single+-10V (20Vpp) range as yesterday):U1282A2408Bdiff% of range0.0045-0.005-0.00950.04754.92094.915-0.00590.02959.9389.927-0.0110.05514.90914.9-0.0090.045After writing this 0-level is drifting between -2...0mV.This cries for built in cal-tool, could cal all ranges easily with PSU/DMM at hand.

author: irakandjii
author_rank: Regular Contributor
timestamp: March 10, 2017, 08:48:55 pm
content: Fantastic!I will follow up on the MSO + ADC once I get the unit. My requirement for 12 bit+ is a future need. I want to play with some ultra-sonic gear and see if I can get some improved object or location sensing. Your proposed solution will work wonders for that and give me more flexibility.Looks like the 3405 MSO is the way to go. As far as I can see the differences are: memory amount, memory architecture HAL 3, more analog channels, USB 3. I wanted both MSO and 4 analog channels. I wanted 4 analog channels so I can decode any of the available protocols in Analog mode.Thanks again and the new data looks great!

author: MrW0lf
author_rank: Frequent Contributor
timestamp: March 10, 2017, 10:51:39 pm
content: PicoScope 2408B FREQUENCY COUNTING ACCURACYThis scope has sample jitter spec of 3ps RMS typical and supports 20GSa/s ETS. So I started getting ideas about pushing it much further than default 4-digit frequency reading.After initial tests it was clear that in MHz range ETS is best option. You need both very high sampling rate, and at least 10k points for stats. Accessing extra accuracy goes like this:1) apply standard counter for "sanity check"2) make math channel counter "freq(A)", apply DC Average to it.Suppose reading is 119.6MHz on both counters.3) make second counter "freq(A) - 119E+6", apply DC Average to it.Then you can read MHz part of reading from 1/2 and kHz part from 3.Sadly no femtosecond-accuracy and guaranteed 6-digit reading. Worst error 1.165ps in this test making it typically 5-digit accurate. It's not a FemtoScope after allWill do separate test for sub-MHz range and get my missing digits from there...Think math channel (or even standard reading) digit count should made configurable in settings, so volt/timing nuts could access it without so much trouble...Note that "standard error" means error for reading using standard counter func:

author: MrW0lf
author_rank: Frequent Contributor
timestamp: April 01, 2017, 08:33:36 pm
content: PicoScope 2408B MICROPHONICSDave brought up microphonics issue with some scopes:Did turn on ChA, ChB. Channels unterminated. Tuned trigger to barely rise from noise.Tapping on table: no resultTapping box by hand: no resultTapping box with pen: no resultStrongblow directly above channels with pen: resultSo for any practical intents and purposes - think no problem. Seems that effect has nothing to do with caps in this case. Purely "electron inertia" in conductive parts.Now I have buy it new probe or something... Poor little thing never understood why such beatings

author: MrW0lf
author_rank: Frequent Contributor
timestamp: April 20, 2017, 02:13:14 pm
content: Had no time to roll review further but find interesting stuff time to time... So far been using12Mbit/s USB isolatorwhen working on "nasties" but this or similar could prove useful as well:https://www.meilhaus.de/en/promo-ranger2201.htm

author: alank2
author_rank: Super Contributor
timestamp: May 09, 2017, 02:04:19 pm
content: Excellent review MrW0lf. I was going to do a picoscope review as well, and I may still someday, but you outdid me in your testing by far. Good job! I have a 2205A and a 2207B, and while the 2205A exceeds it specs, the 2207B exceeds them much further like you 2208B does. I'm going to sell some equipment and get a 2407B as well so I have a 4 channel model. One thing I really like about the picoscope software is the custom probe option. I can setup a custom probe for my small PDI 60A two range clamp or the pintek DP-25 differential probe and you can even define the ranges so you can know when you are over range for the probe even if the scope isn't over range.

author: MrW0lf
author_rank: Frequent Contributor
timestamp: May 09, 2017, 03:16:59 pm
content: ThanksFeel free to add some chapter here if like. I decided to check hardware first because if thats no good - little point to dig into software features. But luckily hardware is well engineered so software feature testing has green light. Had some other matters that stalled review progress but think time to resume. Currently found offline postprocessing feature on saved data very useful. Will post couple words about it soon.

author: alank2
author_rank: Super Contributor
timestamp: May 09, 2017, 05:30:34 pm
content: Quote from: MrW0lf on May 09, 2017, 03:16:59 pmI too am impressed with the hardware. I know a lot of people gripe about the pricing when compared to some of the low budget standalone scopes, but I find the UI much easier to navigate on the PC, and good quality is something that tends to cost a bit more.Here are some of my notes when testing the 2205A and 2207B. I was originally looking only at a 2CH model, so I don't talk about the 4CH/MSO's here:The 2200 series might as well be two different series because you have the A models (2204A=10 MHz, 2205A=25 MHz) and you have the B models (2206B=50 MHz, 2207B=70 MHz, 2208B=100 MHz). Interestingly, it looks in the pictures like the B models are in a larger enclosure, but they are actually using the same enclosure with the connectors on the long side instead of the short side! The A models and B models also differ quite a bit in terms of features, but they also differ in terms of price!I went with the 2207B originally because it has the 1GS/s sample rate I really wanted. Had I been looking at the 4 channel ones, I might have noticed which I had missed until now and that is that th 2406B also has the 1GS/s sample rate at 50 MHz for 4 channels. This is the one I was set on ordering yesterday, but after the eevblog discount at tequipment, I pushed it up to the 2407B so I could get the nicer probes like the 2207B came with.2207B bandwidth testing: I connected my Siglent SDG2082X (upgraded to 120 Mhz) to channel A of the picoscope with a 50 ohm cable and a 50 ohm passthrough terminator. The 2200 series does NOT have a 50 ohm termination option, but I think some of Pico's other models do. Here is a list of the peak to peak measurements from 10 to 120 MHz: 10=990mV, 20=970mV, 30=947mV, 40=917mV, 50=888mV, 60=854mV, 70=822mV, 80=801mV, 90=792mV, 100=783mV, 110=777mV, 120=762mV. I can't go any higher than 120 Mhz and it is still above the -3 dB point of 707mV! I then connected it up to the fast edge signal coming out of a DS4014 and measured rise/fall times of 1.81 nS on CH A and 1.87 nS on CH B, so around 190 Mhz using the 350/x formula. I also tested the SDG2082X 120 Mhz signal through the 10X supplied probes and it was 738 mV with the probes, still above -3 dB. The probe fall time on the fast edge was 1.1 nS. All of this was very impressive given it is only rated for 70 Mhz!2205A bandwidth testing: Same connections and before, SDG2082X to channel A with 50 ohm cable/50 ohm passthrough terminator. Here is a list of peak to peaks measurements from 5 to 45 MHz: 5=1000mV, 10=988mV, 15=970mV, 20=933mV, 25=893mV, 30=866mV, 35=826mV, 40=720mV, 45=699mV. The fast edge rise time from the DS4014 is 6.9 nS on CH A, so around 51 MHz. I also tested the SDG2082X 120 Mhz signal using the 10X supplied probes and it got to 29 MHz before hitting the -3 dB point, not as exciting, but still better than specification. As the 2205A is available for sale without probes, I'd order it that way and get some nicer probes.ONE BIG DISAPPOINTMENT:The fast timebase you can set the 2205A to is 50 ns/div in regular triggering modes and 5 ns/div only in equivalent time sampling mode. In contrast, the 2207B allows you to go to 1 ns/div in regular modes, and in ETS mode to 50 ps/div. The issue here is that if you are viewing a 25 MHz waveform on the 2205A, you can't set the time base to see just one or two waves, you will see 12.5 cycles and can't choose a faster time base in any normal triggering modes. Watching a YouTube video someone posted about the 2204A, I can see that the 2204A only had 100 ns/div as an option! The datasheet says 5 ns, and it will be very lame if they come back and say that is for ETS mode only. It doesn't work that way on the 2207B and honestly if it had, it would have been going back. You can use the option at the top to widen the screen by 2x, 4x, etc, which seems to accomplish the same thing, but it really doesn't, because you are capturing more waves with less detail than if you could just choose the 5 ns/div that in the first place that datasheet specifies. I have brought this to Pico's attention and we've had a dialog back and forth about it, but it is still not resolved in the latest version of the software. I don't see a hardware reason why they can't do this, and it is in their spec, but who knows.FEATURES:Sample Memory: If you are just looking at waveforms, probably the 8k or 16k sample memory that comes with the 2204A/2205A is going to get the job done. The B models with megabytes of sample memory give extra options and capability. First, you can capture a waveform and zoom into it and still have detail. This is more beneficial at slower timebases where you aren't already pushing the sample rate to the maximum. Another thing you can do is use the rapid triggering mode which works like segmented memory on desktop scopes. It can capture X number of waveforms back to back with X amount of sample memory for each waveform which is very cool. You can step through them one by one and zoom into them as needed to look at detail. Another benefit of larger sample memory is for the decoding features because you can capture many packets, again each with enough samples to decode them properly, and then review/decode them. One nice thing is that the software still has a waveform buffer that can capture/review multiple waveforms even if you have an A model - the difference is that they aren't captured immediately after each other, but captured as they are brought to the PC. I admit I underestimated the value of the extra memory, during use it has proven much more useful than I thought in various conditions.MSO: My units do not have the MSO feature, but I did test decoding some UART using an analog channel and it worked fine. Like most desktop scopes, it will handle decoding by using segmented memory or capturing multiple triggered waveforms. You then step through those waveforms and it decodes each one. It is important therefore to select a timebase that allows an entire packet of what you are trying to capture to fit in a single waveform capture. Again a plus is that decoding of 17 types is included at no extra charge. If this feature is important to you, I would heavily recommend the B models and perhaps even one of the MSO models. The reason for the B is because it won't miss any of your packets using segmented/rapid triggering mode. One of my tests was setting up a microcontroller that output a line of text every 100 mS. Rapid mode catches them all as expected, but relying on the waveform buffer to capture them (all you have on the A models) meant there were missed ones because it didn't trigger fast enough. It is a personal thing, but I prefer the way Saleae handles captures by doing a single trigger and then one long waveform you can scroll around in. This style might be better if you need to trigger on each event.USB: The device is a USB 2 device which concerned me a little bit, but I didn't find it to be slow or laggy at all. Even when I told it to capture a lot of waveforms using the segmented (rapid) mode, it still seemed very fast. I think Pico's 3000 series offers USB 3 if that is important to you. I've had some devices with USB 3 that are bit more sensitive than I'd like in terms of cable length and signal integrity so I'm perfectly fine with USB 2 as long as it performs well, and it seems to.Power Usage: The 2207B used 10mA when plugged in, but not connected to the software. It then goes to 450mA when in 500MS mode and 480mA in 1GS mode. The 2205A used 40mA when plugged in, but not connected to the software. It then goes to 420mA when in 200MS mode and 360mA when in 100MS mode. The thing to keep in mind here is that it never lowers the power if you are in the picoscope software - doesn't matter if it is running or stopped. They have a power management in the software, but it doesn't seem to reduce power management of the device, but rather is about the CPU consumption of the PC.AWG: The AWG is a nice extra if you don't already have one. The good is that it has almost a dozen or so waveforms, supports arbitrary waves, and is included in the units at on extra charge. The downside is that for the A models, it is limited to 100 kHz, and for the B models, it is limited to 1 Mhz. All models only have a 2V peak to peak amplitude and 600 ohm output impedance. The B models also have a trigger capability in their AWG.DC Offset: While I am pleased with the fact that the 50/70/100 B models do have this capability, the way it is implemented in the software greatly disappointed me. On a normal scope you just adjust the vertical to get the signal where you want it, but adjusting that in the pico software is really just changing your view or zoom. You aren't moving the signal in or out of the best ADC measurement zone by doing that. That is where the DC analog offset steps in and allows you to. The problem is that it is implemented in such as way as to change the incoming signal, but not reflect that change in the voltage reported or measurements reported. If that wasn't bad enough, it doesn't even indicate that this feature is enabled (and altering) the signal anywhere even thought there is a perfect place in the view-properties to do it. I do understand the confusion between zooming/panning and this feature and wonder if that is why it has been implemented the way it has, but it just isn't right. I always want to see the legend and the measurements reflect the actual signal, not the signal plus an offset applied to it.Software Low Pass Filter: The B models have a channel option for a software low pass filter, but the resolution enhancement feature on the A models can likely be used to accomplish a similar result. I do prefer the low pass though to the resolution enhancement.No color coding: Most of Pico's other scopes have blue, red, green, and yellow color coding on the channels and it would have been nice to use along with the probe color markers on the unit itself, even if it is just a small colored box on top of the channel to know which probe goes with which channel instead of remembering blue first=CH A, red=CH B.SOFTWARE:Their software is shared all across their test and measuring scope product line. The benefit here is especially good for their lower cost product line like the 2200 series because you get the advantage of the investment they make in the software all across their product line. It also means there will be continual updates as well which is nice. Nothing is worse than buying a piece of test equipment than finding that the company has moved on to a different model and no fixes or improvements will be made. While there are no guarantees, I read that their current version software still works with units that are 10-15 years old!Software: It has a few modes you can use it in: Scope, persistence, or spectrum. The scope mode is both regular and X/Y and probably what you will use most. Persistence is meant to show changes between waveforms by using fading colors on a black background. I get what they are trying to do with it, but I really don't see myself using it. It certainly isn't the same as an intensity graduated display. The spectrum is a spectrum analzyer mode and I've played with it and it seems to work fine. I've read that you can change some of the parameters to larger numbers than typically found on a desktop scope, so that may make it more capable than many desktop scopes as far as the FFT goes. I'm going to focus mostly on the scope mode because it is the most important:Buffer: It automatically keeps a buffer of recent waveforms that you can review or go back to. As mentioned above this is not the same thing as segmented/rapid triggering mode. That can also be used to feed the buffer if you need waveforms to be captured immediately after each other however on the 2206B and above models. You can configure how many waveforms to keep in the preferences. It is easy to navigate through them and find glitches, etc. For some reason, the number of buffers on the PC side is limited to the size of the capture, it even suggests this in help. I'm not sure why that is, but 8MS captures will only fit 5 buffers in memory, etc.Zooming: Something that is extremely cool is that you can zoom into a signal without changing the time base - there is a separate zoom adjustment. I wish desktop scopes worked this way. The zoom features are amazing. You can zoom in or out, draw a box for zooming to a specific area, undo many zoom levels, and view the entire waveform very easily. It can even stay running while you stay zoomed showing you a small piece of the waveform in realtime as it runs. There is a zoom overview window that shows you where you in the overall waveform and you can move the zoomed area around easily and even resize it. This feature really sets it apart from desktop scopes because it is so flexible.Channel Settings: You can select the probe (1X, 10X, custom ones you can create). There is also an area for resolution enhancement and low pass filtering. The low pass filtering might be for the 2206B and above, but honestly both resolution enhancement and low pass filtering seem to do a very similar thing it is just that you select one by enhanced resolution bits and the other by a low pass filter ceiling bandwidth. You can adjust the DC offset for scopes that support this feature (2206B and above). The axis scaling and position can be adjusted as well, and there is a zero offset channel feature which allows you to rezero a channel. One really cool thing is the Auto vertical setting. It will automatically choose the correct vertical based on the signal it is receiving so you don't have to fiddle with it to get it right. If you don't want it bouncing around, then you can set it to a specific vertical and it will stay. You can also choose DC or AC coupling.Measurements: It has 18 measurements you can add to each channel and they can be for the entire waveform, between cursors, or for the cycle at a particular cursor. There are also cursors you can manually drag as you would typically expect as well and they also have phase cursors.View Properties: Under the view menu is a view properties which opens a dialog at the right to show you the configuration and many properties of the scope state. It will tell you the sample interval, sample rate, number of samples, channel information for each channel, the state of the AWG, and capture information. This is worth keeping on screen all the time.Triggering: The run/stop option is in the lower left corner along with the trigger options. The trigger can be none, auto, repeat, single, rapid, and ETS (channel A only for some reason). Rapid trigger mode is the segmented feature and you can tell it how many to capture. I tried 10000 and it worked very fast. You can set the trigger level, position, and time delay. Many desktop scopes no longer have the ETS feature, so it is nice to have it as an option here.Other Goodies: It has a lot of flexibility in how you can configure the view and windows, putting a scope view in one and a spectrum view in another, or one channel in one and another channel in another. You can export bitmaps or the points as text. You can setup custom probes, math channels with functions, see reference waveforms, set alarms, create masks, or use a macro recorder.Preferences: The preferences allow you to customize many of the features. You can change the waveform buffer amount, adjust the number of captures used in measurements, adjust the number of waveforms displayed per second, sin (x)/x settings, assign keys to almost any task (this is what allows people to make a rotary encoder type of board), etc.FINAL THOUGHTS:I love the 2207B I ordered. It does everything I want it to, I only wish it had color coded channels, but you can't have it all. I would like to see the software improve the way it handles the analog offset, but other than that I am happy with it.I'm a little less excited about the 2204A/2205A because of the minimum timebase issue. I didn't love the probes so I would order it without the probes since there is an option to. They need to improve the 50 nS/div minimum timebase issue. I like the price for the capability you get though, you really can't go without having one in your bag...

author: MrW0lf
author_rank: Frequent Contributor
timestamp: May 09, 2017, 08:11:11 pm
content: Quote from: alank2 on May 09, 2017, 05:30:34 pmThink found reason why 2205A timebase limited to 50ns/...I have old 2205 which should have identical specs: 25MHz, 200MSa/s, 16kSa shared memory. Even found that old spec (attached). There it states 500ns "timebase range", which translates to 50ns/, which is indeed max for RTS. New online spec is not strictly wrong but yes, they should spec it sperately for RTS/ETS.However you do not loose detail because of this! 2205(A) maxes out at 200MSa/s 1ch & 100MSa/s 2ch. Memory is shared / sample count aligned with timebase. Consequently you get max detail (=sampling rate) already at:1Ch 5us/ 200MSa/s 10,000 samples in Ch1 buffer.2Ch 5us/ 100MSa/s 5,000+5,000 samples in Ch1+Ch2 buffer.So at 5us/ and smaller timebases its already sits at max possible detail = sampling rate for given hardware RTS mode (if not manually limit memory amount).But think I know why they do not want to enable small timebase for these old models. Trigger / sampling / Sin(x)/x jitter - it "smudges" persistence mode that you would probably use for edge inspection (besides ETS). Observe screenshots below, 2205 vs 2408B under otherwise identical settings:2205@200MSa/s2408B@250MSa/s2408B@1GSa/sIgnore overshoot - its due to poor probing setup. Im on the move and have very limited hardware at hand... Edge is from Arduino.

author: alank2
author_rank: Super Contributor
timestamp: May 09, 2017, 08:30:12 pm
content: Quote from: MrW0lf on May 09, 2017, 08:11:11 pmYou are absolutely right.Quote from: MrW0lf on May 09, 2017, 08:11:11 pmI think you are probably right about this too - it does jump around pretty good when I use the horizontal zoom to zoom it in. This makes sense as I pressed them pretty hard about this and they didn't want to budge on changing it. I do think they should redo their spec however.

author: MrW0lf
author_rank: Frequent Contributor
timestamp: May 09, 2017, 08:47:38 pm
content: Quote from: alank2 on May 09, 2017, 08:30:12 pmYep. Not only thing weird with their spec. For example they are on strong position that 2408B is not worthy of 20GSa/s ETS spec, and spec it only as 10GSa/s... despite software allowing 20GSa/s. While I have compared accuracy and 16 & 20 GSa/sdoimprove accuracy.BTW got interested how much jitter is due to software processing... actual performance should be better than this persistence mode blur... Some quick tests with 2408B RTS & ETS under 50x50 zoom:RTS 1GSa/s Sin(x)/x interpolationRTS 1GSa/s linear interpolationETS 20GSa/s linear interpolationNote that I formally do not know anything about signal processing theory and just observe... Maybe experts can comment if Sinc moving lines slightly (-20...-60ps in this case) off trigger point is normal or they should improve implementation.

author: alank2
author_rank: Super Contributor
timestamp: May 10, 2017, 07:29:31 pm
content: Here are my measurements using the fast edge output from a Rigol DS4014 (I think it is supposed to be <600ps or something):BNC cable directly to picoscope input with 50 ohm terminator.2207B:chA rise 1.80ns, fall 1.79nschA rise 2.02ns, fall 2.01ns2205A:chA rise 6.17ns, fall 6.29ns (ets 7.02/7.02)chB rise 9.01ns, fall 9.12ns (ets 7.15/7.05, channel B can only do 100MS/s not 200MS/s like ChA)2407B (similar results to the DS2207B as expected):chA rise 1.90ns, fall 1.86nschB rise 1.96ns, fall 1.89nschC rise 1.91ns, fall 1.85nschD rise 1.99ns, fall 1.95ns

author: alank2
author_rank: Super Contributor
timestamp: May 19, 2017, 04:30:08 am
content: Here is another reason I love the picoscope: Their support of custom probes and the software lowpass filtering. I have a PDI 20A/60A small current clamp and it is so noisy. I've been meaning to ask if the hantek one I see has about the same level of noise. See the noise.png, it looks like 100mA wide! custom_probe.png shows me selecting the custom probe I setup for the PDI current clamp. Picoscope has a great feature (custom_ranges.png) where you can automatically map up the scope's vertical ranges. You can even specify the probe's limits so you will get an over range warning for the probe itself which is why it shows 60% of the scope's range being mapped to the maximum current the probe can handle. I can settle the noise considerably with the low pass filter (lowpass.png) which finally gives me something I can make some sense of (low_pass_filtered.png). Even holding down the "zero" button on the scope though does not get me as close to zero as I would like. Then, even though I am in my lowest scope range and can't go lower, I can use scaling to zoom vertically by 10x (scaling.png). Now it looks like off is averageing -2mA or so, and when I power up the device I am monitoring with the clamp (LCD backlight), it jumps from -2mA to probably around +22mA average, giving me a current use of 24mA for the backlight. I didn't think with all the noise this clamp has that I could use it to measure low currents as well as I can.

author: MrW0lf
author_rank: Frequent Contributor
timestamp: June 15, 2017, 12:52:03 pm
content: Wanted to comment on little feature finding good use lately. One can share entire workspace with all traces, reference waveforms, mathchannels and whatnot. Transport file to another PC and make offline postprocessing & thinking without actual scope present but with exact look & feel as doing real testing.Example: I commute a lot between 2 cities. Along the way lives inventor-friend who has shed. In the shed weird and wonderful things are being built. For example this:Currently it's using hardcore mechanical commutation with fireworks and EMI that can kill small animals on spot. Decided to built solid state driver for it. So when driving by took measurements in 15 min. Analysis later at home in peace & quiet w/o lightning strike risk...Attached file with entire workspace.Main challenge was to decide how combine coils for driver, since signals are all out-of-phase and non sinusoidal. Currently seems combining 2 coils for each "cylinder" in series will yield more-less sinusoidal, so 2 independent drivers needed.

author: MrW0lf
author_rank: Frequent Contributor
timestamp: July 15, 2017, 10:19:55 am
content: Inspired byalank2 postabout custom probes managed to improve some old tricks. Developed them long time ago when had only 2ch analog 2205 and often shortage of channels. General is idea is to "tunnel" (discrete) information thru scope analog channel and display after math-based reconstruction. This can be useful when monitoring some process governed by MCU. Either to monitor some single signal that cannot be directly monitored or even use discrete stepped analog for "tunneling" some state or error codes = true digital comms.Very simple setup to start experimenting with is Arduino Uno + MCP4725 12bit DAC breakout. This will push nowhere near scope speed capability but good for proof-of-concept.DAC setup info can be foundhere. Then just connect DAC output to regular probe on 1X setting.Next need some test signal. To maximize scope ADC range w/o risk of overrange due to noise I did choose +-2V with -2.5V analog offset. On Arduino (sketch attached) mapped DAC to 0...16 values usingCode:dac.setVoltage(map(dLevel, 0, 15, 485, 3560), false);Result on scope:Now we have seed for simple 4bit "comms signal". Possibly could push for higher bit count, but I'm currently in very noisy environment (CCCP-style electrical system w/o grounding) so will go for 100% reliability. How to convert this noisy analog signal to true digital will be shown in future posts.

author: MrW0lf
author_rank: Frequent Contributor
timestamp: July 15, 2017, 10:58:28 am
content: Next step is to to configure custom probe to start closing in on true digital:Custom Probes => [New Probe...]Check "Use the custom unit defined below."Full name:digitsShort name:DFor scaling method use linear equation:y=4x+8Choose manual management of probe ranges.Click [New Range...]Fix hardware input range to+-2VSet scaled range limits from0D to 16D.Do not enable filtering(or resolution enhancement)!Name for probeMCP4725Now signal is having nice 1D step instead of some non-human-readable voltage variation:

author: MrW0lf
author_rank: Frequent Contributor
timestamp: July 15, 2017, 11:24:36 am
content: Now time for uncharted territory. How to get rid of noise and remains of analog part? floor(x) function would certainly help. But PicoScope 6 software AFAIK does not have floor function. But it does have trigonometric functions! So here goes:Define math channelfloor(D)Set long name asdigit, short name asD. Override automatic range, setmin=0,max=16.Now we have true discrete/digital comms estabilished:This can be used to channel error codes, state codes or any other purely digital data to DSO having only analog channels, sacrificing only single analog channel. Or maybe even createvirtual MSO(explained later).Note that doing RT trigonometry on full record may slow down refresh rate so makes sense to lower sampling rate to avoid excessive processing and match actual need.

author: MrW0lf
author_rank: Frequent Contributor
timestamp: July 15, 2017, 11:58:53 am
content: Now all left to do for achievingvirtual MSOcapability is to define trigonometric "bit extractor" functions making use of previously described floor(D) function:B0as(cos((-((((floor(D)/(2^(0)))+(atan(1/tan(pi*(floor(D)/(2^(0)))))/pi))-0.5)+(((((-floor(D)-1)/(2^((0)+1)))+(atan(1/tan(pi*((-floor(D)-1)/(2^((0)+1)))))/pi))-0.5)*2))-1)*pi)+1)/2B1as(cos((-((((floor(D)/(2^(1)))+(atan(1/tan(pi*(floor(D)/(2^(1)))))/pi))-0.5)+(((((-floor(D)-1)/(2^((1)+1)))+(atan(1/tan(pi*((-floor(D)-1)/(2^((1)+1)))))/pi))-0.5)*2))-1)*pi)+1)/2B2as(cos((-((((floor(D)/(2^(2)))+(atan(1/tan(pi*(floor(D)/(2^(2)))))/pi))-0.5)+(((((-floor(D)-1)/(2^((2)+1)))+(atan(1/tan(pi*((-floor(D)-1)/(2^((2)+1)))))/pi))-0.5)*2))-1)*pi)+1)/2B3as(cos((-((((floor(D)/(2^(3)))+(atan(1/tan(pi*(floor(D)/(2^(3)))))/pi))-0.5)+(((((-floor(D)-1)/(2^((3)+1)))+(atan(1/tan(pi*((-floor(D)-1)/(2^((3)+1)))))/pi))-0.5)*2))-1)*pi)+1)/2Set units as long name = bit, short name=B. Override range as min = 0, max=1. Fiddle with GUI to align traces:PSDATA file with environment on screenshot attached here.Found pic of some early experiment on 2205 MSO. Very clean 100kHz sine on ChB. Full 8bit AD conversion. Tech bit raw so signal is inverted and no custom probe defined. Combined with "real MSO" channels this gave 32 digitals:Might be of interest that "virtual MSO" signals = math channels can be also used as protocol decoder inputs.Note that this work is prior published on my own website:http://lab.fyi/oscilloscope_math_channels/dadc_for_picoscope_dso/index.htmlunderCC BY-NC-SA 4.0.

author: Vtile
author_rank: Super Contributor
timestamp: July 15, 2017, 11:04:22 pm
content: Can you run some test through the PicoLog software. I have old 2203 and I'm interested how far the logging software can run with current hardware.

author: MrW0lf
author_rank: Frequent Contributor
timestamp: July 16, 2017, 05:34:08 pm
content: PicoLog does not seem to support new 2000, but works with my old 2205. Of course new 2000 has quite large memory but still...Simplistic PicoLogsupports unlimited recording*, while PicoScope has advanced features, but no unlimited recording. Think they should add unlimited recording and logger support to both PicoLog/PicoScope, especially since TC-08 hascurrent/voltage sensing adapter. Whole situation seems bit artificial. Like having a car with permanently locked trunk*actually limitation is there, just obscured in PicoLog recording settingsI just did never run into it with my TC-08. So I stand corrected as of today PicoScopes and some loggers that work with PicoScope software support longer logging (up to 100M or scope memory I guess).

author: MrW0lf
author_rank: Frequent Contributor
timestamp: September 05, 2017, 09:21:24 pm
content: Normalized amplitude and phase plot 0...100MHz on coax stub notch filter:External sweep gen used. Connoisseurs may like sample/mem settingsPhase unsigned much like with XY mode but no prob if have general idea whats under test. Notches bit blunted with averaging. Works fast - about 10Hz. ms=Mhz.Edit: Some x-checks..."Traditional" Pico freq response plot obtained with FFT, no phase data this way but amplitude minimums accuracy better:RFExplorer trying the same. Have no suitable attenuator so had to crank down signal gen, which may account for some little differences:Overall seems new method is usable. Can obtain general picture with phase data and then more accurate amplitude with FFT afterwards, if needed. Shall contrapt some more x-checks and then explain how new method works.

author: MrW0lf
author_rank: Frequent Contributor
timestamp: September 08, 2017, 05:20:32 pm
content: Further dev of math based bode plotter using ext gen. Check against actual bode plotter software:First did download helpful SDK-based utility calledFRA4PicoScopethat employs internal gen on 2000.Plot on some DIY BPF from 20kHz to 1MHz, 10dBm in. Works well, all by the book:Next same using external gen (Siglent SDG2000X) with MCFRA (Math Channel FRA), all params same:Since cannot force log time on horizontal used freq plot (green) and cursors instead. Pick freq on green trace with horizontal cursor. Place vertical. Place further horizontal ones to get all the readings. Cross check on actual trace on the right confirms all correct.Toying with severe subsampling to gain speed sometimes works sometimes not. Easy to detect by "ghosts" on phase plot (not pictured in this example).Phase unsigned as usual.Overall seems success then. Good enough for DIY extra functionality. Now some tests at the top of analog bw and then finally explain procedure...

author: MrW0lf
author_rank: Frequent Contributor
timestamp: September 10, 2017, 11:17:30 am
content: Ok, after fighting with some tech nuances more-less optimal procedure has emerged:For whole concept to work need signal gen with two channels that can do phase synced sweep over freq range of interest. My SDG2000X can do 0...120MHz so covers 100MHz Pico 2408B range well. Choice of cabling (probes, 50 ohm system, etc) depends on DUT.In this example investigateFM notch filter 88-108MHz, so 50 ohm system.Disclaimer: AFAIK not all best practices of RF testing followed1) Need to calibrate channels so ChA & ChB would absolutely match. Levels could be different due to signal gen, scope, cabling etc. ChA would serve as reference later, DUT on ChB. So need calibrate ChB.- set up sweep: 10ms, 80...120MHz, -11dBm, load 50ohm, Trig Out=ON, lock Ch1-Ch2- connect Gen-Ch1=>Scope-ChA, Gen-Ch2=>Scope-ChB, Gen-Trig=>Scope-ChD- create math function eval(B)=max(B)/max(A), range 0...2- set timebase to 1 ms/, memory to 2kS, trigger on ChD. Do not pay attention to aliasing, soon there will be ok line for eval(B).- if intrested may add Min, Max auto-measurements, in my case it can be seen that correction ranges from 1.031 to 1.076.- save eval(B) math trace as reference channel- turn off math trace eval(B)- create math trace cal(B)=B/{eval(B) (2)}(ref channel name may vary)- disable visual of ChB, can now observe that sweep level completely identical on ChA vs cal(B), if interested can confirm with auto-measurements2) Plot magnitude trace.- create math channel dBm(B-A)=LowPass((10+20*log(max(abs(B/{eval(B) (2)})))) - (10+20*log(max(abs(A))));32000)- may add auto-measurements to confirm Min/Max which should be very near 0dBm- if magnitude trace gets jerky time to time tweak trigger level on ChD, because thereneedsto be some jitter for max() traces to converge as continuous line- connect DUT between Gen-Ch2 and Scope-ChB- plot is instantly generated, tweak smooth/coarse with math channel LowPass setting to match personal taste- auto measurements show Min/Max etc, may investigate with cursors and so on- if all ok set dBm(B-A) as ref trace and disable actual math channel3) Plot unsigned phase trace.- create math channel graph(phase(A;B))=LowPass(average(duty(((((atan(1/tan(pi*(A/10000)))/pi)+(A/10000))*-((atan(1/tan(pi*(B/10000)))/pi)+(B/10000))) + 0.25))/0.555555555);10000)- phase trace may look as expected because formula is quite tolerant of subsampling, however if "strange phenomenon" present go conventional and increase memory depth to level when there is no subsampling. In this case 3MS does the trick.- now have quite clear unsigned phase plot4) Plot frequency sweep trace.- with subsampling etc freq() math function does not work so better stick to linear sweeps and plot graph with simple math function _freq=norm(T)*40000000+80000000.Almost all set. Now tweak wfm scaling a bit for best fit in viewport and observe good approximation to real spectrum analyzer plot in magnitudes. Only bottom end suffers because switching ranges would be quite a hassle. If phase trace should, but does not reach 0-180º extremums may want to raise LowPass frequency on phase trace (slight problem on my screenshot).5) If interested confirm phase manually for single freq:- set all active traces as refs, disable math channels- disable sweep, set freq to 110MHz- disable ChD (no need for sweep trigger anymore)- create math channel phase(A;B)=((((atan(1/tan(pi*(A/10000)))/pi)+(A/10000))*-((atan(1/tan(pi*(B/10000)))/pi)+(B/10000)))+ 0.25)/0.00277(will convert phase to PWM, so can apply DC average measurement on it).- reading is ~117º, close enough6) If still in doubt visual check on different timebase with 20 GSa/s ETS & cursors.Described above of course lack convenience of real bode plotter software but with simple filters etc where can "decipher" phase data can go far above scope nominal bw. Would have gone further but SDG2000X limited to 120MHz. Alternate for this crude magnitude plotting is of course FFT but on Picos it is limited at scope nominal bw, which in my scope case is 100MHz, so fully characterizing of specific filter with FFT is impossible.

author: MrW0lf
author_rank: Frequent Contributor
timestamp: September 10, 2017, 05:08:25 pm
content: To demonstrate most severe conditions that MCFRA can handle and still give some meaningful output did run0-100MHzsweep oncoax stub filter from previous testsusing my old PicoScope 2205 (25MHzanalog):Despite setting eval(B)=average(max(B)/max(A))cal trace is still mess near 100MHz, but since it substantially improves things <50MHz will use it:Since scope has only 16k of memory all it can do is severely undersample at this timebase, but overall picture readable:Did leave visual of cal(B) enabled to demonstrate on what this poor puppy has to chew on...

author: MrW0lf
author_rank: Frequent Contributor
timestamp: October 14, 2017, 02:39:01 pm
content: Reflections on some experiments related to bode plotting and TDR. Got nice little 50ps pulse gen from Leo Bodnar:http://www.leobodnar.com/shop/index.php?main_page=product_info&cPath=124&products_id=295First experiments sparked some discussion here:https://www.eevblog.com/forum/projects/yet-another-fast-edge-pulse-generator/msg1322739/#msg1322739Since it turned into yet another PicoScope 6 software hacking session better continue here...First good, as usual it is hardware:According to this analog bw is 144MHz (0.35/2.427ns)Next bad: Wanted to try fft(derivative(signal)) for bw estimation TDR style, since after all 2408B can do 20GSa/s ETS. This failed because software bugs handicap most functionality related to math channels gone thru time related processing (integrals, derivatives, time shift, filters, ...). Also FFT does not work in ETS mode at all, which is by designAt least it can export to MatLab format so had some go at it there, seeoriginal discussion.Since it is painfully obvious what kind of bug breaks fft(derivative(signal)) functionality I hacked around it with DIY derivative function:green - A: raw tracecyan - derivative(A): built in diff on Abrown - average(A[0.000000001]): A time advanced by 1 sample point, averagedyellow - average(A[0.000000001]-A)/0.000000001: DIY diff on A, averagedThis kind of DIY derivative is only one that seems to allow for FFT under specific condition: RTS trace gone thru Sinc interpolation. With that in mind can do some limited experiments. For these ideally need averaging of some kind on FFT to obtain reference trace. Averaging is there but another bug will set as ref not averaged trace, but current raw, which is useless. To work around that I use following setup:Signal generator (SDG2000X) set to generate 1.1MHz 0dBm square. Arb/DDS mode for sharp rise. Same signal on both channels.Ch1=>coax=>T_with_2m_coax_stub_filter=>50ohm_passthru=>ChACh2=>coax=>50ohm_passthru=>ChCInterpolation switching off at >2000 samples limits effort only to 512 FFT bins but it's real deal! Only when zooming in can see that detail is very limited:Now for cross check tried another method, set signal gen to output noise and cranked FFT up to 128k bins. Big picture exactly same. Only detail much better.So what can conclude? Failure at basic Q&A has handicapped software with quite powerful architecture. If you would like to unlock full power of your PicoScope suggest to demand following:- fix math on time-manipulated channels, all need to do is handle boundary conditions properly when sample count <> nominal, scope should be able to pass integral(derivative(signal)) test.- allow FFT on ETS- unlock FFT from scope official bandwith. On 2408B it is limited to 100MHz, while actual analog bw is ~140MHz, and usable bw way higher- fix creating ref traces from processed channels (averaged etc)- allow Sinc on recordsets >2kPts

author: MrW0lf
author_rank: Frequent Contributor
timestamp: November 05, 2017, 01:14:51 pm
content: Founds these helper tools for bode plotting type activity, maybe useful to someone:PicoMeasurehttp://pmz.gtkc.net/It will chew thru CLI ouput of PS6 software:Code:picoscope.com /a Measurements.CSV?and feed intoGraphtoolhttp://graphtool.gtkc.net/

author: MrW0lf
author_rank: Frequent Contributor
timestamp: October 19, 2018, 12:32:15 pm
content: In PS6 max number of stats you can have is 1000. Clearly not enough for long time observation of measurements. Did write"infinite measurements" Python scriptthat more-less fixes this. It uses this CLI command:Code:PicoScope.com /a Measurements.CSV?It returns human-readable garbage which must be parsed. Since the command will run at around 2Hz max on my PC it does not make sense to use Value of measurement, instead I use Average and tune PS6 count to get more-less reasonable chain reaction.CLI command is wrapped in bat because it did not work directly for some reason. Just unpack script and bat. Run script. Resize CLI window to nice size. In beginning of script there is self-explanatory config block:Code:# CONTROL#  - exit#  - reset# CONFIGrate = 1 # x=Loop_time_in_s; 0=Loop_rate_disabledavg_source = 5 # 2=Value; 5=Averageround_input = 15 # decimal placesround_output = 6 # decimal placesround_hz = 1 # decimal placesshow_header = Truepad_lines = 4 # pad display to X lines to avoid resizing windowIt should be trivial to expand this for writing long term measurements data to CSV, perhaps better type of post-averaging etc. Should it turn out nice please post your version here also.

author: MrW0lf
author_rank: Frequent Contributor
timestamp: November 04, 2018, 09:06:52 pm
content: Due to something that probably has to do with sample counts fft(derivative(x)) and some other math tends to work only on Sinc'ed data. Also need custom derivative like(A[0.000000002]-A)/0.000000002)where number is sample interval. Since Sinc is by default applicable on max 2000Sa record one is limited to very low resolution FFT on complex math. Picture below is however with 1M bins.Another annoyance is buffers limited to max 10k. Now 64k.And of course biggest annoyance of all - measurements stats on max 1k wfms. Now 100M (max tested ~300k).Default mode: No Sinc, limited resolution on measurements, RT measurement does not work, stats limited to 1k:Hacked: All above fixed:Nothing exotic, just fiddled with config file a littleAll this of course purely educational & experimental & at your own risk etc. New Sinc limit of 100k seemed optimal on my PC, more gets slow.C:\Users\%user%\AppData\Local\Pico Technology\%hash%\preferences.xmlCode:...<category name="resampleActive"><preference name="resampleActive" value="True" /></category>...<category name="waveformbuffer"><preference name="maxcount" value="65534" /></category><category name="measurementstorebuffer"><preference name="maximumBufferSize" value="100000000" /></category>...<category name="resampleSizeBuffer"><preference name="reSampleSize" value="100010" /></category>...

author: MrW0lf
author_rank: Frequent Contributor
timestamp: November 06, 2018, 12:20:05 pm
content: Someone did point out that "hacked" measurements may go into overflow with large readings number and especially on high bit scope. In fact I did run long term test to find this out and presumed count would either stop or software would crash. As seen buffers did go into overflow at 65534 which is almost 2^16 eg 65536. Measurements count continued and I stopped test at 275319. It took about 4h to get there if remember correctly and frame rate had indeed dropped so physical limit might have been in sight. 100M value in config was just largest value I tried that did not lead to crash at startup. So if someone needs that feature it makes sense to do functional test first over desired time period.Meanwhile I had idea to try out PicoScope 5 software that I've never used, but which supports my oldest 2205. It turns out sometimes one must indeed go back in time to go forward...Measurements count limit max 10k vs 1k in PS6.FFT limit in PS5 is official bw * 2 (50MHz) instead of official bw (25MHz) in PS6. In fact even bw * 2 is limited because scope can to 200MSa/s. But... why would anyone want FFT on more than official bw, surely confusing because of amplitude drop?! Hmm... aliasing perhaps?PS5: First lets determine what the analog bw is:PS5: Now lets look at 40MHz signal. Very predictable and useful, can get correct amplitude value from analog bw graph.PS6: Nice trap for young players, eh?Edit: Of course there is workaround, but very non-obvious for young player - create Spectrum viewport in Scope mode instead, there they cannot cut you out of full sample rate because it would cripple the scope. This helps very much with alias, but everything above 25MHz is still not processed / visible:And that's just the start of it, PS5 had many more useful differences which will cover sometime later.

author: MrW0lf
author_rank: Frequent Contributor
timestamp: November 06, 2018, 07:30:58 pm
content: It turns out that PS5 had persistence (DPO and color grading) in regular Scope mode. PS6 has only dedicated Persistence mode with hardware support which was probably supposed to replace old options, because regular Scope mode is now lacking these features. So did it turn out well?To find out good case would be something complex and slow with random errors. There is main wfm with distinct discrete steps and very poor "triggerability". Some very seldom occurring errors (spikes) induced. To have good look - best find some triggerable part and browse around with zoom. Errors can be distinguished from main wfm by spike width, so need enough sample rate for that (good time resolution).PS5: 100us/div, 12.5MSa/s, 12.5kSa, 10x zoom, color graded persistence. As can see no problem spotting the errors collecting over time.PS6: 100us/div, 781.3kSa/s, 781Sa, 5x zoom, color graded persistence. It looks like gates of hell have opened. Hardware supported DPO is limited to about 1kSa and despite having higher wfm/s rate completely useless for such tasks. Max 5x zoom, no math, no measurements. It cant trigger properly because of insufficient sample rate and all visual detail lost.PS6: 100us/div, 12.5MSa/s, 12.5kSa, 10x zoom, as workaround math functionpeak()used to provide pseudo-persistence mode. Can only choose single color forpeak()but somewhat works. No DPO or color grading. Suppose quite non-obvious way to achieve (sort of) persistence for many users.So replacing, not complementing Scope mode persistence with weird Persistence mode that can be used only for high speed stuff seems no the best idea.

author: MrW0lf
author_rank: Frequent Contributor
timestamp: November 06, 2018, 08:24:27 pm
content: However if move from old 2205 back to 2408B then there is at least very neat trick. After collecting buffers one can apply one ofbufferedmath functions: min, max, average, peak. For pseudo-persistence can use min, max, peak. So now if combine with Rapid trigger (~1Mwfm/s capability) can achieve this:Theoretical maximum trigger rate for given wfm is ~763Hz. When configure Rapid trigger to 10k buffers it will display result after 14 seconds. To collect at maximum possible rate would take ~13.1s. So can assume that indeed there was 0% of trigger misses + some time do download result from scope memory.Initially it will display just one wfm with no indication that something useful is still going on, but after ~20 seconds (until PC crunches through 10k wfms) this is displayed:Sadly it will not process buffers on subject of auto-measurements. One would need DeepMeasure for that (USB3 scopes). Also some indication that processing is ongoing would be very helpful. Another shortcoming is that despite all spikes shown, one has still no idea in which exact buffer of 10k total given spike appeared.Collecting same amount of data with Repeat trigger took 284s, which converts to 35wfm/s eg ~95% of trigger misses.Edit: Forgot to mention drawback of Rapid trigger mode: Buffers are not time-stamped, they get single timestamp of the final download - so no idea when something occurred. There is ongoing discussion on this here:https://www.picotech.com/support/topic17321.html?&start=15#p140390

author: _Wim_
author_rank: Super Contributor
timestamp: November 06, 2018, 08:31:28 pm
content: Quote from: MrW0lf on November 06, 2018, 12:20:05 pmWere you able to install both PS5 and PS6 on 1 pc?

author: MrW0lf
author_rank: Frequent Contributor
timestamp: November 06, 2018, 08:38:26 pm
content: Quote from: _Wim_ on November 06, 2018, 08:31:28 pmYes but something is little weird with some PS6 menus now. However I have windows GUI scaling on and just installed some Win patches also so dunno. Functionally both seem to work as far as messed with so far. In itself PS5 is of course very crude compared to PS6. I point attention to this mainly so people would notice and perhaps some good stuff would be resurrected due to public demand.

author: _Wim_
author_rank: Super Contributor
timestamp: November 06, 2018, 08:44:44 pm
content: Quote from: MrW0lf on November 06, 2018, 08:38:26 pmGood idea, I was very supprized to hear they use to have a "normal" persistance mode, this is one thing I find much better on my Rigol than on the Pico. The current implementation I find useless for my kind of work.

author: MrW0lf
author_rank: Frequent Contributor
timestamp: December 10, 2018, 06:29:20 pm
content: PS6 lacks wfm - wfm timing measurements so must invent own, heres unsigneddelta(ChX,ChY)to avoid hassle with cursors:ChB=1MHz sine, ChC=1MHz square, ~45° phase. Measurement matches cursors. Operating in good conditions (no noise).ChB=1MHz sine, ChC=1MHz sine, ~15° phase. Additional function plots delay graph. Graph little corrupted by noise. DC average on non-plotting function is more accurate.ChB=1MHz sine, ChC=1.01MHz sine. Graph gives general picture.To avoid noise issues it may make sense to lower sampling rate, apply resolution enhancement, filter etc. I just demonstrated default situation.Math for non graphing (PWM):((((atan(1/tan(pi*(B/10000)))/pi)+(B/10000))*-((atan(1/tan(pi*(C/10000)))/pi)+(C/10000)))+0.25)*(1/freq(C))Math for graphing version:duty((((atan(1/tan(pi*(B/10000)))/pi)+(B/10000))*-((atan(1/tan(pi*(C/10000)))/pi)+(C/10000))))*(1/200)*(1/freq(C))It works by finding zero crossings which results in PWM which can be further processed and graphed usingduty(x).

author: jasonRF
author_rank: Regular Contributor
timestamp: April 20, 2022, 05:36:32 pm
content: I know this thread is old, but it seems like the best place to post this.This is a short review of thePicoscope 2204a, which I think is a reasonable, inexpensive entry-level USB oscilloscope for folks that don't require larger bandwidths for their signals of interest. It currenly sells for $165 (US), although when I purchased mine in the 2015/2016 time-frame it was $139 (US). Mine is made in the UK, so that probably does add a little to the price over what it might cost if it were produced in a less expensive country. The picotech.com web site has all the specs, but the short-form is2-channel, 8-bit, 100 MS/s (down to 50 MS/s with both channels running), 10 MHz nominal bandwidth, 35 ns rise-time, 8 ksample total memory. Includes built-in signal generator that operates up to 100 kHz for sinusoids, and 4V peak-to-peak into high-impedance loads.I have only used the Picoscope software under Windows, so all comments are in that context.Features I like-Analog front-end operates like a real scope- when vertical setting is changed in Picoscope software the front-end does change gain/attenuation. No digital zoom! My unit has around 220 levels full-scale at each setting (about 7.8 bits).-actual hardware bandwidth higher than spec- my unit has at least 25 MHz bandwidth based on both rise/fall time measurements and direct bandwidth measurements.-Low-budget scope uses high-budget software- since Pico uses same software for all models it is polished and feature-rich. It only disables settings that the attached hardware doesn't support; nothing is disabled for marketing reasons. So the 2204a has tons of features that most budget usb scopes lack. Some are below.-Lots of fancy math included- such as user-defined high-pass/low-pass/band-pass/band-stop digital filters, etc. Other posts on this thread show quite complicated math...-serial decodingbut shallow memory can limit usability-high-resolution mode to get up to 12 effective bits-equivalent-time sampling up to 2 GS/sfor periodic signals-built-in signal generator provides frequency response analysis (aka Bode plots) up to 100 kHz. You do need to download the free FRA4picoscope app for this.-user-defined keyboard shortcutsto make operation efficient. For example I use left/right arrow keys to adjust time-base, so isn't any harder than using a knob.-small physical size- so easy to shove in a drawer when not in use. This is the primary reason I purchased it instead of a used full-size scope.The 2204a is a low-budget device with many limitationsthat are obvious from the spec sheet, and some that are not spelled-out (although some come to light if you read this entire thread).-Signal generator actually isn't very good.Sure, it is fine for sinusoids up to 100 kHz so works for Bode plots, and is good for square waves up to a few kHz. However, it has some flaky jittery performance for square-waves at 10-ish kHz that are much worse than expected based simply on the loss of Fourier components.-Lacks automated measurements of time/phase delay between channels- this is a serious oversight in my opinion. It is just software, and it is weird that Pico neglects it in the current version.-FFT is less useful than you might think- because it is limited to 4k samples, and also won't display any frequencies beyond the nominal 10 MHz bandwidth of hte unit.-No external trigger input, so if you need one you must use one of the channels, and hence this becomes a one-channel scope.-minimum vertical setting is 10 mV/div- so if you look at small signals all the time this is not the scope for you. At least this is a real setting, though, as some manufacturers seem happy to advertise small vertical settings that require digital zoom.-No vertical offsets-channel B has a maximum of 50 MS/s sample rate, even if it is the only channel enabled. This doesn't actually limit performance since channel A can just be used when need the full sample rate, but it can be inconvenient.Was just playing with the 2204A and this is wrong. With just B enabled I get 100 MS/s. I've had this thing for years and somehow had this wrong impression for awhile-No trigger outputFor similar or less money than the 2204a you can certainly get more capable hardware (more bandwidth, higher sample rates, external trigger, more memory, usb isolation, etc), but seldom will get a signal generator with associated Bode plots, and in all cases I'm aware of you will get less polished and/or capable software. That is the trade, and of course there is no one-size-fits-all 'best' option.The primary reason I will eventually upgrade is because I want at least 100 MHz bandwidth. Unfortunately, 100 MHz Picoscopes start at $809 (US), which is too rich for me.jason

author: jasonRF
author_rank: Regular Contributor
timestamp: April 21, 2022, 12:21:20 am
content: As a follow-up, here are a few measurements of the 2204a so support a couple of the statements I made in the last post.The first image is a rise-time estimate of the analog front-end. A BK Precision 4013DDS function generator is the source, using a BNC coaxial cable and a 50-Ohm feed-through adapter at the scope input. Rise time is shorter than 11 ns, so front-end bandwidth is at least about 32 MHz. EDIT: this example is the best-case I found, but 12 ns is a safe upper-bound so perhaps 29 MHz is a better number. In any case, >25 MHz seems like a safe statement given these and other measurements I've made.The second image is a plot showing the issue with the square-wave of the built-in signal generator. Here I am using persistence mode, so the jitter is clearly visible.EDIT: decided to add a third image to show the free FRA4Picoscope app at work. This example is a passive first-order low-pass filter. I find this app to be very useful at times, although the 600-Ohm output impedance of the signal generator is a little high for some circuits. When that matters I add a low-output-impedance buffer between the signal generator and the device under test.jason

author: midix
author_rank: Contributor
timestamp: September 27, 2022, 04:46:31 pm
content: Thanks for the review,jasonRF.I just tried Picoscope 7 software and the demo mode felt very intuitive for a beginner, unlike AD2 software which has its specifics to keep in mind. Considering I'm debugging mostly some simple stuff (audio, video, Arduinos) and I already have a cheap logic analyzer, 2204A might be enough for my needs? Or would I be overpaying and there are better choices with software that does everything I would ever need?I currently have OSC482 (which seems to be the same thing as SainSmart DS482) and the software is clumsy, zooming is awkward, and you have to stop the device after capturing a signal with a trigger and then use scrollbars to select previews from PC cache, and only then you can zoom with your mouse (and scroll wheel works opposite way to all the other software).But if 2204A is not any better hardware-wise than OSC482 (comparing not only specs on paper - OSC482 looks good there, but actual behavior and quality), then I'll have to live with OSC482 limitations. I might go for 2205A or Analog Discovery 2 sometime later.

author: jasonRF
author_rank: Regular Contributor
timestamp: September 28, 2022, 11:20:15 am
content: Hi Midix,I am not familiar with the scope you have, and a quick google search landed me on pages with pretty sparse descriptions. It is of course difficult for us to know what your use-cases will be, but if I were you I would be thinking about what measurements I want to do and how convenient I want them to be. I would also be reluctant to spend real money on new equipment that is only a small improvement over what I already own - I'm not sure if the 2204a falls in that category or not for you. But for basic audio stuff, at least, the 2204a is fine as long as you aren't dealing with the high voltages required for most tube circuits. The actual analog bandwidth of mine is about 25 MHz, so is pretty good for a lot (but not all) of the stability concerns with audio circuits. When I had the 2204a, I purchased a reasonable external audio interface to do high resolution distortion measurements before bothering to look for a better oscilloscope.Anyway, if you are willing to purchase used equipment, then you can sometimes pick up an Analog Discovery 1 on ebay for less than the price of a new 2204a. The used Picoscope 2204a models don't seem to sell for that much of a discount it seems, but the higher (and older) model Picoscopes do. You just need to be patient and may need to keep your eye out for a number of months to find the really good deals.jason

author: mtk
author_rank: Contributor
timestamp: November 19, 2022, 03:19:52 pm
content: Is it possible to make PicoScope 2204A to work with 2205A firmware, the boards seems the same ?

author: jasonRF
author_rank: Regular Contributor
timestamp: November 20, 2022, 07:44:20 pm
content: Quote from: mtk on November 19, 2022, 03:19:52 pmInteresting question. Before now I did not realize that the boards looked the same. Photo of the 2204ahttps://sigrok.org/wiki/Pico_Technology_PicoScope_2204Aand the 2205ahttps://community.element14.com/products/roadtest/rv/roadtest_reviews/1272/picoscope_2205a_osci_2The board shown on the sigrok site even has a sticker that seems to indicate it is for both.My understanding is that the Picoscope software takes care of firmware updates automatically, but I could be wrong about that. In any case I haven't found any useful information about updating firmware on picoscopes.jason

author: _Wim_
author_rank: Super Contributor
timestamp: November 20, 2022, 09:27:40 pm
content: Quote from: mtk on November 19, 2022, 03:19:52 pmI was thinking exactly the same for my 5000 series scope:https://www.eevblog.com/forum/testgear/picoscope-hack/