引き出しの中で眠っているRaspberry Pi Zeroは、案外多いのではないか。jetpax氏が公開した「PiZZA」は、そんなPi Zeroを、Linuxを介さずにArduinoのプログラムで動かす仕組みだ。名前はPi Zero with Zephyr for Arduinoの頭文字からきている。
ふつう、Raspberry Piは、Linuxという基本ソフトを起動してから使う。PiZZAは、その代わりに「Zephyr」という軽量のリアルタイムOSをPi Zeroに載せる。Zephyrは、マイコン向けの小さなOSで、起動が速く、決まった処理を確実にこなすのが得意だ。jetpax氏は、このZephyrをPi Zeroに移植し、その上でArduinoのコードを動かすための受け皿を作った。これにより、ほかのArduinoボードと同じ感覚で、Pi Zeroにプログラムを書き込んで動かせる。
ねらいは、性能の底上げにある。Pi Zeroは、いまのLinuxを動かすには非力になりつつあるが、マイコンとして見れば、ESP32などより高い処理性能とメモリ、保存容量を持つ。本人いわく、Pi Zeroを「強化版のESP32-P4」のように、安価なまま高性能なマイコンとして使えるという。電源を入れてから画面に映像が出るまで、4秒もかからないとしている。
すでに使える機能も多い。Pi Zero 2 Wでは、I2CやSPI、UARTといった定番の接続のほか、SDカードやWiFiなどに対応する。一方で、1-wireと呼ばれる方式など、まだ対応していないものもある。Zephyr側に加えた変更は、本家のプロジェクトへ取り込んでもらうよう申請を進めているという。
なぜArduinoなのか、という疑問もあるだろう。jetpax氏は、Arduinoはあくまで開発を助ける土台で、その価値は、世に出回る膨大なライブラリ資産をそのまま使える点にあるとみている。眠っていたPi Zeroが、使い慣れたArduinoの道具立てで、高速なマイコンとして生き返る。設計はGitHubで公開されている。