画面の中で完結しがちなジェネラティブアートを、手で触れる装置に持ち出した作品がある。韓国・弘益大学で視覚デザインを学ぶSeung Hun Lee氏が作った「Patternflow」だ。ESP32-S3と128×64のLEDマトリクスを組み合わせ、4つのつまみを回すと、画面に浮かぶ幾何学模様がリアルタイムに姿を変える。回路図からケース、ファームウェアまで一式をオープンソースで公開している。
出発点はBlenderでの偶然だった。波模様を作るノードのパラメータを極端に上げたところ、複雑で密度の高い模様が現れ、その美しさに惹かれた。これをブラウザ上で動かすWebアプリとしてまとめたのがPatternflowの原型で、電子工学を学ぶ弟の「LEDマトリクスに載せては」という一言から、物理的な装置づくりが始まった。マウスで操作するUIとは違い、手でつまみを回すと光が応える手触りが、まったく別の体験を生んだという。
中身はシンプルだ。「ESP32-S3-WROOM-1」(16MBフラッシュ、8MB PSRAM)に、ドットピッチ2.5mmで320×160mmの128×64 HUB75 LEDマトリクス、プッシュボタン付きのロータリーエンコーダを4つ。電源はモバイルバッテリーから取り、1枚のPCBにまとめた。パターンはESP32の上でそのまま動き、つまみの回転がパラメータに対応する。
最大の難関は、電源を入れたときにうまく起動しない不具合だった。症状が紛らわしく、抜いてすぐ挿し直すと起動するのに、3分以上置くと起動せず、リセットボタンを押せば必ず動いた。配線やコンデンサを疑って2週間を費やした末に突き止めた原因は、ESP32-S3のGPIO0というピンだった。このピンは電源投入時に起動の仕方を決める「ストラッピングピン」で、電圧が高ければ通常起動、低ければ書き込みモードに入る。何も接続していなかったため、短時間なら残った電荷で高い状態を保っていたが、長く置くと電圧が定まらず、低いと読まれて書き込みモードに入り、ファームウェアが動かなかった。GPIO0を10kΩの抵抗で3.3Vに引き上げる「プルアップ」で解決した。データシートでもこのピンは未接続のままにすべきでないとされている。
ブラウザで描いた映像をESP32へ送ってパネルに映す機能も試したが、毎秒13〜17コマで頭打ちになり、いったん棚上げした。1ピクセルずつ描く処理が重く、使っているライブラリの作者も、この構成では毎秒30コマには届かないと認めている。Lee氏はこの壁の越え方を広く募っている。
KiCadの回路図、3Dプリント用のSTL、Blenderのデータ、ファームウェアまで、すべてを公開し、ブラウザからファームを書き込める仕組みも整えた。Lee氏はこの作品を、テレビを使った参加型の作品で知られるメディアアートの先駆者ナムジュン・パイク(Nam June Paik)の「Participation TV」(1963年)の再解釈と位置づける。見るだけだった作品を、誰もが自分の手で作り、改変し、共有できるものへと開く試みだ。「ひとつの製品ではなく、ジャンルやエコシステムを作りたい」と語っている。