PicoLog Data Logger + Raspberry Pi 4 (included) - Review

Table of contents

RoadTest: PicoLog Data Logger + Raspberry Pi 4 (included)

Author: fmilburn

Creation date:

Evaluation Type: Test Equipment

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: The resolution of this data logger is unique in its price class but a comparison with other Pico products and the Digilent DataLogger has been made.

What were the biggest problems encountered?: No significant problems were encountered.

Detailed Review:



Thank you element14 and Pico Technology for the opportunity to review the Pico ADC-20 Data Logger and Terminal Board.  The ability to use the data logger with a Raspberry Pi is useful and the addition of a Raspberry Pi to the RoadTest is appreciated.  The RoadTest contains the following sections:

  • Unboxing
  • Overview
  • Market Comparison
  • Getting Started
  • Feature Review
  • Error Analysis
  • Logging of light using light dependent resistor (LDR)
  • Logging of temperature using LM35 temperature sensor
  • Logging of diode IV curve
  • Summary
  • Useful Links




The instrument arrived undamaged and well packaged in a Newark corrugated shipping box surrounded by packing material.  All components described in the RoadTest invitation were inside.



  • Terminal Board User's Guide
  • USB Data Logger Quick Start Guide
  • Raspberry Pi 4 Model B 2GB
  • PiHut 16 GB Micro SD Card with NOOBS
  • PicoLog High Resolution ADC-20 Data Logger (20 bit)
  • ADC-20/ADC-24 Terminal Board




The Pico ADC-20 data logger is a 20-bit resolution data logger and features both single ended and true differential inputs.  The software is highly configurable and can run on Windows, macOS, Linux and Raspbian Buster.  For this RoadTest the software will be run on a Raspberry Pi 4 Model B 2GB.  Software features will be reviewed and several real world applications tested.  The basic lab setup is shown below running the Pico data logger software.


Power for testing is supplied by a Tenma 72-2685 and voltages checked with a Tenma 72-1020 bench multimeter that agrees well with my other multimeters.  The Tenma 72-1020 will also be used for temperature comparisons.  Not shown is a Keysight DSOX1102G oscilloscope with waveform generator that will be used to generate a slowly changing sine wave for one of the tests.


Market Comparison


In the table below the PicoLog ADC-20 is compared to the Digilent OpenLogger and three other dataloggers from Pico.  The ADC-24 priced at $579 costs twice that of the others in the table and is not shown.  For those interested, the additional features it has above the ADC-20 include 24 bit resolution, 4 digital I/O and 8 additional channels.



The PicoLog ADC-20 has higher resolution and accuracy than the other instruments in the table.  It also features differential input which the others lack.  The trade-off is that it also has a lower sampling rate.  Provided sampling requirements are no greater than 10 per second the ADC-20 is the superior instrument and it is competitive in price.


What isn't characterized by the table is the quality of the software.  I found the Pico software to be more refined and without the bugs and non-responsiveness experienced with the Digilent Datalogger in my recent RoadTest of that instrument.  If an instrument with a higher sampling rate than the ADC-20 is required I would preferentially look at the Pico offerings over the Digilent Datalogger.


Getting Started


The ADC-20 comes with a Quick Start Guide that leads the user through installation of the PicoLog 6 software.  The Quick Start Guide does not list Raspbian as one of the supported operating systems but once opened the link provided includes Raspbian.  The rest of the getting started guide consists mainly of limits, warnings, and cautions.  The instructions for using the software are online and comprehensive.  The main landing page is here.


Hardware Feature Review


The PicoLog enclosure is robust and comes out of the box ready for use.  On the front there is a 25-way D connection for the terminal board.  A cable (not supplied) can be used to connect the terminal board or it can be hung directly on the PicoLog.  The terminal board is not fully supported when hung off in this manner and I am hunting around for a cable.  a minor irritations is that when wires are attached to the terminal blocks they obscure the channel designation on the silk screen of the PCB.  At the rear of the enclosure is the permanently installed USB cable and a small LED indicating power.  The USB cable has some strain relief.  The LED can't be seen unless the unit is picked up and turned around.  On the bottom is a sticker with information about the instrument.



The PicoLog ADC-20  data logger and terminal board are shown below hooked up to the Raspberry Pi 4 beside it.  The data logger is supplied power by the USB connection to the Pi and is not switched.  The power indication LED on the back of the enclosure lights when the software is running and the instrument is recognized.  The terminal board works with either the 8 channel ADC-20 or the 16 channel ADC-24.  Note the arrangement to connect voltage dividers for sources outside the -2.5 to +2.5 V input range on the terminal board.


The Terminal Board User's Manual has a very good description of how to choose resistors and configure them.  However, this requires cutting traces on the board and soldering in resistors.  For my own use it would be nice to have the board set up for +/- 5V volts or possibly +/- 10V at times.  Ideally Pico might have jumpers so that the resistor divider or direct connection could be made.  I have ordered resistors and plan to modify it in future but for the time being I will set up the resistor dividers off of the Terminal Board.  More detailed information on the hardware follows.



  • 20-bit resolution
  • Up to 4 true differential inputs
  • Up to 8 single-ended inputs
  • 2 input ranges (±1250 mV and ±2500 mV)
  • Up to 15 conversions per second (only 10 samples per second recorded)
  • Galvanic isolation from the PC to eliminate noise pickup
  • USB connection to PC
  • Gain error: 0.2% of reading
  • Offset accuracy: 36 uV (+/-1250 mV range), 400 uV (+/- 2500 mV range)
  • Noise rejection: 120 dB typical
  • Common mode input range, channel to channel: +/- 3.0 V (+/- 2500 mV range)
  • Common mode input range, common to ground: +/- 30V
  • Common mode rejection ration, channel to common: 95 dB (DC to 60 Hz)
  • Common mode rejection ration, common to earth ground: > 125 dB
  • Isolation (input to input): none
  • Isolation (input to ground):  Galvanic up to +/- 30 V, AGND and DGND isolated
  • Reference output:  +2.5 V +/- 2.5 mV @ 2 mA


Terminal Board

  • Connects to ADC-20 with 25-way male-D to female-D directly or by parallel cable
  • Supplies screw terminals to all ADC channels
  • Provides +5 and -5 low current power (up to 2 mA)
  • +2.5V reference voltage
  • Provision for LM35 temperature sensor, BNC socket, and 14-pin DIL user circuit
  • The board provides for resistor dividers or current shunt by cutting traces and soldering in resistors

Software Feature Review


The software was installed on the Raspberry Pi 4 supplied for the RoadTest with only one issue.  The installation page downloads the latest Version 6.1.15 of PicoLog but the installation instructions below are for version 14.  This was reported on the Pico forum.  Other than this the directions are clear and the installation went without incident. The software also works on Microsoft Windows 7 and up both 32 and 64-bit versions, macOS 10.9 or later 64-bit only, and Linux 64-bit.


The Pico forum is active and Pico staff appear to be actively helping customers on the site.  The software receives frequent updates.


A more detailed overview of the software and how it works is given below.


Basic Setup and Viewing

For the screenshots below the DC voltage was set at 1.1 V on the bench PSU and connected to channel 7 of the PicoLog. The initial window looks like this...


Clicking on the desired channel, in this case channel 7 shown in blue above will open up a window where single ended or differential capture can be selected.


In this case single-ended is selected which then opens up the window for selecting single-ended options...


I tried to enter invalid data into the sample interval window and it would not allow it.  While the datasheet states conversions occur up to15 per second, the minimum entry period is 100 millisecond .  The advanced options allows the sample mode (average or latest sample) to be selected.  The probe or scaling option opens up an optional scaling window.    Input range can be +/- 1.25V or +/- 2.5 V.


Pressing the red button starts the recording.  The tabs for graph and table are selected to show the data.  In the screenshots below the high resolution of the instrument is apparent as it displays 1.1 V DC output from bench power supply.  The minimum reading is 1.095895 V and the maximum is 1.095980 V, a difference of 85 uV.  In all tests the ADC-20 agreed with the bench multimeter readings to within the specifications of the instruments.



Basic Graph


Basic Table


Basic setup and viewing data is demonstrated in the video below.


Graph View

Additional features available when setting up and viewing data such as multiple graphs and annotation are demonstrated in the video below.



Setting up and function of alarms is demonstrated in the video below.


Math Channels

Setting up and using scaling and math channels is demonstrated in the video below.


Files and Post-Analysis

For the next demonstration the waveform generator from a Keysight DSOX 1102G oscilloscope was set up to output a 4 V p-p sine wave with a 10 second period to channel 7 of the ADC-20.  Data is being recorded every 100 ms which is the limit for the ADC-20.  Saving files and post analysis of data is demonstrated. 


Note that the video above demonstrates an unexplained issue with the recording of data at this highest rate.  The capture rate of the ADC-20 is set at 10 per second so 100 samples are recorded for each period of the sine wave.  As shown in screenshot below, there is a plateau or step that occurs.  I thought it was a glitch in the plotting software at first, but it is also present in the tabular data.  The steps occur 9 times per sine wave period in the frame below.  It could be something associated with sample rate being slower than record rate.



PicoLog SDK

The Software Development Kit (SDK) is available for Windows 32 and 64 bit only.  According to the Programmers Guide:


The driver exports the function definitions in standard C format, but this does not limit you to programming in C. You can use the API with any programming language that supports standard C calls. It can also be used with programs like Microsoft Excel. The driver supports Windows 7, 8 and 10.


There are examples of use on the Pico web site and Github for many different languages and LabView.  The SDK was not tested in this RoadTest.


Error Analysis

The best meter available to me is a Tenma 72-1020 bench multimeter with the following specifications (taken from Tenma User Manual)


As noted above, the specifications for the PicoLog ADC-20 are:

  • Gain error: 0.2% of reading
  • Offset accuracy: (36 uV (+/-1250 mV range), 400 uV (+/- 2500 mV range)


A quick test was done by running the voltage up the scale from -2.5 V to 2.5 V in 0.1 V increments while recording measurements on channel 7 of the ADC-20 and on the Tenma 72-1020.  The difference in voltages measured and the percent error were calculated and then plotted in Excel.



ADC-20 Vs. DMM


Error Difference (V)


Error (%)

The error was calculated by assuming the Tenma value was correct which is only an assumption.  In any event the agreement between the two instruments is well within the specifications provided by their manufacturers.


A quick look was made at the deviation between channels by supplying the same nominal 1V to each of the 8 channels.  The screenshot below shows the results.


As can be seen by the summary of the most recent sample on the right hand side of the chart the range is from 995.7727 mV to 995.8442 mV, a difference of 0.0715 uV or 0.0072%.  It is also interesting to note that the data groups into two bands.  I elected not to do a teardown and am guessing there are two ADCs inside.


Application:  Logging of light using light dependent resistors (LDRs)


This application is described in the ADC-20/ADC-24 Terminal Board User's Guide.  Six light dependent resistors (LDRs) will be used to measure light level by arranging them in a single-ended voltage divider configuration with 1 Mohm resistors.  The following illustration taken from the Pico ADC-20/ADC-24 Terminal Board User's Guide.  For this applications, Rwas set to 1 Mohm and RB is the LDR.


The demonstration follows:


Application:  Logging of temperature using LM35 temperature sensor


Four LM35DZ temperature measurement sensors were set up on channels 1 to 4 of the ADC-20 as described in the Terminal Board User's Guide.


The LM35DZ outputs a voltage of 10 mV for every degree Celsius.  Since the temperature of my lab is around 20 degrees Celsius the expected output is about 200 mV.  A multiplication factor of 100 is set up in the scaling of the channels so that the output will read degrees Celsius.  The tested limit of the LM35 is +/- 1 degree at 25 degrees Celsius but  as a check two old analog thermometers and the type K thermometer on the Tenma 72-1020 DMM were also be observed.



Closeup of Sensors


Overview of Experiment



The screenshot below shows the outcome of approximately 22 hours of data collection with averaged samples recorded every second.


The results are interesting:

  • The difference between the red trace and blue trace is approximately 1 degrees C ( datasheet of LM35 gives accuracy as typical +/- 0.6 degrees C at 25 degrees C, 1.5 degrees C max)
  • The Tenma 72-1020 gives readings almost at the average of the three LM35 sensors
  • The analog thermometer which is about 40 years old and can't be calibrated reads about 1 degree C higher than the Tenma 72-1020 and is probably within 1.5 degrees C of the true temperature


While it looks like the lab has a large variation over the almost 24 hour period it is only a little more than 1 degree C.  The lab is in the basement and the thermostat is upstairs. During the day it stays cooler than the rest of the house which warms up from sunlight.  At night the central heating kicking in at regular intervals is readily apparent.  If I close the door to the lab it gets warmer if the heat is on like it is at the beginning of the experiment.  The ADC-20 is very easy to set up for this type of experiment and the software handled the data without issue.  The date and time is captured for every sample which is useful.


Application:  Measurement of diode IV curve


In this application the ADC-20 was used to generate the an IV curve for a LED and exported in CSV format for plotting in Excel.  The bench power supplied DC voltage and a bench multimeter was used as to measure current.  The ADC-20 also measured the current in differential mode on Channels 1 and 2 across a resistor.  Channel 3 measured the forward voltage (Vf) of the LED at various currents.



Everyone should have a milliohm meter to accurately measure small resistance values :-).  The resistor used as a shunt resistor measured 0.9951 ohms.



The LED is an Avago HLMP-1700 red LED with a forward voltage of 1.7 V (typical) to 2 V (max) for a forward current of 2 mA according to the datasheet.


The experiment and the outcome is described in the following video.


The data matches the datasheet for the LED nicely and the initial current flow is readily apparent.




The Pico ADC-20 has:

  • High resolution and accuracy
  • Good documentation
  • Easy setup and use
  • Software that runs on Windows, iOS, Linux, and the Raspberry Pi
  • Active user community with Pico participation
  • Actively maintained software largely absent of bugs


It met all specifications in the areas tested.  I found the software quick to learn, responsive and suitable for my needs.  The graphical display is very nice.  The one bug observed was the "step" that occurred when recording at it 100 millisecond intervals on a sine wave with a 10 second period in the Files and Post Analysis testing.  The bug wasn't observed when recording was done at 1 second and slower intervals. If the maximum sampling rate of the ADC-20 is too low for your purposes I would recommend looking at some of the other Pico offerings given my positive experience with the ADC-20 and the software.  Be aware that the PicoLog 6 SDK only works in Windows.  I plan to add resistors to my terminal board so that it can be used at +/- 5V without an external voltage divider for the work I do.


The Pico ADC-20 has found a place on my bench and gets a "thumbs up".



Useful References



  • It is true, Gene.

    It is not the first time that complex or relatively USB 2 high-speed devices won't work properly with a crap cable. It is the first thing to change before any other try.

  • The USB specification for a 2.0 host port is to be able to supply 0.5A.  It would seem very short sighted to not have sufficient power in the budget and at the same time provide a USB host port.  I know that Raspberry Pi have had a very limited power budget and seem to be under powered without any additional attachments (USB or otherwise).  I have always been in the camp, that what is lacking is a good USB power cord more so than a good USB power supply.  Typical USB cables can have power leads anywhere from 28 to 32 AWG (very flexible and thin), I choose to use high quality USB cables, which wire gauges of 20 AWG or better (my choice has been Anker Powerline).  The smaller gauge wires can carry 1.4A to 0.53A, where the 20 AWG should be capable of running up to 11A.  Since using these higher quality power cables I have had zero power issues.


    It really should work fine, if you take all the right steps.

  • I have nothing to support a claim that this product will cause or have problems using power from the Pi external source


    I'm old school, where novice electrical engineers wanted to make their mark by inventing a better power supply. Pico made a design decision to power their device from an external power source. The documentation suggests PC power is adequate and provides some portability for the logger.


    I've have worked in some locations that had pretty dirty power. Sags, over-voltage, ripple, frequency shift you name it. If there was a power anomaly that power had the chance of having it. I have had a number of problems with Pi's involving power. All  have been resolved with an good power cube. In project designs that include a Pi, I make sure the Pi power supply only supports the Pi. This adds overhead bu having to add power but I'm confident the Pi is good to go.


    Pico no doubt has a very good regulation in the unit. I would be curious to know the input specification. I know the Pi gets flaky around 4.7?VDC, how does the logger deal with it. I chase technical squirrels like these questions all the time. Doesn't mean you have to. Still I enjoyed your review.

  • The snippet below is quoted directly from the Pico homepage describing the ADC-20 and 24:

    No need for power supplies or batteries

    The high-resolution ADC-20 and ADC-24 are powered directly by your PC — eliminating the need for batteries or a separate power supply, and making them ideal when you need a portable data logger

    So it was designed from the beginning to be powered by a PC be it a Windows, Apple, or Linux box.  The Pi running Buster was recently added to supported OSs and hardware. As noted above I compared results to a 40,000 count bench DMM with good results.  I also tested it by logging data over several days without issue. I powered things with one of the new Raspberry Pi power supplies brought out for the Pi 4.

    Pico has been making USB powered devices a while. Maybe someone else can comment if they have experienced an issue.

  • Thanks for the response. My apologies, As I get responses I have more questions. Was there a power supply provided for the Pico unit? What does Pico documentation recommend for power?


    I don't ever recall finding a reference that recommends using the Pi power supply to support external equipment. I'm curious what a vendor with a product that interfaces with a Pi is intending? Relying on the Pi for power no doubt reduces their cost. I can understand maybe using the Pi power supply during proof of concept but I don't see that as the ideal going into production.


    Why not provide a power supply that is capable of supplying the Pico and the Pi. I can't accept Pico absolving themselves of using an external power source by suggesting their device is very well regulated.


    Using the Pi power supply creates the scenario referred to in the telecommunication as industry as "fault leaving good here". When you have a telecommunication service that spans multiple providers, it is difficult to determine the cause of a fault when it happens. They all tend to indicate their service is good and the problem is the other guy. You the users still have the problem it just good from every provider along the chain.


    You run the Pico and service start to get flaky. Oh its a power problem. The Pi works fine. Not addressing the power requirement I think is short sighted.

  • Hi Sean, and thanks.  It is powered solely by USB, in this case by the Raspberry Pi. I wasn’t powering anything but the Pico from the Pi and didn’t experience problems.  I used the 5V supply on the Pico for one experiment.  That worked fine as well but it does have limited current deliverability.

  • Very nice review Frank!  Well laid out with plenty of good details.  Well done!

  • Great technical review. Can you clarify one detail. How is the Pico powered? Does it have its own power supply or does it source power from the Pi via the USB connector?