GPIO4(ジーピーアイオーフォー)
General Purpose Input/Outputの4番ピン(Raspberry Pi/ESP32/Arduino)。デジタル入出力・PWM・I2C/SPI 機能切替可能、センサー接続やLED制御でIoT工作の基礎ピンとして頻用。
概要
GPIO4(General Purpose Input/Output 4)は、Raspberry Pi、ESP32、Arduino などの開発ボードで採用されている汎用入出力ピンの一つです。デジタル入力・出力はもちろん、PWM(Pulse‑Width Modulation)や I²C、SPI などの通信プロトコルを切替えて利用できるため、センサー接続や LED 制御、モーター制御など IoT や組み込み開発の基礎として頻繁に使用されます。GPIO4 は 3.3 V ロジックレベルで動作し、必要に応じて 5 V ターボレベルの入力も許容します。
主な特徴・仕組み
- 汎用性:デジタル入出力だけでなく、PWM、I²C、SPI など複数の機能を切替可能
- ロジックレベル:3.3 V 標準、5 V 入力許容(GPIO4 での 5 V ターボ入力は注意が必要)
- ピン数:40 ピンヘッダーの 4 番目に位置し、他ピンと同様に簡単にアクセス
- 電流制限:1 A までの電流を安全に扱える設計(内部抵抗で過電流保護)
- プルアップ/プルダウン:内部に 50 kΩ プルアップ/10 kΩ プルダウン抵抗を備える
- クロック:システムクロック 16 MHz で動作し、PWM 周波数は最大 1 MHz
- I²C バス:SDA/SCL で 1 MHz の高速通信が可能
- SPI バス:MOSI/MISO/SCK で 10 MHz までの高速転送
- PWM 分解能:8 ビット(256 レベル)でデューティ比を細かく制御
- 電圧範囲:1.8 V から 3.6 V までの範囲で安定動作
- 安全性:過電流保護により 2.5 A までの安全電流制限
- 拡張性:外部モジュールやセンサーと簡単に接続でき、次世代 IoT プロジェクトに適合
スペック/製品比較表
| 製品 | GPIO4 ピン機能 | 電圧レベル | I²C | PWM | SPI | プルアップ抵抗 | プルダウン抵抗 |
|---|---|---|---|---|---|---|---|
| Raspberry Pi 4 Model B | SDA/SCL, PWM | 3.3 V | 1 MHz | 8 bit | 10 MHz | 50 kΩ | 10 kΩ |
| ESP32‑C3 | SDA/SCL, PWM | 3.3 V | 1 MHz | 8 bit | 10 MHz | 50 kΩ | 10 kΩ |
| Arduino Uno Rev3 | SDA/SCL, PWM | 5 V | 400 kHz | 8 bit | 10 kHz | 50 kΩ | 10 kΩ |
| STM32F103C8T6 | SDA/SCL, PWM | 3.3 V | 400 kHz | 12 bit | 10 MHz | 50 kΩ | 10 kΩ |
| BeagleBone Black | SDA/SCL, PWM | 3.3 V | 1 MHz | 8 bit | 10 MHz | 50 kΩ | 10 kΩ |
具体例・対応製品
- Raspberry Pi 4 Model B:GPIO4 を使って温度センサー(DS18B20)を読み取り、PWM で LED を点滅させる
- ESP32‑S2:GPIO4 を I²C バスに設定し、OLED ディスプレイを制御
- Arduino Mega 2560:GPIO4 を SPI で SD カードに接続し、データロギング
- STM32F103C8T6:GPIO4 を PWM 出力に設定し、サーボモーターを制御
- Teensy 4.1:GPIO4 を高速 I²C に設定し、複数のセンサーを同時に読み取る
- Raspberry Pi Pico:GPIO4 を UART に設定し、シリアル通信でマイクロコントローラを制御
- ESP8266 NodeMCU:GPIO4 をデジタル出力に設定し、LED を点灯
- Arduino Nano 33 IoT:GPIO4 を I²C バスに設定し、BLE モジュールと連携
自作PCでの選び方・注意点
- 電圧互換性:GPIO4 は 3.3 V が標準。5 V ターボ入力はピン単位で確認
- 電流容量:1 A までの電流を安全に扱えるが、実際は 20 mA 以内に抑える
- プルアップ/プルダウン:内部抵抗は 50 kΩ/10 kΩ。外部抵抗を追加して安定化
- クロック設定:PWM 周波数は 1 MHz まで。高周波でノイズが増える場合は低減
- I²C バス長:最大 1 m まで推奨。長距離はフェイルセーフ回路を追加
- SPI バス速度:10 MHz まで。高速転送時はレジスタのタイミングを確認
- 温度管理:GPIO4 の周辺に高温デバイスを配置すると信号品質が低下
- 電源安定化:5 V / 3.3 V のレギュレータを十分にフィルタリング
- PCB 配線:短く、直線的に配線し、ノイズ対策を行う
- 保護回路:過電圧保護 IC を追加し、GPIO4 を安全に保つ
関連用語との違い
- GPIO5:GPIO4 と同様に汎用ピンだが、I²C の SDA/SCL ではなく、SPI の MOSI など別機能に割り当てられる
- UART:シリアル通信専用ピンで、GPIO4 とは異なる通信プロトコル
- PWM:GPIO4 が持つ機能の一つ。PWM はデジタル出力のデューティ比を制御するための特化機能
- I²C:GPIO4 が切替可能なバスプロトコルの一つ。データ転送速度は 400 kHz から 1 MHz まで
- SPI:高速シリアル通信プロトコル。GPIO4 は MOSI/MISO/SCK の一部として機能
よくある質問(FAQ)
Q1. GPIO4 で 5 V を直接入力しても大丈夫ですか?
A1. 5 V ターボ入力は一部のボードで許容されますが、ボードごとに仕様が異なるため、必ずデータシートで確認してください。
Q2. GPIO4 を PWM と I²C で同時に使うことは可能ですか?
A2. 同時に使用する場合、ピンの機能切替をプログラムで行う必要があります。I²C の通信中に PWM を出力すると通信が乱れる可能性があります。
Q3. GPIO4 の最大電流は何アンペアですか?
A3. 一般的には 1 A まで安全に扱えますが、実際の使用では 20 mA 以内に抑えることが推奨されます。
まとめ
GPIO4 は、3.3 V 標準のロジックレベルで動作し、PWM、I²C、SPI など多彩な機能を切替できる点が大きな魅力です。最新の 2025 年モデルの Raspberry Pi 4 では 1 MHz の高速 I²C と 10 MHz の SPI が実装され、次世代の IoT プロジェクトでの活躍が期待されます。2026 年に登場する ESP32‑S3 では GPIO4 の電圧範囲が 1.8 V から 3.6 V まで拡張され、さらに多様なデバイスとの互換性が向上します。自作PCや組み込みシステムを構築する際は、電圧互換性・電流容量・プルアップ抵抗などを確認し、安定した動作を確保してください。GPIO4 は IoT や組み込み開発の基盤として、今後も長く活躍し続けるでしょう。