Skip to the content
PCBKitNew board
2 layers91.4 × 101.6 mmVector gen, the printed circuit board in 3D

In first version of PCB there is a bug that leaves U6 Vss/Vdd pins floating and U5 Vdd floating:

Size
91.4 × 101.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
103
Nets
101
Pads
385
Tracks, vias
779, 6
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
8 Feb 2022
Updated
29 Aug 2022

Overview

Vector gen is an open-source printed circuit board by qu1j0t3, from the qu1j0t3/vector_gen repository on GitHub. It is a 2-layer board of 91.4 × 101.6 mm with 103 parts on 101 nets, routed with 779 tracks and 6 vias.

It is built around the MCP4922-E/P, MCP6292-E/P and TL072IP, with the 74HC86D, LM336 and MAX4544CPA+ among its other parts. Its parts include 31 resistors, 22 capacitors, 13 ICs, 12 connectors and 1 diode.

Main components

6

README

vector_gen/README.md

Board assembly

General

  • Test points can be installed as needed; 1.2mm holes suit Digikey 36-4952-ND
  • IC orientations are consistent, pin 1 to left looking at front with power connection at right.

Power

  • Modular power supply is +5/-5V, Dura Micro MD5122-A1
  • Connector J6
  • R2: 330R or 270R
  • LED D1
  • test with +5V & GND on J6
  • C6, C8: 100µF electrolytic

Voltage reference

  • U13 LM336
  • R1 2.2k
  • with power applied, check VREF2.5 test point

5V MCU

  • install J7, J8, J9, J10
    • Only the 2 GND pins need be soldered for J7

3.3V MCU

  • install J1, J2, J3, J5
    • Only the 2 GND pins need be soldered for J1
  • install U16, U17 level shifting buffers
  • install their decoupling caps C19, C20
  • install RN2, R29, R30, R33, R3, R28

Coefficient DACs

  • install U1 MCP4922
  • check levels with step voltage program (Test 1)

Test 1 - Coefficient DACs

Integrators

  • install U6 - tested with MCP6292
    • needs to be R2R output at least, does not need to be fast, as slew rates are < 0.05V/µs
  • caps C11 and C12 must be matched closely.
    • I use an RC Schmitt oscillator and frequency counter to get relative values, sort, and take closest pairs.
  • install R5, R7
    • these should be closely matched
    • tested between 4.7k (fast) and 15k (slow); should work even faster but with more timing error and noise susceptibility (I think)
  • install R4, R6

PCB version 1 bugs

In first version of PCB there is a bug that leaves U6 Vss/Vdd pins floating and U5 Vdd floating:

  • install jumper instead of C10, this connects U6 Vdd to GND
  • install C9, and wire between +5V pin of C9 and +5V rail, e.g. + pin of C6, or +5V pin of power inlet connector.

Due to redrilling of X and Z BNC footprints:

  • Z signal pin should be connected to pin 2 of U19 (analog switch)
    • This can be a wire, or for short circuit protection of the switch, a resistor at least 1k. The switch has a current limit of 10mA.
  • Z signal pin should also be connected to Z1 test point if needed
  • X signal pin should be connected to pin 1 of U8 (output amplifier)

Switches

  • install U5 SN74LV4066AN
  • install R34, R35 47R - current limiting resistors
  • check integrator run and reset with test program (Test program 2)

Test 2 - Integrators

Rest of assembly

  • R21: 22k 5%, Z output follower emitter resistor
  • R26, R27: 2.2k 5%, pullups for comparators
  • Q1: 2N3904 Z follower
  • R12, R13: do not install unless needed - provides hysteresis to comparators. Nominal 100kOhm
  • C13, C14, C17, C18: Vref filter caps - 1µF but could be increased to 4.7µF later?
  • R16: 10kOhm Z divider
  • C22, C21, C15, C16, C3, C4, C5, C7, C9, C1, C2: 1µF decoupling caps
  • R8, R22: Matched pair which divide Vref to a position offset voltage, can be 15k or 33k
    • In fact the matching doesn't matter very much since the position is user adjustable on the monitor
    • This divider could be a pot if a position adjustment were desired on this board
  • R10, R23: Same
  • R9, R11: Do not install
  • R17, R18: 33k, pair with matched values
  • R24: arbitrary 15k
  • R19, R20: 33k, pair with matched values
  • R25: 15k selected so that ratio of R25 : (R19+R20) closely matches ratio of R24 : (R17+R18)
    • this should make the X and Y gain roughly equal
  • install U8 TL072IP summing/output amplifiers
  • install U9 LM319 limit comparators
  • install U10 MCP4922 position DACs
  • install U11 MCP4922 limit DACs
  • install U12 CD4019BE AND/OR select
  • install U14 74AHC86 quad XOR
  • install U19 MAX4544 Z enable switch

Calibration

Test 1b - X/Y coefficient zero

  • attach ground probe to a ground point on circuit, e.g. BNC shroud, or grounded pins of J1 (pins 2, 3 where pin 1 is closest to J3)
  • after letting circuit warm up a few minutes, measure the 2.5V reference. e.g. VREF = 2.4897
  • run test program 1b (see main.c)
  • voltages should step through
    • XCOEFF expected: 2.5 actual: 2.4947 (XC)
    • YCOEFF expected: 2.5 actual: 2.4840 (YC)
  • note actual voltages above, take differences from VREF, convert to DAC units
    • Noting that Coeff DACS use gain x2 i.e. 1 unit = 5/4096 V
    • XCOEFF adjustment is VREF-XC = 4096*(2.4897-2.4947)/5 = -4
    • YCOEFF adjustment is VREF-YC = 4096*(2.4897-2.4840)/5 = +5
    • Set these values in display_list.h, defines DAC_COEFF_X_ADJ and DAC_COEFF_Y_ADJ

Test 3 - Z voltage

  • Connect DVM ground to ground point (see test 1b)
  • Connect DVM + lead to Z test point (if using first version pcb make sure it's connected, see bugs above)
  • Run test program 3
  • Turn Intensity pot fully CCW, voltage reads 1.628 (measured at pin 1 of U19)
    • at Z output this reads 1.978
  • Turn fully CW, voltage reads approx zero
    • at Z output reads approx zero

Test 4 - Limit DAC offsets - IMPORTANT

  • Run test program 4

  • Connect DVM ground to ground point (see test 1b)

  • Connect DVM + lead to XINTEG test point, measure voltage, e.g. 2.4894 (XI)

  • Move DVM + lead to YINTEG test point, measure voltage, e.g. 2.4900 (YI)

  • Move DVM + lead to XLIMIT test point, measure voltage, e.g. 2.4955 (XL)

  • Move DVM + lead to YLIMIT test point, measure voltage, e.g. 2.5054 (YL)

  • Noting that Limit DACS use gain x2 i.e. 1 unit = 5/4096 V

  • Compute limit adjustment for X = 4096*(XI - XL)/5 = -5

  • adjustment for Y = 4096*(YI - YL)/5 = -13

  • Set these values in display_list.h, defines DAC_LIMIT_X_ADJ and DAC_LIMIT_Y_ADJ

  • Run test program 4b

  • Check that XLIMIT and YLIMIT are within about 2 mV of XINTEG and YINTEG

Version 2

Parts

103
QtyValueFootprintReferences
141uCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mmC1, C2, C3, C4, C5, C7, C9, C10, C15, C16, C19, C20, C21, C22
14TestPointTestPoint:TestPoint_THTPad_2.5x2.5mm_Drill1.2mmPB0, PC4, PC5, STOP1, VREF2.5, X1, XCOEFF1, XINTEG1, XLIMIT1, Y1, YCOEFF1, YINTEG1, YLIMIT1, Z1
833kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR8, R9, R10, R11, R17, R18, R19, R20
710kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR4, R6, R16, R28, R29, R30, R33
615kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR5, R7, R22, R23, R24, R25
4.1uCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mmC13, C14, C17, C18
4MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
32.2kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R26, R27
3Conn_CoaxialConnector_Coaxial:BNC_TEConnectivity_1478204_VerticalXOUT1, YOUT1, ZOUT1
3MCP4922Package_DIP:DIP-14_W7.62mm_SocketU1, U10, U11
2100k? to be determinedResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR12, R13
2100uCapacitor_THT:CP_Radial_D6.3mm_P2.50mmC6, C8
210nCapacitor_THT:C_Rect_L7.0mm_W2.5mm_P5.00mmC11, C12
247Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR34, R35
274LS07Package_DIP:DIP-14_W7.62mm_SocketU16, U17
110kPotentiometer_THT:Potentiometer_TT_P0915NRV1
122kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR21
12N3904Package_TO_SOT_THT:TO-92_Inline_WideQ1
1330Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2
14.7kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR3
14019Package_DIP:DIP-16_W7.62mm_SocketU12
14066Package_DIP:DIP-14_W7.62mm_SocketU5
174HC86Package_DIP:DIP-14_W7.62mm_SocketU14
1ARDUINO J1Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ10
1ARDUINO J1 3.3VConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ5
1ARDUINO J2Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ9
1ARDUINO J2 3.3VConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ3
1ARDUINO J3Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ8
1ARDUINO J3 3.3VConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ2
1ARDUINO POWERConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ7
1ARDUINO POWER 3.3VConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ1
1Conn_01x02Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalJ12
1Conn_01x02_FemaleConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ4
1Conn_01x03Connector_Molex:Molex_KK-396_A-41791-0003_1x03_P3.96mm_VerticalJ6
1Conn_01x08Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ11
1LEDLED_THT:LED_D3.0mmD1
1LM319Package_DIP:DIP-14_W7.62mm_SocketU9
1LM336Package_TO_SOT_THT:TO-92_HandSolderU13
1MAX4544Package_DIP:DIP-8_W7.62mm_SocketU19
1MCP6292Package_DIP:DIP-8_W7.62mm_SocketU6
1R_Network09_USResistor_THT:R_Array_SIP10RN2
1TL072IPPackage_DIP:DIP-8_W7.62mm_SocketU8

Questions

How big is the Vector gen PCB?

It measures 91.4 × 101.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Vector gen use?

103 parts, built around the MCP4922-E/P, MCP6292-E/P, TL072IP and 74HC86D. 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 Vector gen KiCad files?

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

Can I use the Vector gen design in my own project?

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

Similar boards

  • 2 layers91.5 × 100 mmLights pcb, the printed circuit board in 3D

    Lights pcb

    QuinnFreedman/modular

    A collection of free & open source DIY synthesizer module designs for Eurorack

    59 parts116
  • 2 layers60 × 40 mmPhotodiode tia circuit v1, the printed circuit board in 3D

    Photodiode tia circuit v1

    aidanmacro/MYOSA-Breath-Activity-Monitoring-for-Musicians

    This repo constitutes our team's submission to the 2026 IEEE MYOSA event.

    7 partsMIT
  • 2 layers43 × 49 mmI2c weight scale kicad, the printed circuit board in 3D

    I2c weight scale kicad

    simlun/i2c-weight-scale

    I²C Weight Scale: strain gauges in a Wheatstone bridge amplified in an instrumentation amplifier, A/D converted and made available over I²C in a PIC microcontroller

    13 parts3
  • 2 layersTesting 6, the printed circuit board in 3D

    Testing 6

    milinda-1892/MPPT-solar-charger-circuit

    131 parts
  • 2 layers151.1 × 149.9 mmCta, the printed circuit board in 3D

    Cta

    pjabardo/multianem

    Sistema de anemometria com multiplos canais

    31 parts3MIT
  • 2 layers18.4 × 67.9 mmBottom pcb, the printed circuit board in 3D

    Bottom pcb

    Testbild-synth/HAGIWO-061-Chord

    4hp Eurorack PCB and code for hagiwo 61 - chord vco v2

    16 parts8MIT