
Layouts
kunichiko/RetroCastX
Framebuffer-less retro PC analog RGB capture: ADC → FPGA → UDP/GbE → PC/Mac reconstruction (X68000, PC-98)

Framebuffer-less retro PC analog RGB capture: ADC → FPGA → UDP/GbE → PC/Mac reconstruction (X68000, PC-98)
Layouts is an open-source printed circuit board by kunichiko, from the kunichiko/RetroCastX repository on GitHub, published under the Apache-2.0 licence. It is a 4-layer board of 100 × 100 mm with 205 parts on 240 nets, routed with 2,059 tracks and 479 vias.
Its parts include 95 capacitors, 47 resistors, 17 ICs, 12 diodes and 12 connectors. It belongs with the lEDs and displays boards of this library.
レトロPC(X68000 / PC-98 など)のアナログRGB信号を、フレームバッファレスで PC/Mac に伝送・表示するプロジェクト。
Retro PC ──アナログRGB──▶ ADC(TVP7002) ──24bit+PCLK──▶ FPGA(ECP5) ──UDP/GbE──▶ PC/Mac(再構成・表示)一般的なアップスキャンコンバータは変換器内でフレームバッファを構築し標準的なHDMI信号に整形するため、 機種固有のタイミング情報が失われ、遅延・モード切替時のブラックアウト・価格の問題が生じる。
RetroCastX は「変換器は馬鹿に徹し、知性はPC側に置く」:
これにより:
docs/
protocol-v0.md 伝送プロトコル仕様 v0(ドラフト)
research/ 部品・ボード調査レポート
gateware/ FPGA側(LiteX / Colorlight i5)※sim検証済み、実機未検証
hardware/ ADCフロントエンド基板(Atopile、HAT形式)
host/python/ PC側リファレンス実装(送信シミュレータ・受信・検証)
client/ ビューアアプリ(Rust + eframe/egui、Mac/Win/Linux)送信シミュレータと受信器をループバックで動かす:
cd host/python
python3 -m retrocastx.tests.test_loopback # プロトコルのE2E検証
python3 -m retrocastx.tests.test_videoin # コンポジットの波形解析(合成波形で検証)
python3 -m retrocastx.tests.test_ntsc # NTSC復調(合成6色で真値と照合)
python3 -m retrocastx.sender_sim & # テストパターンをUDP送出
python3 -m retrocastx.receiver --dump out # 受信して out/frame_NNNN.ppm に保存| 役割 | 部品 | 備考 |
|---|---|---|
| FPGAボード | Colorlight i5 + 拡張基板 | ECP5-25F、GbE PHY ×2、SODIMM I/O 直結 |
| ADC | TI TVP7002 | OSSC と同一。15/24/31kHz 実証済み。ブレークアウト自作 |
| 参考回路 | marqs85/ossc_pcb | アナログ入力段・TVP7002 周辺 |
調査の詳細は docs/research/2026-07-25-hardware-survey.md を参照。
ディレクトリごとに異なります。
| 対象 | ライセンス |
|---|---|
gateware/ client/ host/ | Apache License 2.0 |
hardware/ | CERN-OHL-S-2.0(強い相互性のオープンハードウェアライセンス) |
docs/ | CC BY-SA 4.0 |
hardware/ の CERN-OHL-S-2.0 は、この設計を元に製品を作って頒布・販売する場合、
改変を含む設計一式(Complete Source)を公開し、製品または同梱文書に入手先を明記する
ことを求めます。個人が自分用に作る分にはこの義務は発生しません。
ライセンスの対象外となるファイル(部品メーカーのデータシート、ベンダー由来の KiCad シンボル・フットプリント等)については NOTICE を参照してください。
"RetroCast X"(正式名称)および "RetroCastX"(ファイル名・識別子・ ハッシュタグ等で用いる短縮形)の名称、ロゴ、アイコン、基板シルク上のブランド 表記は、上記いずれのライセンスの許諾範囲にも含まれません (Apache License 2.0 第6条)。空白の有無・大文字小文字の違いを問いません。
フォークや派生ハードウェアを頒布する場合は、別の名称を用いてください。
本設計に基づくハードウェアの製造・頒布を計画されている場合、事前にご一報 いただけると嬉しいです。ライセンス上の義務ではありませんが、既知の問題や 実装上の落とし穴を共有できますし、改善を上流に取り込める場合もあります。
歓迎します。手順と DCO(Signed-off-by)については CONTRIBUTING.md を参照してください。特に手元の実機での動作報告が助かります。
| Qty | Value | Footprint | References |
|---|---|---|---|
| 51 | 100nF ±10% | SAMSUNG_CL05B104KO5NNNC:C0402 | C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24, C25, C27 +35 |
| 19 | 220Ω ±1% | UNI_ROYAL_0402WGF2200TCE:R0402 | R5, R10, R12, R14, R16, R20, R21, R24, R26, R27, R38, R43, R44, R45, R46, R52 +3 |
| 17 | 10µF ±10% | SAMSUNG_CL21A106KAYNNNE:C0805 | C1, C2, C3, C4, C5, C7, C60, C63, C67, C68, C71, C75, C76, C90, C94, C95 +1 |
| 12 | 33pF ±5% | SAMSUNG_CL05B104KO5NNNC:C0402 | C26, C28, C30, C32, C34, C36, C38, C40, C48, C50, C52, C87 |
| 11 | 10kΩ ±1% | UNI_ROYAL_0402WGF1002TCE:R0402 | R3, R32, R33, R34, R35, R36, R37, R47, R48, R49, R50 |
| 9 | ROHM_EMZT6_8ET2R:EMT6_L1.6-W1.2-P0.50-LS1.6-BL | D1, D2, D3, D5, D6, D8, D10, D11, D12 | |
| 8 | 75Ω ±1% | UNI_ROYAL_0402WGF750JTCE:R0402 | R4, R6, R8, R11, R13, R15, R17, R51 |
| 6 | 1µF ±10% | SAMSUNG_CL10A105KB8NNNC:C0603 | C61, C62, C69, C70, C88, C89 |
| 5 | _mech:MountingHole_3.2mm_M3_Pad | H1, H2, H3, H4, H5 | |
| 5 | TI_SN74LVC2G17DBVR:SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BL | U2, U8, U10, U11, U12 | |
| 4 | TDK_MPZ1608S221ATA00:L0603 | FB1, FB2, FB3, FB4 | |
| 4 | _mech:PogoPin_D1.0mm | PG1, PG2, PG3, PG4 | |
| 4 | 2.2kΩ ±1% | UNI_ROYAL_0402WGF2201TCE:R0402 | R28, R29, R30, R31 |
| 4 | 4.7nF ±10% | YAGEO_CC1812KKX7RDBB472:C1812 | C82, C83, C84, C85 |
| 3 | TI_PCM1808PWR:TSSOP-14_L5.0-W4.4-P0.65-LS6.4-BL | U13, U14, U17 | |
| 3 | _mech:Fiducial_1mm_Mask2mm | FID1, FID2, FID3 | |
| 3 | 1.5kΩ ±1% | UNI_ROYAL_0402WGF1501TCE:R0402 | R18, R19, R22 |
| 2 | HANRUN_HR911130A:RJ45-TH_HR911130A | J11, J12 | |
| 2 | MICROCHIP_24AA025E48_I_SN:SOIC-8_L4.9-W3.9-P1.27-LS6.0-BL | U15, U16 | |
| 2 | DIODES_AZ1117H_3_3TRE1:SOT-223-3_L6.5-W3.4-P2.30-LS7.0-BR | U3, U4 | |
| 2 | _mech:Header_1x4_P2.54mm | J9, J10 | |
| 2 | _mech:TestPoint_TH1 | TP1, TP2 | |
| 2 | 22pF ±5% | SAMSUNG_CL05B104KO5NNNC:C0402 | C9, C10 |
| 2 | 5.1kΩ ±1% | UNI_ROYAL_0402WGF5101TCE:R0402 | R1, R2 |
| 1 | YXC_X32258MSB4SI:CRYSTAL-SMD_4P-L3.2-W2.5-BL | X2 | |
| 1 | _mech:PLR135_T10 | J8 | |
| 1 | YXC_OT322527MJBA4SL:OSC-SMD_4P-L3.2-W2.5-BL | X1 | |
| 1 | _mech:MJ373_8B | J13 | |
| 1 | RICHTEK_RT9013_18GB:SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BR | U5 | |
| 1 | XINGLIGHT_XL_2020RGBC_2812B:LED-SMD_4P-L2.0-W2.0-BR-1 | LED1 | |
| 1 | _mech:Header_2x15_P2.54mm | J7 | |
| 1 | CONNFLY_DS1037_15FNAKT76_0CC:DSUB-TH_DS1037-15FNAKT74-0CC | J1 | |
| 1 | HDGC_0_5K_1_5_20PWB:FPC-SMD_20P-P0.50_HDGC_0.5K-1.5-20PWB | J15 | |
| 1 | _mech:Header_1x3_P2.54mm | J14 | |
| 1 | TE_Connectivity_1473005_4:SO-DIMM-SMD_200P-P0.60_1473005-4 | U9 | |
| 1 | XFCN_BH254V_10P:IDC-TH_10P-P2.54-V-R2-C5-S2.54 | J6 | |
| 1 | _mech:SolderJumper_2_Bridged | JP1 | |
| 1 | ST_1N4148W:D_SOD-123 | D7 | |
| 1 | ST_USBLC6_2SC6:SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BL | D9 | |
| 1 | TI_TLV70019DDCR:SOT-23-5_L2.9-W1.6-P0.95-LS2.8-BR | U6 | |
| 1 | YXC_OT2JI_111_12_288M:OSC-SMD_4P-L3.2-W2.5-BL | X3 | |
| 1 | UNKNOWN_TYPE_C_31_M_12:USB-C_SMD-TYPE-C-31-M-12_1 | J2 | |
| 1 | TI_TVP7002PZP:HTQFP-100_L14.0-W14.0-P0.50-LS16.0-BL-EP6.2 | U1 | |
| 1 | WCH_CH347F:QFN-28_L4.0-W4.0-P0.40-BL-EP2.7 | U7 | |
| 1 | 10nF ±10% | SAMSUNG_CL05B103KB5NNNC:C0402 | C54 |
| 1 | 1nF ±10% | FH_0402B102K500NT:C0402 | C42 |
| 1 | 4.7nF ±10% | FH_0402B472K500NT:C0402 | C45 |
It measures 100 × 100 mm and has 4 copper layers, 1.61 mm thick.
205 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.
From the kunichiko/RetroCastX repository on GitHub, at the commit this page was made from: the board is hardware/adc-frontend/layouts/default/default.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the Apache-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).

kunichiko/RetroCastX
Framebuffer-less retro PC analog RGB capture: ADC → FPGA → UDP/GbE → PC/Mac reconstruction (X68000, PC-98)


efabless/foss-asic-tools
FOSS-ASIC-TOOLS is all in one container for SKY130 based design both Analog and Digital. Below is a list of the current tools already installed and ready to use.

onionharvester/boardwalk
A little gathering place for my PCBs. This is their favourite hangout spot! 🪼⋆.ೃ࿔*:・

mirdej/vmix
Multichannel modular analog PAL video mixer based on the SYNKIE project

oresat/oresat-proto-card
Prototype card for the OreSat bus. Requires the OreSat Backplane.

immortal-sniper1/cross_band_handy_walkie_talkie
cross band handy walkie talkie. This HT would include 2 SA818s, one for 70cm and one for 2m and could be used for satellite work.

align-racing-uia/power_distribution_module
This is the repository for Align Racing's formula student race car's different systems.
