Skip to the content
PCBKitNew board
4 layers100 × 100 mmOpensync prototype, the printed circuit board in 3D

Opensync prototype

ErichZimmer/OpenSync4

An open source synchronizer for velocimetry of fluids.

Size
100 × 100 mm
Copper layers
4
Thickness
1.58 mm
Parts
86
Nets
94
Pads
327
Tracks, vias
421, 72
Pours
11
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
6 Jul 2023
Updated
13 Oct 2026

Overview

Opensync prototype is an open-source printed circuit board by ErichZimmer, from the ErichZimmer/OpenSync repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 4-layer board of 100 × 100 mm with 86 parts on 94 nets, routed with 421 tracks and 72 vias.

It is built around the NXE2S0505MC-R7, SN74LVC1T45DCKRE4 and SN74LVC1G17DCKR, with the ABM8-272-T3 and SM03B-SRSS-TB among its other parts. Its parts include 31 capacitors, 28 resistors, 8 ICs, 8 connectors and 3 inductors. It belongs with the RP2350 boards of this library.

Main components

5

README

README.md

OpenSync

An open source synchronizer for the velocimetry of fluids using a Raspberry Pi microcontroller.

Example Timing Graph for Diode Laser

Notice

The first batches of PCBs were ordered from JLCPCB for testing. If and when the PCBs pass testing and an initial PIV experiment is performed, the 1.0 milestone and initial release will be made along with a journal submission to HardwareX or JOH for publishment. Additionally, complete replication instructions will be included during the 1.0 milestone.

Purpose

OpenSync is a simple and low-cost synchronizer based on microcontroller technology. Due to the intrinsic nature of microcontrollers compared to more advanced devices (e.g., field programmable gate arrays), sub-cycle accuracy and complex features that are typical of commercial propietary devices are not implemented. However, OpenSync remains sufficiently flexible and provides enough support for most users' needs when performing a PIV experiment. This is because OpenSync is a digital delay/pulse generator capable of having each output channel individually programmed. In adition to an all-microcontroller platform and a custom PCB, OpenSync devices provides a low-cost means to deterministic control of laboratory equipment.

Basic Specs

  • System Frequency: 250 MHz (4 ns resolution)
  • Output Channels: 8
  • Input Channels: 2
  • I/O Channel Voltage: 3.3V or 5V @ high impedance

For a more detailed specification, please read the datasheet.

Documentation

The complete documentation for OpenSync can be seen here. Instructions to construct and use OpenSync are referenced here. User's interested in the development process of OpenSync are kindly refered to the SDLC documentation. There is a lot of information on the development process including some quirks from the pico microcontroller platform. Issues during construction or operation can be raised via GitHub issues to spread awareness.

Acknowledgments

OpenSync thanks Dr. Ivan Nepomnyashchikh and Professor Alex Liberzon for spearheading open source, open hardware equipment for the OpenPIV project. The original OpenPIV discussion helped initiate this project. Cost effective commercial PIV systems from Optolution provided a strong inspiration to complete this project. Additionally, certain hardware from MicroVec Pte Ltd was used as inspiration in earlier prototypes.

Responsible AI

The use of large language models (or LLMs) within this project is disclosed under the Responsible AI Disclosure.

TODO

  • Add timing plot utilities
  • Add device containerization for customization
  • Add the ability to change channel names
  • Add the ability to disable output channels (necessary?)
  • Add three internal timers that can be mapped to pulse sequences
  • Add the ability to count and skip external triggers (usefull for phase-locked stuff like rotor blades)
  • Add second external trigger and output port masking
  • Update firmware and software to reflect new design
  • Get the damn production PCB produced
  • Lower cost of PCB further (currently up to ~$100 USD per board)
  • Validate new PCB against an osciliscope (mostly power planes; outputs seem okay)
  • Add video examples on YouTube

References

  1. Radim Hošák, & Miroslav Ježek. (2018). Arbitrary digital pulse sequence generator with delay-loop timing. Review of Scientific Instruments, 89(4). https://doi.org/10.1063/1.5019685
  2. Scallon, A. (2017, June 18). Arduino TTL Pulse Generator and Controller. Optogenetics and Neural Engineering Core. https://optogeneticsandneuralengineeringcore.gitlab.io/ONECoreSite/projects/Arduino%20TTL%20Pulse%20Generator%20and%20Controller/
  3. Starkey, P. T., Turnbaugh, C., Miller, P., LeBlanc, K.-J., & Meyer, D. H. (2024). Experimental timing and control using microcontrollers. Review of Scientific Instruments, 95(10). https://doi.org/10.1063/5.0225550
  4. Stasicki, B. and Ehrenfried, K. and Dieterle, L. and Ludwikowski, K. and Raffel, M. (2001) Advanced syncronization techniques for complex flow field investigations by means of PIV . 4th Intern. Symposium on Particle Image Velocimetry, Göttingen, Germany, September 17-19, 2001.

Licensing

LicensesOSHWA UID
oslsN/A
  • Software: All firmware and software components are covered by the GNU GPLv3 license.
  • Hardware: All hardware is covered by the CERN-OHL-S-v2 license.

Parts

86
QtyValueFootprintReferences
20100nRP2350_80QFN_minimal:C_0402_1005Metric_small_padsC10, C11, C12, C13, C14, C15, C16, C17, C23, C24, C25, C26, C27, C28, C29, C30 +4
810kResistor_SMD:R_0402_1005MetricR5, R6, R7, R10, R17, R18, R19, R20
647kResistor_SMD:R_0402_1005MetricR8, R27, R28, R30, R32, R34
66161104212150261611042121502:61611042121502J2, J4, J5, J6, J7, J13
54.7uRP2350_80QFN_minimal:C_0402_1005Metric_small_padsC1, C4, C5, C7, C20
410uRP2350_80QFN_minimal:C_0402_1005Metric_small_padsC18, C19, C21, C22
449.9Resistor_SMD:R_0402_1005MetricR29, R31, R33, R35
4MountingHoleMountingHole:MountingHole_3.2mm_M3_ISO7380H1, H2, H3, H4
4SN74LVC1T45DCKRSN74LVC1T45DCKR:SOT65P210X110-6NU5, U6, U7, U8
3120Resistor_SMD:R_0402_1005MetricR9, R14, R15
31kResistor_SMD:R_0402_1005MetricR2, R3, R4
215pRP2350_80QFN_minimal:C_0402_1005Metric_small_padsC2, C3
227Resistor_SMD:R_0402_1005MetricR11, R12
2SW_PushButton_Switch_SMD:SW_Push_1P1T_NO_Vertical_Wuerth_434133025816SW1, SW2
115uASPI-4030S-150M-T:IND_ASPI-4030S-150M-TL2
122uASPI6045S220MT:IND_ASPI6045S220MTL3
13.3uRP2350_80QFN_minimal:L_pol_2016L1
133Resistor_SMD:R_0402_1005MetricR1
1470Resistor_SMD:R_0402_1005MetricR13
15640100132F5640100132F:5640100132FLED1
16140041612161400416121:61400416121J1
1ABM8-272-T3ABM8-272-T3:XTAL_ABM8-272-T3Y1
1NCP1117-3.3_SOT223Package_TO_SOT_SMD:SOT-223-3_TabPin2U1
1NXE2S0505MCConverter_DCDC:Converter_DCDC_Murata_NXExSxxxxMC_SMDU3
1RP2354_80QFNRP2350_80QFN_minimal:RP2350-QFN-80-1EP_10x10_P0.4mm_EP3.4x3.4mm_ThermalViasU2
1SM03B-SRSS-TBConnector_JST:JST_SH_SM03B-SRSS-TB_1x03-1MP_P1.00mm_HorizontalJ12
1SN74LVC1G17DCKRSN74LVC1G17DCKR:SOT65P210X110-5NU4

Questions

How big is the Opensync prototype PCB?

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

What parts does the Opensync prototype use?

86 parts, built around the NXE2S0505MC-R7, SN74LVC1T45DCKRE4, SN74LVC1G17DCKR and ABM8-272-T3. 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 Opensync prototype KiCad files?

From the ErichZimmer/OpenSync repository on GitHub, at the commit this page was made from: the board is electronics/prototypes/opensync_prototype_4ch/opensync_prototype.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Opensync prototype design in my own project?

Its repository publishes it under the CERN-OHL-S-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

More from ErichZimmer/OpenSync

5
  • 2 layersOpensync, the printed circuit board in 3D

    Opensync

    ErichZimmer/OpenSync

    An open source synchronizer for velocimetry of fluids.

    230 parts4CERN-OHL-S-2.0
  • 4 layers160 × 100 mmOpensync, the printed circuit board in 3D

    Opensync

    ErichZimmer/OpenSync

    An open source synchronizer for velocimetry of fluids.

    230 parts4CERN-OHL-S-2.0
  • 4 layers160 × 100 mmVin feed test, the printed circuit board in 3D

    Vin feed test

    ErichZimmer/OpenSync

    An open source synchronizer for velocimetry of fluids.

    221 parts4CERN-OHL-S-2.0
  • 2 layers200 × 100 mmPrototype eval, the printed circuit board in 3D

    Prototype eval

    ErichZimmer/OpenSync

    An open source synchronizer for velocimetry of fluids.

    60 parts4CERN-OHL-S-2.0
  • 2 layers50 × 50 mmOpensync power supply eval, the printed circuit board in 3D

    Opensync power supply eval

    ErichZimmer/OpenSync

    An open source synchronizer for velocimetry of fluids.

    14 parts4CERN-OHL-S-2.0

Similar boards

  • 2 layers194 × 114.1 mmPowermetering, the printed circuit board in 3D

    Powermetering

    Sync-/powermetering

    ADE9000 application circuit based power meter

    200 parts33
  • 2 layers86.5 × 54 mmPower, the printed circuit board in 3D

    Power

    Joe-Purvis/Power

    50 parts
  • 2 layers34.3 × 16 mmUsb uart, the printed circuit board in 3D

    Usb uart

    florolf/usb-uart-shift

    USB->UART adapter with level shifting

    40 parts7
  • 2 layers119.4 × 96.5 mmGizmo, the printed circuit board in 3D

    Gizmo

    gizmo-platform/hardware

    143 parts5CERN-OHL-P-2.0
  • 4 layers20.6 × 74 mmSuspension accel, the printed circuit board in 3D

    Suspension accel

    meyerAurelius/telemetry-pcb

    First iteration of the telemetry PCB for UCalgary BAJA

    47 parts