

HackerDAQ Main Unit
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
12MCXN547VKLT
HLQFP-100(14x14)-40℃~+125℃ 12bit 150MHz 16bit 2MB 32 Bit 512KB 950mV~1.26V、1.71V~3.6V ARM Cortex-M33 Built-in+External FLASH HLQFP-100(14x14) Microcontrollers (MCU/MPU/SOC) ROHSNXP SemiconductorsMicrocontrollers (MCU/MPU/SOC)SN74LVC1G34DBVRE
SOT-23-5-40℃~+125℃ 1 1 1.65V~5.5V 10uA 1ns@3.3V,15pF 32mA 32mA 74LVC Push-pull SOT-23-5 Buffers, Drivers, Receivers, Transceivers ROHSTexas InstrumentsBuffers, Drivers, Receivers, TransceiversTPS56A37RPAR
VQFN-HR-10(3x3)-40℃~+150℃@(TJ) 1 10A 4.5V~28V 45uA 500kHz 600mV~13V Adjustable Buck Buck Built-in VQFN-HR-10(3x3) DC-DC Converters ROHSTexas InstrumentsDC-DC ConvertersUSBLC6-2SC6
SOT-23-60.35pF、0.8pF 100nA 150W@8/20us 15V 2 5V 6A@8/20us 6V ESD SOT-23-6 ESD and Surge Protection (TVS/ESD) ROHSUMWESD And Surge Protection (TVS/ESD)SN74AXC4T774PW
TSSOP-16-40℃~+125℃ 1 310Mbps 4 650mV~3.6V 650mV~3.6V Bidirectional Level translator Power-off protection、Output enable high-impedance Tri-State TSSOP-16 Translators, Level Shifters ROHSTexas InstrumentsTranslators, Level ShiftersTLV71333PDBV
SOT-23-5-40℃~+125℃@(Tj) 1 150mA 230mV@(150mA) 3.3V 5.5V 50uA 55dB@(1MHz)、70dB@(100Hz) 55uVrms Fixed Positive Under Voltage Lockout、Over Current Protection、Over Temperature Protection、Enable SOT-23-5 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSTexas InstrumentsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsAA3528CGSK
SMD,3.2x2.8mm100mcd 120° 2.1V 20mA 570nm 574nm Emerald Green Water Clear SMD,3.2x2.8mm LED Indication - Discrete ROHSKingbrightLED Indication - DiscreteAA3528QBS/D
SMD,3.2x2.8mm120° 150mcd 20mA 3.3V 460nm 465nm Blue Water Clear SMD,3.2x2.8mm LED Indication - Discrete ROHSKingbrightLED Indication - DiscreteBAT54W
SOD-123Schottky DiodeshongjiachengMJTP1243
插件Tactile SwitchesAPEMUSB4105-GF-A
SMD-40℃~+85℃ 1 12P 48V 5A Black Female Surface Mount, Right Angle Type-C USB 2.0 SMD USB Connectors ROHSGlobal Connector Technology (GCT)USB ConnectorsAA3528SURSK
SMD,3.2x2.8mm1.95V 120° 20mA 630nm 650nm Red Water Clear SMD,3.2x2.8mm LED Indication - Discrete ROHSKingbrightLED Indication - Discrete
README
README.mdHackerDAQ: 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


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
| Area | Decision | Why |
|---|---|---|
| Physical architecture | Main board + swappable cards |
|
| CPU | NXP MCX Alpha Microcontroller running Mbed OS |
|
| SPI bus topology | 2 card connectors per SPI bus, one leader card and one follower. All cards on a given bus must share the same polling rate. |
|
| Connection to host | Ethernet, potential upgrade later to add USB |
|
| Local recording | MicroSD (SPI based) |
|
| Card identification | 4kiB SPI EEPROM on the card (thinking M95320-RMN6) |
|
| Card to sensor connectors | Molex Mini-Fit |
|
| Card to main board connector | 15-pin, 2 row D-Sub (DA-15) |
|
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| Qty | Value | Footprint | References |
|---|---|---|---|
| 37 | 100nF | Capacitor_SMD:C_0603_1608Metric | C1, C2, C10, C12, C16, C17, C18, C19, C20, C21, C22, C23, C25, C26, C27, C29 +21 |
| 11 | 10k | Resistor_SMD:R_0603_1608Metric | R5, R6, R8, R14, R18, R23, R25, R28, R29, R37, R50 |
| 8 | 1µF | Capacitor_SMD:C_0603_1608Metric | C3, C9, C15, C24, C39, C40, C43, C47 |
| 8 | 61801525123 | Project Library:Wurth_61801525123 | J2, J3, J4, J5, J6, J7, J8, J9 |
| 7 | 10µF | Capacitor_SMD:C_1206_3216Metric | C13, C14, C46, C50, C58, C60, C61 |
| 6 | 10 | Resistor_SMD:R_0603_1608Metric | R36, R40, R46, R47, R55, R56 |
| 6 | 22µF | Capacitor_SMD:C_1210_3225Metric | C28, C35, C48, C52, C53, C55 |
| 5 | 10k | Project Library:CTS 745C101 | R10, R11, R12, R13, R24 |
| 5 | 33 | Resistor_SMD:R_0603_1608Metric | R16, R17, R19, R20, R21 |
| 4 | 10µF | Capacitor_SMD:C_1210_3225Metric | C56, C57, C62, C63 |
| 4 | 140 | Resistor_SMD:R_0603_1608Metric | R2, R3, R31, R57 |
| 4 | 30 | Resistor_SMD:R_0603_1608Metric | R1, R4, R7, R58 |
| 4 | 5.1k | Resistor_SMD:R_0603_1608Metric | R43, R44, R48, R49 |
| 4 | MountingHole_Pad | MountingHole:MountingHole_4.3mm_M4_DIN965_Pad | H1, H2, H3, H4 |
| 4 | SN74CB3Q3257PWR | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U1, U3, U8, U9 |
| 3 | .0025 | Project Library:D1FCP0612 | R27, R34, R45 |
| 3 | 270 | Resistor_SMD:R_0603_1608Metric | R26, R52, R53 |
| 3 | INA180A3 | Package_TO_SOT_SMD:SOT-23-5 | U12, U17, U19 |
| 2 | 150pF | Capacitor_SMD:C_0603_1608Metric | C49, C51 |
| 2 | 18.2k | Resistor_SMD:R_0603_1608Metric | R33, R42 |
| 2 | 2.2k | Resistor_SMD:R_0603_1608Metric | R9, R15 |
| 2 | 2.2µF | Capacitor_SMD:C_1206_3216Metric | C6, C33 |
| 2 | 3.01k | Resistor_SMD:R_0603_1608Metric | R38, R51 |
| 2 | 300@100MHz | Resistor_SMD:R_1206_3216Metric | FB1, FB2 |
| 2 | 4.7k | Resistor_SMD:R_0603_1608Metric | R35, R54 |
| 2 | 52.3k | Resistor_SMD:R_0603_1608Metric | R30, R39 |
| 2 | AA3528CGSK | ColorLEDs:AA3528 | D7, D8 |
| 2 | AA3528QBS | ColorLEDs:AA3528 | D1, D10 |
| 2 | BAT54W | Package_TO_SOT_SMD:SOT-323_SC-70 | D4, D5 |
| 2 | MJTP1243 | Button_Switch_THT:SW_PUSH_1P1T_6x3.5mm_H4.3_APEM_MJTP1243 | SW1, SW2 |
| 2 | SN74LVC1G34DBVR | Package_TO_SOT_SMD:SOT-23-5 | U4, U6 |
| 2 | TPS56A37RPAR | Project Library:RPA0010A-MFG | U16, U18 |
| 2 | USB4105-GF-A | Project Library:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal-ExtraHoleClearance | J15, J16 |
| 2 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U13, U14 |
| 1 | +3.3V | TestPoint:TestPoint_THTPad_D2.5mm_Drill1.2mm | TP4 |
| 1 | +3.3VA | TestPoint:TestPoint_THTPad_D2.5mm_Drill1.2mm | TP1 |
| 1 | +5V | TestPoint:TestPoint_THTPad_D2.5mm_Drill1.2mm | TP3 |
| 1 | 0039300020 | Project Library:Molex_Mini-Fit_Jr_5569-02A2_2x01_P4.20mm_Horizontal | J12 |
| 1 | 1.5µH | Inductor_SMD:L_1210_3225Metric | L1 |
| 1 | 1k | Resistor_SMD:R_0603_1608Metric | R59 |
| 1 | 1x8 | Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_Vertical | J10 |
| 1 | 2.2μH | Project Library:0630CDMCDDS | L3 |
| 1 | 220nF | Capacitor_SMD:C_0603_1608Metric | C11 |
| 1 | 24.0000MHz | Oscillator:Oscillator_SMD_ECS_2520MV-xxx-xx-4Pin_2.5x2.0mm | X1 |
| 1 | 3.3μH | Inductor_SMD:L_Vishay_IHLP-3232 | L2 |
| 1 | 3221-10-0300-00 | Project Library:3221-10-0300-00 | J1 |
| 1 | 45.3k | Resistor_SMD:R_0603_1608Metric | R41 |
| 1 | 6.49k | Resistor_SMD:R_0603_1608Metric | R22 |
| 1 | 73.2k | Resistor_SMD:R_0603_1608Metric | R32 |
| 1 | 8.192MHz | Oscillator:Oscillator_SMD_ECS_2520MV-xxx-xx-4Pin_2.5x2.0mm | X2 |
| 1 | AA3528SURSK | ColorLEDs:AA3528 | D2 |
| 1 | AA3528SYSK | ColorLEDs:AA3528 | D11 |
| 1 | AP22913W6-7 | Package_TO_SOT_SMD:SOT-23-6 | U15 |
| 1 | ASMB-MTB0-0B3A2 | LED_SMD:LED_Avago_PLCC4_3.2x2.8mm_CW | D3 |
| 1 | CY7C65223 | Project Library:QFN-24-1EP_4x4mm_P0.5mm_EP2.65x2.65mm-LengthenedPads | U10 |
| 1 | DM3AT | Connector_Card:microSD_HC_Hirose_DM3AT-SF-PEJM5 | J14 |
| 1 | ESDS304 | Package_TO_SOT_SMD:SOT-23-5 | D6 |
| 1 | HFJ11-2450E-L21RL | Project Library:RJ45_HALO_HFJ11-x2450E-LxxRL_Horizontal-Fixed3DModel | J11 |
| 1 | KSZ8081RND | Package_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mm | U7 |
| 1 | MCXN547VKLT | Project Library:LQFP-100-1EP_14x14mm_P0.5mm_EP6.9x6.9mm_Fixed3DModel | U5 |
| 1 | PJ-063AH | Connector_BarrelJack:BarrelJack_CUI_PJ-063AH_Horizontal | J13 |
| 1 | SMF24A | Diode_SMD:D_SMF | D9 |
| 1 | SN74AXC4T774 | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U11 |
| 1 | TLV71333PDBV | Package_TO_SOT_SMD:SOT-23-5 | U2 |
| 1 | VCORE | TestPoint:TestPoint_THTPad_D2.5mm_Drill1.2mm | TP2 |
| 1 | ~ | Project Library:HackerDAQ Logo | LG1 |
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- 2 layers90 × 90 mm

- 2 layers90 × 90 mm

- 2 layers90 × 90 mm

Similar boards
- 4 layers104.5 × 91 mm

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 - 4 layers76.2 × 25.4 mm

- 2 layers127.2 × 76.1 mm

- 4 layers43 × 51.1 mm

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 - 4 layers16.9 × 146 mm

- 6 layers220 × 100 mm

Motion card placement
DeadlySIn777/Controller
Unfinished CNC controller motherboard: native KiCad sources, rules, DSN and global routing review
203 parts - 6 layers147 × 90 mm

- 6 layers150 × 105 mm

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