Skip to the content
4 layers13 × 9.4 mmTomu fpga, the printed circuit board in 3D

Web-based PCB boardview viewer for board-level repair. 14 formats: BVR1/3, BRD, BDV, BDV ASC, FZ, GenCAD, Mentor Neutral, XZZ, TVW, Allegro v15-v18, Altium, KiCad, EAGLE. GPU-accelerated, dockable panels, self-hosted via Docker.

Size
13 × 9.4 mm
Copper layers
4
Thickness
0.6 mm
Parts
55
Nets
31
Pads
222
Tracks, vias
579, 249
Pours
24
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
19 Mar 2026
Updated
29 Oct 2026

Overview

Tomu fpga is an open-source printed circuit board by AlexeyInwerp, from the AlexeyInwerp/BoardRipper repository on GitHub, published under the AGPL-3.0 licence. It is a 4-layer board of 13 × 9.4 mm with 55 parts on 31 nets, routed with 579 tracks and 249 vias.

It is built around the ICE40UP5K-UWG30ITR, D5V0L1B2LP3-7-HXY and VCUT05E1-SD0. Its parts include 18 capacitors, 8 ICs, 7 diodes, 6 resistors and 1 switch. It belongs with the fPGA and programmable logic boards and the FPGA and CPLD boards of this library.

Main components

3

README

README.md

BoardRipper

Web-based PCB boardview viewer for board-level repair. Fifteen boardview formats and the matching PDF schematic, side by side, in a browser. GPU-accelerated rendering, dockable panels, self-hosted via Docker. Free, AGPL-3.0.

Boardview and PDF schematic side by side — instant cross-reference

A polished overview with screenshots lives at https://www.ripperdoc.de/boardripper/. This README is the developer- and operator-facing companion: stack details, Docker setup, build instructions, license notes.

Bring your own files. BoardRipper is the viewer only — it does not ship with any boardview files, schematics, or PDFs. The bundled board database is reference metadata (board numbers and device models), no copyrighted content.

Discord: https://discord.gg/BYEkKTMNNY — the RipperDoc server.

You can request features and tools there, or on GitHub — whichever you prefer. There is also a small repair community on the server.

Run it in your browser — no install

Besides the Docker build there's a lite build: the full viewer/inspector running entirely client-side, no backend. Open your own boardview files and PDFs locally — nothing is uploaded, nothing is stored server-side. There's no shared library, board database, or self-update (those need the backend), but all rendering, inspection, net-highlight, multi-layer, themes, and PDF viewing work.

  • Open it now — https://www.ripperdoc.de/boardripper/web/. Runs in the browser; installable as an offline PWA. An Offline copy button (top-right) downloads the single-file build.
  • Offline single file — boardripper-lite.html (~7 MB). Save it and open it from any browser — fully offline, no server, no internet. Copy it to a USB stick for the bench.

Same codebase as the Docker build — npm run build:lite / npm run build:offline in src/frontend/. See src/frontend/LITE_BUILD.md.

Features

  • GPU-accelerated rendering — PixiJS v8 / WebGL, 10,000+ components at 60 fps on a modern GPU. Bench-tested down to Intel HD 4000-era integrated graphics (10–30 fps).
  • Fifteen board formats — see table below. Both .cad and .brd are shared extensions; BoardRipper sniffs file content to pick the right parser.
  • PDF schematic, in sync — pan, zoom, text search, bookmarks, night mode. Right-click a net on the board to search it in the schematic.
  • Multi-board tabs — open several boards at once, switch between them.
  • Multi-layer support — show/hide top, bottom, and inner layers independently. Butterfly mode shows top and bottom side by side.
  • Net highlight — click a pin and the whole net lights up across the board. Chain-adjacent mode walks through neighbouring nets too.
  • Part comparison — put one component's pinout next to the same chip on another open board, pin by pin. Where the net names differ, BoardRipper checks what each net actually touches and reads the naming conventions boards use — a pin marked unused, a rail written two ways — so a board that was only renamed does not read as a fault. Optionally marks the differing pins on the board itself.
  • Touch input — pinch-zoom, drag-pan, tap to select. Usable on a tablet at the bench.
  • Customizable colors — per-net rules by name pattern (e.g. GND, VCC, PP*), per-component-type fills (R / C / L / U / Q / D / J), per-layer colors, label / pin / outline tuning. Live preview before applying.
  • Multi-line search — each line is an extra AND-filter, useful when a component carries value and voltage on separate label lines (20uF ⨯ 10V ⨯ C12*).
  • Drag-and-drop import — drop a board file or a folder onto the window and it loads. To persist drops across container restarts, mount a writable folder at /library/incoming (see Docker setup).
  • Board library — scan folders, browse by board number or model. Filenames are auto-sorted; board numbers, manufacturers, and revisions are parsed automatically.
  • Board database with heuristics — a bundled reference DB maps board numbers to manufacturer / ODM / laptop or phone model and groups boards by device.
  • PDF auto-link — boards and their schematics get matched up automatically when both are present in the same library.
  • IndexedDB cache — re-open without re-parsing.
  • Self-update — one-click signed update from the toolbar. No GitHub token required; updates are signed with an offline Ed25519 key and verified by the running container before install.

Multi-layer Allegro BRD with layer sidebar — toggle signal, power, and ground planes independently

  • Panel system — Dockview: dockable, floating, and popout-to-new-window panels.
    • Board viewer, with a sidebar for part info, layers, search, revisions, notes and the worklist
    • PDF Viewer
    • Library, History and Tools (calculators, part comparison, worklists)
    • Settings (live preview mockup, per-net color rules, label/pin/outline tuning)
    • Debug Panel (scoped log viewer, frame-time)
  • Electron desktop wrapper — standalone macOS (universal + legacy) and Windows builds.

Multiple boards of different formats open simultaneously in tabs — BVR, BRD, FZ, TVW, XZZ

Supported file formats

FormatExtension(s)DescriptionSpec
BVR1.bvr / .bvTab-delimited boardview, coordinates ×1000 → milsBVR_FORMAT.md
BVR3.bvr / .bvKeyword-value boardview, relative pin coordinatesBVR_FORMAT.md
BRD.brdApple / Mac repair, bit-rotation obfuscated binaryBRD_FORMAT.md
BDV.brd / .bdvPlain-text boardview (BRDOUT / NETS / PARTS / PINS / NAILS)BDV_FORMAT.md
BDV ASC.bdvHonhan / Tebo-ICT obfuscated multi-section ASC (line-key cipher)BDV_ASC_FORMAT.md
FZ.fzASUS, RC6-encrypted, zlib-compressedFZ_FORMAT.md
CAE.caeASRock PCBRepair Pro; same container and cipher as FZ, different key. Not yet verified against a real fileFZ_FORMAT.md
GenCAD.cadGenCAD 1.4 PCB interchange (text)CAD_FORMAT.md
Mentor Neutral.cadMentor Boardstation neutral file (Samsung / Quanta / Compal exports)MENTOR_NEUTRAL_FORMAT.md
XZZ.pcbXZZ PCB, DES-encrypted boardviewXZZ_FORMAT.md
TVW.tvwTeboview binary, multi-layer + traces + drill dataTVW_FORMAT.md
Cadence Allegro BRD.brdCadence Allegro PCB binary, v16.x / v17.x / v18.xALLEGRO_BRD_FORMAT.md
↳ Allegro v15.x.brdSame parser family, partial coverage, still in betaALLEGRO_V15_FORMAT.md
Altium PCB.PcbDoc / .CMPcbDoc / .CSPcbDocAltium Designer 6.0+, Circuit Maker / Circuit Studio; binary CFB + ASCII v5.0ALTIUM_PCB_FORMAT.md
KiCad.kicad_pcbKiCad 4–9 board file: parts, pins, nets, outline with cutouts, tracks, vias, copper poursKICAD_PCB_FORMAT.md
EAGLE.brdAutodesk / CadSoft EAGLE 6.0+ XML board; parts resolved through library packagesEAGLE_BRD_FORMAT.md

Obscure CAD file with multiple boards stacked into one document — all outlines and components rendered correctly alongside the matching PDF

Keyboard shortcuts

The full, always-current list lives in Settings ▸ Input ▸ Keyboard Shortcuts (and on the home-screen Getting Started card). The headline shortcuts:

Open board / PDF⌘O / ⌘P (Mac) · Ctrl+O / Ctrl+P (Win/Linux)
Find (selection-aware)⌘F / Ctrl+F — prefills PDF search with the selected component or net
Pan board / PDFW A S D or Alt+arrows
Rotate boardQ / E (CCW / CW) or ⌘← / ⌘→
Mirror board⌘↑ / Ctrl+↑
Flip layer (top ↔ bottom)Space
Zoom in / outShift+W / Shift+S (centred on canvas)
Toggle Library sidebar~ — the physical key left of 1 (Backquote / IntlBackslash); works on US, German, and most other layouts
Jump board ↔ PDFTab
PDF page navPgUp / PgDn, or ↑ / ↓ while a PDF panel is active and has no search matches (Home / End for first / last)

The keyboard pan and zoom step sizes are configurable in Settings ▸ Input ▸ Navigation ▸ Keyboard pan / zoom. The right-click context menu adds a top-row icon strip with Copy net / Copy part / Search net / Search part (board) and Copy / Search Web (PDF text) — search opens Google in a new tab.

Layout note. WSAD/QE/Shift+WS bind to the printed letter on your keyboard, so on AZERTY layouts the keys are physically Z/Q/S/D rather than the W/A/S/D positions — a layout-aware remapping is on the roadmap. The ~ library toggle is layout-independent.

Stack

LayerTechnology
RenderingPixiJS v8 + pixi-viewport v6 (WebGL)
FrontendReact 19 + TypeScript + Vite 7
PanelsDockview v5
BackendGo (net/http stdlib)
ContainerDocker multi-stage, scratch-based, ~28 MB image / ~14 MB compressed
DesktopElectron (macOS universal + Windows)
TestsPlaywright (Chromium headless)

Quick start

BoardRipper is primarily a server you run on a NAS or host machine and access from any browser on your network. Standalone binaries and desktop Electron wrappers are available as alternatives.

Docker (typical deployment)

bash
docker compose up -d      # the checked-in compose file BUILDS the image from source (build: .)
# → http://localhost:8081

It mounts ./library, which starts empty — put your board folders in there or edit the volumes: block to mount them read-only (see Docker setup). On first visit the app asks to index the library and offers automatic board↔PDF linking and the OpenBoardData download.

Or pull directly:

bash
docker pull ghcr.io/alexeyinwerp/boardripper:latest

Mount your board-file folders under /library to expose them in the Library panel — see Docker Setup below.

Build from source

bash
git clone https://github.com/AlexeyInwerp/BoardRipper.git
cd BoardRipper

# Build the frontend bundle:
cd src/frontend && npm install && npm run build && cd ../..

# Run the Go server pointing at the built bundle (go.mod lives in src/backend):
cd src/backend
STATIC_DIR=../frontend/dist DATA_DIR=../../data LIBRARY_DIR=/path/to/boards go run .
# → http://localhost:8080

The released artifact is the Docker image (above) — no per-platform standalone binaries are published. If you need a portable binary, build the Go server with cd src/backend && CGO_ENABLED=0 go build -o boardripper . and ship it next to the dist/ directory and a STATIC_DIR= env var. Set LIBRARY_DIR to the folder to index — without it the server indexes DATA_DIR. Self-update only works in Docker (it needs the host's Docker socket).

Development

bash
# Frontend (hot reload)
cd src/frontend && npm install && npm run dev    # http://localhost:8082

# Backend (separate terminal) — the Vite dev proxy targets port 1336
cd src/backend && PORT=1336 go run .             # http://localhost:1336

Docker setup

docker-compose.yml

yaml
services:
  boardripper:
    image: ghcr.io/alexeyinwerp/boardripper:latest    # the repo's own docker-compose.yml says `build: .` instead
    # The image ships USER 65532:65532 (distroless `nonroot`) so a hypothetical
    # RCE doesn't own your bind-mounted /data. The default `docker compose up`
    # flow creates ./data as root on Linux hosts (Docker daemon runs as root),
    # which UID 65532 can't then write — the container exits at databank.Open
    # with "unable to open database file". Override to root for the compose
    # path, matching what NASdeploy.sh already does. Alternatively, remove this
    # line and either (a) `chown -R 65532:65532 ./data` before `up -d`, or
    # (b) switch ./data to a named volume — Docker initializes named volumes
    # from /data inside the image (pre-chowned to 65532 in the Dockerfile).
    user: "0:0"
    ports:
      - "8081:8080"              # access at http://your-host:8081
    volumes:
      - ./data:/data             # uploaded board files + cache persist here
      # Your library: mount EVERYTHING read-only (:ro) by default.
      - /path/to/MacBooks:/library/MacBooks:ro
      - /path/to/iPhones:/library/iPhones:ro
      - /path/to/Schematics:/library/Schematics:ro
      # The ONLY writable mount the container should ever see:
      - /path/to/incoming:/library/incoming:rw
      # Docker socket (required for self-update — see Self-Update below):

Volume mounting

The Library panel browses the /library directory inside the container. Mount your board-file folders as subdirectories of /library:

text
-v /nas/boards/MacBooks:/library/MacBooks:ro
-v /nas/boards/iPhones:/library/iPhones:ro
-v /nas/schematics:/library/Schematics:ro
-v /nas/incoming:/library/incoming:rw

These appear as top-level folders in the Library panel. Use :ro for read-only by default. /library/incoming is the only path BoardRipper needs to be able to write to — that's where drag-dropped files land. The container does not need write access to your existing board folders, your schematics, or anything else.

Synology NAS (DSM 7.2+)

  1. Download boardripper-<version>.tar.gz (or latest.tar.gz) from https://www.ripperdoc.de/boardripper/releases/
  2. SSH into your NAS and load the image:
    bash
    docker load < boardripper-<version>.tar.gz
  3. Create the container. --user 0:0 is needed because DSM creates the data folder root-owned and the image runs as UID 65532 otherwise (the container would exit with "unable to open database file"); /library/incoming is where drag-dropped files land:
    bash
    docker run -d \
      --name boardripper \
      --user 0:0 \
      -p 8090:8080 \
      --memory 2g \
      -v /volume1/docker/boardripper/data:/data \
      -v /volume1/your-boards/MacBooks:/library/MacBooks:ro \
      -v /volume1/your-boards/iPhones:/library/iPhones:ro \
      -v /volume1/docker/boardripper/incoming:/library/incoming:rw \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -e PORT=8080 \
      --restart unless-stopped \
      ghcr.io/alexeyinwerp/boardripper:latest
  4. Open http://your-nas-ip:8090

Self-update

BoardRipper can update itself when running in Docker:

  1. Click the version badge in the toolbar to check for updates.
  2. If an update is available, click Update & Restart.
  3. The container pulls the new image and restarts automatically.

Requires:

  • Docker socket mounted (-v /var/run/docker.sock:/var/run/docker.sock).

The signed release manifest is fetched from https://www.ripperdoc.de/boardripper/manifest.json and verified against an Ed25519 public key compiled into the running binary before any I/O on the body — a hijacked mirror cannot deliver a forged update. Once the manifest verifies, the image itself is pulled by content-addressed digest from ghcr.io/alexeyinwerp/boardripper@sha256:…; the signed tarball mirror is the fallback if GHCR is unreachable. The pipeline also enforces a monotonic counter (replay defence), a 30-day freshness window, a 90-day expiry, and a min_supported_version downgrade defence. See docs/RELEASE_RUNBOOK.md for the maintainer-side release procedure.

Drop-to-update fallback

For installs that can't reach the registry or the mirror (firewalled networks, air-gapped shops, recovery from a broken self-update):

  1. Download latest-update.tar from https://www.ripperdoc.de/boardripper/releases/latest-update.tar (signed bundle: manifest + signature + image, ~13 MB).
  2. Drag the file anywhere on the BoardRipper UI.
  3. Confirm the prompt; the running container verifies the signature, applies the update, and restarts.
  4. The browser reloads after ~30 s.

Same trust envelope as the in-app updater — the manifest signature is what grants trust, the file itself is treated as untrusted bytes until verification passes.

Manual update

bash
docker pull ghcr.io/alexeyinwerp/boardripper:latest
docker compose down && docker compose up -d

Or with a downloaded tarball:

bash
docker load < boardripper-docker-<new-version>.tar.gz
docker compose down && docker compose up -d

Older versions

Historical releases live at https://www.ripperdoc.de/boardripper/archive.html — Docker tarballs and signed drop-bundles for v0.19.0 onward, with per-version source links for everything older. The GitHub Releases page intentionally lists only the current release; the archive is the canonical "give me an older version" landing page.

A handful of versions are also kept on GHCR (v0.19.0, v0.19.5, v0.20.5, v0.20.8) for direct docker pull — see the archive table for which ones are still pull-able vs. tarball/source-only.

Electron desktop wrapper (optional)

Prebuilt Electron wrappers are published with every release (BoardRipper-macOS-universal-<version>.zip, BoardRipper-Windows-x64-<version>.zip). They run the same React frontend inside an Electron shell; the Go backend is bundled but runs only while Settings ▸ Integrations ▸ MCP is enabled, and then also brings the library database, board database, OBD and PDF search to the desktop. The Docker / server path is the primary way to deploy BoardRipper; the desktop wrapper is here for single-machine use.

The wrappers are unsigned, so macOS Gatekeeper and Windows SmartScreen will warn on first launch:

  • macOS — after unzipping, run xattr -cr /Applications/BoardRipper.app (or wherever you extracted it), then double-click. On macOS < 15 you can also right-click → Open → Open once, or use System Settings → Privacy & Security → Open Anyway after the first failed launch.
  • Windows — SmartScreen shows "Windows protected your PC". Click More info → Run anyway.

Building the wrappers locally

bash
cd desktop
npm install
node build-all.mjs           # builds macOS universal + legacy + Windows
node build-all.mjs --mac     # macOS only
node build-all.mjs --win     # Windows only

Output in desktop/out/ (macOS), desktop/out-legacy/ (macOS legacy), desktop/out-win/ (Windows).

License

BoardRipper is released under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE for the full text.

This project incorporates code derived from KiCad — the Cadence Allegro BRD reader in src/frontend/src/parsers/allegro/, transliterated from KiCad's pcbnew/pcb_io/allegro/ (GPL-3.0), and the Altium reader in src/frontend/src/parsers/altium/, transliterated from pcbnew/pcb_io/altium/ (GPL-2.0+, one file GPL-3.0+) — which is why AGPL-3.0 was chosen: it is compatible with GPL-3.0 and additionally closes the "SaaS loophole" by requiring source availability to users who interact with a hosted instance over a network.

For a complete list of third-party sources, libraries, and attributions, see THIRD_PARTY.md.

Credits & references

BoardRipper exists because of the reverse-engineering work already done by the boardview community. Each entry below was consulted during development; full attribution and license details are in THIRD_PARTY.md.

Community reverse engineering incorporated into BoardRipper

  • Sean Johnson (@sjohnson1021) — XZZ format work, reverse-engineered independently and reported with full evidence: the through-hole drill diameter in the pin sub-block and the slot geometry for oblong through-holes (#32), the component value carried in a part's second label block (#27), the fact that the oblong-pad pen is the shorter axis rather than a fixed field, the via layer-span correction, and the isOblongRoundPad / drawPinShape / emitPartOutlineShape refactor that unified seven copies of one decision. Attribution is repeated at each site in the source. He also maintains XZZPCB-Layer-Viewer and an ImHex pattern for the format.

Parser references

  • KiCad (GPL-3.0 / GPL-2.0+) — Cadence Allegro BRD and Altium PcbDoc readers, transliterated to TypeScript. The reason BoardRipper as a whole is AGPL-3.0.
  • OpenBoardView (MIT) — reference implementations for BVR1/BVR3, BRD (Apple), BDV (plain-text), BDV ASC (Honhan / Tebo-ICT), FZ (ASUS), GenCAD, XZZ.
  • eagleview by Pavel Kovalenko (MIT) — TVW / Teboview parser source.
  • brd_parser by Jeff Wheeler (MIT) — cross-validation reference for Allegro block layout.
  • piernov's Honhan BDV gist & OpenBoardView issue #2 — identified the BDV ASC signature and line-key cipher.
  • Mentor Boardstation Neutral — original reverse engineering, no third-party code or text incorporated.
  • Cryptographic standards — RC6 by Rivest/Robshaw/Sidney/Yin (FZ), DES / FIPS PUB 46-3 (XZZ). GenCAD 1.4 has no canonical online specification — see docs/formats/CAD_FORMAT.md for the BoardRipper interpretation.

Rendering & runtime

  • PixiJS (MIT) — WebGL renderer
  • pixi-viewport (MIT) — pan/zoom/culling
  • React (MIT) — UI framework
  • Vite (MIT) — build pipeline
  • Dockview (MIT) — dockable / floating / popout panel system
  • pdf.js (Apache-2.0) — PDF rendering and text extraction
  • pdf-lib (MIT) — PDF manipulation
  • opentype.js (MIT) — font glyph extraction
  • Tabler Icons (MIT) — icon set

Backend

Desktop

Corrections and missing attributions are welcome — open an issue, or email mail@ripperdoc.de.

About this software

BoardRipper is not hand-written. The codebase — parsers, renderer, panels, backend — was generated with Claude Code, working from format specs and reference implementations from the boardview community. I review, test, and direct it; the lines of code came out of an LLM.

Treat that as you would any AI-assisted software: it works on the boards I've tested, it has bugs I haven't found yet, and the right level of trust is "a useful viewer, not a forensic tool." Bug reports welcome.

Feedback

  • Discord: @inwerp on the RipperDoc server — feature requests, questions about deployment or file formats, and a small repair community.
  • Bugs and feature requests: file an issue on GitHub, or ask on Discord.
  • Email: mail@ripperdoc.de.

If BoardRipper saves you time, buy me a coffee.

Parts

55
QtyValueFootprintReferences
12Testpointtomu-fpga:testpointTP1, TP2, TP3, TP4, TP5, TP6, TP7, TP8, TP9, TP10, TP11, TP12
100201, 1uF, 10V, X5R, 20%tomu-fpga:C_0201_0603MetricC1, C2, C3, C5, C8, C9, C10, C17, C24, C25
70201, 100nF, 10V, X5R, 20%tomu-fpga:C_0201_0603MetricC4, C7, C11, C20, C21, C23, C28
6D5V0L1B2LP3-7tomu-fpga:X1-DFN1006-2D1, D2, D3, D4, D6, D7
20201, 10k, 1/16Wtomu-fpga:R_0201_0603MetricR1, R5
20201, 22ohm, 1/16W, 1%tomu-fpga:R_0201_0603MetricR11, R12
10201, 1.5k, 1/16W, 1%tomu-fpga:R_0201_0603MetricR9
10201, 100ohm, 1/16W, 1%tomu-fpga:R_0201_0603MetricR10
10402, 10uF, 6.3V, X5R, 20%tomu-fpga:C_0402_1005MetricC22
1Captouch Padstomu-fpga:captouch-edgeSW2
1Casetomu-fpga:nothingXX2
1Crystal Oscillatortomu-fpga:XTAL-2520U7
1ESD Bagtomu-fpga:nothingXX3
1ICE40UP5K-UWG30tomu-fpga:iCE40UP5K-UWG30U5
1LDO-X2SON-1.2Vtomu-fpga:Texas_X2SON-4_1x1mm_P0.65mmU1
1LDO-X2SON-2.5Vtomu-fpga:Texas_X2SON-4_1x1mm_P0.65mmU3
1LDO-X2SON-3.3Vtomu-fpga:Texas_X2SON-4_1x1mm_P0.65mmU2
1RGB-LEDtomu-fpga:LED-RGB-5DS-UHD1110-FKAU10
1SPI Flashtomu-fpga:SON50P300X200X60-9NU4
1Touchpad Mask Removaltomu-fpga:soldermask-removalXX1
1USB-Btomu-fpga:USB-PCBU9
1VCUT05E1-SD0tomu-fpga:TVS-11VD5

Similar boards

  • 4 layers13 × 9.4 mmQomu board, the printed circuit board in 3D

    Qomu board

    QuickLogic-Corp/qomu-dev-board

    100% open source dev kit for EOS S3 MCU+eFPGA SoC supported by fully open source SDK and FPGA Toolchain

    52 parts43CC-BY-SA-4.0
  • 6 layers28.1 × 10.6 mmQomu board, the printed circuit board in 3D

    Qomu board

    antmicro/qomu-dev-board

    This repository contains open hardware design files for the Qomu development board based on the QuickLogic EOS S3 Sensor Processing Platform . The design files were created by Antmicro in cooperation with QuickLogic .

    69 parts4CC-BY-SA-4.0
  • 6 layers70 × 71.1 mmFpga panelized, the printed circuit board in 3D

    Fpga panelized

    linuxboot/flashkeeper

    Documentation | Source | Join us on Matrix!

    374 parts6GPL-3.0
  • 4 layers50 × 30 mmPicodvi, the printed circuit board in 3D

    Picodvi

    Fr4nkFletcher/ESP32-Marauder-Cheap-Yellow-Display

    ESP32Marauder Cheap Yellow Display

    55 parts1.8kMIT
  • 4 layers43 × 49 mmEsppdp, the printed circuit board in 3D

    Esppdp

    Spritetm/esppdp

    ESP32-based PDP11 simulator, based onSimH

    55 parts141
  • 4 layers37 × 34.3 mmReadout 60pin, the printed circuit board in 3D

    Readout 60pin

    opentac/opentac

    OpenTac: open tools to design, fabricate, read and simulate flex-PCB tactile skins that sense normal and shear force, for any robot surface.

    55 parts92MIT
  • 4 layers119 × 73.9 mmFw16 oculink8i, the printed circuit board in 3D

    Fw16 oculink8i

    Terrails/FW16-OCuLink

    The schematic in itself is pretty simple. You only need to connect the TX and RX PCIe lanes to the correct pins of the OCuLink connector.

    55 parts43MIT
  • 4 layers65 × 50 mmUsbbase, the printed circuit board in 3D

    Usbbase

    daveshah1/openMixR

    4k Mixed Reality headset

    55 parts40MIT

Questions

How big is the Tomu fpga PCB?

It measures 13 × 9.4 mm and has 4 copper layers, 0.6 mm thick.

What parts does the Tomu fpga use?

55 parts, built around the ICE40UP5K-UWG30ITR, D5V0L1B2LP3-7-HXY and VCUT05E1-SD0. 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 Tomu fpga KiCad files?

From the AlexeyInwerp/BoardRipper repository on GitHub, at the commit this page was made from: the board is src/frontend/public/samples/tomu-fpga.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Tomu fpga design in my own project?

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