使用した環境
- OS:Ubuntu 20.04.2 LTS
- Visual Studio Code 1.52.1
2021/02/05 追記1
公式サイトからMicroPython用のファームウェアがダウンロードできるようなのでそちらからダウンロードして書き込むことも可能です。
その場合、Pico SDK、Picotool、MicroPythonのビルドは不要になるので次の手順はこちらになります。
2021/02/05 追記2
2021/02/05現在、Visual Studio Codeのバージョンが最新の1.53場合はPymakrが正常に動作しないようです。1.53を使っている場合はここから1.52をインストールすることで解決するようです。
Pico SDKのダウンロード
sudo apt install git
cd ~/ && mkdir pico && cd pico
git clone -b master https://github.com/raspberrypi/pico-sdk.git
cd pico-sdk
git submodule update --init
cd ..
git clone -b master https://github.com/raspberrypi/pico-examples.git
Picotoolのビルド
sudo apt install libusb-1.0-0-dev
cd ~/pico
git clone -b master https://github.com/raspberrypi/picotool.git
cd picotool && mkdir build && cd build
export PICO_SDK_PATH=~/pico/pico-sdk
cmake ../
make
sudo cp picotool /usr/local/bin/
PATHを通す
.bashrcに以下を追記
.bashrc
export PICO_SDK_PATH=$HOME/pico/pico-sdk
export PICO_EXAMPLES_PATH=$HOME/pico/pico-examples
export PICO_EXTRAS_PATH=$HOME/pico/pico-extras
export PICO_PLAYGROUND_PATH=$HOME/pico/pico-playground
export PICO_SDK_PATH=$HOME/pico/pico-sdk
export PICO_EXAMPLES_PATH=$HOME/pico/pico-examples
export PICO_EXTRAS_PATH=$HOME/pico/pico-extras
export PICO_PLAYGROUND_PATH=$HOME/pico/pico-playground
MicroPythonのビルド
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential
cd ~/
git clone -b master https://github.com/micropython/micropython.git
cd micropython
git submodule update --init -- lib/pico-sdk
cd lib/pico-sdk
git submodule update --init
cd ../..
make -C mpy-cross
cd ports/rp2
make
MicroPythonの書き込み
cd ~/micropython/ports/rp2/build
sudo picotool load firmware.uf2
/dev/ttyACM0のパーミッションの変更
sudo vim /lib/udev/rules.d/50-udev-default.rules
以下のように変更
50-udev-default.rules
(変更前)
KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
(変更後)
KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout", MODE="0666"
変更を反映させる
sudo udevadm control --reload-rules
Pymakrのインストール
NodeJSのインストール
sudo apt install nodejs
Pymakrの設定
pymakr.jsonを開き以下のように変更
pymakr.json
{
"address": "/dev/ttyACM0",
"username": "",
"password": "",
"sync_folder": "",
"open_on_start": false,
"safe_boot_on_upload": false,
"py_ignore": [
"pymakr.conf",
".vscode",
".gitignore",
".git",
"project.pymakr",
"env",
"venv"
],
"fast_upload": false,
"sync_file_types": "py,txt,log,json,xml,html,js,css,mpy",
"ctrl_c_on_connect": false,
"sync_all_file_types": false,
"auto_connect": false,
"autoconnect_comport_manufacturers": [
"Pycom",
"Pycom Ltd.",
"FTDI",
"Microsoft",
"Microchip Technology, Inc."
]
}
実際に書き込んでみる
以下のようなPythonファイルをVSCode上で作成し
main.py
from machine import Pin, Timer
led = Pin(25, Pin.OUT)
tim = Timer()
def tick(timer):
global led
led.toggle()
tim.init(freq=2.5, mode=Timer.PERIODIC, callback=tick)
VSCodeのウィンドウの下の方にあるUploadというボタンからアップロードする
LEDが点滅すれば成功です