市販のMIDIコントローラー「SMC-PAD」の中身を入れ替え、Arduinoでプログラムを書けるようにするファームウェア一式が、「open-smc-pad」として公開された。作ったのはFederico Paglioni氏だ。SMC-PADの中には、Bluetoothオーディオ向けのJieLi製チップ「AC6966C」が入っている。同氏はこれを「誰もファームウェアを書かないチップ」と表現し、純正のファームウェアを、読んで書き換えられるものに元に戻せる形で置き換えたと説明している。
SMC-PADはM-Vaveのパッドコントローラー(パソコンの音楽ソフトに演奏の情報を送る入力機器)で、たたく強さと押し込む圧力を検知するRGBのパッド16個、つまみ8個、ボタン10個を備え、Bluetooth MIDIにも対応する。
導入にケースを開ける必要はない。導入用のスクリプトは、純正ファームウェアがM-Vaveの専用アプリとのやりとりに使うUSB-MIDIの経路を通して、書き込み用の小さなプログラム(ブートローダー)を空き領域に書き込む。書き込んだ内容はすべて読み戻して確かめ、合わなければ純正のファームウェアがそのまま起動する。
切り替えた後は、Arduino IDEからスケッチを書き込める。起動時に4回続けて異常終了すると、ブートローダーが自動で書き込み待ちの状態に戻る。同氏は、誤ったスケッチを書き込んでも本体が使えなくなることはないとしている。
同氏は、パッドやつまみ、LED、USB・BluetoothのMIDIを扱うArduino用のライブラリをそろえ、本体で動かす71項目の自己試験も用意した。
同氏は、純正と同じ動きをするスケッチに加え、16トラックのステップシーケンサー「GrooveBox」も公開した。ステップごとに鳴らす確率の設定や、MIDIクロックの入出力に対応する。
同氏によると、動作を確かめたのは自分の1台で、3.5mmのMIDI出力とWindowsのパソコンからの導入はまだ対応していない。最初の正式版を公開するまでは、導入にソースからのビルドが要る。
JieLiのチップの解析には、kagaimiq氏が公開したツールと資料が役立ったという。ライセンスはMITで、JieLiのSDKに由来する部分はApache-2.0となっている。同氏はM-VaveやJieLiとは関係がないと明記し、書き換えは自己責任としている。