Skip to the content
4 layers38 × 53 mm0374 Production Board, the printed circuit board in 3D

0374: Harp photodiode board with automated comparator calibration and gamma calibration developed by SIPE.

Size
38 × 53 mm
Copper layers
4
Thickness
1.6 mm
Parts
67
Nets
70
Pads
253
Tracks, vias
441, 58
Pours
4
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
9 Jun 2025
Updated
2 Oct 2026

Overview

0374 Production Board is an open-source printed circuit board by AllenNeuralDynamics, from the AllenNeuralDynamics/harp.device.PhotodiodeBoard repository on GitHub. It is a 4-layer board of 38 × 53 mm with 67 parts on 70 nets, routed with 441 tracks and 58 vias.

It is built around the RP2040, AD8656AR and W25Q16JVUXIQ, with the LP2985-33DBV, TPD2EUSB30DRT and BPW21R among its other parts. Its parts include 25 capacitors, 12 resistors, 7 ICs, 5 diodes and 5 connectors. It belongs with the RP2040 boards of this library.

Main components

7

README

README.md

harp.device.photodiode_board

PhotodiodeBoard: an RP2040-based Harp device that samples two photodiode channels (ADC0 on GPIO27 and ADC1 on GPIO28, which are RP2040 ADC inputs 1 and 2) and streams timestamped readings to the host at 1 kHz.

Registers

AddressNameTypeAccessDescription
32ADCU8[2]EventRaw readings for ADC0 and ADC1: the top 8 bits of each 12-bit conversion (0-255).

Events are sent at a fixed 1 kHz while the device is in Active mode (OperationControl) and replies are not muted. Start and stop the stream with Active/Standby. ADC can also be read on demand, which returns a fresh sample.

Testing

With the device connected, run:

text
uv run software/test_adc_stream.py <port>

This checks identity, event rate and timestamp spacing, channel values, and that no events are sent in Standby. It uses the official harp-tech/python packages (harp-serial, harp-device).

Github Release Conventions

Releases specify any vetted changes to the hardware or firmware.

Each release specifies:

  • semantic versions of changed elements: hardware or firmware.
  • SIPE part number (or part numbers if multiple are compatible)

Each hardware release includes:

  • STEP file of the PCB (or link to corresponding CAD files) named with the SIPE part number
  • schematic (PDF)
  • Gerber files (with logos removed) of the PCBA
  • Position files for component placement
  • Bill-of-Materials for the PCBA

Each hardware release specifies:

  • compatible SIPE part number(s)

[!NOTE] SIPE part numbers only encode hardware semantic version major number, so multiple minor/patch hardware releases may point to the same SIPE part number.

[!NOTE] It is possible for a project to have PCBA variants--possibly with very different functionality. In this case, reserve a hardware major version range (>100 suggested) for this variant and treat it as a distinct hardware release (i.e: with all corresponding included hardware files).

Each firmware release specifies:

  • firmware semantic version
  • compatible hardware (SIPE part number or part number range).

Each firmware release includes:

  • compiled binary file (*.uf2) of the firmware.

Release Title

The release title is specified as follows:

hw{hw major}.{hw minor}.{hw patch}-fw{fw major}.{fw minor}.{fw patch}

If the release has firmware-only changes, you can drop the hw* section, and vice versa.

[!NOTE] After Oct 2024, hardware major fields on all future releases will be equivalent to the major version number of the SIPE part number. See the SIPE PCBA part numbering standard for more details.

The above field spec enables automation utilities to find the latest firmware version and automatically update compatible hardware. Since releases can include changes to some, but not other fields, unchanged fields are omitted. (i.e: firmware-only changes would be titled fw{fw major}.{fw minor}.{fw patch}.)

Creating a New Release

  1. Make a git tag based on the commit in the main branch that you'd like to create the release from. Use the naming convention specified in the Release Title section.
  2. Push the tag to Github.
  3. From the repository's corresponding Release page, create a new release from the tag you just added. Give it the same title as the tag.
  4. If the release includes new firmware, compile it locally, and upload a copy of the .uf2 file as an attachment.
  5. If the release includes new hardware, upload:
    1. the gerber files (zipped)
    2. the position files
    3. any manufacturing notes (component orientations)
    4. the bill-of-materials
    5. a PDF of the schematic.

Parts

67
QtyValueFootprintReferences
15100nFCapacitor_SMD:C_0402_1005MetricC1, C2, C6, C8, C13, C14, C15, C16, C17, C18, C19, C20, C25, C28, C29
41uFCapacitor_SMD:C_0402_1005MetricC9, C10, C11, C22
4MountingHoleMountingHole:MountingHole_3.2mm_M3_DIN965H1, H2, H3, H4
3TestPointTestPoint:TestPoint_Loop_D2.50mm_Drill1.0mmTP1, TP2, TP3
210nFCapacitor_SMD:C_0402_1005MetricC4, C21
210pFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC3, C5
227Resistor_SMD:R_0402_1005MetricR9, R10
2330Resistor_SMD:R_0402_1005MetricR11, R12
2390kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR6, R7
25K1Resistor_SMD:R_0402_1005MetricR2, R3
2BPW21R0374Library:TO99_BPW20RF_VISCR1, CR2
2D_TVSDiode_SMD:D_0201_0603MetricD1, D2
2LEDLED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolderD3, D4
2MountingHoleMountingHole:MountingHole_2.2mm_M2_DIN965H5, H6
2~Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ4, J5
110KResistor_SMD:R_0402_1005MetricR8
110uFCapacitor_SMD:C_0805_2012MetricC12
11KResistor_SMD:R_0402_1005MetricR1
12.2uFCapacitor_SMD:C_0402_1005MetricC23
14.7kResistor_SMD:R_0402_1005MetricR5
1487Resistor_SMD:R_0402_1005MetricR4
1AD86560374Library:R_8_ADIU5
1AudioJack30374Library:CUI_SJ-3524-SMT-BEJ2
1BAT54JDiode_SMD:D_SOD-323FD5
1Conn_01x04_Pin0374Library:Connector_3M_MiniClamp_4_37204-1BE0-004PLJ1
1ECS-TXO-2016Crystal:Crystal_SMD_2016-4Pin_2.0x1.6mmX1
1LP2985-3.3Package_TO_SOT_SMD:SOT-23-5U2
1Optocoupler_DC_PhotoNPN_AKECPackage_SO:MFSOP6-4_4.4x3.6mm_P1.27mmU7
1REF2033AIDDCR0374Library:DDC0005A_MU6
1RP20400374Library:QFN56_7X7_RPIU3
1TPD2EUSB30Package_TO_SOT_SMD:Texas_DRT-3U1
1USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_JAE_DX07S016JA1R1500J3
1W25Q16JVUXIQ0374Library:USON-8_UX_2x3x0p6_WINU4
1~0374Library:435451019820SW2

Similar boards

  • 4 layers36 × 28 mmUsb powered small, the printed circuit board in 3D

    Usb powered small

    AllenNeuralDynamics/harp.device.pico-template

    an RP2040-based Harp hardware/firmware project template

    47 parts
  • 4 layers60 × 107 mmClock sync 16, the printed circuit board in 3D

    Clock sync 16

    AllenNeuralDynamics/harp.device.white-rabbit

    0361: A 16-output Harp clock synchronizer

    172 parts1
  • 4 layers39.9 × 28 mmEnvironment sensor, the printed circuit board in 3D

    Environment sensor

    AllenNeuralDynamics/harp.device.environment-sensor

    0357: harp-compliant humidity, pressure, and temperature sensor

    56 partsMIT
  • 4 layers80 × 100 mmHarp treadmill, the printed circuit board in 3D

    Harp treadmill

    AllenNeuralDynamics/harp.device.treadmill-driver

    0326: a Harp-compatible device for controlling an instrumented mouse treadmill

    173 parts4
  • 2 layers37 × 56 mmPhotometer3, the printed circuit board in 3D

    Photometer3

    meltissia/Dual-Channel-LSPR-Photometer

    Двоканальний LSPR-фотометр: проектування PCB під змішані сигнали та низькорівнева C-прошивка на ESP-IDF з потоковим DSP.

    49 parts
  • 4 layers80 × 50 mmHarp.device.lickety split, the printed circuit board in 3D

    Harp.device.lickety split

    AllenNeuralDynamics/harp.device.lickety-split

    0360: an ephys-compliant capacitive lick detector

    193 parts5MIT
  • 4 layers80 × 50 mmSniff detector, the printed circuit board in 3D

    Sniff detector

    AllenNeuralDynamics/harp.device.sniff-detector

    0382: Signal conditioning board for an implanted thermistor

    114 parts3MIT
  • 4 layers120 × 75 mmCuttlefish, the printed circuit board in 3D

    Cuttlefish

    AllenNeuralDynamics/harp.device.cuttlefish

    0414: an octal, TTL input/output device with programmable square wave output.

    195 parts

Questions

How big is the 0374 Production Board PCB?

It measures 38 × 53 mm and has 4 copper layers, 1.6 mm thick.

What parts does the 0374 Production Board use?

67 parts, built around the RP2040, AD8656AR, W25Q16JVUXIQ and LP2985-33DBV. 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 0374 Production Board KiCad files?

From the AllenNeuralDynamics/harp.device.PhotodiodeBoard repository on GitHub, at the commit this page was made from: the board is hardware/board/0374 Production Board/0374 Production Board.kicad_pcb and its schematic hardware/board/0374 Production Board/0374 Production Board.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the 0374 Production Board design in my own project?

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