Skip to the content
2 layers43.8 × 39.4 mmMIPI SPY, the printed circuit board in 3D

Hardware tools for non-invasively sniffing MIPI D-Phy links.

Size
43.8 × 39.4 mm
Copper layers
2
Thickness
1.6 mm
Parts
6
Nets
12
Pads
49
Tracks, vias
456, 9
Pours
1
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
7 Jan 2022
Updated
16 Jan 2022

Overview

MIPI SPY is an open-source printed circuit board by jergling, from the jergling/MIPI-Spy repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 43.8 × 39.4 mm with 6 parts on 12 nets, routed with 456 tracks and 9 vias.

It belongs with the sensors and measurement boards of this library.

README

README.md

MIPI Spy

Hardware tools for non-invasively sniffing MIPI D-Phy links. MiPiSpyBoard

In order to contribute useful data to the OpenHD project, I designed a simple PCB that splices two 15-pin MIPI FFCs end-to-end, to allow non-invasive, man-in-the-middle sniffing of the data. This serves several purposes:

Non-destructive and low-risk probing of the I2C bus

No more risk of shorting or ripping pads by clipping onto the FPC connector

Latency benchmarking

Sensor ICs incorporate buffering stages between pixel capture and ISP. By probing the data lanes and a strobing light source, one can measure how long the module takes to process each pixel/line/stripe/field/frame as the delay between the strobe pulse and the first transmission of "bright" bytes on a data lane. This will help determine which modules are best suited to our low-latency application.

Accurate probing of sLVDS

Due to the sensitivity of LVDS to impedence changes and phase, the length and impedence-matched routing on the MIPI Spy presents the best possible scenario for observing the signal with minimual harm to the transmission quality. Ideally, this means 0 extra retransmissions incurred due to instrumentation. Compared to scratching the coating off of an FFC and soldering on leads, this is a major step up.

Hardware

Pi version (v1.0)

  • 15-FFC (1.0mm pitch) to 15-FFC (1.0mm pitch) F/F with 15-pin breakout header (2.54 mm pitch)
  • Requires 15-wire MIPI camera, 2 flex cables (one top-bottom, one top-top), and a host machine with support for the camera module
  • Awaiting validation samples

DJI-A version (not done)

  • Hirose DF56-26P to DF56-26P with 26-pin breakout header
  • Requires 2 DJI or Caddx FPV camera cables, a DJI FPV compatible camera, and a DJI or compatible air unit
  • May not be possible due to unavailability of DF56-26S connectors

DJI-B version (not done)

  • Hirose DF36-30P to DF36-30P with 30-pin breakout header
  • Requires 2 custom DF56-to-DF36 cables, a DJI FPV compatible camera, and a DJI or compatible air unit
  • Alternative to DJI-A in case of sourcing issues
  • Higher cost due to custom cable requirement

HDZero Version (not done)

  • Hirose DF36-20P to DF36-20P with 20-pin breakout header
  • Requires 2 HDzero "Mipi" cables, an HDZero camera, and an HDZero VTX
  • According to sources, this is actually a DVP link, not MIPI

Parts

6
QtyValueFootprintReferences
2Conn_01x15Connector_FFC-FPC:TE_1-84952-5_1x15-1MP_P1.0mm_HorizontalJ1, J2
1Conn_01x15Connector_PinHeader_2.54mm:PinHeader_1x15_P2.54mm_VerticalJ3
1LOGOUserLib:MIPISpyG***

The 4 most common of 6 parts.

More from jergling/MIPI-Spy

1
  • 2 layers41.7 × 34.9 mmDJI A, the printed circuit board in 3D

    DJI A

    jergling/MIPI-Spy

    Hardware tools for non-invasively sniffing MIPI D-Phy links.

    3 parts28GPL-3.0

Similar boards

  • 2 layers18.5 × 11.1 mmSwitch, the printed circuit board in 3D

    Switch

    byrantech/laptop

    anyon_e, a highly integrated, high end, open source laptop. Attempt the impossible.

    6 parts4.3kMIT
  • 2 layers14.6 × 33 mmBrain board SD Card 1, the printed circuit board in 3D

    Brain board SD Card 1

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    6 parts1.2k
  • 2 layers9 × 9 mmDpoint, the printed circuit board in 3D

    Dpoint

    Jcparkyn/dpoint

    Open-source digital stylus using camera tracking and inertial measurements

    6 parts1.1kMIT
  • 2 layers51.5 × 16.6 mmMicroswitchXY Endstop, the printed circuit board in 3D

    MicroswitchXY Endstop

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    6 parts1.1kGPL-3.0
  • 2 layers21.9 × 76.7 mmAmiga External, the printed circuit board in 3D

    Amiga External

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    6 parts1kGPL-3.0
  • 2 layers88.9 × 50.8 mmBusinesscard, the printed circuit board in 3D

    Businesscard

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    6 parts915
  • 2 layers20.3 × 15.2 mmL0 RGB led, the printed circuit board in 3D

    L0 RGB led

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    6 parts546MIT
  • 2 layers9 × 3.6 mmOpticalEncoder, the printed circuit board in 3D

    OpticalEncoder

    adamb314/ServoProject

    Getting the most out of your hobby servo

    6 parts545

Questions

How big is the MIPI SPY PCB?

It measures 43.8 × 39.4 mm and has 2 copper layers, 1.6 mm thick.

What parts does the MIPI SPY use?

6 parts. 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 MIPI SPY KiCad files?

From the jergling/MIPI-Spy repository on GitHub, at the commit this page was made from: the board is Pi/MIPI_SPY.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the MIPI SPY design in my own project?

Its repository publishes it under the GPL-3.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).