Skip to the content
PCBKitNew board
4 layers244.5 × 91 mmHackerDAQ Main Unit, the printed circuit board in 3D

HackerDAQ Main Unit

multiplemonomials/HackerDAQ2

A Data Acquisition System for Hackers

Size
244.5 × 91 mm
Copper layers
4
Thickness
1.58 mm
Parts
190
Nets
245
Pads
915
Tracks, vias
2,270, 418
Pours
13
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
1 Mar 2026
Updated
6 Nov 2026

Overview

HackerDAQ Main Unit is an open-source printed circuit board by multiplemonomials, from the multiplemonomials/HackerDAQ repository on GitHub. It is a 4-layer board of 244.5 × 91 mm with 190 parts on 245 nets, routed with 2,270 tracks and 418 vias.

It is built around the MCXN547VKLT, SN74LVC1G34DBVRE and TPS56A37RPAR, with the USBLC6-2SC6, SN74AXC4T774PW and TLV71333PDBV among its other parts. Its parts include 67 capacitors, 59 resistors, 19 ICs, 16 connectors and 11 diodes.

Main components

12

README

README.md

HackerDAQ: A Data Acquisition System for Hackers

HackerDAQ is a work-in-progress project to create an open-source data acquisition system. The project is currently in its early stages, but the goal is to create something that can be used in place of industrial DAQ systems to record high-quality data.

Background and Motivation

The tech industry is in kind of a weird place when it comes to data acquisition (DAQ) systems. Suppose you have some sort of mechanical system you want to work with -- maybe a science experiment, maybe an industrial process, maybe an automation system, who knows. You have some sensors that you need to read and record the data from, and maybe you want to control some outputs as well, like turning the power on to some valves/solenoids/motors in response to a sensor reading. To do this, you need a DAQ system. However, an odd divide exists in the DAQ industry right now, between the incredibly professional and the almost insultingly hobbyist.

At one end of the spectrum, there are industrial-grade offerings from companies like National Instruments, Beckhoff, and Dewesoft. These systems are capable, flexible, and reliable -- but also extremely expensive. Even an entry-level NI system will run you well into the mid 4 figures, and other manufacturers are similar or worse. What if you can't afford that? Well, in many cases, your only option is getting an Arduino or Raspberry Pi and some basic dev boards for the sensors you need, and then hacking together enough software to log the data over serial. I've seen this many times, and while it does sometimes work, by doing it, you give up a lot of niceties like defined accuracy, noise resistance, a constant sample rate, etc.

Meanwhile, technology has moved on, and we're now in an era where highly accurate, multi-input Analog-Digital Converter (ADC) chips can be purchased very cheaply. This project has selected the AD7770 from Analog Devices, a 21-bit, 32kHz, 8-input ADC which can be purchased for about $15 each at quantity. Using this chip enables DAQ devices to be made quite simply and cheaply, as one basically just needs to attach different front-ends to this chip to convert the signals based on the sensor being sampled. With the existence of this chip and others like it, there is really no justification for DAQ devices to cost thousands of dollars unless you need better accuracy or sampling rate than these types of ADCs can provide.

Basic Overview

Main unit render

Voltage card render

The HackerDAQ consists of a main board with a microcontroller on it and basic circuitry such as power supplies, an Ethernet port, and a MicroSD slot. The main board would have a number of connectors for cards to plug in, each of which carries power, GPIOs, and SPI bus signals.

Cards can be designed for many different applications, including digital I/O and many different types of analog sensors. The user can select only the cards they need for the application they have in mind, keeping the base cost of the system down and allowing the user to get exactly the I/O they need. The SPI bus was selected for communications with these cards as it is fast, there are a wide range of chips available that speak it, and it supports bussing together multiple chips on the card over one set of bus lines. In a lot of ways, these cards are similar to existing sensor interconnect systems like SparkFun Qwiic / Adafruit Stemma / Digilent Pmod, where you can buy various task-specific modules and connect them to a motherboard. This would just be focused more on DAQ stuff and be more industrial-grade.

In terms of software, the HackerDAQ would include firmware that would run on the board and interface with all the cards, send data to connected user interface(s), and receive and execute commands. On the PC side, there would be a basic program that can display and record data. For users who don't want to program, they can see the live data in the GUI, record it to a file, and manually control outputs. For users who are a little more comfortable with programming, they could write scripts (likely python) that would run on the host machine and be able to control the DAQ. And for users who have embedded software experience, they could write their own code that extends or replaces the firmware on the actual DAQ!

Key Decisions

AreaDecisionWhy
Physical architectureMain board + swappable cards
  • Avoids need to create multi-function inputs which would increase complexity
  • Makes system cheaper if you only need a few types of inputs
  • Avoids need to mess around with external amplifiers or other circuitry for sensors that need them -- they can be built directly into the card
  • Allows for much wider range of off-the-shelf supported functionality
CPUNXP MCX Alpha Microcontroller running Mbed OS
  • Using a microcontroller, rather than a linux CPU + supporting circuitry, keeps the cost down
  • Using an RTOS rather than a full OS makes microsecond-level timestamping and SPI transaction scheduling possible
  • This MCU has two CPU cores at 150 MHz, plus a powerful DMA controller, a fast internal bus, and lots of SPI connectivity
SPI bus topology2 card connectors per SPI bus, one leader card and one follower. All cards on a given bus must share the same polling rate.
  • MCU does not have enough pins for each of the 8 slots to have its own dedicated SPI bus, so there needs to be some way for cards to share a bus.
  • In most real systems, you generally have a lot of sensors at the same data rate, so I do not expect this to be too crippling of a limitation
Connection to hostEthernet, potential upgrade later to add USB
  • Ethernet provides high quality electrical isolation and is highly noise-immune, so it's great for industrial applications
  • Ethernet peripherals in microcontrollers are well-optimized for high data rate applications
  • Allows the DAQ to connect to a larger network and interact with multiple machines, plus receive time via NTP
Local recordingMicroSD (SPI based)
  • Important to have a method of locally recording data for standalone applications
  • Mbed has a preexisting driver for MicroSD cards in SPI mode
  • SDIO mode is faster but driver support is less present (though not totally hopeless either)
Card identification4kiB SPI EEPROM on the card (thinking M95320-RMN6)
  • Allows SW to largely autoconfigure itself based on the cards that are physically installed
  • Provides a convenient place to store calibration data!
Card to sensor connectorsMolex Mini-Fit
  • I have used these connectors in the past and they are really balanced all-around:
    • Retention clip ensures they can't vibrate loose
    • Rated for ~8A continuous per pin
    • Good size: not so small that they are hard to work with, but not so big that they make your entire system bigger
  • Big downside is that the crimp tool costs $400. Could mitigate by supplying one wire harness with each card that users can splice their own sensor wires to
Card to main board connector15-pin, 2 row D-Sub (DA-15)
  • Very cheap
  • Screws provide relatively beefy mechanical retention
  • Not a size used in consumer hardware so unlikely to be plugged in to, say, a monitor accidentally
  • Still uses standard D-sub hardware so it should be possible to get premade cables, crimpers, etc without too much trouble

The Main Unit

The main unit contains a high performance MCX Alpha microcontroller with Ethernet, multiple SPI busses, a MicroSD slot, and a number of extra GPIO pins.

Data Recording

Both the Ethernet and the MicroSD card are available for recording data. The Ethernet is for livestreaming when you want to view, record, and process data on a PC, while the MicroSD card would be used for simple applications where you just want to record locally, and could also be configured as a backup so that data isn’t lost if the ethernet connection drops out.

Power

The main unit takes in and regulates power for the HackerDAQ system. It has a DC input which can handle up to 8A at a variable voltage (9-24V). This voltage, referred to as Vsupply, is sent through the connectors into the cards for use as a higher voltage excitation supply when needed. High-current logic rails are provided for cards and attached devices to use -- currently 5V@8A and 3.3V@8A.

Card Ports

The main unit has four SPI busses. Each SPI bus provides two card ports, a "leader" port and a "follower" port. The leader and follower ports on a given bus can have different cards connected, but must operate at the same speed as SPI transactions for all cards will happen at a fixed cycle rate for the bus.

Expansion Port

Some of the microcontroller I/O pins that are not connected to one of the SPI busses are routed to the expansion port. This will include some digital pins (with I2C/PWM/UART) and some analog pins. Advanced users who are comfortable programming embedded C++ can add write their own software that uses these pins. This allows the HackerDAQ to be used as a jumping-off point for one's own projects!

Also, SWD debug pins and reset pin are broken out to an ARM SWD debug connector, for use with a debug tool like a J-Link or MCU-Link.

Open Questions

  • Is it worth adding a battery-backed RTC so that the time can be maintained if there is a power outage?
  • Does PoE support make sense?

Card Interface

The main unit would provide the following signals to each card:

  • SPI signals (MOSI, MISO, SCLK)
  • 3x CS lines
    • This allows having 2 addressable chips on the card side, plus the EEPROM
    • 8.192MHz clock signal for the ADC
    • +12V, +5V, and +3.3V digital rails
    • A data ready line from the card
    • A sync line to the card

Analog Card Basics

Each analog card would contain the same basic DNA:

  • Analog front-end, with ESD protection and passive filtering
  • Instrumentation amplifier, if needed
  • Voltage reference, LTC6658 on cards that need to supply precision excitation voltage, other cheaper option (or built-in ref) if only voltage input is needed
  • Multi-input ADC with SPI interface
  • SPI EEPROM that stores the card's identity information and calibration

Parts

190
QtyValueFootprintReferences
37100nFCapacitor_SMD:C_0603_1608MetricC1, C2, C10, C12, C16, C17, C18, C19, C20, C21, C22, C23, C25, C26, C27, C29 +21
1110kResistor_SMD:R_0603_1608MetricR5, R6, R8, R14, R18, R23, R25, R28, R29, R37, R50
81µFCapacitor_SMD:C_0603_1608MetricC3, C9, C15, C24, C39, C40, C43, C47
861801525123Project Library:Wurth_61801525123J2, J3, J4, J5, J6, J7, J8, J9
710µFCapacitor_SMD:C_1206_3216MetricC13, C14, C46, C50, C58, C60, C61
610Resistor_SMD:R_0603_1608MetricR36, R40, R46, R47, R55, R56
622µFCapacitor_SMD:C_1210_3225MetricC28, C35, C48, C52, C53, C55
510kProject Library:CTS 745C101R10, R11, R12, R13, R24
533Resistor_SMD:R_0603_1608MetricR16, R17, R19, R20, R21
410µFCapacitor_SMD:C_1210_3225MetricC56, C57, C62, C63
4140Resistor_SMD:R_0603_1608MetricR2, R3, R31, R57
430Resistor_SMD:R_0603_1608MetricR1, R4, R7, R58
45.1kResistor_SMD:R_0603_1608MetricR43, R44, R48, R49
4MountingHole_PadMountingHole:MountingHole_4.3mm_M4_DIN965_PadH1, H2, H3, H4
4SN74CB3Q3257PWRPackage_SO:TSSOP-16_4.4x5mm_P0.65mmU1, U3, U8, U9
3.0025Project Library:D1FCP0612R27, R34, R45
3270Resistor_SMD:R_0603_1608MetricR26, R52, R53
3INA180A3Package_TO_SOT_SMD:SOT-23-5U12, U17, U19
2150pFCapacitor_SMD:C_0603_1608MetricC49, C51
218.2kResistor_SMD:R_0603_1608MetricR33, R42
22.2kResistor_SMD:R_0603_1608MetricR9, R15
22.2µFCapacitor_SMD:C_1206_3216MetricC6, C33
23.01kResistor_SMD:R_0603_1608MetricR38, R51
2300@100MHzResistor_SMD:R_1206_3216MetricFB1, FB2
24.7kResistor_SMD:R_0603_1608MetricR35, R54
252.3kResistor_SMD:R_0603_1608MetricR30, R39
2AA3528CGSKColorLEDs:AA3528D7, D8
2AA3528QBSColorLEDs:AA3528D1, D10
2BAT54WPackage_TO_SOT_SMD:SOT-323_SC-70D4, D5
2MJTP1243Button_Switch_THT:SW_PUSH_1P1T_6x3.5mm_H4.3_APEM_MJTP1243SW1, SW2
2SN74LVC1G34DBVRPackage_TO_SOT_SMD:SOT-23-5U4, U6
2TPS56A37RPARProject Library:RPA0010A-MFGU16, U18
2USB4105-GF-AProject Library:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal-ExtraHoleClearanceJ15, J16
2USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U13, U14
1+3.3VTestPoint:TestPoint_THTPad_D2.5mm_Drill1.2mmTP4
1+3.3VATestPoint:TestPoint_THTPad_D2.5mm_Drill1.2mmTP1
1+5VTestPoint:TestPoint_THTPad_D2.5mm_Drill1.2mmTP3
10039300020Project Library:Molex_Mini-Fit_Jr_5569-02A2_2x01_P4.20mm_HorizontalJ12
11.5µHInductor_SMD:L_1210_3225MetricL1
11kResistor_SMD:R_0603_1608MetricR59
11x8Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalJ10
12.2μHProject Library:0630CDMCDDSL3
1220nFCapacitor_SMD:C_0603_1608MetricC11
124.0000MHzOscillator:Oscillator_SMD_ECS_2520MV-xxx-xx-4Pin_2.5x2.0mmX1
13.3μHInductor_SMD:L_Vishay_IHLP-3232L2
13221-10-0300-00Project Library:3221-10-0300-00J1
145.3kResistor_SMD:R_0603_1608MetricR41
16.49kResistor_SMD:R_0603_1608MetricR22
173.2kResistor_SMD:R_0603_1608MetricR32
18.192MHzOscillator:Oscillator_SMD_ECS_2520MV-xxx-xx-4Pin_2.5x2.0mmX2
1AA3528SURSKColorLEDs:AA3528D2
1AA3528SYSKColorLEDs:AA3528D11
1AP22913W6-7Package_TO_SOT_SMD:SOT-23-6U15
1ASMB-MTB0-0B3A2LED_SMD:LED_Avago_PLCC4_3.2x2.8mm_CWD3
1CY7C65223Project Library:QFN-24-1EP_4x4mm_P0.5mm_EP2.65x2.65mm-LengthenedPadsU10
1DM3ATConnector_Card:microSD_HC_Hirose_DM3AT-SF-PEJM5J14
1ESDS304Package_TO_SOT_SMD:SOT-23-5D6
1HFJ11-2450E-L21RLProject Library:RJ45_HALO_HFJ11-x2450E-LxxRL_Horizontal-Fixed3DModelJ11
1KSZ8081RNDPackage_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mmU7
1MCXN547VKLTProject Library:LQFP-100-1EP_14x14mm_P0.5mm_EP6.9x6.9mm_Fixed3DModelU5
1PJ-063AHConnector_BarrelJack:BarrelJack_CUI_PJ-063AH_HorizontalJ13
1SMF24ADiode_SMD:D_SMFD9
1SN74AXC4T774Package_SO:TSSOP-16_4.4x5mm_P0.65mmU11
1TLV71333PDBVPackage_TO_SOT_SMD:SOT-23-5U2
1VCORETestPoint:TestPoint_THTPad_D2.5mm_Drill1.2mmTP2
1~Project Library:HackerDAQ LogoLG1

Questions

How big is the HackerDAQ Main Unit PCB?

It measures 244.5 × 91 mm and has 4 copper layers, 1.58 mm thick.

What parts does the HackerDAQ Main Unit use?

190 parts, built around the MCXN547VKLT, SN74LVC1G34DBVRE, TPS56A37RPAR and USBLC6-2SC6. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the HackerDAQ Main Unit KiCad files?

From the multiplemonomials/HackerDAQ repository on GitHub, at the commit this page was made from: the board is hardware/Main Unit/HackerDAQ Main Unit.kicad_pcb and its schematic hardware/Common Sheets/5V_To_3.3V_LDO.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the HackerDAQ Main Unit design in my own project?

Its repository states no licence, so its author keeps all rights: ask multiplemonomials before reusing the design.

More from multiplemonomials/HackerDAQ

3

Similar boards

  • 4 layers104.5 × 91 mmMbed ce ci shield v2, the printed circuit board in 3D

    Mbed ce ci shield v2

    mbed-ce/mbed-ce-ci-shield-v2

    New version of the Mbed OS CE CI Shield -- a shield containing a logic analyzer and components to test features like I2C, SPI, and PWM.

    176 parts7CERN-OHL-P-2.0
  • 2 layers127.2 × 76.1 mmPCB draft1, the printed circuit board in 3D

    PCB draft1

    Pathfinder-Purdue/Pathfinder-PCB

    99 parts
  • 4 layers43 × 51.1 mmProjet Drone C5 VTX, the printed circuit board in 3D

    Projet Drone C5 VTX

    Jamane92/ESP32_C5_DRONE_VTX

    Custom 4-layer FPV camera transmitter featuring an ESP32-C5 microcontroller, OV5640 camera sensor via PARLIO DVP, SD card logging, and 5.8 GHz Wi-Fi video streaming. Designed in KiCad.

    67 parts
  • 6 layers220 × 100 mmMotion card placement, the printed circuit board in 3D

    Motion card placement

    DeadlySIn777/Controller

    Unfinished CNC controller motherboard: native KiCad sources, rules, DSN and global routing review

    203 parts
  • 6 layers147 × 90 mmBitaxeNajaDuo, the printed circuit board in 3D

    BitaxeNajaDuo

    bitaxeorg/naja-duo

    Dual BM1373 open-source Bitcoin miner

    235 parts7CERN-OHL-S-2.0
  • 6 layers150 × 105 mmGimlet mgmt bringup, the printed circuit board in 3D

    Gimlet mgmt bringup

    oxidecomputer/hw-gimletlet

    More full-featured breakout board for the STM32H7, including many expansion headers for daughter boards. In active use for Hubris development and as a Swiss Army Knife around the lab

    322 parts4MPL-2.0