Skip to the content
PCBKitNew board
8 layers74 × 128 mmLimejig, the printed circuit board in 3D

Open-source LimeJig fixture firmware, host tools, KiCad source, and synthetic test examples

Size
74 × 128 mm
Copper layers
8
Thickness
1.56 mm
Parts
92
Nets
246
Pads
711
Tracks, vias
949, 592
Pours
31
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
18 Jul 2026
Updated
18 Jul 2026

Overview

Limejig is an open-source printed circuit board by taskx6004, from the taskx6004/limejig repository on GitHub, published under the MIT licence. It is an 8-layer board of 74 × 128 mm with 92 parts on 246 nets, routed with 949 tracks and 592 vias.

It is built around the RP2040, SN74LVC1G06YZVR and INA236AIYBJR, with the W25Q16JVUXIQ, TPD4EUSB30DQAR and TPS25200DRVR among its other parts. Its parts include 31 resistors, 28 capacitors, 18 connectors, 11 ICs and 1 switch. It belongs with the RP2040 and Raspberry Pi (Linux) boards of this library.

Main components

12

README

README.md

LimeJig

Public source snapshot for the LimeJig V0 LimeSDR Mini fixture.

This repository contains the RP2040 controller firmware, host CLI/Qt source, test policy and result schema, and the editable KiCad schematic/PCB with lean project-local symbol and footprint libraries.

Hardware preview

LimeJig V0 PCB 3D top view

Both previews were exported with KiCad 10.0.3. The schematic PDF comes from the sanitized editable source. The 3D preview is a rendered derivative made with the controlled private model set; the underlying vendor 3D files are not included here.

Privacy and provenance

This is a sanitized source-only repository with new Git history. It does not contain the private production repository, production DUT records, serials, operator logs, HIL/release evidence, fixture recovery captures, credentials, network configuration, deployment images, or fabrication correspondence.

The initial snapshot was prepared from private LimeJig source commit 50d1615f8766ef7c7afc20b8388b80bd5dc6c6c7 without importing that repository's commits or tags. See PUBLIC-SOURCE-MANIFEST.md for the exact inclusion and exclusion boundary.

The records under examples/test-data/ are synthetic documentation/test fixtures. They are not production results.

Source layout

PathContents
firmware/rp2040/RP2040 firmware and source-level verification helpers
host/cli/Fixture and DUT workflow command-line helpers
host/gui/Qt 6 operator GUI
host/python/Shared policy and crash-safe result-record support
host/kiosk/Linux kiosk integration
policy/DUT acceptance policy and limejig.result/v1 schema
hardware/kicad/Editable KiCad V0 schematic, PCB, symbols, and footprints
examples/test-data/Small synthetic pass/fail examples only
docs/rendered/Public schematic PDF and top-side PCB 3D preview
tools/check-public.shPublic-tree syntax, privacy, and optional GUI checks

CM5 account and installation boundary

This repository does not define a default login or password. Never assume that a credential used on a development fixture is suitable for another jig. Create each appliance credential during OS provisioning, prefer SSH keys, and use a unique password if password login remains enabled.

The supplied kiosk service runs as the dedicated limejig OS account and uses /var/lib/limejig as its working directory. A manual deployment must create that account and directory, grant the hardware permissions required by the fixture, install the runtime files, and only then enable the service. Merely cloning this repository does not perform those system changes.

There is no LimeJig apt repository or public CM5 appliance bootstrap in this snapshot. The apt command in the GitHub Actions workflow installs only the generic dependency needed by the public source check; it is not a jig install procedure. A CM5 that already has the controlled appliance packages and their dependencies can use this source for review and development. A fresh CM5 needs an independently maintained OS/package provisioning procedure.

Important limitations

  • Vendor datasheets, spreadsheets, STEP/WRL models, fabrication exports, board archives, and package/deployment payloads are intentionally absent.
  • KiCad files retain references to omitted 3D assets. Schematic and PCB editing remain available, but complete 3D rendering requires the user to source correctly licensed models independently.
  • CM5 image creation, Debian appliance packaging, factory recovery, and signed production-release reproduction require private controlled inputs and are not represented as public build targets.
  • The FT601 recovery and QSPI restore self-tests require intentionally omitted stock EEPROM/gateware images. The public gate checks those helpers' syntax and CLI surfaces but cannot execute their binary-dependent recovery self-tests.
  • This snapshot is useful for source review and development; it is not a production acceptance record or a replacement for a released fixture bundle.

Quick checks

Run the non-hardware public gate:

sh
tools/check-public.sh --skip-gui

With Qt 6 development packages, CMake, and Ninja installed:

sh
tools/check-public.sh

Firmware build prerequisites and commands are described in firmware/rp2040/README.md. No command above accesses USB devices, fixture power, FT601 EEPROM, QSPI flash, or a DUT.

Licensing

LimeJig is released under the MIT License; see LICENSE. Inherited RP2040 DirtyJTAG material also retains its original MIT notices in firmware/rp2040/LICENSE and applicable source headers.

Parts

92
QtyValueFootprintReferences
16100nFMANUAL_PASSIVES:C_0201C6, C7, C8, C10, C12, C13, C14, C15, C16, C17, C18, C20, C21, C23, C24, C25
8100kMANUAL_PASSIVES:R_0201R12, R15, R17, R21, R22, R25, R26, R27
71kMANUAL_PASSIVES:R_0201R1, R2, R3, R4, R10, R18, R31
6~MANUAL_MECHANICAL:standoff-phi=3.2-5P1, P2, P3, P4, P8, P9
447uFMANUAL_PASSIVES:C_0805C22, C26, C27, C28
30RMANUAL_PASSIVES:R_0201R6, R9, R29
3100nFMANUAL_PASSIVES:C_0402C1, C4, C5
310kMANUAL_PASSIVES:R_0201R5, R11, R20
215pMANUAL_PASSIVES:C_0201C2, C3
21uMANUAL_PASSIVES:C_0402C9, C11
22305018-2MANUAL_CONNECTORS:TE_2305018-2_USB-C_Receptacle_OnBoardJ4, J5
227RMANUAL_PASSIVES:R_0201R13, R14
2300kMANUAL_PASSIVES:R_0201R23, R28
24.7kMANUAL_PASSIVES:R_0201R8, R19
268kMANUAL_PASSIVES:R_0201R16, R24
2TPD4EUSB30DQARMANUAL_GENERATED:TPD4EUSB30DQAR_DQA_USON-10_1x2.5mm_P0.5mmU1, U2
2TPS25200DRVRMANUAL_GENERATED:TPS25200DRVR_DRV_WSON-6_2x2mm_P0.65mm_EP1x1.6mmU9, U10
2~MANUAL_MECHANICAL:standoff-phi=3.2P5, P6
10.02RMANUAL_PASSIVES:PA2512FKE7W0R02E_2512_CurrentSenseR7
11nFMANUAL_PASSIVES:C_0201C19
12.2kMANUAL_PASSIVES:R_0402R30
12171790001MANUAL_CONNECTORS:Molex_2171790001_USB-C_Receptacle_16P_TopMountJ7
1690-019-298-412MANUAL_CONNECTORS:EDAC_690-019-298-412J8
1ABM8-272-T3MANUAL_GENERATED:ABM8-272-T3_ABM8G_3225_4PinY1
1BM04B-SRSS-TB(LF)(SN)MANUAL_CONNECTORS:JST_SH_BM04B-SRSS-TB_1x04-1MP_P1.00mm_VerticalJ9
1CM5MANUAL_CM5:CM5XA1
1EVPAEBB2AMANUAL_GENERATED:EVPAEBB2ASW1
1INA236AIYBJRMANUAL_GENERATED:INA236AIYBJR_YBJ_DSBGA-8_P0.4mmU4
1LPJG0926HENLMANUAL_CONNECTORS:LPJG0926HENLJ6
1MHPA1010RGBDTMANUAL_GENERATED:MHPA1010RGBDT_1010_RGBLD1
1RP2040MANUAL_GENERATED:RP2040_QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mmU7
1RT9742SNGVMANUAL_GENERATED:RT9742SNGV_SOT-23-3U3
1SN74AXC4T774RSVRMANUAL_GENERATED:SN74AXC4T774RSVR_RSV_UQFN-16_1.8x2.6mm_P0.4mmU11
1SN74LVC1G06YZVRMANUAL_GENERATED:SN74LVC1G06YZVR_Texas_YZV_DSBGA-4_1.25x1.25mm_P0.5mmU8
1TMUXHS221NKGRMANUAL_GENERATED:TMUXHS221NKGR_NKG_UQFN-10_1.4x1.8mm_P0.4mmU5
1W25Q16JVUXIQMANUAL_GENERATED:W25Q16JVUXIQ_USON-8_3x2mm_P0.5mm_EP0.2x1.6mmU6
1YZ85915058P-07025-01MANUAL_CONNECTORS:YZ85915058P-07025-01J1
1YZ85915058P-07025-01-2MANUAL_CONNECTORS:YZ85915058P-07025-01-2J2
1YZ85915058P-07025-01-5MANUAL_CONNECTORS:YZ85915058P-07025-01-5J3
1~MANUAL_MECHANICAL:standoff-phi=2.7P7

Questions

How big is the Limejig PCB?

It measures 74 × 128 mm and has 8 copper layers, 1.56 mm thick.

What parts does the Limejig use?

92 parts, built around the RP2040, SN74LVC1G06YZVR, INA236AIYBJR and W25Q16JVUXIQ. 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 Limejig KiCad files?

From the taskx6004/limejig repository on GitHub, at the commit this page was made from: the board is hardware/kicad/limejig.kicad_pcb and its schematic hardware/kicad/limejig.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Limejig design in my own project?

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

Similar boards

  • 2 layers145.8 × 76.9 mmCm4-robo controller, the printed circuit board in 3D

    Cm4-robo controller

    jrseti/Dish

    Simple controller with toggle switches to move the dish motors

    49 partsCC0-1.0
  • 8 layers106 × 62 mmCm5-m2key b usb3-ix, the printed circuit board in 3D

    Cm5-m2key b usb3-ix

    taskx6004/AnyRadio-CM5

    modular RPI CM5 carrier board

    224 parts42
  • 4 layers62.1 × 83.8 mmSs main board, the printed circuit board in 3D

    Ss main board

    loopj/short-stack

    World's Smallest Nintendo Wii, using a trimmed motherboard and custom stacked PCBs

    69 parts804
  • 4 layers170 × 170 mmDutlink, the printed circuit board in 3D

    Dutlink

    the78mole/jumpstarter-mono

    This is a monorepo containing all jumpstarter tools and (hopefully) adds a standalone server soon.

    144 partsApache-2.0
  • 8 layers55 × 40 mmCm5-nano compatible, the printed circuit board in 3D

    Cm5-nano compatible

    david0ha/astra-cm5-nano

    KiCad files and specifications for a 55 × 40 mm CM5 carrier board.

    74 parts
  • 6 layers62.1 × 56.2 mmDM0003, the printed circuit board in 3D

    DM0003

    dioderobot/demo

    Demo for diode boards

    82 parts3
  • 4 layers22.9 × 61 mmPico ice, the printed circuit board in 3D

    Pico ice

    tinyvision-ai-inc/pico-ice

    Raspberry Pi PICO board + Lattice iCE40 FPGA's

    109 parts203MIT