PlainDAQ - DAQ Module for Raspberry Pi Pico

Open Source DAQ module for Raspberry Pi Pico

Public Chat
Similar projects worth following
PlainDAQ PlainDAQ is a module that turns your Raspberry Pi Pico into a simple, precision 4-channel oscilloscope and a single channel function generator. Optionally it can also include a Wi-Fi module to add wireless capability to Raspberry Pi Pico modules.

To put it other words, PlainDAQ is a simple, useful tool to add basic precision analog functionality to your Raspberry Pi Pico board. It has a precision, low-noise, low-drift 12-bit 500kSPS/s ADC, sampling 4-channels and supporting 3 ranges (±1V, ±2V, ±4V). It also has a 10-bit DAC which helps create analog outputs and waveforms and it has a single range of ±4V.

PlainDAQ is now on CrowdSupply, Subscribe to PlainDAQ if you want to get notified**
**The pre-launch page will be updated soon with new revisions

Here is the quick list of Features & Specifications:

Analog Inputs:

  • 4 Channels (multiplexed)
  • 12-bit resolution, 72 dB SNR (11.6 ENOB, 4000:1 dynamic range)*
  • 500 kS/s sampling rate
  • ±1 V, ±2 V, ±4 V bipolar ranges

Analog Output:

  • 10-bit resolution
  • 50 kS/s sampling rate
  • ±4 V bipolar range

Voltage Reference:

  • 2.5 V, 20 ppm/°C (Typical) Drift
  • Calibrate to 0.05 %, Stored in as ROM as calibration data

Bipolar Voltage Supply:

  • ±8 V power output.
  • ±100 mA current rating.

ESP-WROOM-02D AT-Command Module:

  • Simple UART interface to Raspberry Pico
  • Wi-Fi connectivity
  • Shipped with ESP AT firmware


Industrial Applications

PlainDAQ can be used in a wide array industrial applications, including remote data logging and control. With the help of open-source Python scripts and firmware, you can configure PlainDAQ however you like, and its Wi-Fi capability supports a variety of remote applications.

Educational Applications

I designed PlainDAQ, in part, to help people understand complex issues in electronics. Its ability to generate and capture waveforms can help students and hobbyists learn about the circuits they are building. As an affordable piece of multi-purpose lab equipment, PlainDAQ is the perfect addition to that first electronics lab.

In particular, I’ve found that people often struggle to understand the frequency-related aspects of analog electronics: frequency response, step response, filters, etc. To address this challenge, I designed I²C-controllable low-pass and high-pass filters that can draw power directly from PlainDAQ. Their cut-off frequencies can be set individually, and they can be cascaded to form band-pass and band-stop filters. By measuring their frequency-response and changing their cut-off frequencies, you can observe their behavior and improve your understanding of these concepts.

I also have started a project page for the filter please check:

I2C RC Filters |

  • 1 × MCP33141D-05 or MCP33111D-05 ADC
  • 1 × MCP4911 Data Converters / Digital to Analog Converters (DACs)
  • 1 × LM4040DYM3-4.1-TR Electronic Components / Misc. Electronic Components
  • 5 × TMUX1247 Switches and Multiplexers / Analog Switches and Multiplexers
  • 1 × AP62200Z6-7

View all 9 components

  • Negative Voltage Supply (Issues and fixes)

    Alperen09/22/2022 at 14:23 0 comments

    In my previous attemp to generate negative voltage supply didn't work, so I ordered new ones to try them out.

    I soldered it on and suprise, suprise. It worked (with problems which will be revealed soon)

    PlainDAQ is drawing 58mA when just sitting ideally, which was a surprise to me.

    To my surprise ripple was too huge about 150mV!

    I tried to solder big capacitor at the outputs of the buck converters, but that really didn't change anything.

    Look at my bodges

    I need to figure out where the noise is coming from, any ideas?

  • New Features and Raspberry pi pico W

    Alperen08/25/2022 at 18:31 0 comments

    As raspberry pi pico W is out, there is really no reasons for me inlude a wi-fi module.

    I am considering removing the Wi-Fi Module and adding new features.

    Any thoughts?

  • Our New Design Is Assembled!

    Alperen08/18/2022 at 13:31 0 comments

    After a stupidly long delay, I finally managed to get PCBs for our new design, so I used them to assemble two boards, and I think they look great. I hope you all enjoy the new look!

    Here is how it looks:

    Doesn't it looks pretty?

    I have updated the front-end, so that it's more cost effective. I am trying to build something that is affordable to everyone, so I made a lot effort in component selection.

    What do you think about the new look?

  • GUI - Cursor Control (Help me decide)

    Alperen06/01/2022 at 12:41 0 comments

    Subscrine to PlainDAQ if you want to get updated: SUBSCRIBE

    Note: Pre-launch page will be updated soon. The pictures shown in the pre-launch page are old.

    GUI update
    Hello once again!
    Finally I've had time to work on PlainDAQ's GUI. I worked on vertical cursors and I came up with two ways to control vertical cursors and I am trying to decide which way is the best.

    Please see the video and let me know which way you think is the best.

  • POLL Results

    Alperen05/12/2022 at 08:54 0 comments

    I've conducted a poll in Twitter and Reddit to decide which wireless module (Wi-Fi or BLE) to use and results are here:



    In total 110 people voted and majority of them want the Wi-Fi Module. 

    Seems like I'm going for the wi-fi module. 

  • Finishing the Layout for the New Revision

    Alperen05/10/2022 at 16:48 0 comments

    Finishing the PCB layout, I gotta be more careful to place the components, I am running out of space 

  • Building a Reconstruction Filter for the DAC

    Alperen05/09/2022 at 10:34 0 comments

    Developing a reconstruction filter for the DAC in PlainDAQ, to get nice looking sinewaves.
    Compared Sallen-key(SK) and Multiple feedback(MFB) topologies.
    MFB performed much better in the stop-band.

    LTSPICE files:

    I had to choose between sallen-key or Multiple feedback topology, so I compared them.

    Here are the circuits that I compared:

    FSTh7YkXsAA9D6r (1185×891)Here are the results:

    FSTilZDWQAEkgYG (1333×888)Multiple feedback performed much better in attenuating the stop band.

    Added them to the schematic in my KiCAD project. I also added a switch to switch between filtered and non-filtered DAC output to see the difference between, it's going to be a fun little experiment.

    With the help of the switch I will be able to generate square waves with faster rise-time by using the non-filtered DAC output which is a plus.

    Subscribe to PlainDAQ if you want to get update! We have just released a new update.

  • New revision - New Decisions to Make (Feedback Required)

    Alperen05/04/2022 at 19:21 0 comments

    I’ve been working on a number of different aspects of PlainDAQ lately. In particular, I’ve been cost optimizing the PCB, picking components that are easy to source, and working on an intuitive graphical user interface.

    To help me decide, please join the Twitter poll Twitter Poll or e-mail me at or comment below 

    Recent Changes to the PCB

    • I moved all the terminals to the same side so they are easier to use. (In the previous version, analog inputs and outputs were on opposite sides, which would have been inconvenient when using both inputs and outputs.)
    • The front-end is a bit more complicated, but it's a lot cheaper and has the same performance.
    • The form factor has changed as well. PlainDAQ was previously 75 x 60 mm, and it's now an 80x60 mm rectangle, so it has a slightly larger footprint.
    • I added a new visual that displays the basic input and output capabilities of the board along with a cool diagram.
    • I added a Qwiic connector.
    • I changed the terminal to a more affordable type. The new terminals also accept Dupont cables which is going to make it easier for you to interface with PlainDAQ.

    Help Me Decide Between Wi-Fi & Bluetooth…

    I need change the wireless module, but I need your help to decide between…

    1. An ESP-WROOM-02 Wi-Fi module (first render below)
    2. An HM-BT4502(A) BLE module (second render below)

    New PlainDAQ with ESP-WROOM-02 (Wi-Fi)

    New PlainDAQ with HM-BT4502(A) (BLE)

    To help me decide, please join the Twitter poll Twitter Poll or e-mail me at or comment below 

  • Working on a Revision

    Alperen04/29/2022 at 00:17 0 comments

    I've been working on a new revision of PlainDAQ and I had an empty space left on my PCB. I decided to fill it up with some visuals related to sampling theory.

    Here is what I've drawn: The thick line supposed to be the signal that's being measured and the dotted line supposed to be the reconstructed waveform. To be honest not sure if it's terrrible accurate depiction.  

    Let us hope that it will be printed well on the silkscreen layer  

    I drew this on inkscape and imported it to KiCAD via image converter.

  • Matplotlib Cursor Test

    Alperen04/19/2022 at 12:05 0 comments

    I've been thinking about what features to add to PlainDAQ's GUI.

    Here is one of them: Movable/Interactive Vertical cursors for viewing real-time statistical data.

    Simply by using middle mouse button and dragging it while holding the middle button you can place veritcal cursors. You can analyze the data in between the cursors.

    Some people said that it's very wierd to use middle mouse button for that purpose. What are your thoughts?

View all 14 project logs

Enjoy this project?



Jacob wrote 08/17/2022 at 20:43 point

Very cool project, . Would it be possible to add network analysis to the software? Play out of the DAC through a DUT and record with the ADC? I recently had a need for low-frequency network analysis (for SMPS compensation/testing) and all the gear we had was > 0.3 Mhz. Made me think of doing a similar project! I love small and simple equipment like this. 

  Are you sure? yes | no

Alperen wrote 08/18/2022 at 06:12 point

It's possible to generate frequency response of a DUT with PlainDAQ, but you can only get the amplitude response at the moment.

It's also possible to get the phase response, so that you can mimick network analyzer somehow, but I didn't implement this. It's an open-source project maybe someone "hacks" it and implement it or I might do that  :D

You can get the frequency response of these filters I made for PlainDAQ:

I2C RC Filters |

  Are you sure? yes | no

Jacob wrote 08/18/2022 at 15:17 point

It would be very cool to look at your filters with that! If there is python package/compatibility then you could do whatever math you want on the signals. 

  Are you sure? yes | no

Jacob wrote 03/23/2022 at 15:18 point

Can confirm that matplotlib is very slow w/ regards to garbage collection. Its not really meant to be updated constantly for live rendering. In another project I wrote my own simple graphing package to give me a high update rate for live view, and then I kept matplotlib if I want to look at saved data. Good luck!

  Are you sure? yes | no

Alperen wrote 03/23/2022 at 16:25 point


You wrote graphing package from scratch? :D

  Are you sure? yes | no

Jacob wrote 03/24/2022 at 20:31 point

Just a quick one so that I could see the data coming in. It was not feature-rich so it didn't take too long. All of my exported plots were using a 'real' graphing package.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates