Skip to the content
2 layers19.2 × 37.1 mmRP ROM, the printed circuit board in 3D
Size
19.2 × 37.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
35
Nets
63
Pads
195
Tracks, vias
306, 58
Pours
142
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
26 Apr 2026
Updated
11 May 2026

Overview

RP ROM is an open-source printed circuit board by Yarnadori, from the Yarnadori/RP-ROM repository on GitHub, published under the MIT licence. It is a 2-layer board of 19.2 × 37.1 mm with 35 parts on 63 nets, routed with 306 tracks and 58 vias.

It is built around the RP2354A, RT9080-33GJ5 and RB521S-30. Its parts include 14 capacitors, 9 resistors, 4 connectors, 3 diodes and 2 ICs. It belongs with the RP2350 boards of this library.

Main components

3

README

README.md

RP-ROM

M27C256 EPROM エミュレータ。RP2354A (RP2350 QFN-60) を搭載した自作 PCB で、32KB の ROM コンテンツを USB 経由で書き込み・読み出しできる。

概要

項目内容
対象 EPROMM27C256 互換 (32KB, 15-bit address, 8-bit data)
MCURP2354A (RP2350 QFN-60, 360 MHz 動作)
インターフェースUSB-C (CDC Serial)
フラッシュ保持電源断後も ROM データを内蔵フラッシュに保存

リポジトリ構成

text
RP-ROM/
├── hardware/          # KiCad プロジェクト (回路図・PCB)
│   └── production/    # 製造用ファイル (BOM, Gerber, 部品配置)
├── software/          # RP2350 ファームウェア (C / Pico SDK)
│   └── main.c
└── tools/             # ホスト側 Python ツール
    └── rom_tool.py

ハードウェア

KiCad で設計。製造 BOM の概要:

Ref数量部品 / 値パッケージ / 備考LCSC Part #
IC11RP2354AQFN-60, メイン MCUC41378174
U11RT9080-33GJ5TSOT-23-5, 3.3V LDOC7528830
J11USB_C_Receptacle_USB2.0_16PUSB-CC2843970
J2, J32Conn_01x14_Pin1×14 ピンヘッダ
J41Conn_01x03JST SH 3P, デバッガーC7430452
SW11SW_PushTS-1088 系タクトスイッチC720477
Y1112 MHz3225 4-pin 水晶C9002
L113.3uHAOTA-B201610S3R3-101-TC42411119
D1, D22RB521S-30SOD-523 ショットキーダイオードC8523
D31LED0402C51933305
C114.7nF0402C1538
C2, C321uF0402C52923
C5, C8215pF0402C1548
C9, C10, C1134.7uF0402C23733
C4, C6, C7, C12-C1460.1uF0402C1525
R111MΩ0402C26083
R2, R325.1kΩ0402C25905
R4, R5, R631k0402C11702
R7, R8227Ω0402C25100
R9133Ω0402C25105

製造ファイルは hardware/production/ に格納。

ファームウェア

必要環境

動作

  • Core 1: ROM アドレス線監視・データ出力 (フラッシュ不使用のタイトループ、360 MHz)
  • Core 0: USB シリアル経由のコマンド処理
  • 永続化: 書き込んだ ROM データを内蔵フラッシュ末尾 36KB に保存。電源投入時に自動ロード。

ツール (tools/)

Python 製のホストツール。詳細は tools/README.md を参照。

bash
cd tools
uv run rom_tool.py write COM3 firmware.hex
uv run rom_tool.py read  COM3 dump.bin
uv run rom_tool.py verify COM3 firmware.hex
uv run rom_tool.py erase COM3
uv run rom_tool.py info  COM3

対応フォーマット: .bin / Intel HEX (.hex)

ライセンス

MIT License

Parts

35
QtyValueFootprintReferences
60.1uCapacitor_SMD:C_0402_1005MetricC4, C6, C7, C12, C13, C14
31kResistor_SMD:R_0402_1005MetricR4, R5, R6
34.7uCapacitor_SMD:C_0402_1005MetricC9, C10, C11
215pCapacitor_SMD:C_0402_1005MetricC5, C8
21uFCapacitor_SMD:C_0402_1005MetricC2, C3
227Resistor_SMD:R_0402_1005MetricR7, R8
25.1kΩResistor_SMD:R_0402_1005MetricR2, R3
2Conn_01x14_PinConnector_PinHeader_2.54mm:PinHeader_1x14_P2.54mm_VerticalJ2, J3
2RB521S-30Diode_SMD:D_SOD-523D1, D2
112mCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
11MΩResistor_SMD:R_0402_1005MetricR1
13.3uYamadori_KiCad_Library:AOTA-B201610S3R3-101-TL1
133Resistor_SMD:R_0402_1005MetricR9
14.7nFCapacitor_SMD:C_0402_1005MetricC1
1Conn_01x03Connector_JST:JST_SH_BM03B-SRSS-TB_1x03-1MP_P1.00mm_VerticalJ4
1LEDLED_SMD:LED_0402_1005MetricD3
1RP2354APackage_DFN_QFN:QFN-60-1EP_7x7mm_P0.4mm_EP3.4x3.4mm_ThermalViasIC1
1RT9080-33GJ5Package_TO_SOT_SMD:TSOT-23-5U1
1SW_PushButton_Switch_SMD:SW_SPST_TS-1088-xR020SW1
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_G-Switch_GT-USB-7051xJ1

Similar boards

  • 2 layers20.3 × 50.8 mmRp2354a micro devboard, the printed circuit board in 3D

    Rp2354a micro devboard

    esehehelp/rp2354a_micro_devboard

    rp2354a micro devboard

    65 partsMIT
  • 4 layers67.6 × 49.5 mmLinux Version Purple, the printed circuit board in 3D

    Linux Version Purple

    raybello/KICAD-PCBs

    Repository for KICAD PCB Designs

    321 parts
  • 2 layers80 × 80 mmUser interface, the printed circuit board in 3D

    User interface

    Squantor/DiySolderingStation

    Do it yourself soldering station

    91 parts7MIT
  • 2 layers17 × 12 mmCustom screen, the printed circuit board in 3D

    Custom screen

    mathieupommery/Keyring-GPSTRACKER

    Small gps keyring with a lot of possibilities

    18 parts5
  • 4 layers18.7 × 19.5 mmSAU G0, the printed circuit board in 3D

    SAU G0

    oldgerman/SAU-G0

    迷你低功耗温湿度计,可定时自动唤醒记录数据保存并串口导出文本表格

    95 parts5
  • 4 layers14.8 × 14.6 mmNanoslime, the printed circuit board in 3D

    Nanoslime

    higvr-tony/nanoslime

    【硬件、固件与生产】NanoSlime 超小型 SlimeVR 兼容追踪器:电路板、生产文件与板级固件

    71 partsCERN-OHL-S-2.0
  • 4 layers48 × 35 mmMinimal, the printed circuit board in 3D

    Minimal

    torvalds/GuitarPedal

    Linus learns analog circuits

    114 parts2.5kGPL-2.0

Questions

How big is the RP ROM PCB?

It measures 19.2 × 37.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the RP ROM use?

35 parts, built around the RP2354A, RT9080-33GJ5 and RB521S-30. 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 RP ROM KiCad files?

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

Can I use the RP ROM 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).