Skip to content

suzukiplan/tohovgs-pico

Repository files navigation

東方BGM on VGS for RaspberryPi Pico

top.jpg

About

  • 本リポジトリでは、同人ハードウェア版 東方BGM on VGS (東方VGS実機版) のファームウェアと組み立て手順を提供します
  • 東方VGS実機版 は、東方Project二次創作です
  • 東方VGS実機版 は、各自で部品を集めて組み立てるものです
  • 誰でも自由に 東方VGS実機版 を販売できます

Required Parts and Tools

東方VGS実機版の組み立てに必要な部品と工具を示します。

Parts

(日本国内で調達できない部品)

  • SoC: System on a Chip (システムチップ)
  • LCD: Liquid Crystal Display (液晶ディスプレイ)
  • CTP: Capacitive Touch Panel (静電容量式タッチパネル)
  • DAC: Digital to Analog Converter (D/A変換機)

(日本国内で調達可能な部品)

Tools

  • ハンダゴテ
  • ハンダゴテ台
  • ハンダ

上記の工具は、RP2040 と UDA1334A のピンヘッダを取り付けに必要です。

PIN assign

ブレッドボードとジャンパー線を用いて、各モジュールを下表のように配線してください。

RP2040 (SoC) ILI9341 (LCD) FT6336U (CTP) UDA1334A (DAC)
6: GPIO4 - CTP_SDA -
7: GPIO5 - CTP_SCK -
17: GPIO13 - - DIN
18: GND - - GND
19: GPIO14 - - BCLK
20: GPIO15 - - WSEL
21: GPIO16 SDO (MISO) - -
22: GPIO17 LCD_CS - -
24: GPIO18 SCK - -
25: GPIO19 SDI (MOSI) - -
26: GPIO20 - CTP_RST -
27: GPIO21 - CTP_INT -
29: GPIO22 LCD_RST - -
32: GPIO27 LED - -
34: GPIO28 LCD_RS or LCD_DC - -
36: 3.3V VCC - -
38: GND GND - -
40: VOUT (5V) - - VIN

img/connected.jpeg

Install Firmware

  1. 最新リリース から firmware.uf2 をダウンロード
  2. パソコンに RP2040 の BOOT (BOOTSEL) ボタンを押しながら USB ケーブルを接続
  3. リムーバブルメディア RPI-RP2 に firmware.uf2 をコピー&ペースト

Build Firmware

Build Support OS

  • Linux
  • macOS

(補足事項)

  • ビルドに iconv コマンドが必要なため UNIX と互換性のある OS のビルドのみサポートしています(Windows でのビルドをサポートする予定はないので Linux または macOS を準備するか WSL2 をご使用ください)
  • Linux は Ubuntu でビルド確認しています(おそらく Debian や Raspberry Pi Desktop 等でのビルドも可能だと思われます)

Required Middleware

How to Build

RP2040 の BOOT ボタンを押しながら PC へ USB 接続後、以下のコマンドを実行すればビルドとフラッシュの書き込みが実行されます。

make

フラッシュの書き込みをせずにビルドのみ行いたい場合は build オプションを指定してください。

make build

How to Use

Play and Pause

  • 曲名をタップすると再生が開始します
  • 再生中の曲名をタップするとポーズします
  • ポーズ中の曲名をタップするとレジューム(ポーズから復帰)します

Seek Bar

画面右下のボタン(トグルスイッチ)で 1 ループ再生 or 無限ループの切り替えができます。

モード設定 動作
loop1 1回ループしたらフェードアウト
infinity 無限ループ

また、シークバーをスライドすることで演奏開始位置のシークができます。

実機でのシーク処理には、RP2040 の CPU 処理性能の関係で 1 分間分をシークするのに 5 〜 10 秒程度の時間を要します。

Play Mode

画面右上の 2 ボタン(トグルスイッチ)で次のように演奏モードを変更することができます。

モード設定 動作
swipe_on seq アルバム内でシーケンシャル再生
swipe_on random アルバム内でランダム再生
swipe_off seq 全曲でシーケンシャル再生
swipe_off random 全曲でランダム再生

License

Software

本プログラムのライセンスは GPLv3 とします。

また、本プログラムでは以下の Open Source Software や素材を利用しています。

Hardware Sales License

次の条件を満たす場合、自身が開発した 東方VGS実機版 を販売することを許諾します。

  1. 東方Project(本家)の二次創作ガイドラインに反しないこと
  2. 製品マニュアル等に使用している OSS ライセンスを明示すること
  3. 購入者が本リポジトリから最新のファームウェアに更新できる手段を提供することを必須要件とします
  4. 販売に関する全ての保証業務(購入者へのサポート等)は、仮に本リポジトリ提供内容の不具合に起因する場合であっても全て販売者の責任で実施すること

可能な限り販売開始前または販売開始後に X (旧 Twitter) で suzukiplan をフォローの上、以下のメンションを投げてください。(これは強制ではありません)

@suzukiplan 東方VGS実機版の販売をします 
https://example.com/1234

https://example.com/1234 は通販サイトの商品販売リンクに置き換えてください。