
Vic2020mainboard
danwerner21/vic2020
A Vic-20 clone created with [almost] all readily available parts
Famicom cartridge built around one RP2350B (Waveshare Core2350B): PRG/CHR emulation, NSF player, PC-to-Famicom screen streaming. KiCad 10.
Fc magicon is an open-source printed circuit board by SHIMA-R7, from the SHIMA-R7/fc-magicon repository on GitHub, published under the MIT licence. It is a 2-layer board of 90 × 65.8 mm with 39 parts on 89 nets, routed with 1,235 tracks and 221 vias.
It is built around the 2SC1815. Its parts include 11 resistors, 10 connectors, 4 capacitors, 2 switches and 1 IC.
Waveshare Core2350B(RP2350B)1枚で作るファミコン用カセット。
ツインファミコン+ブラウン管での実機表示。カートリッジ・画面の接写・テスト風景を見る(写真4枚)。
remote_pc.py --chunked はこの新受信ファーム専用。従来プロトコルは引き続き使用できる。
光沢ラベルを貼ったカートリッジ。開口部からCore2350B2や各操作部へアクセスできる。実機写真の一覧。
firmware/out-protected/。現物での電源・バス波形検証は未実施。bus_test(CPU バスでテスト ROM を返して音を鳴らす)と chr_test(PPU に CHR を返して画面に格子模様を出す)、
マジコン本体の magicon(.nes を動かす。NROM/MMC1/UxROM/CNROM/MMC3/AxROM、PRG + CHR 384KB まで)を作成、ビルド済み。各モードの実機確認範囲は上記を参照。firmware/kicad/FC-MAGICON_gerber_r0.2.zip(発注の指定は下の「基板の発注」)docs/hardware_spec.pdf(rev0.2)| 正面(部品面、本体の手前) | 背面 |
|---|---|
![]()
| パス | 内容 |
|---|---|
kicad/gen_schematic.py | 回路図の生成スクリプト(python gen_schematic.py → FC-MAGICON.kicad_sch) |
kicad/gen_footprints.py | カセット端子と半固定抵抗(KOA KVSF637A)のフットプリントを生成 |
kicad/build_pcb.py | 基板の部品配置(place)、配線の取り込みと GND ベタ(import)、一部の配線のやり直し(reroute) |
kicad/route.py | Freerouting で自動配線(線幅のクラスを付ける) |
kicad/add_part.py / sync_nets.py / hand_route.py | 配線済みの基板に部品を足す / パッドのネットを回路図に合わせる / 1本だけ手で引く |
kicad/export_gerbers.ps1 | DRC がエラー 0 のときだけガーバーを出して zip にする |
kicad/bom.py, print_bom.ps1 | 部品表(bom.csv)の作成と印刷 |
kicad/print_core2350b_pinmap.ps1, print_fit_check.ps1 | Core2350B のピン照合シート、実寸の現物合わせシートの印刷 |
kicad/check_nets.py, drc_summary.py | 回路図の簡易チェック、DRC レポートの集計 |
3d/ | 基板の STEP(FC-MAGICON_r0.2_parts.step 部品あり / _board.step 基板だけ / FC-MAGICON.step 部品あり版を Autodesk で読み込んで書き出し直したもの)。make_models.py → export_step.py(KiCad の Python)で作り直す。原点は基板の左上、Y は上向き(基板は Y 0〜-65.8) |
kicad/print_part_guide.ps1 | 部品案内図(表・裏、原寸)の印刷 |
case/label/ | カセット表面のシール(make_label.py → label.png、print_label.ps1 で A4 に印刷)。99 x 60.6mm、ケースの穴(J3/J5/J6/VR1/SW/Core2350B2)は原寸。L 判の光沢紙にきれいに刷る時は make_label.py --px 48 --out label_print.png → powershell.exe -File print_label_photo.ps1(光沢紙・写真品質) |
case/*.py | ケースの元データ(下記)の寸法を調べたスクリプトと、基板の部品の占有範囲(parts.json) |
docs/ | ハードウェア仕様書(build_spec.py と kicad/gen_spec_tables.py で作る) |
KiCad 10、Freerouting 2.4.1 を使用。KiCad の Python(pcbnew)で実行するスクリプトと、ふつうの Python で実行するスクリプトがある(各ファイルの先頭に記載)。
独自コードはMIT(LICENSE)。第三者のエミュレーターや検証用パッチはそれぞれのライセンスに従う。第三者コードと検証コアを参照。外形の参考にしたデータ(下記「カセット外形の参考データ」)はこのリポジトリに含めていない。
| GPIO | 信号 | カセット端子 | 備考 |
|---|---|---|---|
| 0-7 | CPU D0-D7 | 43,42,41,40,39,38,37,36 | |
| 8-22 | CPU A0-A14 | 13,12,11,10,9,8,7,6,5,4,3,2,33,34,35 | A0から連続 |
| 23 | /ROMSEL | 44 | |
| 24 | CPU R/W | 14 | |
| 25 | M2 | 32 | |
| 26-33 | PPU AD0-AD7 | 26,27,28,29,60,59,58,57 | /RD直前はアドレス下位、その後データ |
| 34-38 | PPU A8-A12 | 51,52,53,54,55 | 26-38で13ビット連続 |
| 39 | (基板上LED) | — | バスに使わない |
| 40 | PPU /RD | 17 | U2(74LVC245)経由 |
| 41 | PPU /WR | 47 | U2経由 |
| 42 | PPU A13 | 56 | U2経由 |
| 43 | CIRAM A10 出力 | 18 | JP1を閉じたとき |
| 44 | 拡張音源 PWM | 46へ混ぜる | |
| 45 | /IRQ 駆動 | 15 | Q1(NPN)でオープンコレクタ |
| 46 | 本体5V検出 | 30,31 を分圧 | Highになるまでバスに出力しない |
基板は規格(56.8mm)より 9mm 高い(90 × 65.8mm)。
J4: カセット60ピン全部(2x30) — 差し込み部のすぐ上(2026-09-26、2層に収めるため上辺から移動) 各列がカセット端子の真上にあり、端子から J4 まではほぼ真上への短い配線。上の列 = 31〜60番、下の列 = 1〜30番。 部品面(本体の手前)から見て左端が 1/31番、右端が 30/60番(シルクに列番号あり)。 RP2350 では使わない PPU A0-A7(19〜25番、50番)も出している。
J5: 基板内部の信号(2x8) — 上辺 部品面から見て左端が 1/2番。奇数番 = 下の列、偶数番 = 上の列。
| ピン | 信号 | ピン | 信号 |
|---|---|---|---|
| 1 | PPU /RD(3.3V、U2の後) | 2 | PPU /WR(3.3V) |
| 3 | PPU A13(3.3V) | 4 | CIRAM A10(GPIO43の出力) |
| 5 | 拡張音源 PWM(GPIO44) | 6 | PWM の RC フィルタの後 |
| 7 | /IRQ 駆動(GPIO45) | 8 | 本体5V検出(GPIO46) |
| 9 | +3.3V | 10 | VBUS(モジュールの電源) |
| 11 | CIRAM A10(18番へ行く線) | 12 | ライン出力(47kの前) |
| 13 | Q1 ベース | 14 | ライン出力(100Ωの後) |
| 15 | GND | 16 | GND |
TP1〜TP5(/RD、D0、M2、/ROMSEL、GND)はオシロのプローブ用。
../FC)で実機確認済み。
1,16(GND)・30,31(+5V)・15(/IRQ)・18(CIRAM A10)・45,46(音声)・47(/WR)・48(CIRAM /CE)・49(/A13)は
nesdev の資料によるので、麻雀カセットと本体で導通を確認する。kicad/print_core2350b_pinmap.ps1)で、実物のシルクと全ピン一致を確認した。
25.4mm角、外周2列、2.54mmピッチ。左・下・右・上がそれぞれ P1・P3・P4・P2。kicad/FC-MAGICON_gerber_r0.1.zip をアップロードする(kicad/export_gerbers.ps1 で作り直せる。DRC にエラーがあると止まる)。
| 項目 | 指定 |
|---|---|
| 層数 | 2 |
| 厚み | 1.2mm(ファミコンのスロットに合わせる。1.6mm は入らない) |
| 金メッキ端子 | Gold Fingers: Yes |
| 面取り | 差し込み側 45°(finger chamfer) |
| 表面処理 | 金メッキ端子と組み合わせられるもの(発注画面で ENIG 指定が必要か確認する) |
| 数量 | 5枚(最小) |
ref/)| 出典 | ライセンス | 中身 |
|---|---|---|
| Gumball2415/NES-Famicom-Cartridge-Dimensions | TAPR OHL 1.0 | HVC-TGROM-01 / HVC-CNROM-256K-01 の外形(KiCad)と FreeCAD 3Dモデル(.FCStd、STEP書き出し可) |
| Keitark/fc-rom-vomitter | ハード: CC BY-SA 4.0 | 60ピンのエッジのフットプリントと、実際に製造したファミコン用基板 |
printables 860420「Nintendo Famicom Cartridge Shell」(CC BY 4.0)。 これは masible/famicom-everdrive-n8-shell-with-usb(hadessuk、CC BY)を 標準の基板向けにしたリミックスで、さらに元は Blackchamber の Thingiverse 117607(CC BY)。 改変版を公開するときは、この3つの作者の表記を残す。
FC_5V_SENSE が High になるまで、全ピンを入力にしておく。| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | 0 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1, R7 |
| 2 | 47k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R8, R10 |
| 1 | /ROMSEL | TestPoint:TestPoint_THTPad_D1.5mm_Drill0.7mm | TP4 |
| 1 | 100 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R11 |
| 1 | 100k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R5 |
| 1 | 100n | Capacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mm | C2 |
| 1 | 10k DNP | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R6 |
| 1 | 10n | Capacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mm | C3 |
| 1 | 10u | Capacitor_THT:CP_Radial_D5.0mm_P2.00mm | C1 |
| 1 | 10u (+ to SOUND_OUT) | Capacitor_THT:CP_Radial_D5.0mm_P2.00mm | C4 |
| 1 | 15k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R2 |
| 1 | 1N4001 | Diode_THT:D_DO-41_SOD81_P7.62mm_Horizontal | D1 |
| 1 | 1k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R9 |
| 1 | 22k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R3 |
| 1 | 2SC1815 | Package_TO_SOT_THT:TO-92_Inline_Wide | Q1 |
| 1 | 4.7k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R4 |
| 1 | 74LVC245 (5V->3.3V) | Package_DIP:DIP-20_W7.62mm | U2 |
| 1 | BOOTSEL | Button_Switch_THT:SW_PUSH_6mm | SW1 |
| 1 | Cart breakout 2x30 | Connector_PinHeader_2.54mm:PinHeader_2x30_P2.54mm_Vertical | J4 |
| 1 | Core2350B P1 | Connector_PinHeader_2.54mm:PinHeader_2x08_P2.54mm_Vertical | P1 |
| 1 | Core2350B P2 | Connector_PinHeader_2.54mm:PinHeader_2x08_P2.54mm_Vertical | P2 |
| 1 | Core2350B P3 | Connector_PinHeader_2.54mm:PinHeader_2x08_P2.54mm_Vertical | P3 |
| 1 | Core2350B P4 | Connector_PinHeader_2.54mm:PinHeader_2x08_P2.54mm_Vertical | P4 |
| 1 | Debug 2x8 | Connector_PinHeader_2.54mm:PinHeader_2x08_P2.54mm_Vertical | J5 |
| 1 | Famicom cart edge 60p | FC-MAGICON:FC_Cart_Edge_60 | J1 |
| 1 | GND | TestPoint:TestPoint_THTPad_D1.5mm_Drill0.7mm | TP5 |
| 1 | H (A11) | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP3 |
| 1 | KVSF637AC104 | FC-MAGICON:KOA_SF6_637A | VR1 |
| 1 | LINE OUT 3.5mm | FC-MAGICON:PJ-324M | J2 |
| 1 | M2 | TestPoint:TestPoint_THTPad_D1.5mm_Drill0.7mm | TP3 |
| 1 | MCU | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1 |
| 1 | PPU_/RD | TestPoint:TestPoint_THTPad_D1.5mm_Drill0.7mm | TP1 |
| 1 | PPU_D0 | TestPoint:TestPoint_THTPad_D1.5mm_Drill0.7mm | TP2 |
| 1 | RESET | Button_Switch_THT:SW_PUSH_6mm | SW2 |
| 1 | SWD | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J3 |
| 1 | USB spare land | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J6 |
| 1 | V (A10) | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP2 |

danwerner21/vic2020
A Vic-20 clone created with [almost] all readily available parts

GuitarML/GuitarPedalPCBs
Collection of KiCad circuit board designs for guitar pedals you can build yourself.



IdahoLabResearch/AcCCS
A collection of tools and scripts used to communicate and emulate Electric Vehicle Communication Controllers (EVCC) and Supply Equipment Communication Controllers (SECC).

StudioKAT/Toolbox
主な機能: - オーディオ/CVミキサー(加算・減算) - CVへのオフセット追加(5V/10V)・極性反転 - 1:3 バッファード・マルチプル - 2:2 ユニティミキサー - 3:1 アベレージミキサー(各チャンネルのゲイン = 1/3) - SIGNセクション:インバーター / 半波整流 / 全波整流 - LOGICセクション:アナログOR / アナログAND - S&Hセクション:サンプル&ホールド / ホワイトノイズ出力…


It measures 90 × 65.8 mm and has 2 copper layers, 1.2 mm thick.
39 parts, built around the 2SC1815. 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 SHIMA-R7/fc-magicon repository on GitHub, at the commit this page was made from: the board is kicad/FC-MAGICON.kicad_pcb and its schematic kicad/FC-MAGICON.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
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).