Sphinxmoth
dantidote·sphinxmoth·board/ipod-cf-udma.kicad_pcb
About the Sphinxmoth PCB
Sphinxmoth is an open source FPGA PCB design by dantidote, published on GitHub under the MIT license. It is a 2-layer board measuring 53 × 72 mm, with 31 components from 15 distinct parts.
Its main chip is the LCMXO2-2000HC-4TG100C, from the FPGA family. Other key parts include the AP2112K-3.3TRG1. By type, the board carries 18 capacitors, 5 connectors, 5 resistors, 2 ICs and 1 diode.
It belongs with the retro computing designs in this gallery.
From the project
FPGA interposer that makes flash storage fully work in FireWire iPods (1G/2G): CF or SD, restore, sync, playback. The UDMA-CRC ASIC/PLD that TI's TSB43AA82 reference design called for in 2001.
An active FPGA interposer that lets flash storage (CF, or SD behind an adapter) fully replace the 1.8″ hard drive in a 1st/2nd-generation iPod: boot, standalone playback, and full-speed FireWire restore + iTunes sync.
This is the first time in the ~25 years since these iPods shipped that all of that works at once on flash storage. Passive adapters never could, and it turns out they never could have. The reason was documented by Texas Instruments in 2001.

Main components on the Sphinxmoth
Sphinxmoth bill of materials (BOM)
31 components, 15 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | LCMXO2-2000HC-4TG100C | TQFP-100_14x14mm_P0.5mm | U1 |
| 1 | AP2112K-3.3TRG1 AP2112K-3.3 | SOT-23-5 | U2 |
| 1 | SPECIALTY-iPod-1.8in-50pin iPod 1.8in 50-pin | iPod_1.8in_50pin | J1 |
| 1 | N7E50-E516PK-30 CF socket | CF-Card_3M_N7E50-E516xx-30 | J2 |
| 1 | USB4125-GF-A-0190 USB-C | USB_C_Receptacle_GCT_USB4125-xx-x_6P_TopMnt_Horizontal | J4 |
| 1 | DNP-optional-header UART | PinHeader_1x04_P1.27mm_Vertical_SMD_Pin1Left | J5 |
| 1 | DNP-solderjumper PWR_SEL | PinHeader_1x03_P1.27mm_Vertical_SMD_Pin1Left | J6 |
| 1 | 150060GS75000 LED | LED_0603_1608Metric | D1 |
| 12 | CL05B104KO5NNNC 100nF | C_0402_1005Metric | C1, C2, C3, C4, C6, C7, C8, C9 +4 |
| 1 | CL10A475KO8NNNC 4.7uF | C_0603_1608Metric | C5 |
| 2 | C2012X5R1E106K125AB 10uF | C_0805_2012Metric | C10, C16 |
| 3 | CL05A105KA5NNNC 1uF | C_0402_1005Metric | C15, C17, C18 |
| 2 | CRCW040210K0FKED 10k | R_0402_1005Metric | R1, R2 |
| 1 | RC0402FR-07330RL 330R | R_0402_1005Metric | R7 |
| 2 | RC0402FR-075K1L 5.1k | R_0402_1005Metric | R8, R9 |
Sphinxmoth design files
The KiCad project lives in the dantidote/sphinxmoth repository on GitHub; these links point at the commit this page was built from.
- Layoutboard/ipod-cf-udma.kicad_pcb
- Schematicboard/ipod-cf-udma.kicad_sch
- BOMboard/BOM.csv
Sphinxmoth: common questions
What microcontroller does the Sphinxmoth use?
The Sphinxmoth is built around the LCMXO2-2000HC-4TG100C, from the FPGA family.
How big is the Sphinxmoth PCB?
The Sphinxmoth measures 53 × 72 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the Sphinxmoth?
31 components, from 15 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the Sphinxmoth design files?
From the dantidote/sphinxmoth repository on GitHub, which has the KiCad layout, the schematic and the BOM; the links under Design files point to each one.
Can I use the Sphinxmoth design in my own project?
Yes, under the terms of its MIT license, which dantidote chose for the repository.
Can I test firmware for the Sphinxmoth without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug FPGA firmware against it before you order a PCB.
Similar boards
FPGA
Base board
GlasgowEmbedded
80 × 49 mm222 parts4L0BSD2.2kFPGA
Thunderscope Rev5.3
EEVengers
122.5 × 103.5 mm817 parts6LMIT1.3kFPGA
Usb sniffer
ataradov
58.2 × 38.1 mm86 parts2LBSD-3-Clause1.3kFPGA
Tomu, I'm
theacodes
13 × 9.4 mm40 parts4LMIT1.1kFPGA
Icepi zero
cheyao
65 × 30 mm143 parts4LSHL-2.1828FPGA
Sd2snes
mrehkopf
101.5 × 83 mm147 partsGPL-2.0717