Raspberry Pi Pico 登場！ RP2040関連リソースまとめ

# ラズパイPico発売！ そして、ラズベリーシリコンRP2040発売！

**いや、ラズベリーシリコンRP2040と、同時にRP2040開発ボードPico発売**

Raspberry Pi Picoを含む、ラズベリーシリコンRP2040搭載ボードを使ってできること、開発手法、使い方、ライバルのマイコンとの違いなどについて、これから記事を書いていこうと思います。

**2021年1月27日追記：[MicroPython開発環境（紹介編）](https://qiita.com/naohiro2g/items/b6aee1833509b2e21d68)を書きました。**
**2021年2月11日追記：[Qiitaでの記事投稿者紹介](#qiitaでの記事投稿者紹介)を追加しました。**

![pico-hero-small.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/5412/6650a3c9-2d0c-2209-3b84-cf56e7149d3c.png)

**なぜ、今、あえてCortex-M0+なのか。micro:bitはCortex-M0でデビューし、昨年、5年ぶりにCortex-M4Fへアップグレードしたけど。**

- コスト、消費電力を最優先。
- デュアルコアなので、1コアをスリープできる。
- 動作クロック133MHzとかなり速いので、下げる分には余裕十分、動的に調整可能。
- SRAM 2MB／Flash 外付け最大16MBはかなり多い。
- 一般的なArduinoよりはスペック的に断然、上位。
- ESP32と比較すると、殆どのスペックで負けているが、USB OTGができるのは大きい。
- Cortex-M4とのおおきな違いである浮動小数点演算回路が無いことは、最適化したライブラリをブートROMに内蔵で対処。
- RP2040チップ単体発売は、2021年4月〜6月予定！

**フィジカルコンピューティング学習にはバッチリ。
ガジェット向けに、学習／趣味からプロトタイピング／実用品まで連続的にいける。商業的にもマンマシンターフェースの分野で、かなり良いかも。2年から5年のレンジでコスパ改善も期待できる。**

ラズパイでは無理があった部分をかなり強力に補完してくれる存在になりそうです。学習者向けというミッションにおいて。

とりあえず、関連情報をまとめておきます。現物がやってくるまでにMicroPythonでの開発環境など整えておきたいですね。あと、PIO(Programmable I/O)は面白そう。

## Qiitaでの記事投稿者紹介
発売直後から、たくさんの記事がQiitaにも投稿されました。ランキング記事を除いて40件。（2021年2月11日現在）[検索結果はこちら](https://qiita.com/search?q=raspberrypipico)

1. [jamjamさんの「初めてのRaspberry Pi Pico」シリーズ](https://qiita.com/search?q=tag%3Araspberrypipico+user%3Ajamjam&sort=created)
ラズパイ4 / CircuitPython / MicroPython / C/C++ SDK
OLED(SSD1306)、7セグLED、14セグLED(HT16K33、74HC595)、気圧センサー(LPH25HB)、温度センサー(TMP117)などなど。C言語での開発環境整備も詳しいです。毎日投稿的な、いいペースで連載されています。

1. [n0bisukeさん](https://qiita.com/search?sort=&q=user%3An0bisuke+tag%3Araspberrypipico)
Mac / VS Code + Pico-Go / Thonny / Web Serial API
Lチカ。ブラウザでLチカは面白いですね。

1. [SamAkadaさん](https://qiita.com/search?sort=&q=user%3ASamAkada+tag%3Araspberrypipico)
M1 Mac / Thonny / MicroPython
Lチカ、サーボモーター、8桁2行5x7フォントのLCD(ST7032、I2C)、ADC、PWMピコピコ音。

1. [undo0530さん](https://qiita.com/search?sort=&q=tag%3Araspberrypipico+user%3Aundo0530)
Windows / Thonny / MicroPython
PWMを使ってメロディー演奏。

1. [Aaikawa_YOさん](https://qiita.com/search?sort=&q=tag%3Araspberrypipico++user%3Aaikawa_YO)
Windowsでmruby/c
Lチカ。mruby/cは珍しい。

1. [y-chanさん](https://qiita.com/search?sort=&q=tag%3Araspberrypipico+user%3Ay-chan)
Windows / C/C++
Lチカ。環境構築。

1. [kmakさん](https://qiita.com/search?sort=&q=tag%3Araspberrypipico+user%3Akmak)
Windows / WSL / Ubuntu-18.04 / C/C++
C/C++ツールチェイン構築。

1. [Fal318さん](https://qiita.com/search?sort=&q=tag%3Araspberrypipico+user%3AFal318)
Ubuntu 20.04.2  / VS Code + pyMakr
MicroPythonのビルドあり。

1. [emuonpspさん](https://qiita.com/search?sort=&q=tag%3Araspberrypipico+user%3Aemuonpsp)
Windows / MicroPython / Thonny
Lチカ。

1. [Chamaotakuさん](https://qiita.com/search?sort=&q=tag%3Araspberrypipico+user%3AChamaotaku)
Windows / VS Code / MicroPython / Thonny / C/C++
コード解説、環境設定など、詳細で初心者にやさしい。

1. [yunkya2さん](https://qiita.com/search?sort=&q=tag%3Araspberrypipico+user%3Ayunkya2)
Windows / WSL / Ubuntu-20.04 / OpenOCD-JTAG(SWD) / Picoprobe
もう一枚のラズパイPicoにPicoprobeアプリを入れて、JTAGデバッグ。
FreeRTOSでLチカ。ハードウェア除算器。

1. [iwatake2222さん](https://qiita.com/search?sort=&q=tag%3Araspberrypipico+user%3Aiwatake2222)
Windows / Visual Studio / VS Code / MSYS2 / C/C++ / GDB / OpenOCD
C/C++ビルド環境構築。Pico2つでリモートデバッグ。

1. [naohiro2g 自分](https://qiita.com/search?sort=&q=tag%3Araspberrypipico+user%3Anaohiro2g)
Mac / MicroPython / VS Code / JupyterNotebook / Pico-Go
情報まとめ、Lチカ。

pyMakrは、VS Code 1.53で動かなくなりましたが、フォーク版のPico-Goが対応版を出しています。VS CodeのElectron11へのジャンプでNodeモジュールが不適合に。どちらも64ビットのみ対応なので、ラズパイでは64ビットOSに移行しないと使えません。



## RP2040/ラズベリーシリコン搭載ボード、Pico対応ボード

ラズパイトレーディングは、マイコン(RP2040)単体も売る気十分。
[**Meet Raspberry Silicon: Raspberry Pi Pico now on sale at $4**]
(https://www.raspberrypi.org/blog/raspberry-pi-silicon-pico-now-on-sale/)

Adafruit、SparkFun、Arduino、Pimoroniも歩調を合わせ、RP2040搭載ボードを発売予定。Pimoroniは、Pico対応製品もどんどん発売。

### ラズベリーパイPico
 - $4、(550円 or 528円)
 - RP2040 (ARM Cortex M0+/dual core/SRAM: 264KB)
 - 133 MHz
 - 2MB Flash
 - お一人様、一枚しか買えない。。。。。。

### Pimoroni Tiny 2040
 - £8.40 1ヶ月以内に発売予定
 - 最小 16ピン
 - USB Type-C コネクタ
 - ８MB Flash 
 - https://shop.pimoroni.com/products/tiny-2040?variant=32369545150547

### Pimoroni Pico対応ボード
 - 20個程度のアイデアのうち、10個は同時発売、残りは数ヶ月のうちに。
 - https://shop.pimoroni.com/collections/pico
 - Pico自体は売り切れ。

### Pimoroni Pico Wireless Pack  （これは欲しい！）
 - 写真のプロトはESP32-WROOM-32E。刻印はないが技適認証済。
 - MicroSDカードスロット
 - Neopixelｘ1個
 - https://shop.pimoroni.com/products/pico-wireless-pack
 - https://blog.pimoroni.com/content/images/2021/01/P1043147.jpg



### Adafruit ItsyBitsy RP2040
 - 価格未定
 - 小さい
 - 125 MHz
 - 4MB Flash
 - https://www.adafruit.com/itsybitsy2040

### Adafruit Feather RP2040
 - 価格未定
 - 16MB Flash
 - LiPoバッテリー充電回路／コネクタ
 - https://www.adafruit.com/feather2040


### SparkFun Thing Plus - RP2040
- $16.00
- 133 MHz
- 16MB Flash
- LiPoバッテリー充電回路／コネクタ
- Neopixelｘ1個
- JTAGコネクタ
- USB Type-Cコネクタ
- https://www.sparkfun.com/products/17745

### SparkFun Pro Micro - RP2040
- $9.95
- 133 MHz
- 16MBフラッシュ
- Neopixelｘ1個
- USB Type-Cコネクタ
- https://www.sparkfun.com/products/17717

### Arduino Nano RP2040 Connect
OTA updateできる16MB FLash、センサー搭載、IoT風味。Arduinoをインプリメント。 ちょっと高そう。あと、技適が、、、

 - https://blog.arduino.cc/2021/01/20/welcome-raspberry-pi-to-the-world-of-microcontrollers/




# 学習用リソース

無料で優れた教材が提供されているのは、さすがラズパイ財団。

1. **"Get Started with MicroPython on Raspberry Pi Pico"「PicoでMicroPythonをはじめよう」**
 - ラズパイ/MicroPython/Thonnyを使ったフィジカルコンピューティング教材。
 - 編集が素晴らしい。情報量豊富。
 - Lチカ、焦電センサー、ブザー、内蔵温度センサー、内蔵ADC、SPI/I2C接続でSparkFunのSerLCDモジュール（シリアル接続）、NeoPixelsなど。
 - 137ページ
 - 紙媒体書籍（£12）
     - https://shop.pimoroni.com/products/get-started-with-micropython-on-raspberry-pi-pico
 - PDF（無償配布）22MBytes
     - https://hackspace.raspberrypi.org/books/micropython-pico

1. **Getting started with Raspberry Pi Pico**
**Picoでやってみよう**
 - 財団のプロジェクト教材シリーズのひとつ。上述の書籍に準じた内容。
 - ラズパイ/MicroPython/Thonnyで、Lチカ、PWM、押しボタンスイッチ、ADC
 - https://projects.raspberrypi.org/en/projects/getting-started-with-the-pico

1. HackSpace Magazine #39
 - PDF無償配布
    https://hackspace.raspberrypi.org/issues/39/pdf

 - 紙媒体は、Picoがオマケなので既に売り切れ。。
    https://blog.adafruit.com/2021/01/22/hackspace-magazine-issue-38-introducing-raspberry-pi-pico-now-out-hackspacemag-raspberry_pi/



# 開発用資料

かなり、気合が入っている。RP2040マイコン単体で売る気十分。


1. **Raspberry Pi Pico SDK Documentation (website)
ラズパイPico SDK 資料 （ウェブサイト）**
 - https://raspberrypi.github.io/pico-sdk-doxygen/


1. **"RP2040 Datasheet  — A microcontroller board by Raspberry Pi — "** 
 - 気合の入った、RP2040のデータシートPDF
 - 634ページ、32MByte
 - https://datasheets.raspberrypi.org/rp2040/rp2040_datasheet.pdf

1. **"Hardware design with RP2040 —
Using RP2040 microcontrollers to build boards and products — "**
 - RP2040チップ使用製品、ボードのハードウェア設計用資料
 - VGA映像出力／SD Card／オーディオのデモボードの設計例
 - 19MBytes、27ページ
 - https://datasheets.raspberrypi.org/rp2040/hardware_design_with_rp2040.pdf


1. "**Getting started with Raspberry Pi Pico
— C/C++ development with Raspberry Pi Pico and other RP2040-based 
microcontroller boards — "**
**「Picoで始める — Pico含むRP2040ベースのマイコンボードのC/C++開発 —」**
 - OpenOCD, GDBを使ったSWDデバッグ環境構築について、詳しい記述あり。ラズパイは直結、Mac, WinはUSB-UARTコンバーター経由で接続。VS Codeを利用する方法についても詳しい。
また、PicoprobeというアプリをインストールしたPicoをデバッガー（USB、SWD/UARTコンバーター）として、もう一台のPicoのデバッグに使う方法が書かれている。
 - 68 pages、38MBytes
 - https://datasheets.raspberrypi.org/pico/getting_started_with_pico.pdf

1. **Pico C/C++ SDK — Libraries and tools for C/C++ development on RP2040 microcontrollers —**
**「Pico C/C++ SDK — RP2040マイコンのC/C++開発のためのライブラリとツール — 」**
 - 温度／湿度センサーDHT-11/DHT-22/AM2302、温度／湿度／気圧センサーBME280、加速度／ジャイロセンサーMPU9250（SPI)/MPU6050（I2C)、LCD（16x2文字、I2C）などの応用例。
 - 8.2MBytes
 - https://datasheets.raspberrypi.org/pico/sdk/pico_c_sdk.pdf


1. **Pico Python SDK — 
A MicroPython environment for RP2040 microcontrollers —**
**「Pico Python SDK — RP2040マイコンのためのMicroPython開発環境 — 」**
 - SSD1306ベース／SH1106ベースのOLEDをI2C接続で。NeoPixel応用例。
 - https://datasheets.raspberrypi.org/pico/sdk/pico_python_sdk.pdf
 - 41ページ、4.5MBytes
 - MicroPython v1.13-422-g904433073 on 2021-01-19; Raspberry Pi Pico with RP2040
 - GitHub.comにリポジトリあり。
 - **MicroPython Examples — Examples to accompany the "Pico Python SDK" book.** https://github.com/raspberrypi/pico-micropython-examples



# GitHub.com のコード
1. **MicroPython Examples — Examples to accompany the "Pico Python SDK" book.**
https://github.com/raspberrypi/pico-micropython-examples

1. **TensorFlow Lite Micro 軽量版テンソルフロー**
https://github.com/raspberrypi/pico-tflmicro

1. **Pimoroni Pico  Pico対応ボード用のライブラリとサンプルコード**
2. https://github.com/pimoroni/pimoroni-pico