If you need a reason to be an Element 14 member, let me suggest their Road Test program. Companies partner with Element14 to get people to try out their gear. A couple of years ago I got a new microcontroller board. This week I received a new test instrument. Here’s my hands-on Picoscope 2204 review.
The scope is bus powered. With the BNCs and type-B USB connector, it is slightly larger than an external USB hard drive. There is not much weight to the device. It does not feel cheap, just lighter than I expected.
Getting the scope up and running is a breeze. Pico Tech included a CD (or DVD?) to install the software, but I could not find my drive to check it out. Software downloads from Pico Tech’s website work great. It looks like you can even download the software and use it in “Demo mode” if you are curious how it works.
SSD1306 OLED Screen with an Arduino
At the Bay Area Electronics Flea Market, I picked up some small OLED displays. These screens have an I2C interface and use the SSD1306 controller. To test out the scope, I decided to snoop the I2C bus between the OLED and an Arduino. On the Arduino side, I used the U8G2 library. It comes with some good examples to generate I2C traffic, along with cute displays.
For my tests, I used the “Hello World” example. My initial hypothesis was that I would be able to see the ASCII text of “Hello World.” Let’s see the I2C transmissions.
Screenshot for PicoScope 2204 Review
It took me a bit to figure out how to navigate the software. However, that is always the case with test equipment. What I look for in quality software is a consistent User Experience (UX).
For the most part, PicoScope 6 delivers. My biggest gripe is that icons do not have text subtitles. (I have the same problem with KiCad.) At least the icons used in PicoScope 6 better indicate what they do. However, before you know what they do, you either have to click or wait for the tooltip. I would rather have user toggle-able subtitles.
I2C Capture and Decode
Here is a single I2C packet with the default setup. This acquisition is based on the time per division. So you only see a single packet. When I setup the decoder to look at “all packets,” the same one kept showing up. I know there is more going on in the bus, but how to see it?
Well with such a limited amount of acquisition memory and no way to manually set the sample rate, I felt stuck. Then I remembered that the Picoscope supported a streaming mode.
I wish the memory depth were deeper than just 8 kilosamples. While you do not need 100 MHz of analog bandwidth for an I2C signal, you do need a reasonable amount acquisition memory since the bit rate tends to be relatively slow.
PicoScope 2204 Streaming Mode
This feature is where the UX let me down. The 2204’s Tech Specs show a USB streaming mode. In fact, my PicoScope 2204 review almost ended because I couldn’t fully “debug” my device. Nowhere in the software could I find an option to enable it. Finally, a Google search got me to an article on their website. It turns out the mode is called “Slow Sampling Transition” in the software.
The option “collection time” determines the time base setting when samples stream over USB to the PC. This feature enables larger acquisition depths than the hardware supports. In the case of a slow signal like I2C, this is ideal. You can get a (relatively) high sample rate with a reasonably long memory depth.
Once I got past this oddity, I was able to see an entire I2C transfer. (The example code has a 2-second delay between transmissions, so it is relatively easy to see a full I2C transaction.)
Now what you might notice is that the ASCII data does not show anything that looks like “Hello World.” The U8G2 library is not transmitting the ASCII letters. I think it is either an encoded font or the actual bitmap data to display. Pretty cool, huh?
PicoScope 2204 Modes
One aspect I did not expect to discover in my quick PicoScope 2204 review was its trigger modes. My exception was just a simple edge trigger. Finding pulse width, window, and even a logic trigger available made for a pleasant surprise. When I write the full review, I’ll give trigger modes a deeper look.
PicoScope 6 Measurements
The measurements seem to be limited to only 2 at once. This is puzzling to me. On PC-based scopes, this should be left up to the user. If adding too many measurements slows the software down, then the user can deal with it. One, somewhat advanced, feature I did like is the gating function. Instead of cursors PicoScope 6 has “rulers.” Gated measurements only occur between the user defined cursors, sorry, rulers. Another option I liked is the option to select between 10-90% or 20-80% thresholds.
(In my Top Of the pACQ talk, I discuss why.) It would be good to see discrete values available. On the upside, the software defaults to 20-80%. I really wish more scopes would do that, especially when targeted at digital applications.
Stuff for the full review
Of course, this is more of a hands-on than a full PicoScope 2204 review. These were just a few of the things I liked (and didn’t like). Overall I am positive about the capabilities of the hardware and the software.
Any thoughts on other features or areas I should focus on as i use the scope more?