2021年10月にbeatmaniaIIDX / BMS用コントローラーである Yuancon / DX5th を購入し、YuanconのTwitterとDiscordをフォローしました。なんとなく過去ログを漁っていると、miniDXという超小型IIDXコントローラを製造販売していることを知り購買意欲が湧いたのですが、残念ながら当時は製造していないそうで諦めていました。
そしてまた別の話ですが、毎年お盆の時期におこなっている元ダビスター/現音ゲーマーのオフ会があるのですが、宿泊施設に大型のTVがあったのでノートPCと自作コンを持ち込んで飲酒Infinitasとか熱いのでは…?とか考えてたのですが、フルサイズの自作コンを持ってウロウロするのはさすがに厳しかったため断念しました。
時は流れて2022年10月。ふとminiDXっぽい弐寺コントローラがほしいなーという気持ちが湧き上がり、売ってないなら作ればいいじゃない?ということで作成しました。
この2年で弐寺自作コントローラを8台ほど製造しており、DIYスキルもそれなりに上がっていたのでまあいけるだろうという見切り発車です。途中で飽きたりしながら1ヶ月ほどで完成。作って満足して 放置 厳重に保管してるうちにMiniDXが再販され、自分のMiniDXもどきは押入れにて長き眠りについたままでした。まさにお蔵入り。さすがにこのまま放置もあれだし供養はしてやるかと完成して9ヶ月が過ぎた今になってようやく当エントリを書き出した次第です。
仕様制定
今回の目的は主に
- 可能な限り小型かつ軽量で可搬性を高める
- USBケーブルは脱着式にする
- プレイサイドの変更を可能にする
この3点を意識して作成することにしました。
・小型かつ軽量
まずは必要最小限のサイズを割り出しました。手持ちの自作コンや中華ボタンを測定し、外寸128x380xH90mm(皿含む)に決定。後で知ったのですが Yuancon / miniDX が外寸127x377xH87mmだったのでかなりいい感じになったと自画自賛しています。
筐体を小型にすればするほど皿サイズが小さくなりますが、鍵盤と皿の距離をAC準拠にしておけば最低限の操作性は確保できるだろうという考えです。まあ名前の通りいかに小さくするかが大事かなと。
・USBケーブル脱着式
これはパネルマウントタイプのUSB延長ケーブルをつけてやれば解決するのですが、当時使用していたArduinoがMicro USBのものしかなかったのでUSBケーブルをバラしてはんだ付けするのも面倒だよなと放置していました。
調べてみると普通にUSB-C搭載のArduinoが販売されていたのでAliexpressでポチりました。パネルマウントタイプの延長ケーブルも一緒に買うつもりでしたが、円安でAliの送料が爆上がりしていて日尼で売っているものと値段が変わらなかったためそちらで購入しました。
・プレイサイドの変更
これも以前から考えていたのですが、個人で遊ぶ分には頻繁にプレイサイドを変更することがないのでまあいいやと軽視していた部分です。
これまでは天板に穴を開けて裏からナットで止めるというものでしたが、天板に鬼目ナットを打ち込むことで脱着の煩わしさ解消と小型化の両立ができました。ただし打ち込みがズレると致命傷になるので作業は慎重に進める必要があります。当然失敗して天板を2枚オシャカにしました(1敗)。
設計
今回もIllustratorでこまごまと線を引きます。前回データの流用もあり割とサクサクできたと思います。鍵盤の位置と皿との距離だけはAC準拠にしてあとはどれだけ小さくできるかなーという感じやりました。ほぼノリです。
せっかく作ったのでIllustratorのAIデータもアップしておきます。
材料選定
材質は加工のしやすさと軽さを考えてMDFにしました。天板・底板は5.5mm厚。側板は9.0mm厚です。加工性が高いということは逆に言えば強度が低いということなので側板は厚めにしました。ただし内部が狭くなり配線が大変になるので一長一短です。
MDFのサイズは下記で手配しました。これとは別に皿の底上げが必要になります。
- 5.5mm厚:128×380 2枚
- 9.0mm厚:54×128 2枚、54×362 2枚
皿機構は小さいロータリーエンコーダを使用しました。アスキーコンだと内部サイズ的にギリギリなので、土台部分を小さくカットするかオプションボタンの位置を考える必要がありそうです。
皿サイズは128Φとなったのですが、このサイズの円盤をなにかから流用したり自作するのは難しいので、今回はアクリルショップ はざいやさんに依頼しました。自作コン界隈のつよい味方です。
今回手配した皿仕様
真ん中の穴を5.8Φにしましたが、エンコーダは6Φだったのでドリルで拡張しました。
以下ノーミスで作成した場合の費用。(送料除く)
鍵盤 | いつもの中華ボタン | ¥2,400 |
スイッチ | D2MV-01-1C3 @220 | ¥1,540 |
バネ | OBSA-SP (50g) @187 | ¥1,309 |
Eボタン | 16Φボタンx3 @221 | ¥663 |
皿 | はざいや 塩ビ128Φ2mm厚 | ¥1,330 |
皿機構 | ロータリーエンコーダ (ノンクリックタイプ) | ¥300 |
木材 | MDFボード 5.5mm厚 128×380(2) | ¥300 |
MDFボード 9.0mm厚 54×128(2) 54×362(2) | ¥400 | |
カット代 | ¥300 | |
塗装 | シーラー+ラッカー | ¥1,000 |
ネジ類 | ネジ M3x8.0mm | ¥100 |
鬼目ナット M3x5.5mm | ¥200 | |
その他 | 鍵盤部アクリル | ¥1,000 |
平型端子 | ¥300 | |
パネルマウントUSB-C | ¥990 | |
Arduino Pro Micro (ATMEGA32U4 ) | ¥686 | |
総額 | ¥12,818 |
総額12,818円になりました。miniDXの定価が$139+送料$28と総額24,000円程度なので比較すると安く感じますね。まあ材質も違いますし送料と人件費はゼロなのでそら安くはなりますよね。皿の機構は小型のロータリーエンコーダを使用したことにより単価が下がりました。
なお残資材の流用があったので実費用は9,000円ぐらいでした。
木工
引いた図面サイズ通り天板に穴を開けていきます。MDFは合板にくらべて加工しやすいとはいえ最低でも電動ドリルとボード用ノコもしくは糸鋸は必須です。ザッと大きく穴を開けたあとはカッターで細かく修正していきます。今回はサイズ的にギリギリだったためとくに気を使いました。
皿土台はサークルカッターで128Φの円柱を作成しました。土台だけで20mmほどの高さが必要になるので9.0mmと12.0mm厚のMDFを切りましたがかなり大変でした。ホムセンで四角くカットしてもらったものを重ねたほうがよさそうです。
MDFは手触りがよいので未塗装でもいいかなと思ったのですが、吸水性が高いためシーラー→ラッカーで塗装しました。よく塗装を吸うのでシーラーなしだと色がまだらになります(2敗)。今回は手間を省くために塗装しましたが、見た目と耐水性を両立させるのであればカッティングシートを貼る方がよさそうです。
電工
塗装が終わればボタン/皿土台/皿をつけて配線していきます。そういやDAOボタン用のLEDが余ってるなーと装着/配線しました。が、LEDランプホルダー部の金具の高さを考慮していなかったためカツカツに。無理やり金具を曲げてなんとかしました(3敗)。
ArduinoのスケッチについてはEnterさんが制作されたものを拝借しました。
【beatmaniaIIDX用】ハンドメイドコントローラーについて|Enter|note
ロータリーエンコーダーと3Dプリンタを使用した自作コンについて、部材選定から配線やスケッチまで詳細に書かれていて非常に参考になりました。ありがとうございます。
完成した感想
ちいさい。うすいかるいぺったんこ()
持ち運ぶにはかなりいいんですが、鍵盤部の固定を鬼目ナットでネジ止めにしたせいでサイドチェンジするためにドライバーも持ち運ぶ必要ができたのでそれはちょっと残念なところ。メンテナンス性は悪くないのですが。
できれば専コンやフェニワンみたいにボタン1つでガッチャンコできるとよかったですね(無理)。
プレイした感想
鍵盤をしばく分には問題ないです。皿は慣れたら大丈夫そう。BSSはどうだろう…。自分は手首皿のため押し押しで取るのであまり問題はないですが指で回す人はつらそう。オプションボタンの位置がアレなのでソフラン曲はやりたくないですね。軽く遊ぶぐらいなら問題ないです。むしろ見た目で思った以上にちゃんと操作できるなという感想です。
あと小型軽量ということもあり、座った状態で膝上に置いて遊べたりしてなかなかいい感じです。
終わりに
今回はUSBコネクタと鬼目ナットの取り付けがあったため加工が容易なMDFを使用しました。確かに加工は楽でしたが合板と比較すると強度が低いため割れや反りが出やすく難しかったです。MDFを利用するのであればもう少し厚めかつ余裕があるサイズにしたほうがよさそうです。
当初の目的であった小型かつ軽量で可搬性の高い弐寺コントローラは作成できたのでよしとします。操作性はほどほどですが、小型で場所もとらず、ケーブルが邪魔にならず、見た目もそれなりと所有欲が満たせるので工作好きの方には結構オススメです。
231129追記。後日になってminiDXを購入したのでそのレビューも乗せておきます。