Skip to the content
PCBKitNew board
4 layers42 × 55 mmAdv7280m csi2, the printed circuit board in 3D

Adv7280m csi2

inestvan/adv

Плата на Analog Devices ADV7280WBCPZ-M (LFCSP-32): композитный видеосигнал (PAL/NTSC/SECAM, разъём RCA) преобразуется в поток MIPI CSI-2 (1 лента + клок) и подаётся на разъём камеры Raspberry Pi 4.

Size
42 × 55 mm
Copper layers
4
Thickness
1.6 mm
Parts
72
Nets
51
Pads
199
Tracks, vias
301, 95
Pours
7
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
20 Sep 2026
Updated
28 Oct 2026

Overview

Adv7280m csi2 is an open-source printed circuit board by inestvan, from the inestvan/adv repository on GitHub. It is a 4-layer board of 42 × 55 mm with 72 parts on 51 nets, routed with 301 tracks and 95 vias.

It is built around the ADV7280WBCPZ-M, AP2112K-1.8TRG1 and X50322863636MSB2GI, with the KF301-5.0-2P, PZ254V-11-02P and SFW15R-1STE1LF among its other parts. Its parts include 27 capacitors, 11 resistors, 7 connectors, 4 ICs and 3 diodes.

Main components

7

README

README.md

ADV7280M-CSI2 — CVBS → MIPI CSI-2 декодер для Raspberry Pi 4

Плата на Analog Devices ADV7280WBCPZ-M (LFCSP-32): композитный видеосигнал (PAL/NTSC/SECAM, разъём RCA) преобразуется в поток MIPI CSI-2 (1 лента + клок) и подаётся на разъём камеры Raspberry Pi 4. В той же заготовке — отделяемая секция с буфером THS7314: один вход CVBS раздаётся на декодер и два монитора (питание секции 5 В от внешнего DC-DC через винтовую клемму). Работает со штатным overlay ядра Raspberry Pi без правок:

text
dtoverlay=adv728x-m,adv7280m=1

Проект сделан в KiCad 9 (hw/), плата 4 слоя 42 × 55 мм (декодер 42 × 32 + паз 2 мм + секция буфера 42 × 21) под стек JLCPCB JLC04161H-7628. ERC и DRC — 0 ошибок, 0 предупреждений. Все решения и допущения по этапам — в docs/assumptions.md, исходные требования и выжимка из документации — в docs/requirements.md.

top

Состав репозитория

ПутьЧто
hw/adv7280m-csi2.kicad_pro / .kicad_sch / .kicad_pcbпроект KiCad 9
hw/lib/символы ADV7280WBCPZ-M и THS7314, символы питания, посадочные места FFC (Amphenol SFW15R-1STE1LF), RCA (PSG01546), X1SON
docs/schematic.pdf, docs/bom.csvсхема и BOM с кодами LCSC
docs/render-top.png, docs/render-bottom.png, docs/layer-*.png3D-рендеры и медь по слоям
docs/datasheets/, docs/ref/даташит ADV7280 Rev. A, UG-637 Rev. A, AN-1260, THS7314 (SLOS513A), схемы Pi 4 и Camera Module v2.1, overlay/драйвер из ядра Pi
fab/adv7280m-csi2-gerber.zipGerber (RS-274X, Protel-расширения) + Excellon drill + gbrjob со стеком
fab/BOM_JLCPCB.csv, fab/CPL_JLCPCB.csvBOM и позиции в формате JLCPCB (только то, что собирает JLCPCB)
tools/генераторы: gen_lib.py → gen_fp.py → gen_sch.py → gen_pcb.py → route_pcb.py → write_pro.py; check_nets.py проверяет нетлист; fab.sh делает Gerber/BOM/CPL, render.sh — картинки

Пересборка с нуля:

text
python3 tools/gen_lib.py && python3 tools/gen_fp.py && python3 tools/gen_sch.py && python3 tools/check_nets.py
cd hw && kicad-cli sch export netlist --format kicadxml -o adv7280m-csi2.xml adv7280m-csi2.kicad_sch && cd ..
python3 tools/gen_pcb.py && python3 tools/route_pcb.py && python3 tools/write_pro.py
sh tools/fab.sh          # Gerber, drill, BOM/CPL JLCPCB, schematic.pdf, bom.csv

Схема в двух словах

  • Вход: RCA J2 → ESD TPD1E10B06 → 22 Ω последовательно, 51 Ω на землю (терминация 73 Ω, делитель 0,7) → 100 нФ → AIN1.
  • Питание: 3,3 В с пина 15 разъёма камеры. Два LDO AP2112K-1.8: U2 → DVDD+MVDD, U3 → AVDD, PVDD через феррит. У каждого вывода питания чипа 100 нФ + 10 нФ.
  • Кварц 28.63636 МГц (YXC 5032, CL 20 пФ), нагрузочные 27 пФ.
  • MIPI: D0P/D0N → пины 3/2 разъёма, CLKP/CLKN → пины 9/8; лента 1 не используется. Дифпары 100 Ω (0,18/0,15 мм), длины выровнены до 0,04 мм в паре и 0,03 мм между парами.
  • I²C: SDA/SCL → пины 14/13, подтяжки 4,7 кОм (параллельно подтяжкам Pi). ALSB = 1 → 7-битный адрес 0x21 (8-битный 0x42 write / 0x43 read) — ровно то, что ждёт overlay.
  • RESET: 10 кОм + 4,7 мкФ (τ ≈ 47 мс, низкий уровень ≥ 13 мс), PWRDWN: 10 кОм к 3,3 В — чип запускается сам, без участия Pi.

Секция буфера THS7314 (отделяемая)

  • Вход J5 (штырьки 2,54 мм: 1 = сигнал, 2 = GND) → терминация 75 Ω, ESD → 3 × 100 нФ → три канала THS7314 (усиление 6 дБ, ФНЧ 8,5 МГц, sync-tip clamp).
  • Выходы с 75 Ω последовательно (на нагрузке 75 Ω уровень 1 : 1): канал 1 → узел входа декодера (через JP4 и дорожку через перешеек), каналы 2 и 3 → J6 «MON1» и J7 «MON2» (штырьки, 1 = сигнал, 2 = GND) на мониторы. J8 «TO ADV» — тот же сигнал канала 1 для случая, когда секция отломана: соединить кабелем с RCA J2.
  • Питание J4 (винтовая клемма 5,08 мм, «+» = 5 В, «−» = GND) от внешнего DC-DC 5 В → диод SS14 (защита от переполюсовки) → 22 мкФ → феррит → 10 мкФ + 100 нФ. THS7314 работает от 3 до 5 В, LDO не нужен; потребление ≈ 17 мА. Тестовая точка TP9.
  • Декодер питается от Pi (3,3 В по шлейфу камеры), клемма 5 В его не питает. Pi подключают к тому же 5 В своим кабелем.
  • Разделение: паз 2 мм и два перешейка 2,5 мм (x = 7…9,5 и 30,5…33 мм). Через перешейки идут только CVBS_IN и земля. Перекусить кусачками, края зачистить. После отделения декодер 42 × 32 мм, буфер 42 × 21 мм, у каждого свои отверстия M2.

Перемычки (паяльные, по умолчанию разомкнуты)

Замкнуть, если
JP1 ALSB>GNDнужен адрес 0x20; тогда в config.txt dtoverlay=adv728x-m,adv7280m=1,addr=0x20
JP2 CAM_GPIO>RSTхотите сбрасывать чип линией CAM_GPIO (пин 11 разъёма). Штатный overlay эту линию не включает, поэтому по умолчанию разомкнуто
JP3 CAM_GPIO>PWRDWNхотите усыплять чип линией CAM_GPIO. То же самое: только со своим overlay, где включён регулятор cam1_reg
JP4 BUF>ADV (замкнута с завода)разрезать, если платы соединены, а сигнал нужно подать прямо в RCA J2 минуя буфер: иначе выход буфера шунтирует вход

Тестовые точки

TP1 3V3 · TP2 1V8D · TP8 1V8A · TP3 SDA · TP4 SCL · TP5 RESET · TP6 GND · TP7 CVBS после терминации (сюда должно приходить ≈0,7 В p-p при 1 В на входе) · TP9 питание THS7314 (≈4,6 В).

Подключение к Raspberry Pi 4

  1. Стандартный 15-жильный шлейф камеры Pi (тот же, что у Camera Module). На плате разъём такой же, как на модуле камеры: контакты шлейфа к плате, синяя сторона к защёлке. Пин 1 (GND) помечен треугольником, он у верхнего края. На Pi 4: контакты шлейфа в сторону HDMI, синяя сторона к Ethernet/USB.

  2. Перед первым включением прозвоните: пин 15 шлейфа (3,3 В) ↔ TP1, пин 1 ↔ TP6 (GND).

  3. В /boot/firmware/config.txt (на старых образах /boot/config.txt):

    text
    camera_auto_detect=0
    dtoverlay=adv728x-m,adv7280m=1

    Строка camera_auto_detect=0 отключает автопоиск камер Pi, который иначе может занять I²C и CSI.

  4. Перезагрузка и проверка:

    text
    dmesg | grep -i adv7180          # ожидается: adv7180 10-0021: chip found @ 0x21 ... (шина i2c-10 на Pi 4)
    v4l2-ctl --list-devices          # unicam -> /dev/video0
    v4l2-ctl -d /dev/video0 --get-detected-standard
    v4l2-ctl -d /dev/video0 --set-standard=PAL     # или NTSC

    Драйвер adv7180 работает как V4L2 subdevice за bcm2835-unicam (в overlay по умолчанию legacy-режим, Media Controller выключен). Формат на выходе — 8-битный YUV 4:2:2 (UYVY), 720×576 (PAL) или 720×480 (NTSC), чересстрочный.

  5. Захват:

    text
    v4l2-ctl -d /dev/video0 --set-fmt-video=width=720,height=576,pixelformat=UYVY --stream-mmap --stream-count=100 --stream-to=out.uyvy
    ffmpeg -f v4l2 -input_format uyvy422 -video_size 720x576 -i /dev/video0 -c:v libx264 -preset veryfast out.mkv

Вывод на ПК как «карта захвата»

Плата отдаёт только MIPI CSI-2, напрямую к ПК её не подключить. Варианты через Pi 4:

  • UVC-вебкамера по USB-C. Pi 4 умеет режим USB-устройства: dtoverlay=dwc2 в config.txt, модуль libcomposite, и uvc-gadget (github.com/raspberrypi/uvc-gadget или kbingham/uvc-gadget с источником V4L2 /dev/video0). ПК видит обычную вебкамеру 720×576. Не проверялось на этой плате, но это штатный механизм Pi.
  • Поток по сети: ffmpeg -f v4l2 -i /dev/video0 ... -f mpegts udp://ПК:5000 или GStreamer/RTSP; на ПК VLC/OBS/ffplay.

Заказ и сборка на JLCPCB

  1. Плата: загрузить fab/adv7280m-csi2-gerber.zip. Параметры: 4 слоя, 1,6 мм, стек JLC04161H-7628 (файл .gbrjob содержит стек), «Impedance control: yes» (пары 100 Ω дифф, 0,18/0,15 мм), остальное по умолчанию. Паз между секциями и перешейки лежат в контуре платы (Edge.Cuts) — это одна плата, опции панелизации/V-cut не нужны.
  2. Сборка: Economic (SMT), верхняя сторона. Загрузить fab/BOM_JLCPCB.csv и fab/CPL_JLCPCB.csv. В предпросмотре обязательно сверить ориентацию полярных деталей: U2/U3 (SOT-23-5, пин 1 у метки-треугольника), D1/D3 (ESD, двунаправленные — ориентация не важна), J1 (FFC: контакты к краю платы, пин 1 сверху), Y1 (кварц — не важна), U5 (SOIC-8, пин 1 слева сверху, у метки), D2 (SS14: катодная полоска к C28, т. е. вправо). JLCPCB иногда поворачивает корпуса относительно данных KiCad; в предпросмотре это видно по картинке детали.
  3. Не собирает JLCPCB (припаять самостоятельно): U1 ADV7280WBCPZ-M (нет на складе; фен + трафарет, паста на термопад ≈50 %), J2 RCA-гнездо (любое угловое 3-выводное с штырём 1,3×2,5 и ушками 2,5×1 на 10 мм, например Multicomp PSG01546), J4 винтовая клемма 2 конт. шаг 5,0/5,08 мм (KF301-5.0-2P, LCSC C474881; ставить вводом проводов к кромке), J5–J8 штырьки 1×2 2,54 мм (PZ254V-11-02P, C492401 или любые); перемычки/тестовые точки — это просто площадки. THT-сборку у JLCPCB не заказываем — это дешевле, чем доплата за выводной монтаж.
  4. Трафарет: заказать вместе с платой («Stencil», верхняя сторона) — он нужен для чипа; паста на термопад уже разбита на 4 окна.

Extended-позиции (по 3 $ за наименование): LDO, кварц, 27 пФ, ESD-диод, FFC-разъём, THS7314. Остальное (21 строка BOM, 48 деталей всего) — Basic.

Известные особенности

  • В каждой дифпаре MIPI линия N делает один переход на нижний слой и обратно (два via 0,45/0,2 мм): порядок P/N на разъёме Pi обратен порядку выводов чипа, без перекрёстка это не разводится (см. docs/assumptions.md, A3-2).
  • 22 Ω вместо 24 Ω в терминации — 24 Ω нет в базовой библиотеке JLCPCB; коэффициент делителя 0,70 вместо 0,68 (+3 % амплитуды), АРУ декодера это компенсирует.
  • Пока платы соединены, вход декодера занят буфером: RCA J2 использовать только после разреза JP4.
  • Земля Pi и платы замкнута дважды (шлейф камеры и общее питание 5 В). Для CVBS это не критично; при помехах питать Pi и DC-DC от одной точки короткими проводами.
  • DC-DC выставить на 5,0 В до подключения: абсолютный максимум THS7314 — 5,5 В.

Parts

72
QtyValueFootprintReferences
7100nFCapacitor_SMD:C_0402_1005MetricC4, C13, C15, C17, C19, C21, C26
510nFCapacitor_SMD:C_0402_1005MetricC14, C16, C18, C20, C22
4100nFCapacitor_SMD:C_0603_1608MetricC1, C23, C24, C25
410uFCapacitor_SMD:C_0603_1608MetricC6, C8, C10, C11
475Resistor_SMD:R_0603_1608MetricR8, R9, R10, R11
4M2MountingHole:MountingHole_2.2mm_M2H1, H2, H3, H4
310kResistor_SMD:R_0603_1608MetricR3, R4, R5
2120R@100MHzInductor_SMD:L_0603_1608MetricFB1, FB2
21uFCapacitor_SMD:C_0603_1608MetricC7, C9
227pFCapacitor_SMD:C_0603_1608MetricC2, C3
24.7kResistor_SMD:R_0603_1608MetricR6, R7
2AP2112K-1.8Package_TO_SOT_SMD:SOT-23-5U2, U3
2TPD1E10B06adv-parts:TI_X1SON-2_DPY0002A_1.0x0.6mmD1, D3
110uFCapacitor_SMD:C_0805_2012MetricC27
11V8ATestPoint:TestPoint_Pad_D1.5mmTP8
11V8DTestPoint:TestPoint_Pad_D1.5mmTP2
122Resistor_SMD:R_0603_1608MetricR1
122uFCapacitor_SMD:C_0805_2012MetricC28
128.63636MHzCrystal:Crystal_SMD_5032-2Pin_5.0x3.2mmY1
13V3TestPoint:TestPoint_Pad_D1.5mmTP1
14.7uFCapacitor_SMD:C_0603_1608MetricC5
151Resistor_SMD:R_0603_1608MetricR2
15V_INTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ4
1ADV7280WBCPZ-MPackage_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.6x3.6mmU1
1ALSB>GNDJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1
1BUF>ADVJumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP4
1CAM_GPIO>PWRDWNJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP3
1CAM_GPIO>RSTJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP2
1CVBS_BUF_HDRConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ8
1CVBS_IN_HDRConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ5
1CVBS_RCAadv-parts:RCA_Multicomp_PSG01546_HorizontalJ2
1CVBS_TTestPoint:TestPoint_Pad_D1.5mmTP7
1GNDTestPoint:TestPoint_Pad_D1.5mmTP6
1MON1_HDRConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ6
1MON2_HDRConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ7
1RPi_CSI_15pinadv-parts:Amphenol_SFW15R-1STE1LFJ1
1SCLTestPoint:TestPoint_Pad_D1.5mmTP4
1SDATestPoint:TestPoint_Pad_D1.5mmTP3
1SS14Diode_SMD:D_SMAD2
1THS7314DRPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU5
1VS_BUFTestPoint:TestPoint_Pad_D1.5mmTP9
1nRESETTestPoint:TestPoint_Pad_D1.5mmTP5

Questions

How big is the Adv7280m csi2 PCB?

It measures 42 × 55 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Adv7280m csi2 use?

72 parts, built around the ADV7280WBCPZ-M, AP2112K-1.8TRG1, X50322863636MSB2GI and KF301-5.0-2P. 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 Adv7280m csi2 KiCad files?

From the inestvan/adv repository on GitHub, at the commit this page was made from: the board is hw/adv7280m-csi2.kicad_pcb and its schematic hw/adv7280m-csi2.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Adv7280m csi2 design in my own project?

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

Similar boards

  • 4 layers65 × 23 mmSDTV2CSI, the printed circuit board in 3D

    SDTV2CSI

    eligold/SDTV2CSI

    Digitize analog standard definition video for the pi CSI-2 input

    44 parts1CERN-OHL-S-2.0
  • 6 layers105.6 × 100.9 mmSimpleCarrier, the printed circuit board in 3D

    SimpleCarrier

    alexian79/simpleCarrier

    146 partsBSD-2-Clause
  • 4 layers100 × 79 mmAG-010-0100, the printed circuit board in 3D

    AG-010-0100

    ManojNU/Portfolios

    PCB Portfolios

    106 parts
  • 2 layers25.4 × 24.1 mmPmod RPiCamera, the printed circuit board in 3D

    Pmod RPiCamera

    ciniml/fpga_samples

    FPGA samples

    8 parts31BSL-1.0
  • 2 layers26 × 44 mmCamCon Board Rev 1.1, the printed circuit board in 3D

    CamCon Board Rev 1.1

    EasternEdgeRobotics/Electrical_2019

    Repository for holding PCB designs, Pspice files, and other shocking thigns!

    29 parts2MIT
  • 2 layers92 × 69 mmBase controller, the printed circuit board in 3D

    Base controller

    dy-ma/halloween26

    A small LED/resistor practice board used to learn KiCad schematic capture, footprints, routing, silkscreen, and Gerber export. It is not the tractor controller and was not intended for manufacture.

    64 partsCERN-OHL-P-2.0
  • 4 layers45 × 30 mmTTExperimentModule, the printed circuit board in 3D

    TTExperimentModule

    psychogenic/spasics

    Scratch repo for work, thoughts and notes about the spasics project: sending an ASIC to space!

    93 parts10GPL-3.0