LoginSignup
7
3

More than 1 year has passed since last update.

Raspberry pi picoで作るVGAシステムコンソール

Last updated at Posted at 2021-12-08

はじめに

 シリアルポートを介して制御するシングルボードコンピュータを利用していると、キーボードとモニターを直接接続して作業したいときがあります。このような作業の際に用いる、キーボードでの入力とモニターでの出力表示を可能にする機器を、シリアルコンソールとよびます1。これまでにPICやAVR等のマイクロコントローラを利用したシステムコンソールが知られています2。一方、Raspberry pi pico(以降、pico)を使用した例は、2021年10月頃まで知りませんでした。

RC2014 Pi Pico VGA Terminal

 2021年11月に、シングルボードコンピュータのRC2014にUSBキーボードとVGAモニタを接続可能にする「RC2014 Pi Pico VGA Terminal」(以降、VGAターミナル)が公開されました3

 このVGAターミナルにプログラムを書き込んだpicoを搭載して使用することで、キーボード入力とVGA出力が可能になります。
 VGAターミナルの配線は公開されており4、公開情報によると、PCBはRC2014専用に設計されていますが、Raspberry pi用のVGAアダプタ(以降、Gert VGA 666)5やPimoroni Pico VGA Demo Base(以降、VGAデモボード)6を使うことでもVGAシリアルターミナルを作製することが可能だとわかりました。

Picoterm

 Pico用のプログラムは、picotermとして、gihubで公開されています7。公開されているものはソースファイルとUF2ですので、目的に合致したUF2ファイルをpicoにコピーすることで、すぐに利用することが可能です。キーボードの種類として、USとUKの設定から選択でき、画面に表示される一行の文字数として、カラー表示の40文字と、白黒表示の80文字の設定から選択できます。

image.png
図.(左)カラー表示一行40文字、(右)白黒表示一行80文字

Pimoroni Pico VGA Demo BaseでVGAシステムコンソール

 picotermでは、TXをpicoのGP20に、RXをGP21に設定しています。VGAデモボードでは、GP20とGP21、GNDが基板上にスルーホールとして用意されているので、これらのスルーホールを使って、シングルボードコンピュータに接続可能です。
 一つ注意しなくてはいけないのが、GP21のRXには3.3 Vより大きな電圧のものを接続できない点です。VGAターミナルでは、10 kΩと22 kΩの抵抗で作製した分圧回路を介して接続するようになっています4

image.png
図.VGAデモボードのRX、TXの場所。白地に黒の横棒はGND

Gert VGA 666でVGAシステムコンソール

 picotermのVGA出力は、RGB555なので、配線が大変ではあるものの、手元にRaspberry PiのGPIO端子に接続可能なGert VGA 666をpicoに接続してVGA出力が可能です。手元にGert VGA 666がある場合にお勧めです。
 この組み合わせでも、RXであるpico本体のGP21は3.3 Vより大きな電圧のものを、直接接続できないので注意してください。

IMG_20211208_2156212.jpg
図.RGB用に左側のpicoに右側のVGA666の端子を接続。この後に、GNDとTX、RXの配線を行う。

おわりに

 今回のpicoの出力では、RGB555を選択していましたが、RGB222での出力にすると、画像出力に占有される端子数を減らせます。またVGA出力だけでなく、HDMI出力やコンポジット出力も可能なので、様々な出力形式に対応できるかと思います。

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3