Skip to the content
8 layers280 × 195 mmMaxwell main, the printed circuit board in 3D

Open hardware test equipment

Size
280 × 195 mm
Copper layers
8
Thickness
1.6 mm
Parts
997
Nets
918
Pads
5,463
Tracks, vias
53,306, 3,708
Pours
63
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
21 Nov 2016
Updated
16 Oct 2024

Overview

Maxwell main is an open-source printed circuit board by azonenberg, from the azonenberg/starshipraider repository on GitHub, published under the BSD-3-Clause licence. It is an 8-layer board of 280 × 195 mm with 997 parts on 918 nets, routed with 53,306 tracks and 3,708 vias.

It is built around the OKL-T/3-W12P-C, IAF12020A007V-003-R and PAT1220-C-6DB-T5, with the SY56017RMG, S25FL128LAGNFV010 and NCP45525IMNTWG-H among its other parts. Its parts include 435 capacitors, 239 resistors, 69 ICs, 34 diodes and 26 connectors.

Main components

12

README

README.md

Intro

This is the umbrella repo for a lot of my T&M projects. Some will end up in separate repos.

Project Codenames

Boards, subsystems, etc are all named after famous electrical engineers who made major contributions to the field of test equipment design.

Platform Architecture

All instruments are planned to share the same basic platform. Generally speaking, this platform will be:

Mechanical form factor

  • 1U rackmount, depth dependent on the specific instrument.

Power

  • 48V DC power on 6-pin Molex Mini-Fit Jr connector (back left)
  • Intermediate bus converter based on the trigger crossbar IBC design to produce 12V output.
  • Possible changes from current design (as of 2024-03-31): switch to bigger MCU with flash space for A/B firmware images, consider swapping main DC-DC module to something with lower standby power (current IBC wastes ~3W no-load which isn't great)
  • STM32L0 based power/reset sequencing supervisor with soft power on/off

Software/firmware stack

  • ngscopeclient as primary UI
  • staticnet as TCP/IP stack
  • Bare metal, no OS, no dynamic memory allocation
  • SFTP based firmware update, eventually with signed updates (user can add new signing keys via uart console)

Main chipset

  • STM32H7 as main processor running SCPI stack, sshd, and control plane functionality (low speed ADCs/DACs, GPIOs, etc)
  • Xilinx UltraScale+ / UltraScale / 7 series FPGA as main datapath. Some instruments may have >1 FPGA.

Communications

  • KSZ9031 based 10/100/1000 baseT fallback Ethernet interface
  • 10Gbase-R SFP+ / 25Gbase-R SFP28 interface for primary remote control path
  • Twinlan transport, SCPI control plane socket plus bare TCP socket for binary waveform data
  • 2.13" monochrome e-ink display with IP/version/status information
  • RS232 console on rear panel RJ45 (Cisco pinout)

RF / signal interface

  • Front panel SMA/BNC probe ports. Number of channels dependent on PCB size.
  • Rear panel SMA for 10 MHz reference in, level TBD
  • May have reference out TBD
  • May have PPS in/out TBD
  • Rear panel trigger in/out if applicable

Roadmap (including external repos)

  1. Trigger Crossbar
    Currently in progress. Not planning to make in volume, focus is on prototyping as much of the platform as possible to speed development and de-risk future projects. Prototype assembled, firmware dev in progress.

  2. kup-lulz: One-off Kintex UltraScale+ test board on OSHPark 4 layers, using a sketchy reballed aliexpress FPGA. Intended as a low-risk validation for UltraScale+ based power, pcb footprint/schematic, and some RTL development. Schematic complete, fine tuning layout.

  3. GROVER: Kintex UltraScale+ based 10/25G BERT. On hold until kup-lulz is brought up and working as it will essentially be a scaled-up version of the same design

  4. VOLLUM (Howard Vollum, co-inventor of triggered-sweep oscilloscope)

    • No design progress yet, but can probably leverage some old frontend work. One 6 Gbps AD9213 is in inventory for a scaled down (7 series based) single channel prototype.
    • 2 GHz / 10 Gsps 12 bit oscilloscope, as many channels as I can fit in 1U
    • Per channel: 1x AD9213, frontend, XCAU25P-2FFVB676, 72-bit DDR4 LRDIMM
    • Top level: One more FPGA, details TBD, doing trigger sync and MSO channels
    • Will need to use parallel / bonded serial LVDS for waveform download since all 12 GTYs on the KU25Ps will be used for the JESD204

Stuff below here is way old and needs to be redone


General

  • STARSHIPRAIDER: umbrella term for the entire project
  • CLARKE (Edith Clarke, first female EE professor in USA): the original STARSHIPRAIDER project

Oscilloscopes

All are 8 channels??

  • BLONDEL (Andre-Eugene Blondel, inventor of electromechanical oscillograph)
    8 bit: 100 MHz / 250 - 500 - 1000 Msps
    12 bit: 50 MHz / 125 - 250 - 500 Msps
    4 AFE : 1 HMCAD1520
    Two acquisition cards, 4 channels each
    One XC7A100T-2FGG676 on main board
    One DDR3 800 SODIMM on main board

  • DUDDELL (William Duddell, inventor of moving-coil mirror oscillograph)
    250 MHz / 1 Gsps, 1 AFE : 1 HMCAD1520 1x XC7K160T-2FFG676

    Eight analog cards, one HMCAD1520 + one AFE each One digital card with 1-2 SFF-8087 connectors for LA One AWG card with a TBD JESD204 DAC using unused serdes lanes (assuming 4 for 40G, one for 10G, three available)

  • ZENNECK (Jonathan Zenneck, inventor of electrically scanned CRT oscilloscope)
    500 MHz or 1 GHz / 5 Gsps, 1 AFE : 1 AD9213-6G

    Per channel:

    • 1x XC7A200T-2FFG1156
    • 1x AD9213 in 6G speed grade
    • 2x DDR3 800 SODIMM

    Global:

    • 1x XC7K160T-2FFG160T (could do six channels with direct lane to each one)
  • VOLLUM (Howard Vollum, co-inventor of triggered-sweep oscilloscope)
    1-2 GHz / 10 Gsps, 1 AFE : 1 AD9213

  • MURDOCK (Melvin Jack Murdock, co-inventor of triggered-sweep oscilloscope)
    6 GHz / 40 Gsps, 1 AFE : 4 AD9213

Probes / peripherals

  • CONWAY (VLSI pioneer, co-author of Mead & Conway)
    8-bit comparator-to-LVDS logic analyzer pod with SFF-8087 interface and high-impedance inputs

  • MEAD (other half of Mead & Conway)
    8-bit comparator-to-LVDS logic analyzer pod with SFF-8087 interface and 50 ohm inputs

  • MAXWELL (James Clerk Maxwell, discovered Maxwell's Equations)
    Kintex-7 ISERDESE2 based LA

  • TODO: Artix-7 GTP based LA??

  • DENNARD (Robert Dennard, inventor of DRAM)
    Kintex-7 GTX based LA

  • BRAUN (Karl Ferdinand Braun, inventor of optically scanned CRT oscilloscope and phased array) Low-bandwidth active probe ADA4817-1ACPZ-R7

Signal Generators

  • FLEMING (John Ambrose Fleming, inventor of vacuum tube) 4 channel 14 bit 2.5 Gsps arbitrary waveform generator, AD9739 + Kintex-7 + DDR3 SODIMM based. Need ~160 Gbps of RAM bandwidth to keep them fed

    Two channels of 14-bit LVDS per DAC = 28 LVDS pairs for data, assume clock/sync are external to FPGA Slow control: 4 wire SPI, IRQ = 5 slow lines

    4x DAC = 84 pairs (168 pins used / 4 banks / 200 allocated) + 15 slow lines

    Two xc7k160t's, two dacs + 1 sodimm of ram on each

    4GB DDR3 SODIMM, 1 GB per channel = 512 Mpoints of waveform data Probably some digital outputs (mix of LVDS and LVCMOS, and maybe some slow pin headers?)

Parts

997
QtyValueFootprintReferences
1570.47 uFazonenberg_pcb:EIA_0402_CAP_NOSILKC1, C10, C11, C12, C116, C117, C118, C119, C121, C124, C125, C126, C127, C128, C129, C130 +141
594.7 uFazonenberg_pcb:EIA_0603_CAP_NOSILKC113, C114, C115, C120, C122, C123, C145, C147, C148, C149, C150, C151, C152, C153, C154, C158 +43
4710Kazonenberg_pcb:EIA_0402_RES_NOSILKR113, R114, R117, R118, R121, R122, R131, R159, R160, R161, R162, R163, R164, R165, R166, R172 +31
420.1 uFazonenberg_pcb:EIA_0402_CAP_NOSILKC100, C101, C102, C104, C109, C110, C133, C134, C135, C136, C223, C229, C231, C232, C233, C234 +26
42TESTCLIPazonenberg_pcb:TESTPOINT_SMT_KEYSTONE_5016TP4, TP10, TP15, TP16, TP20, TP21, TP22, TP23, TP25, TP31, TP32, TP39, TP40, TP41, TP42, TP43 +26
400.01 uFazonenberg_pcb:EIA_0402_CAP_NOSILKC103, C105, C107, C108, C111, C112, C228, C351, C352, C353, C354, C359, C360, C361, C362, C363 +24
30ESD7008azonenberg_pcb:ESD7008D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24 +14
271Kazonenberg_pcb:EIA_0402_RES_NOSILKR1, R2, R13, R14, R15, R16, R17, R18, R101, R192, R212, R213, R218, R219, R220, R221 +11
24INA233azonenberg_pcb:SOP_10_0.5MM_3MMU5, U6, U7, U10, U11, U12, U13, U14, U15, U16, U69, U70, U71, U72, U73, U74 +8
2122 uFazonenberg_pcb:EIA_1210_CAP_NOSILKC271, C273, C274, C275, C283, C297, C298, C299, C300, C301, C302, C303, C304, C305, C306, C307 +5
21TESTPADazonenberg_pcb:TESTPOINT_SMT_0.5MMTP2, TP11, TP12, TP13, TP14, TP24, TP26, TP27, TP28, TP29, TP30, TP33, TP34, TP35, TP36, TP37 +5
2033azonenberg_pcb:EIA_0402_RES_NOSILKR26, R27, R29, R30, R31, R32, R42, R43, R44, R45, R46, R47, R54, R55, R58, R100 +4
204.7Kazonenberg_pcb:EIA_0402_RES_NOSILKR25, R28, R52, R115, R116, R123, R124, R154, R158, R226, R245, R246, R247, R248, R249, R250 +4
191 uFazonenberg_pcb:EIA_0603_CAP_NOSILKC65, C66, C67, C68, C81, C203, C324, C355, C356, C357, C358, C365, C366, C367, C368, C390 +3
15300Razonenberg_pcb:EIA_2220_INDUCTORFB10, FB11, FB12, FB13, FB14, FB15, FB16, FB17, FB18, FB19, FB20, FB21, FB22, FB23, FB24
14100azonenberg_pcb:EIA_0402_RES_NOSILKR33, R34, R68, R94, R95, R99, R120, R207, R208, R209, R210, R211, R234, R238
14DNPazonenberg_pcb:EIA_0402_RES_NOSILKR142, R145, R148, R183, R227, R228, R229, R230, R231, R232, R233, R235, R236, R237
13100Kazonenberg_pcb:EIA_0402_RES_NOSILKR97, R102, R103, R104, R105, R106, R107, R108, R109, R110, R111, R112, R194
121Aazonenberg_pcb:EIA_0402_RES_NOSILKF1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12
1222 uF 25Vazonenberg_pcb:EIA_1812_CAP_NOSILKC13, C14, C15, C16, C17, C18, C25, C26, C27, C28, C29, C30
1247 uFazonenberg_pcb:EIA_1206_CAP_NOSILKC308, C309, C310, C311, C312, C313, C314, C315, C316, C317, C318, C319
1250mazonenberg_pcb:EIA_0603_RES_NOSILKR7, R8, R9, R10, R11, R12, R19, R20, R21, R22, R23, R24
12CONN_SFF8087azonenberg_pcb:CONN_SFF8087_MOLEX_75783-0140J3, J4, J5, J6, J7, J8, J15, J16, J17, J18, J19, J20
12DNPazonenberg_pcb:EIA_0402_CAP_NOSILKC19, C20, C21, C22, C23, C24, C31, C32, C33, C34, C35, C36
12NCP45525IMNTWG-Hazonenberg_pcb:DFN_8_0.5MM_2x2MMU17, U18, U19, U20, U21, U22, U23, U24, U25, U26, U27, U28
1110 uFazonenberg_pcb:EIA_0805_CAP_NOSILKC230, C331, C332, C335, C336, C337, C375, C376, C378, C379, C380
10100 uFazonenberg_pcb:EIA_1210_CAP_NOSILKC37, C40, C138, C142, C143, C168, C169, C436, C437, C438
922 uFazonenberg_pcb:EIA_0805_CAP_NOSILKC155, C156, C157, C161, C162, C163, C327, C328, C340
9600R @ 100 MHzazonenberg_pcb:EIA_0603_INDUCTOR_NOSILKFB1, FB2, FB3, FB4, FB5, FB6, FB7, FB8, FB9
9CLEARANCE_4_40azonenberg_pcb:MECHANICAL_CLEARANCEHOLE_4_40MH1, MH2, MH3, MH4, MH5, MH6, MH7, MH8, MH9
8240azonenberg_pcb:EIA_0402_RES_NOSILKR132, R133, R134, R135, R136, R137, R138, R139
862azonenberg_pcb:EIA_0402_RES_NOSILKR84, R89, R125, R126, R127, R128, R129, R130
8750azonenberg_pcb:EIA_0402_RES_NOSILKR143, R144, R146, R147, R149, R182, R184, R185
722 uF 25Vazonenberg_pcb:EIA_1210_CAP_NOSILKC325, C326, C339, C342, C343, C344, C386
7901-10511-3azonenberg_pcb:CONN_SMA_EDGE_AMPHENOL_901_10511_3J12, J13, J14, J21, J22, J23, J25
6220azonenberg_pcb:EIA_0402_RES_NOSILKR85, R86, R87, R88, R251, R252
680azonenberg_pcb:EIA_0402_RES_NOSILKR62, R63, R64, R65, R66, R67
6FIDUCIALazonenberg_pcb:FIDUCIAL_1MMFID1, FID2, FID3, FID4, FID5, FID6
6LVK12R012FERazonenberg_pcb:OHMITE_LVK12R198, R199, R200, R201, R202, R205
6OKL-T/3-W12P-Cazonenberg_pcb:MODULE_MURATA_OKL-T3-W12U57, U58, U60, U61, U62, U63
6SSM6N58NUazonenberg_pcb:DFN_6_0.65MM_2x2MM_GDSQ1, Q2, Q3, Q4, Q5, Q6
5RCLAMP0542Tazonenberg_pcb:DFN_6_0.5MM_1.6x1.0MMU41, U42, U43, U44, U85
5SY56017Razonenberg_pcb:QFN_16_0.5MM_3x3MMU30, U31, U32, U33, U45
40azonenberg_pcb:EIA_0402_RES_NOSILKR96, R155, R156, R157
40ZCJ0025AF2Eazonenberg_pcb:EIA_1206_FUSE_NOSILKF14, F15, F16, F17
410K 1%azonenberg_pcb:EIA_0402_RES_NOSILKR169, R170, R186, R187
44.99Kazonenberg_pcb:EIA_0402_RES_NOSILKR73, R74, R75, R83
447 uFazonenberg_pcb:EIA_0805_CAP_NOSILKC39, C139, C140, C146
449.9azonenberg_pcb:EIA_0402_RES_NOSILKR90, R91, R93, R150
4ADCMP582azonenberg_pcb:QFN_16_0.5MM_3x3MMU48, U49, U50, U51
4AT30TS74_UDFNazonenberg_pcb:DFN_8_0.5MM_2x3MM_TALLU80, U81, U82, U83
4FANazonenberg_pcb:FAN_DELTA_EFB0412VHD-SP05FAN1, FAN2, FAN3, FAN4
4GREENazonenberg_pcb:EIA_0603_LEDD26, D27, D28, D29
4PCFAN_4WIREazonenberg_pcb:CONN_MOLEX_KK_22-23-2041J27, J31, J32, J33
31 uHazonenberg_pcb:EIA_0805_INDUCTOR_NOSILKL4, L5, L6
3Conn_01x03azonenberg_pcb:CONN_HEADER_2.54MM_1x3TP49, TP50, TP51
3Conn_01x04azonenberg_pcb:CONN_HEADER_2.54MM_1x4TP1, TP17, TP52
3DNPazonenberg_pcb:EIA_1210_CAP_NOSILKC348, C349, C350
3DNPazonenberg_pcb:EIA_1206_CAP_NOSILKC329, C330, C341
3IAF12020A007V-003-Razonenberg_pcb:MODULE_DCDC_TDK_IAFU53, U54, U55
3LVK25R005FERazonenberg_pcb:OHMITE_LVK25R195, R196, R197
3PAT1220-C-6DB-T5azonenberg_pcb:EIA_0805_PI_ATTENUATORR70, R71, R72
3XILINX_JTAGazonenberg_pcb:XILINX_JTAG_PTH_MOLEX_0878311420J1, J2, J10
20.1 uF 50Vazonenberg_pcb:EIA_0603_CAP_NOSILKC383, C384
210 pFazonenberg_pcb:EIA_0402_CAP_NOSILKC263, C264
22.2 uFazonenberg_pcb:EIA_0603_CAP_NOSILKC239, C244
22.2 uF 50Vazonenberg_pcb:EIA_1206_CAP_NOSILKC382, C385
22.2K 1%azonenberg_pcb:EIA_0402_RES_NOSILKR171, R177
222.1K 1%azonenberg_pcb:EIA_0402_RES_NOSILKR151, R152
2330 uFazonenberg_pcb:EIA_1210_CAP_NOSILKC137, C144
29.65K 1%azonenberg_pcb:EIA_0402_RES_NOSILKR167, R168
2LMH7322azonenberg_pcb:QFN_24_0.5MM_4x4MMU37, U38
2LVK12R100CERazonenberg_pcb:OHMITE_LVK12R203, R204
2RT9088Aazonenberg_pcb:DFN_10_0.5MM_3x3MMU59, U64
2S25FL128LAGNFV010azonenberg_pcb:DFN_8_1.27MM_6x5MMU29, U34
11 nFazonenberg_pcb:EIA_0402_CAP_NOSILKC333
11 nFazonenberg_pcb:EIA_0603_CAP_NOSILKC377
110 uFazonenberg_pcb:EIA_1206_CAP_NOSILKC281
110 uHazonenberg_pcb:EIA_0805_INDUCTOR_NOSILKL7
1100 uF 25Vazonenberg_pcb:CAP_AL_6.3MM_SMTC282

The 941 most common of 997 parts.

More from azonenberg/starshipraider

12
  • 4 layers91 × 83 mmHost x1, the printed circuit board in 3D

    Host x1

    azonenberg/starshipraider

    Open hardware test equipment

    253 parts193BSD-3-Clause
  • 4 layers75 × 71 mmLa pod, the printed circuit board in 3D

    La pod

    azonenberg/starshipraider

    Open hardware test equipment

    213 parts193BSD-3-Clause
  • 4 layers74.5 × 31 mmIob characterization v02, the printed circuit board in 3D

    Iob characterization v02

    azonenberg/starshipraider

    Open hardware test equipment

    124 parts193BSD-3-Clause
  • 4 layers119.5 × 52.3 mmHdmi inline probe, the printed circuit board in 3D

    Hdmi inline probe

    azonenberg/starshipraider

    Open hardware test equipment

    110 parts193BSD-3-Clause
  • 4 layers56 × 64 mmIob characterization, the printed circuit board in 3D

    Iob characterization

    azonenberg/starshipraider

    Open hardware test equipment

    94 parts193BSD-3-Clause
  • 4 layers100 × 60 mmActive host test, the printed circuit board in 3D

    Active host test

    azonenberg/starshipraider

    Open hardware test equipment

    93 parts193BSD-3-Clause
  • 4 layers78 × 58 mmSfp to sma, the printed circuit board in 3D

    Sfp to sma

    azonenberg/starshipraider

    Open hardware test equipment

    82 parts193BSD-3-Clause
  • 4 layers57 × 85 mmHmcad characterization, the printed circuit board in 3D

    Hmcad characterization

    azonenberg/starshipraider

    Open hardware test equipment

    62 parts193BSD-3-Clause
  • 4 layers108.3 × 63 mmEthernet coupled probe, the printed circuit board in 3D

    Ethernet coupled probe

    azonenberg/starshipraider

    Open hardware test equipment

    61 parts193BSD-3-Clause
  • 4 layers41 × 35 mmDiffprobe prototype, the printed circuit board in 3D

    Diffprobe prototype

    azonenberg/starshipraider

    Open hardware test equipment

    49 parts193BSD-3-Clause

Similar boards

  • 4 layers140 × 100 mmCat5-tdr, the printed circuit board in 3D

    Cat5-tdr

    azonenberg/antikernel

    The Antikernel operating system project

    379 parts124
  • 10 layers130 × 90 mmMain pcb, the printed circuit board in 3D

    Main pcb

    azonenberg/dumptruck

    FPGA based dumper for flashes and more

    445 parts17BSD-3-Clause
  • 8 layers126 × 117 mmDemo board, the printed circuit board in 3D

    Demo board

    azonenberg/electronics-training

    Training materials for classes etc

    311 parts15
  • 8 layers124 × 190 mmFreesample, the printed circuit board in 3D

    Freesample

    azonenberg/freesample

    High performance sampling oscilloscope based on INTEGRALSTICK

    577 parts10BSD-3-Clause
  • 6 layers185 × 93 mmLinecard, the printed circuit board in 3D

    Linecard

    azonenberg/latentred

    Open hardware 48x 1000baseT + 2x 25G SFP28 Ethernet switch

    621 parts36BSD-3-Clause
  • 4 layers67 × 65 mmCommon ibc, the printed circuit board in 3D

    Common ibc

    azonenberg/common-ibc

    48-12V 72W intermediate bus converter common to all of my larger FPGA projects

    112 parts6BSD-3-Clause
  • 4 layers150 × 100 mmPower profiler carrier, the printed circuit board in 3D

    Power profiler carrier

    Guiimartinho/open-power-profiler

    Open-source PPK2-class power profiler built on the Raspberry Pi Pico 2: 100 kSPS, 100 nA to 1 A auto-ranging, source meter and ampere meter modes, USB stream.

    425 partsMIT

Questions

How big is the Maxwell main PCB?

It measures 280 × 195 mm and has 8 copper layers, 1.6 mm thick.

What parts does the Maxwell main use?

997 parts, built around the OKL-T/3-W12P-C, IAF12020A007V-003-R, PAT1220-C-6DB-T5 and SY56017RMG. 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 Maxwell main KiCad files?

From the azonenberg/starshipraider repository on GitHub, at the commit this page was made from: the board is boards/MAXWELL/maxwell-main/maxwell-main.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Maxwell main design in my own project?

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