Skip to the content
6 layers22.2 × 22 mmSoldiercrab, the printed circuit board in 3D

An embeddable FPGA SoM designed for high-speed audio and USB applications.

Size
22.2 × 22 mm
Copper layers
6
Thickness
0.85 mm
Parts
77
Nets
188
Pads
575
Tracks, vias
1,499, 191
Pours
8
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
4 Jun 2024
Updated
27 Oct 2026

Overview

Soldiercrab is an open-source printed circuit board by apfaudio, from the apfaudio/soldiercrab repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 6-layer board of 22.2 × 22 mm with 77 parts on 188 nets, routed with 1,499 tracks and 191 vias.

It is built around the USB3343-CP and W25Q128JVPIQ. Its parts include 42 capacitors, 18 resistors, 7 ICs, 2 diodes and 1 connector. It belongs with the audio and music and fPGA and programmable logic boards and the FPGA and CPLD boards of this library.

Main components

2

README

README.md

SoldierCrab

SoldierCrab is an embeddable FPGA SoM (System-on-Module) designed for use in high-speed audio and USB applications. It is the brain of tiliqua and other apf.audio products, and looks like this:

image

A high-level block diagram:

image

SoldierCrab has the following core features:

  • ECP5 FPGA: -25K or -45K variant, caBGA256 (note: SERDES/PCIe not available in this package!)
  • HyperRAM / oSPI-RAM: tested up to 3.2Gbit/sec, or 3.8Gbit/sec with timing violations :)
  • USB2 HS PHY: 480Mbit/sec, with exposed ID, it can be used in device or host mode
  • 1V1 / 1V8 / 2V5 regulators onboard, 3V3 is all that's needed
  • PROGRAMN internally looped back for multibooting bitstreams / internal bootloader
  • 2 indicator LEDs on the PCBA
  • 48MHz master clock
  • Card edge is basically: 47 exposed general purpose pins + 4-pin JTAG + USB2
  • 22mmx22mm board size with M.2 E-key card edge (see 'Physical Compatibility' below)

Hardware Revisions

There are currently 2 revisions of SoldierCrab in the wild.

  • R2.0: LFE5U-45 with 7KL1282GAHY02 (3.3V HyperRAM, tested up to 200MB/sec)
  • R3.0: LFE5U-25 with APS256XXN-OBR (1.8V oSPI-RAM, tested up to 400MB/sec)

PDF schematics for both can be found in the schematics-pdf folder.

Footprint / Physical Compatibility

The SoldierCrab is 22mmx22mm (+/- 0.3mm) with an M.2 E-key connector and offset mounting hole. The mounting hole is offset such that this board is physically compatible with the SparkFun MicroMod format, however we do not claim electrical compatibility with it (even though this SoM will work with some MicroMod boards, the JTAG and I2C connections are in the wrong place for us to claim complete compatibility - this is intentional design choice to save routing space whilst trying to remain close to some kind of SoM standard).

On my carrier boards, as a connector I am using a TE Connectivity 2199230-4.

A nice resource for designing appropriate carrier boards can be found here. However, keep the above in mind, make sure your JTAG and I2C pinouts match the SoldierCrab ones.

Pinout

Aside from in the schematic, you can find a (tested!) version of the SoM pinout in amaranth-boards format here in the Tiliqua repository.

R3.0 Complementary Pairs

These pins on the M.2 connector are best for differential outputs (e.g. DVI).

text
6 are adjacent on the same side:
[(13, 15), (20, 22), (52, 54), (58, 60), (62, 64), (68, 70)]
2 are almost adjacent (1 pin gap) on the same side:
[(55, 59), (67, 71)]
10 not adjacent (>1pin gap or different sides):
[(6, 17), (11, 19), (34, 35), (38, 41), (37, 43), (40, 47), (46, 57),, (63, 69)]

Where do I get one?

Pre-assembled and tested SoldierCrabs are available on Crowd Supply (ships from US) or by emailing me (ships from EU).

I've also published an open-hardware carrier board called 'sandflat' which is a cheaper (and less feature-rich) alternative to Tiliqua, if you're just wanting to test out SoldierCrab in your own domain.

Bootloader

In theory, this SoM could bootload itself over the ULPI USB2 PHY, however I haven't started on this yet. This means a carrier board must expose the JTAG pins for an external programmer (check the schematic).

Builds on the following (awesome) open-hardware projects

License

Copyright (C) 2024 S. Holzapfel

The files in this project are largely covered under the CERN Open-Hardware License V2 CERN-OHL-S, mirrored in the LICENSE text in this repository. This LICENSE and copyright notice do NOT apply to imported artifacts in this repository (i.e datasheets, third-party 3D models, symbols or footprints), or to dependencies released under a different (but compatible) open-source license.

Derivative works

As an addendum to the above license: if you create or manufacture your own derivative hardware, the name apf.audio, the names of any apf.audio products and the names of the authors, are not to be used in derivative hardware or marketing materials, except where obligated for attribution and for retaining the above copyright notice.

For example, your adaptation of "apf.audio SoldierCrab" could be called "Sandy Modular - Clawcruncher".

Parts

77
QtyValueFootprintReferences
140.1uFCapacitor_SMD:C_0402_1005MetricC7, C9, C10, C11, C12, C14, C15, C24, C26, C31, C32, C33, C35, C65
141uFCapacitor_SMD:C_0402_1005MetricC5, C8, C13, C16, C17, C18, C19, C21, C22, C79, C80, C81, C82, C83
52.2uFCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C4, C23
4LOGOLOGOG***, G***, G***, G***
310uFCapacitor_SMD:C_0402_1005MetricC6, C28, C29
31uFCapacitor_SMD:C_0201_0603MetricC34, C36, C37
35.1kResistor_SMD:R_0402_1005MetricR6, R13, R109
227RResistor_SMD:R_0201_0603MetricR9, R10
2330Resistor_SMD:R_0402_1005MetricR12, R14
2330RResistor_SMD:R_0402_1005MetricR11, R15
24.7uFCapacitor_SMD:C_0402_1005MetricC20, C27
2LED 0402 REDLED_SMD:LED_0402_1005MetricD1, D2
10RResistor_SMD:R_0201_0603MetricR16
1100kResistor_SMD:R_0201_0603MetricR2
110kResistor_SMD:R_0201_0603MetricR1
110kResistor_SMD:R_0402_1005MetricR110
110pFCapacitor_SMD:C_0201_0603MetricC25
1120kResistor_SMD:R_0201_0603MetricR3
12.2kResistor_SMD:R_0402_1005MetricR5
12.2uHInductor_SMD:L_0805_2012MetricL1
120KResistor_SMD:R_0402_1005MetricR8
1330Resistor_SMD:R_0201_0603MetricR108
18.06kResistor_SMD:R_0201_0603MetricR7
1ECP5-BGA256soldiercrab:lattice_cabga256IC1
1MICROMOD-2222soldiercrab:M.2-CARD-E-22J1
1NCP115-1.8soldiercrab:Texas_X2SON-4_1x1mm_P0.65mmU4
1NCP115-2.5soldiercrab:Texas_X2SON-4_1x1mm_P0.65mmU2
1Osc48MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
1PSRAM (oSPI /HyperRAM)soldiercrab:BGA-24_5x5_6.0x8.0mmU10
1TLV62569ADRLRPackage_TO_SOT_SMD:SOT-563U1
1USB3343Package_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mmU3
1W25Q128JVPpackage-son:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4mmU7

The 76 most common of 77 parts.

Similar boards

  • 2 layers58.2 × 38.1 mmUsb sniffer, the printed circuit board in 3D

    Usb sniffer

    ataradov/usb-sniffer

    Low-cost LS/FS/HS USB sniffer with Wireshark interface

    87 parts1.3kBSD-3-Clause
  • 4 layers101.6 × 101.6 mmISASTM, the printed circuit board in 3D

    ISASTM

    Manawyrm/ISASTM

    STM32-based ISA-over-USB-adapter

    141 parts136GPL-3.0
  • 2 layers73.7 × 53.3 mmRhododendron, the printed circuit board in 3D

    Rhododendron

    greatfet-hardware/rhododendron

    high-speed USB analyzer neighbor

    55 parts17
  • 2 layers70.7 × 53.3 mmRhododendron, the printed circuit board in 3D

    Rhododendron

    ktemkin/greatfet-rhododendron

    Ultra-low-cost high-speed analyzer neighbor for GreatFET

    46 parts6
  • 2 layers64 × 39 mmDAP405, the printed circuit board in 3D

    DAP405

    SushiBits/DAP405

    USB High-Speed CMSIS-DAP debugger based on STM32F405

    50 parts3
  • 4 layers92 × 64 mmDalishen pi h7p20, the printed circuit board in 3D

    Dalishen pi h7p20

    vllogic/dalishen_pi_h7p20

    # English # I. Introduction Hardware design format: KiCad 9.0.6 The CH32H417 serves as a USB 3.0 forwarder, with a unidirectional communication speed of up to 400MB/s, breaking the speed bottleneck of the 68013.

    237 parts3GPL-3.0
  • 4 layers39.5 × 80 mmTrion-8-test, the printed circuit board in 3D

    Trion-8-test

    till-s/trion-lqfp144-test

    base-design for efinix trion in lqfp144 package

    187 parts1
  • 6 layers70 × 27 mmUSB Dongle KiCad, the printed circuit board in 3D

    USB Dongle KiCad

    The810man/cross_pcb

    KiCad project to create a custom USB-C key with mass storage and a microSD connector. Find all the KiCad schematics and layout files.

    58 parts

Questions

How big is the Soldiercrab PCB?

It measures 22.2 × 22 mm and has 6 copper layers, 0.85 mm thick.

What parts does the Soldiercrab use?

77 parts, built around the USB3343-CP and W25Q128JVPIQ. 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 Soldiercrab KiCad files?

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

Can I use the Soldiercrab design in my own project?

Its repository publishes it under the CERN-OHL-S-2.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).