

MIPI SPY
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.mdMIPI Spy
Hardware tools for non-invasively sniffing MIPI D-Phy links.

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| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | Conn_01x15 | Connector_FFC-FPC:TE_1-84952-5_1x15-1MP_P1.0mm_Horizontal | J1, J2 |
| 1 | Conn_01x15 | Connector_PinHeader_2.54mm:PinHeader_1x15_P2.54mm_Vertical | J3 |
| 1 | LOGO | UserLib:MIPISpy | G*** |
The 4 most common of 6 parts.
More from jergling/MIPI-Spy
1- 2 layers41.7 × 34.9 mm

Similar boards
- 2 layers18.5 × 11.1 mm

Switch
byrantech/laptop
anyon_e, a highly integrated, high end, open source laptop. Attempt the impossible.
6 parts4.3kMIT - 2 layers14.6 × 33 mm

- 2 layers9 × 9 mm

Dpoint
Jcparkyn/dpoint
Open-source digital stylus using camera tracking and inertial measurements
6 parts1.1kMIT - 2 layers51.5 × 16.6 mm

MicroswitchXY Endstop
VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group
6 parts1.1kGPL-3.0 - 2 layers21.9 × 76.7 mm

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 mm

Businesscard
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
6 parts915 - 2 layers20.3 × 15.2 mm

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 mm

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).