Skip to the content
2 layers74.1 × 66.5 mmSHVC SOUND ESP32, the printed circuit board in 3D

Arduino Uno R3 / Nano (ATmega328P・5Vロジック) で SHVC-SOUND(スーファミ音源モジュール: S-SMP + S-DSP + ARAM + DAC)を駆動し、 .spc ファイルを実チップで再生するプロジェクト。音声は TDA7053A(ステレオBTL)で増幅し3.5mmジャックへ出力する。

Size
74.1 × 66.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
33
Nets
67
Pads
188
Tracks, vias
478, 24
Pours
4
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
17 Aug 2026
Updated
2 Nov 2026

Overview

SHVC SOUND ESP32 is an open-source printed circuit board by SHIMA-R7, from the SHIMA-R7/SHVC-SOUND-Player repository on GitHub. It is a 2-layer board of 74.1 × 66.5 mm with 33 parts on 67 nets, routed with 478 tracks and 24 vias.

It is built around the M78AR05-0.5, TDA7053A and PJ-324M. Its parts include 13 capacitors, 8 resistors, 6 ICs, 3 connectors and 1 diode. It belongs with the audio and music boards and the ESP32 boards of this library.

Main components

3

README

README.md

SHVC-SOUND スタンドアロンプレイヤー

Arduino Uno R3 / Nano (ATmega328P・5Vロジック) で SHVC-SOUND(スーファミ音源モジュール: S-SMP + S-DSP + ARAM + DAC)を駆動し、 .spc ファイルを実チップで再生するプロジェクト。音声は TDA7053A(ステレオBTL)で増幅し3.5mmジャックへ出力する。

構成

ディレクトリ内容
SHVC-SOUND-KiCad_project/基板設計(KiCad)。スキーマ・PCB・カスタムフットプリント
SHVC-SOUND_python/再生ソフト一式
SHVC-SOUND_python/spc_gui.pyGUIアプリ(Tkinter製)。プレイリスト再生・音量調整・ROM解析
SHVC-SOUND_python/spc_play.pyPC側。.spc を解析しシリアル経由でArduinoへ転送する(CLI/GUI共用)
SHVC-SOUND_python/rom_tools.pyスーファミROMの内部ヘッダ解析(マッパ判別・チェックサム検証)
SHVC-SOUND_python/spc_uploader/Arduino側。シリアルコマンドをSPC700 IPL ROMプロトコルへ変換する
SHVC-SOUND_python/hw_selftest/Arduino単体で動く自己診断。PCなしでノイズを鳴らして配線を検証する
docs/minimal-bringup.md最小構成での実機立ち上げ手順と配線表

まず実機で音を確認する

いきなり spc_play.py を試す前に、アンプと12V系を外した最小構成で hw_selftest/hw_selftest.ino を走らせる。ハードの問題か転送ソフトの問題かが一発で切り分けられる。 手順と配線表は docs/minimal-bringup.md を参照。

GUIアプリ

bash
python spc_gui.py
  • プレイリストに .spc をまとめて登録して再生。ID666タグ(曲名・ゲーム・作曲者)を表示
  • DSP音量倍率とアンプPWM音量をスライダーで調整
  • 転送はワーカースレッドで実行され、進捗バーとログをリアルタイム表示。中止も可能
  • フォルダ監視: エミュレータのSPC出力先を指定しておくと、新しくダンプされた .spc を自動でプレイリストに追加する
  • ROM解析タブ: 吸い出したROMのタイトル・マッパ(LoROM/HiROM/ExHiROM)・容量・ リージョン・チェックサムを表示

ROMからのSPC抽出について

ROMの中に .spc は入っていないため、直接抽出はできない。 .spc はSPC700が曲を再生中の ARAM 64KB + DSPレジスタ + CPUレジスタの スナップショットであり、ROMにあるのはサウンドドライバ・BRRサンプル・ シーケンスデータがバラバラに格納されたもの。ARAMの完成イメージは ゲームを実際に起動して初めて組み上がる。

実用的な手順は、SPCダンプ機能を持つエミュレータ(Mesen2、bsnes/higan、 一部のSnes9xビルド)でROMを動かし、曲の再生中にダンプすること。 出力先をGUIの「フォルダを監視」に指定しておけば、ダンプした瞬間に プレイリストへ入って実機で鳴らせる。

CLIでの使い方

Arduino IDE で spc_uploader/spc_uploader.ino を書き込み、以下を実行する。

bash
python spc_play.py COM3 song.spc

pyserial が必要:

bash
pip install pyserial

診断用フラグ: --test(強制ノイズ再生)、--skip-bulk、--low-addr、--only-stub

配線 (Arduino ⇔ SHVC-SOUND 24pin)

ArduinoSHVC-SOUND pin信号
D2-D97-14D0-D7
A03A0
A14A1
A25/WR
A36/RD
A415/RESET
D1020/MUTE(常時HIGH固定)
-2 / 1CS→+5V / /CS→GND 直結
-18, 24VCC, VS → +5V
-19, 23GND
-21, 22Audio-L / Audio-R → アンプ入力

ロジック系(5V)とアンプ系(12V)は別電源。Arduinoのレギュレータからアンプ用12Vを取らないこと。

既知の問題

  • 復元スタブが曲データを上書きする: spc_play.py のDSP復元スタブは約800バイトあり $FFC0 直下(≒$FC9B)に配置されるが、 この領域はメインRAM転送範囲($0100-$FFBF)と重なるため曲データを約800バイト破壊する。 この領域をサンプルやエコーバッファに使う曲ではノイズが出る。エコーバッファ領域への配置か、スタブのループ化による小型化が要検討。
  • 基板のDRC違反が未修正: シルク重なり2件、シルクが銅箔にかかる6件、フットプリント型不一致1件、ライブラリ不一致1件。
  • 実機での動作確認は未完了。
  • 基板のSHVC-SOUNDフットプリントに1番ピンの表示が無い: SHVC-SOUND-MB.kicad_mod は パッド24個すべてが丸、シルクにピン番号も1番マーカーも無い(リファレンス指定子のみ)。 コネクタ自体にキーが無く逆挿しできてしまうため、シルクに 1 の印字と極性マークを追加すべき。
  • 基板はArduino Nanoフットプリント(Module:Arduino_Nano_WithMountingHoles)。 Uno R3はピン互換だがフットプリントが合わないため、基板に載せる場合は要変更。ジャンパ配線での検証には支障なし。

ライセンス / 帰属

基板設計の一部は OpenSFC(© 2025 starlightk7、CERN-OHL-S)に由来する。 詳細と再頒布時の義務は SHVC-SOUND-KiCad_project/SHVC-SOUND-KiCad/THIRD_PARTY_NOTICE_OpenSFC.txt を参照。 公開・頒布する場合は CERN-OHL-S 3.3 に従い、改変内容の要約を同NOTICEに追記すること。

Parts

33
QtyValueFootprintReferences
4100nCapacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mmC3, C8, C9, C10
410kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR6, R7, R8, R9
3100uCapacitor_THT:CP_Radial_D6.3mm_P2.50mmC1, C2, C12
210uCapacitor_THT:CP_Radial_D5.0mm_P2.00mmC5, C13
2330Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R2
2470nCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC6, C7
110Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR10
112V in (USB-PD)SHVC-ESP32:PD_INPUT_MODULE_2PJ3
11N5819Diode_THT:D_DO-41_SOD81_P7.62mm_HorizontalD1
1220uCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC4
1470uCapacitor_THT:CP_Radial_D10.0mm_P5.00mmC11
15.6kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR5
174HCT541N (control)Package_DIP:DIP-20_W7.62mmU3
174HCT541N (data write)Package_DIP:DIP-20_W7.62mmU2
174LVC245N (data read, DIR=B->A)Package_DIP:DIP-20_W7.62mmU4
1ESP32 DevKit V1 (30pin)SHVC-ESP32:ESP32-DevKit-30_SocketU1
1M78AR05-0.5SHVC-ESP32:DCDC_SIP3_7805U7
1PJ-324MSHVC-ESP32:PJ-324MJ1
1SHVC-SOUND moduleSHVC-ESP32:SHVC-SOUND-MBJ4
1TDA7053APackage_DIP:DIP-16_W7.62mmU6
1hole 2.98mmSHVC-ESP32:NPTH_Hole_2.98mmH2
1hole 3.96mmSHVC-ESP32:NPTH_Hole_3.96mmH1

Similar boards

  • 2 layers59.8 × 129 mmAIO IO board, the printed circuit board in 3D

    AIO IO board

    ZOUDIO/AIO438

    4x38W amplifier with DSP and BT

    36 parts6GPL-3.0
  • 2 layers110 × 80 mmNoko 2, the printed circuit board in 3D

    Noko 2

    NikolaiRadke/Noko_2

    The do-it-yourself Arduino-based Noko monster. Version 2 with PCB and 3D printed casing.

    51 parts3Apache-2.0
  • 2 layersAmp, the printed circuit board in 3D

    Amp

    msemtd/defender-cab

    Another MAME cabinet with the emphasis on Defender.

    13 parts
  • 2 layers184.1 × 175.3 mmLogic, the printed circuit board in 3D

    Logic

    open-rdc/Bipedal_Robot_Hardware

    2024 ヒューマノイド

    74 parts6
  • 2 layers85 × 35 mmIolink, the printed circuit board in 3D

    Iolink

    horih/stm32f0-iolink-master-pcb

    62 parts1BSD-3-Clause
  • 2 layers100 × 70 mmDRC PWSP2026, the printed circuit board in 3D

    DRC PWSP2026

    hosh0344/CatchRobo2026_Circuits

    111 parts
  • 2 layers59.2 × 40.2 mmPitotBoard2026, the printed circuit board in 3D

    PitotBoard2026

    KUBTSSAvionics/PitotBoard2026

    PitotBoard2026

    79 parts

Questions

How big is the SHVC SOUND ESP32 PCB?

It measures 74.1 × 66.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the SHVC SOUND ESP32 use?

33 parts, built around the M78AR05-0.5, TDA7053A and PJ-324M. 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 SHVC SOUND ESP32 KiCad files?

From the SHIMA-R7/SHVC-SOUND-Player repository on GitHub, at the commit this page was made from: the board is SHVC-SOUND-ESP32-KiCad/SHVC-SOUND-ESP32.kicad_pcb and its schematic SHVC-SOUND-ESP32-KiCad/SHVC-SOUND-ESP32.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the SHVC SOUND ESP32 design in my own project?

Its repository states no licence, so its author keeps all rights: ask SHIMA-R7 before reusing the design.