今更ながらRaspberry Pi Picoが手元に届いたのでちょっと触ってみたいと思います。発売当初に日本からだと入手性が悪いかな~と思って海外サイトで購入したのですが、届いたのが日本発売の2ヶ月以上後だったのは悲しい思い出でした。せっかく届いたので個人的にはこれを使用してショートカット的なキーボードを作ってみたいと思っています。近いものとしては以下のような商品になるかなと思います。
ここまでのものでなくても、遊舎工房さんでも以下のような商品があるので、こちらを使うという手もあるかなと思います。

そこをあえてRaspberry Pi Picoで自作してみるという感じでしょうか。ただ、単にArduinoIDE環境をつかって開発を行っても新しい学びはなさそうなので(?)今回はMicroPythonを使用する環境でやってみたいと思います。

今回は環境設定の(その1)という感じでMicroPythonのREPL環境を設定してみます。公式サイトの以下のページを参考にして設定を行いました。
https://www.raspberrypi.org/documentation/rp2040/getting-started/

すでに、結構な方がRaspberry Pi Pico(以下Pico)のエントリーを書いていると思いますが、Picoの主な機能は次のようになっています。
- RP2040 microcontroller chip designed by Raspberry Pi in the United Kingdom
- Dual-core Arm Cortex M0+ processor, flexible clock running up to 133 MHz
- 264KB of SRAM, and 2MB of on-board Flash memory
- Castellated module allows soldering direct to carrier boards
- USB 1.1 with device and host support
- Low-power sleep and dormant modes
- Drag-and-drop programming using mass storage over USB
- 26 × multi-function GPIO pins
- 2 × SPI, 2 × I2C, 2 × UART, 3 × 12-bit ADC, 16 × controllable PWM channels
- Accurate clock and timer on-chip
- Temperature sensor
- Accelerated floating-point libraries on-chip
- 8 × Programmable I/O (PIO) state machines for custom peripheral support

あの値段でここまでの機能が搭載されていると思うと、本当に安いなあと思います。
以下のリンクで機能詳細が記載されたpdfファイルがあるのでこちらもチェックです。
PicoのMicroPythonの設定を行う
先程の参考のページ内のGetting started with MicroPythonのタブをクリックして作業を行います。

PicoをUSB 経由でコンピューターに接続し、そこにファイルをドラッグ アンドドロップすることでPicoをプログラムできます。そのため、MicroPythonをより簡単にインストールできるように、ダウンロード可能なUF2ファイルをまとめました。
下のボタンをクリックして、MicroPython UF2 ファイルをダウンロードします。

もし、最新版の環境をインストールを行う場合には公式のCircuitPythonページからダウンロードすることをおすすめします。
CircuitPythonとは?

ダウンロードを行ったら、BOOTSELボタンを押したままにして、PicoをUSB接続します。Picoが接続されたら、BOOTSEL ボタンを離します。

接続するとRPI-RP2という名前のストレージ デバイスとしてマウントが行われます。

先程ダウンロードを行ったMicroPython UF2ファイルをRPI-RP2ボリュームにドラッグ&ドロップ(コピー)します。コピーすると同時にPicoが再起動してMicroPythonが実行されます。

再起動後にUSBシリアル経由でREPLにアクセスできるようになります。

REPL環境への接続
シリアルポートにアクセスできるようなアプリを使用することでMicroPythonのREPL環境へのアクセスができます。
自分はWindowsにRlogin(rlogin/telnet/ssh(クライアント)ターミナルソフト)というアプリをインストールしていたので、これを使ってアクセスしてみます。シリアルポートの設定は以下のようにしています。

接続を行ってEnterキーを押すと以下のようにREPLが起動した事がわかります。

もしターミナルソフトを持っていない場合には以下のChromeで使用できるSerialターミナルを使うのも手かもしれません。(自分はシリアルポートの設定がうまく行かずしようできませんでしたが…)
https://googlechromelabs.github.io/serial-terminal/

REPLでHello Worldを表示させてみました。

また、以下のように入力を行うことでPico上のLEDを点滅することもできます。ソース中のGP25というPinがボードに搭載されているLEDにになります。
import digitalio from board import * import time led = digitalio.DigitalInOut(GP25) led.direction = digitalio.Direction.OUTPUT while True: led.value = True time.sleep(0.1) led.value = False time.sleep(0.1)

ちなみにREPL上で実行したプログラムはリセットなどを行うと実行されなくなるので注意が必要です。
おわりに
これでPico上でREPLでのMicroPythonの実行を行うことができました。次はRaspberry Piで開発環境を少し整えて目的のキーボード化をしていこうと思います。