Raspberry Pi Pico(MicroPython)で各種デバイスを動かすための
モジュールとコードをまとめたリポジトリです。
配線図や回路図などの詳細ドキュメントは、
必要に応じて docs/ 以下に追加していく予定です。
以下のデバイスについて、モジュールとサンプルコード等を登録しています。
- 画面表示
- AQM1602
- SSD1306 OLED
- MSP2807(ILI9341)
- Waveshare 2.66inch E-Paper
- Waveshare Pico LCD 1.3
- 音関連
- FMラジオモジュール RDA5807
- DFPlayer mini
- 音声合成LSI ATP3011F4-PU
- センサー
- 温湿度センサー DHT20
- 温湿度・気圧センサ BME280
- 超音波距離センサー HC-SR04
- 制御
- ジョイスティック(アナログ入力)
- ロータリーエンコーダ
- NEC方式 赤外線受信
- その他
- Wi-Fi/フォントローダー
| デバイス | 画像 | 説明 | モジュール |
|---|---|---|---|
| AQM1602 | ![]() |
I2C通信を利用しています。カタカナ表示に対応しました。 | daichamame_aqm1602.py |
| SSD1306(OLED) | ![]() ![]() ![]() ![]() |
I2C通信を利用しています。 日本語は、フォントの情報を配列に持たせて表示させる仕組みで実装しています。 配列に持たせている為、多くのフォント情報は持てませんが、決まった単語を表示する用途などで利用できると思います。 |
daichamame_ssd1306.py |
| Waveshare 2.66inch E-Paper | 16ドットのフォントを別途、用意して表示させた例です。 アイコンを表示した例です。 カレンダーレイアウトを表示した例です。フォントサイズは16ドットです。センサーやネットワークから値を取得して表示させてもよいと思います。![]() |
SPI通信を利用しています。 日本語処理ははSSD1306のモジュールと同様です。 簡易的に日本語を表示させる仕組みで実装しています。 16ドット、2倍角、3倍角の大きさで表示しています。 |
daichamame_epd266.py |
| Waveshare Pico LCD 1.3 | ![]() 下半分をスクロールしています。この向きで使用すると幅が240ピクセル、高さが320ピクセルとなります。![]() ![]() |
ジョイスティックと4つのボタンがコンパクトに収まっています。LCDのコントローラは、ST77789VWです。 表示領域は、幅、高さとも240ピクセルですが、スクロールさせることで、240-320の部分を表示させることができます。 16ビットと24ビットのbitmap画像を表示できるようにしています。 |
daichamame_picolcd13.py |
| MSP2807(ILI9341) | 線を引いてみます。 ビットマップファイルを表示しています。 8色のボタンを配置し、ボタンを押すと左上に座標と押されたボタンを表示します。![]() |
簡易のボタン関数を作っています。タッチをした際の座標取得で、ボタンのインデックス番号を取得できます。 16ビットと24ビットのbitmap画像を表示できるようにしています。 VCC:3V3(OUT) GND:GND CS:9 RST:13 DC:8/DIN MOSI(SDI):11 CLK:10 LED:VCC DO / MISO(SDO):12 T_CLK:18 T_CS:17 T_DIN:19 T_DO:16 T_IRQ:20 |
daichamame_ili9341.py |
| FMラジオモジュール RDA5807 | I2C通信を利用しています。 バンドは、76–108 MHzに設定しています。 ボリュームと、周波数の設定が使用できます。 |
daichamame_rda5807.py | |
| DFPlayer mini | 以下は、dfplayer_ssd1306.pyを実行した時の画面![]() |
基本的なコマンドを利用できるようにしています。 | daichamame_dfplayer.py |
| 音声合成LSI ATP3011F4-PU | 接続方法にはUART,I2C,SPIがありますが、I2Cを利用しています。 | daichamame_atp3011f4.py | |
| 温湿度センサー DHT20 | I2C通信を利用しています。温度と湿度を取得します。 | daichamame_dht20.py | |
| 温湿度・気圧センサ BME280 | I2C通信を利用しています。温度、湿度、気圧を同時に取得します。 | daichamame_bme280.py | |
| 超音波距離センサー HC-SR04 | 対応電圧が3v-5.5vに変更となった2020版のセンサーを使用しています。 測定距離はミリメートル |
daichamame_hcsr04.py | |
| ジョイスティック | メニュー操作を想定したジョイスティック制御です。 方向キーの値取得にADCを2つ使用し、スイッチボタンにGPIO22を使用しています。 |
daichamame_joystick.py | |
| ロータリーエンコーダ | 24クリックのメカニカルロータリエンコーダを利用して作成 方向の取得と、指定した範囲で値の取得 |
daichamame_rotalyencoder.py | |
| NEC方式 赤外線受信 | ![]() |
NEC方式IR受信モジュールの詳細はこちら | |
| Wi-Fi | Wi-Fiへの接続 NTPサーバからデータ取得しRTCに登録 HTTPリクエストの結果をファイル出力またはメモリに保持 |
daichamame_net.py | |
| フォントローダ | 東雲フォントの16ドットを利用した表示![]() ![]() |
JIS X 0201のコード体系(半角文字、半角カナ)のビットマップフォントをリストに取り込むことができます。daichamame_ssd1306.pyのモジュールと一緒に利用することで、以下のような表示ができます。 | fontloader.py |
/
├─ docs/ # デバイスごとの詳細説明・配線図
├─ examples/ # アプリケーション例
├─ img/ # サムネイル画像
├─ lib/ # 各デバイスのモジュール群
└─ samples/ # 動作確認用プログラム
| アプリケーション | 説明 | アプリファイル |
|---|---|---|
| FMラジオ + 赤外線リモコン アプリケーション | OLED(SSD1306 I2C) FMラジオモジュール RDA5807H 赤外線リモコン OE13KIR 赤外線受信モジュール OSRB38C9AA を使用 詳細 |
Radio with SSD1306 + IR Remote |
| タッチパネルで操作するFM DSP ラジオ | MSP2807(ILI9341) FMラジオモジュール RDA5807H を使用 |
Radio with MSP2807 (ILI9341) |
| Waveshare Pico LCD 1.3 で操作する DSPラジオ | Waveshare Pico LCD 1.3 FMラジオモジュール RDA5807H を使用 詳細 |
Radio with Waveshare Pico LCD |
Raspberry Pi Pico向けのアイコンを作成するために、PythonのKivyでツールを作成しています。
ドット絵つくる(https://github.com/daichamame/kv-dot_e_maker)
- 2026年 3月
- READMEを整理
- 2026年 2月
- プログラムが増えてきた為、examplesフォルダ(アプリ例)、samplesフォルダ(モジュール動作確認用)を作成し、プログラムを整理
- NEC方式の赤外線用のモジュールを追加
- 2025年 9月
- ILI9341 + XPT2046のモジュールを追加
- 2025年 8月
- Pico LCD 1.3のモジュール更新(文字装飾(太字処理),改行位置調整)
- 2025年 5月
- Pico LCD 1.3 の表示用モジュール追加
- 2.66inch e-Paperの赤色処理追加、JIS X 0201の文字表示対応、その他処理修正
- 2025年 4月
- WiFiのモジュールを追加
- SSD1306モジュールにJIS X 0201の半角文字表示用関数追加
- ロータリーエンコーダのモジュールに現在の値を設定する関数を追加
- ビットマップフォントデータの読み込み処理追加
- 2025年 3月
- ロータリーエンコーダのモジュールを追加
- 2025年 2月
- DFPlayer miniのモジュールを追加
- 2024年11月
- ジョイスティック用のモジュールを追加
- FMラジオ RDA5807MS 用のモジュールを追加
- SSD1306モジュールに16x16のアイコン表示を追加
- 2024年6月
- I2Cで使用しているピンをデフォルトのピン(SDA=4,SCL=5)へ変更、また初期処理時に指定できるようにした
- 超音波距離センサー HC-SR04モジュール追加
- 2023年11月
- 新規作成
MIT License
外部ライブラリやデバイスデータはユーザー自身で取得してください。



















