

HackerDAQ Digital IO Card
A Data Acquisition System for Hackers
- Size
- 90 × 90 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 252
- Nets
- 234
- Pads
- 977
- Tracks, vias
- 100, 7
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 1 Mar 2026
- Updated
- 6 Nov 2026
Overview
HackerDAQ Digital IO Card is an open-source printed circuit board by multiplemonomials, from the multiplemonomials/HackerDAQ repository on GitHub. It is a 2-layer board of 90 × 90 mm with 252 parts on 234 nets, routed with 100 tracks and 7 vias.
It is built around the SN74ACT17PWRQ1, SN74AHC1G125DBV and LM358, with the LM311DRG, M95320-RMN6TP and RVQ040N05TR among its other parts. Its parts include 107 resistors, 52 capacitors, 40 transistors, 37 ICs and 11 diodes.
Main components
8SN74ACT17PWRQ1
TSSOP-14-40℃~+125℃ 1 2uA 4.5V~5.5V 74ACT 75mA 75mA 9.6ns@5V,50pF Push-pull Schmitt trigger、TTL compatible CMOS Unidirectional TSSOP-14 Buffers, Drivers, Receivers, Transceivers ROHSTexas InstrumentsBuffers, Drivers, Receivers, TransceiversSN74AHC1G125DBV
SOT-23-5-40℃~+85℃ 1 1 10uA 2V~5.5V 5.5ns@5V,15pF 74AHC 8mA 8mA Tri-State Unidirectional SOT-23-5 Buffers, Drivers, Receivers, Transceivers ROHSTexas InstrumentsBuffers, Drivers, Receivers, TransceiversLM358
SOP-8-18V~18V 0℃~+70℃ 1.2MHz 10nA 2 24mA 3V~36V 500uA 50nA 5mV 80dB Built-in compensation SOP-8 Operational Amplifier ROHSMSKSEMIOperational AmplifierLM311DRG
SOP-80℃~+70℃ 1 1.7nA 1.7nA 2.4mA 200ns 2mV 36V 5V~30V TTL、CMOS ±15V SOP-8 Comparators ROHSHANSCHIP semiconductorComparatorsM95320-RMN6TP
SOIC-8-40℃~+85℃ 1.8V~5.5V 200 Years 20MHz 32Kbit 4,000,000 Cycles 5ms Hardware write protection function、Software write protection function、Built-in power-on reset (POR)、Page write protection function、Built-in error correction code (ECC) function、Built-in write enable latch (WEL) SPI SOIC-8 EEPROM ROHSSTMicroelectronicsEEPROMRVQ040N05TR
SOT-457-55℃~+150℃ 1 N-channel 1.25W 120pF 2.5V 45V 4A 530pF 6.3nC@5V 65pF 74mΩ@4V N-Channel SOT-457 MOSFETs ROHSROHM SemiconductorMOSFETsAA3528SURSK
SMD,3.2x2.8mm1.95V 120° 20mA 630nm 650nm Red Water Clear SMD,3.2x2.8mm LED Indication - Discrete ROHSKingbrightLED Indication - DiscreteBAT54W
SOD-123Schottky Diodeshongjiacheng
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
252| Qty | Value | Footprint | References |
|---|---|---|---|
| 32 | 1µF | Capacitor_SMD:C_0603_1608Metric | C1, C2, C10, C11, C14, C15, C16, C17, C20, C21, C22, C23, C26, C27, C28, C29 +16 |
| 24 | 2N7002 | Package_TO_SOT_SMD:SOT-23 | Q3, Q10, Q11, Q14, Q15, Q16, Q19, Q20, Q21, Q24, Q25, Q26, Q29, Q30, Q31, Q34 +8 |
| 20 | 100nF | Capacitor_SMD:C_0603_1608Metric | C4, C5, C12, C13, C18, C19, C24, C25, C30, C31, C32, C37, C38, C43, C44, C49 +4 |
| 17 | 10k | Resistor_SMD:R_0603_1608Metric | R6, R13, R23, R27, R29, R40, R42, R53, R55, R66, R68, R79, R81, R92, R105, R106 +1 |
| 16 | 1 | Resistor_SMD:R_0603_1608Metric | R2, R15, R21, R22, R36, R37, R49, R50, R62, R63, R75, R76, R88, R89, R101, R102 |
| 16 | 133k | Resistor_SMD:R_0603_1608Metric | R8, R9, R19, R24, R34, R38, R47, R51, R60, R64, R73, R77, R86, R90, R99, R103 |
| 16 | 2.2 | Resistor_SMD:R_0603_1608Metric | R1, R3, R16, R17, R31, R32, R44, R45, R57, R58, R70, R71, R83, R84, R96, R97 |
| 16 | RT9624CGQWA | Project Library:DFN-8-1EP_2x2mm_P0.5mm_EP0.6x1.2mm_LeadsExtended | U1, U2, U7, U8, U11, U12, U15, U16, U19, U20, U23, U24, U27, U28, U31, U32 |
| 16 | RVQ040N05 | Package_TO_SOT_SMD:SOT-23-6 | Q1, Q2, Q7, Q8, Q12, Q13, Q17, Q18, Q22, Q23, Q27, Q28, Q32, Q33, Q37, Q38 |
| 8 | 14.7k | Resistor_SMD:R_0603_1608Metric | R10, R20, R35, R48, R61, R74, R87, R100 |
| 8 | 150 | Resistor_SMD:R_1206_3216Metric | R11, R12, R28, R41, R54, R67, R80, R93 |
| 8 | 30k | Resistor_SMD:R_0603_1608Metric | R5, R18, R33, R46, R59, R72, R85, R98 |
| 8 | 33.2k | Resistor_SMD:R_0603_1608Metric | R7, R25, R39, R52, R65, R78, R91, R104 |
| 8 | 75k | Resistor_SMD:R_0603_1608Metric | R4, R14, R30, R43, R56, R69, R82, R95 |
| 8 | AA3528SURSK | ColorLEDs:AA3528 | D1, D2, D3, D4, D5, D6, D7, D8 |
| 8 | LM311DR | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U3, U5, U10, U14, U18, U22, U26, U30 |
| 8 | LM358 | Package_SO:TSSOP-8_3x3mm_P0.65mm | U6, U9, U13, U17, U21, U25, U29, U33 |
| 3 | BAT54W | Package_TO_SOT_SMD:SOT-323_SC-70 | D9, D10, D11 |
| 3 | MiniFit_Jr_5569_08A2 | Project Library:Molex_Mini-Fit_Jr_5569-08A2_2x04_P4.20mm_Horizontal | J1, J2, J3 |
| 2 | 33 | Resistor_SMD:R_0603_1608Metric | R26, R107 |
| 2 | MCP23S17_SS | Package_SO:SSOP-28_5.3x10.2mm_P0.65mm | U34, U35 |
| 1 | LD15S33E4GX00LF | Project Library:Amphenol_LD15S33E4GX00LF | J9 |
| 1 | M95320-RMN6 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U4 |
| 1 | SN74ACT17PWR | Package_SO:TSSOP-14_4.4x5mm_P0.65mm | U36 |
| 1 | SN74AHC1G125 | Package_TO_SOT_SMD:SOT-23-5 | U38 |
| 1 | ~ | Project Library:HackerDAQ Logo | LG1 |
Questions
How big is the HackerDAQ Digital IO Card PCB?
It measures 90 × 90 mm and has 2 copper layers, 1.6 mm thick.
What parts does the HackerDAQ Digital IO Card use?
252 parts, built around the SN74ACT17PWRQ1, SN74AHC1G125DBV, LM358 and LM311DRG. 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 Digital IO Card KiCad files?
From the multiplemonomials/HackerDAQ repository on GitHub, at the commit this page was made from: the board is hardware/High Current Output Card/HackerDAQ Digital IO Card.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 Digital IO Card 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- 4 layers244.5 × 91 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 - 6 layers149.4 × 124.8 mm

Low noise power probe panel
blinken/power-rail-probe
Low-noise oscilloscope power rail probe
245 parts101 - 2 layers81.1 × 45.3 mm

- 4 layers53.5 × 52 mm

PWM
francibat/academic-projects-electronics
Collection of materials, laboratory work, and projects developed during the bachelor's degree program.
36 parts - 2 layers136 × 104.8 mm

- 4 layers79.2 × 152.4 mm

- 4 layers94 × 50.8 mm

- 4 layers120 × 100 mm
