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

An open source synchronizer for velocimetry of fluids.

Size
160 × 100 mm
Copper layers
4
Thickness
1.58 mm
Parts
230
Nets
146
Pads
709
Tracks, vias
1,365, 341
Pours
43
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
6 Jul 2023
Updated
13 Oct 2026

Overview

Opensync 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 160 × 100 mm with 230 parts on 146 nets, routed with 1,365 tracks and 341 vias.

It is built around the TPS63802DLAR, TPS2116DRL and SN74LVC2T45DCURE4, with the TPD1E05U06DYAR, ESD701DPYR and 61729-0010BLF among its other parts. Its parts include 80 capacitors, 76 resistors, 31 ICs, 15 connectors and 14 diodes. It belongs with the RP2350 boards of this library.

Main components

8

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

230
QtyValueFootprintReferences
32100nRP2350_80QFN_minimal:C_0402_1005Metric_small_padsC10, C11, C12, C13, C14, C15, C16, C17, C20, C22, C25, C27, C30, C32, C35, C37 +16
2610kResistor_SMD:R_0402_1005MetricR5, R12, R15, R17, R20, R22, R25, R27, R30, R32, R35, R37, R40, R42, R45, R47 +10
201uCapacitor_SMD:C_0603_1608MetricC18, C19, C23, C24, C28, C29, C33, C34, C38, C39, C43, C44, C48, C49, C53, C54 +4
11470Resistor_SMD:R_0603_1608MetricR63, R64, R65, R66, R67, R68, R69, R70, R71, R73, R74
11LEDXL-C4040UGC:LED-SMD_L4.0-W3.6_A67F-U2BA-1-3A4B-30-R33D2, D3, D4, D5, D6, D7, D8, D9, D10, D12, D13
10705530001705530001:CONN_705530001_02_MOLJ2, J3, J4, J5, J6, J7, J8, J9, J17, J18
910kResistor_SMD:R_0603_1608MetricR16, R21, R26, R31, R36, R41, R46, R51, R54
922uCapacitor_SMD:C_0805_2012MetricC69, C70, C74, C75, C76, C78, C80, C81, C82
9TPS2116DRLPackage_TO_SOT_SMD:SOT-583-8U3, U5, U7, U9, U11, U13, U15, U17, U31
822uCapacitor_SMD:CP_Elec_4x5.4C21, C26, C31, C36, C41, C46, C51, C56
839Resistor_SMD:R_0603_1608MetricR14, R19, R24, R29, R34, R39, R44, R49
847kResistor_SMD:R_0402_1005MetricR13, R18, R23, R28, R33, R38, R43, R48
8SN74LVC2T45DCURfootprints:DCU8U2, U4, U6, U8, U10, U12, U14, U16
8TPD1E05U06DYADiode_SMD:D_SOD-523U20, U21, U22, U23, U24, U25, U26, U27
51kResistor_SMD:R_0402_1005MetricR2, R3, R4, R81, R83
4MountingHoleMountingHole:MountingHole_3.2mm_M3_ISO7380H1, H2, H3, H4
34.7uRP2350_80QFN_minimal:C_0402_1005Metric_small_padsC1, C4, C5
210uCapacitor_SMD:C_0805_2012MetricC71, C72
215pRP2350_80QFN_minimal:C_0402_1005Metric_small_padsC2, C3
227Resistor_SMD:R_0402_1005MetricR10, R11
2Conn_01x02705430001:CONN-TH_705430001J15, J16
2ESD701DPYRESD701DPYR:X1SON-2_L1.0-W0.6-P0.65-BID1, D11
2SW_PushButton_Switch_SMD:SW_Push_1P1T_NO_Vertical_Wuerth_434133025816SW1, SW2
2TLV3601DCKRTLV3601DCKR:SC-70-5_L2.0-W1.3-P0.65-LS2.1-BRU18, U19
10603_W2.6_742792641Ferrite_SMD_Wurth:FB_Wurth_WE-CBF-0603_W2.6FB1
1100kResistor_SMD:R_0402_1005MetricR76
1100pRP2350_80QFN_minimal:C_0402_1005Metric_small_padsC59
115.6kResistor_SMD:R_0402_1005MetricR80
11nRP2350_80QFN_minimal:C_0402_1005Metric_small_padsC60
12-1825027-02_1825027_0:SW2_1825027-G_TECSW3
12.2nRP2350_80QFN_minimal:C_0402_1005Metric_small_padsC73
12.2uInductor_SMD:L_Wuerth_MAPI-4020L3
13.3uRP2350_80QFN_minimal:L_pol_2016L1
133Resistor_SMD:R_0402_1005MetricR1
14.99kResistor_SMD:R_0402_1005MetricR79
1470nTMS252012ALM:L_TDK_TMS252012ALML2
1470nRP2350_80QFN_minimal:C_0402_1005Metric_small_padsC77
15.6kResistor_SMD:R_0603_1608MetricR55
15V824011:WE-TVS_SOT23-5LD14
161729-0010BLF61729-0010BLF:AMPHENOL_61729-0010BLFJ10
174279228087427922808:L0603L5
1806kResistor_SMD:R_0402_1005MetricR77
191kResistor_SMD:R_0402_1005MetricR78
1ABM8-272-T3ABM8-272-T3:XTAL_ABM8-272-T3Y1
1Barrel_Jack_SwitchConnector_BarrelJack:BarrelJack_Wuerth_6941xx301002J14
1Choke_Wurth_WE-CNSW_744232090Inductor_SMD:L_CommonMode_Wurth_WE-CNSW-1206L4
1DAC8563SDGSRDAC8563SDGSR:VSSOP-10_L3.0-W3.0-P0.50-LS4.9-BLU28
1RP2354_80QFNRP2350_80QFN_minimal:RP2350-QFN-80-1EP_10x10_P0.4mm_EP3.4x3.4mm_ThermalViasU1
1SM03B-SRSS-TBConnector_JST:JST_SH_SM03B-SRSS-TB_1x03-1MP_P1.00mm_HorizontalJ1
1TPS62912Package_DFN_QFN:Texas_RPU0010A_VQFN-HR-10_2x2mm_P0.5mmU37
1TPS63802DLARTPS63802DLAR:DLA0010AU32

Questions

How big is the Opensync PCB?

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

What parts does the Opensync use?

230 parts, built around the TPS63802DLAR, TPS2116DRL, SN74LVC2T45DCURE4 and TPD1E05U06DYAR. 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 KiCad files?

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

Can I use the Opensync 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 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
  • 4 layers100 × 100 mmOpensync prototype, the printed circuit board in 3D

    Opensync prototype

    ErichZimmer/OpenSync

    An open source synchronizer for velocimetry of fluids.

    86 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

  • 6 layers22 × 30 mmRtl2832u r820t, the printed circuit board in 3D

    Rtl2832u r820t

    taskx6004/rtl-sdr_m2e-minimum

    Minimum hardware design for RTL-SDR in m.2 key-e form

    75 parts28
  • 4 layers100 × 80 mmScopeboy, the printed circuit board in 3D

    Scopeboy

    leslier7/scopeboy

    Polished version of the ScopeBoy project started in ECE5730

    151 parts
  • 4 layers50 × 40 mm2026 C AV FDR, the printed circuit board in 3D

    2026 C AV FDR

    EPFLRocketTeam/2026_C_AV_HARDWARE

    Repository containing PCBs files of FH2 Avionics

    101 parts
  • 2 layers60 × 50 mmMRev, the printed circuit board in 3D

    MRev

    MrFriedOk/flickerflame

    osu optimization attempt

    70 parts
  • 2 layers56 × 73 mmDecentCart2040, the printed circuit board in 3D

    DecentCart2040

    bleroy/3d-junkyard

    Random 3D models

    86 parts69
  • 6 layers50 × 60 mmHealthylink compute v5, the printed circuit board in 3D

    Healthylink compute v5

    Protocentral/protocentral_healthypi6_hardware

    Open hardware design files for HealthyPi 6 — STM32H757 vital-signs monitor with the HealthyLink modular expansion bus

    124 parts2CERN-OHL-P-2.0
  • 6 layers47.3 × 35.5 mmWatch, the printed circuit board in 3D

    Watch

    alx-alexpark/watch

    65 parts
  • 2 layers83 × 42 mmFlameSensorSender, the printed circuit board in 3D

    FlameSensorSender

    Rizz071/SmokeAlert

    Pull request'ы и предложения приветствуются! По вопросам сотрудничества — обращайтесь в Issues или откройте дискуссию.

    61 parts