2022-05 << 2022-06 >> 2022-07

2022-06-26 (日)

* ESP32でLEDディスプレイを光らせる

だいぶ前に深センに行ったときに買ったLEDディスプレイ付きのバックパック,そのうち触ろうと思ってたのだけど,WiFi無いと何もできない上に当たり前のように技適マークも無いので,日本で合法的に電源を入れることができない...

2年以上放置してたけど,何もせず捨てるのももったいないのでESP32で動かしてみる.

PXL_20220626_013248591.jpg

パネルの裏側.

LEDはSM16207SとTC7258というICで光らせているっぽい.他にはSM245TSというのが見えるけど,ただの3ステートバッファだった.

データシートや回路を見ながら調べると,HUB75というLEDディスプレイパネルで使われる一般的なインターフェイスだった.簡単に使えそう.

「HUB-75規格」という説明たくさん見つかるけど,規格の仕様書や,そもそも誰が策定した規格なのかよくわからない.

PXL_20220626_033051150.jpg

コントローラっぽい基板を剥がす.CPUはGD32F105という Cortex-M3 が載っていた.思ったよりハイスペック.WiFiモジュールは,AFW121Tというやつ.こっちも Cortex-M4 が入っている...遊びたいけど日本で使えないのが残念.

PXL_20220626_033113902.jpg

剥がした基板の代わりにESP32をつなぐ.

HUB75のパネルはフレームバッファ的なものは持ってない単純なものなので,駆動するためにはデータを送り続ける必要がある.ESP32でもWiFi通信しながらだと厳しい.何か良い方法がないか探してみたらI2SのDMAを使ってHUB75のパネルを光らせてるライブラリが見つかった.

https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA

PXL_20220626_033257426.jpg

動いた.一箇所欠けているように見えるけどLEDが壊れてるわけじゃなかった.青色だけずれやすいので信号のタイミングがまずいのかも.

調べながら試行錯誤したのもあるけど,光らせるだけで2時間近くかかってしまった...

2022-05 << 2022-06 >> 2022-07