✨ MMDVMHost OLED対応実装手順(Makefile.Pi.OLED使用版)
2025年5月30日
2026年6月5日
概要
この手順書は、Raspberry Pi Zero 2 W + STM32_MMDVM_HS_HAT Rev1.7(GPIO 接続)の環境において、すでに MMDVMHost が正常動作していることを前提とします。OLED SSD1306(インターフェース:I2C 接続)を表示させるために、Makefile.Pi.OLED を使って再ビルドする手順を詳細に説明します。
前提条件
| 要素 | 内容 |
|---|---|
| SBC | Raspberry Pi Zero 2 W |
| OS | Raspberry Pi OS Legacy Lite (32bit) |
| OLED | SSD1306, 128×64, I2C |
| MMDVM モデム | STM32_MMDVM_HS_HAT Rev1.7(GPIO 接続) |
| MMDVMHost バージョン | Git: 20250424 以降 |
手順
Step 1:I2C の有効化
以下のコマンドで設定ツールを起動し、[3 Interface Options] → [P5 I2C] → [Enable] を選択します。
sudo raspi-config
または /boot/config.txt の最終行に追記します。
dtparam=i2c_arm=on
設定後、再起動します。
sudo reboot
Step 2:OLED 接続確認
I2C バスをスキャンして OLED が認識されているか確認します。
sudo i2cdetect -y 1
✅
3c などのアドレスが表示されれば接続 OK です。Step 3:ArduiPi_OLED ライブラリのビルド
ArduiPi_OLED を GitHub からクローンし、Makefile.Pi.OLED でビルド・インストールします。
cd ~ git clone https://github.com/hallard/ArduiPi_OLED.git cd ArduiPi_OLED make clean make -f Makefile.Pi.OLED CFLAGS='-O3 -Wall -DBCM2835_USE_GPIOMEM' sudo make -f Makefile.Pi.OLED install
📝
-DBCM2835_USE_GPIOMEM を指定することで /dev/mem の使用を回避し、非 root でも GPIO が使える /dev/gpiomem を利用します。Step 4:GPIO アクセス権限の付与
gpio グループを作成し、pi-star ユーザーに権限を付与して再起動します。
echo 'KERNEL=="gpiomem", GROUP="gpio", MODE="0660"' | sudo tee /etc/udev/rules.d/99-gpiomem.rules sudo addgroup gpio sudo usermod -a -G gpio pi-star sudo reboot
Step 5:MMDVMHost 再ビルド(Makefile.Pi.OLED 使用)
~/MMDVMHost ディレクトリで Makefile.Pi.OLED を使って再ビルドします。
cd ~/MMDVMHost make clean make -f Makefile.Pi.OLED
Step 6:MMDVM.ini の OLED 設定
MMDVM.ini の [OLED] セクションを以下のように設定します。
[OLED] Type=3 ; SSD1306 128x64, I2C Brightness=255 ; 最大明るさ Invert=0 ; 0: 標準表示 Scroll=0 ; スクロール無効 Rotate=0 ; 既定方向 Timeout=0 ; 表示オフ無効
Step 7:動作確認
MMDVMHost を起動し、OLED の表示を確認します。
./MMDVMHost MMDVM.ini
✅ OLED にコールサインや IDLE 情報が表示されたら成功です。
トラブルシューティング
| 現象 | 原因 | 対処 |
|---|---|---|
bcm2835_init: Permission denied | /dev/mem アクセス失敗 | -DBCM2835_USE_GPIOMEM を使う、または gpio グループに追加 |
| OLED に表示されない | I2C 設定または Type 誤設定 | i2cdetect -y 1 で接続確認、Type=3 を指定 |
make install でエラー | root 権限不足 | sudo make -f Makefile.Pi.OLED install を実行 |
まとめ
Makefile.Pi.OLEDを使うことで OLED 表示に対応-DBCM2835_USE_GPIOMEMで安全に GPIO を使用- ArduiPi_OLED を正しくビルドし、
gpioグループ設定でpi-starユーザーでも表示が可能 Makefileで動作している場合でも、Makefile.Pi.OLEDは別フラグを含むビルド方法として有効


